728x90
널 포인터 역참조
- 널 포인터가 가리키는 메모리에 어떠한 값을 저장할 떄 발생하는 약점
- 널 포인터는 메모리의 첫 주소를 가리킴, 해당 주소 참조 시 소프트웨어가 비정상적으로 종료
- 스택가드 : 스택에서 발생하는 보안 약점을 막는 기술, 메모리 상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장한 후 그 값이 변경되었을 경우 오버플로우 상태로 판단 -> 프로그램 중단
부적절한 자원 해제
- 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환 못했을 떄 생기는 약점
- 힙 메모리, 소켓 등 계속 점유 시 자원 부족으로 새로운 입력 X
해제된 자원 사용
- 이미 사용이 종료되어 반환된 메모리를 참조하는 경우 발생
- 주소를 저장하고 있는 포인터를 초기화함으로써 방지
초기화되지 않은 변수 사용
- 변수 선언 후 값이 부여되지 않은 변수를 사용할 때 발생하는 보안 약점
- 변수 선언 시 할당된 메모리를 초기화함으로써 방지
캡슐화
- 캡슐화로 발생할 수 있는 보안 약점 : 잘못된 세션에 의한 정보 노출, 제거되지 않은 남은 디버그 코드, 시스템 데이터 정보 노출
잘못된 세션에 의한 정보 노출
- 다중 스레드 환경에서 멤버 변수에 정보를 저장할 때 발생하는 보안 약점
- 레이스컨디션으로 인해 동기화 오류 발생
- 지역 변수를 활용하여 변수의 범위 제한함으로써 방지
제거되지 않고 남은 디버그 코드
- 개발 중에 버그 수정이나 결과값 확인을 위해 남겨둔 코드들로 인해 발생하는 보안 약점
- 소프트웨어 배포 전 코드 검사를 통해 남아있는 디버그 코드 삭제로 방지
시스템 데이터 정보 노출
- 시스템의 내부 정보를 시스템 메시지 등을 통해 외부로 출력하도록 코딩했을 떄 발생하는 보안 약점
- 노출 메시지 최소한의 정보 제공으로 방지
Public 메소드로부터 반환된 Private 배열
- Public 메소드가 Private 배열로 반환하면 배열의 주소가 외부로 공개되어 외부에서 접근 가능
- Private 배열을 별도의 메소드를 통해 조작, 동일한 형태의 복제본으로 반환받은 후 값을 전달하는 방식으로 방지
Private 배열에 Public 데이터 할당
- Private 배열을 Public 데이터를 저장하면 Private 배열을 외부에서 접근 가능
- 레퍼런스가 아닌 값을 직접 저장함으로써 방지
'자격증 > 정보처리기사' 카테고리의 다른 글
202. 서버 인증(B) (0) | 2023.02.08 |
---|---|
201. 서비스 공격 유형(A) (0) | 2023.02.08 |
193. 입력 데이터 검증 및 표현(A) (0) | 2023.02.08 |
191. Secure SDLC(A) (0) | 2023.02.08 |
188~189. 회복/병행제어(A), 교착상태(B) (0) | 2023.02.08 |