일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 영속성
- 다이나믹 프로그래밍
- 타입 객체
- 쓰레드
- 그리디알고리즘
- OS
- Direct12
- codility
- 멀티프로세서
- 병행성 관련 오류
- 병행성
- directx
- 멀티쓰레드
- 자료구조
- 렌더링 파이프라인
- 스케줄링
- 백준
- I/O장치
- DirectX 12
- 컨디션 변수
- 락
- 운영체제
- 다이나믹프로그래밍
- 파일시스템 구현
- 동적계획법
- 그리디 알고리즘
- DirectX12
- 알고리즘
- 디자인패턴
- 프로그래머스
- Today
- Total
기록공간
5-3-8장. 캡슐화 - C 본문
캡슐화는 정보 은닉이 필요한 중요한 데이터와 기능을 불충분하게 캡슐화하거나 잘못 사용함으로써 발생할 수 있는 문제를 예방하기 위한 보안 점검 항목들이다.
잘못된 세션에 의한 정보 노출
다중 스레드 환경에서 멤버 변수에 정보를 저장할 때 발생하는 보안 약점이다.
-
싱글톤 패턴에서 발생하는 레이스컨디션으로 인해 동기화 오류가 발생하거나, 멤버 변수의 정보가 노출될 수 있다.
-
멤버 변수보다 지역 변수를 활용하여 변수의 범위를 제한함으로써 방지할 수 있다.
제거되지 않고 남은 디버그 코드
개발 중 버그 수정이나 결과값 확인 위해 남겨둔 코드들로 인해 발생하는 보안 약점이다.
-
소프트웨어 제어에 사용되는 중요한 정보가 디버그 코드로 인해 노출될 수 있다.
-
디버그 코드에 인증 및 식별 절차를 생략하거나 우회하는 코드가 포함되어 있는 경우 공격자가 이를 악용할 수 있다.
-
소프트웨어를 배포하기 전에 코드 검사를 통해 남아있는 디버그 코드를 삭제함으로써 방지할 수 있다.
시스템 데이터 정보 노출
시스템 데이터 정보 노출은 시스템의 내부 정보를 시스템 메시지 등을 통해 외부로 출력하도록 코딩했을 때 발생하는 보안 약점이다.
-
시스템 메시지를 통해 노출되는 메시지는 최소한의 정보만을 제공함으로써 방지 할 수 있다.
Public 메소드로부터 반환된 Private 배열
선언된 클래스 내에서만 접근이 가능한 Private 배열을 모든 클래스에서 접근이 가능한 Public 메소드에서 반환할 때 발생하는 보안 약점이다.
-
Public 메소드가 Private 배열을 반환하면 배열의 주소가 외부로 공개되어 외부에서 접근할 수 있게 된다.
-
Private 배열을 별도의 메소드를 통해 조작하거나, 동일한 형태의 복제본으로 반환받은 후 값을 전달하는 방식으로 방지할 수 있다.
Private 배열에 Public 데이터 할당
Private 배열에 Public으로 선언된 데이터 또는 메소드의 파라미터를 저장할 때 발생하는 보안 약점이다.
-
Private 배열에 Public 데이터를 저장하면 Private 배열을 외부에서 접근할 수 있게 된다.
-
Public으로 선언된 데이터를 Private 배열에 저장할 때, 레퍼런스가 아닌 값을 직접 저장함으로써 예방할 수 있다.
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
5-3-10장. 암호 알고리즘 - A (0) | 2020.09.23 |
---|---|
5-3-9장. API 오용 - C (0) | 2020.09.22 |
5-3-7장. 코드 오류 - B (0) | 2020.09.22 |
5-3-6장. 에러처리 - B (0) | 2020.09.22 |
5-3-5장. 시간 및 상태 - C (0) | 2020.09.22 |