1. 에러처리의 개요
- 소프트웨어 실행 중 발생할 수 있는 오류들을 사전에 정의하여 오류로 인해 발생할 수 있는 문제들을 예방하기 위한 보안 점검 항목
- 각 프로그래밍 언어의 예외처리 구문을 통해 오류에 대한 사항을 정의
- 예외처리 구문으로 처리하지 못한 오류들은 중요정보를 노출시키거나 소프트웨어의 실행이 중단되는 등 예기치 못한 문제를 발생시킬 수 있음
- 에러처리의 미비로 인한 코딩이 유발하는 보안 약점 : 오류 메시지를 통한 정보 노출, 오류 상황 대응 부재, 부적절한 예외처리 등
2. 오류 메시지를 통한 정보노출
- 오류 발생으로 실행 환경, 사용자 정보, 디버깅 정보 등의 중요 정보를 소프트웨어가 메시지로 외부에 노출하는 보안 약점
- 노출 경로 및 디버깅 정보는 해커의 악의적인 행위를 도울 수 있음
- 예외처리 구문에 예외의 이름이나 스택 트레이스를 출력하도록 코딩한 경우 해커는 소프트웨어의 내부구조를 쉽게 파악할 수 있음
- 스택 트레이스 Stack Trace : 오류가 발생한 위치를 추적하기 위해 소프트웨어기 실행 중에 호출한 메소드의 리스트를 기록한
- 오류 메시지를 통한 정보노출을 방지하는 방법 : 오류 발생 시 가능한 한 내부에서만 처리되도록 함, 메시지를 출력할 경우 최소한의 정보 또는 사전에 준비된 메시지만 출력되도록 함
3. 오류 상황 대응 부재
- 소프트웨어 개발 중 예외처리를 하지 않았거나 미비로 인해 발생하는 보안 약점
- 예외처리를 하지 않은 오류들로 인해 소프트웨어의 실행이 중단되거나 의도를 벗어난 동작이 유도될 수 있음
- 오류 상황 대응 부재를 방지하는 방법 : 오류가 발생할 수 있는 부분에 예외처리 구문을 작성, 제어문을 활용하여 오류가 악용되지 않도록 코딩
4. 부적절한 예외처리
- 함수의 반환값 또는 오류들을 세분화하여 처리하지 않고 광범위하게 묶어 한 번에 처리하거나, 누락된 예외가 존재할 때 발생하는 보안 약점
- 모든 오류들을 세세하게 정의하여 처리할 필요는 없지만, 모든 오류들을 광범위한 예외처리 구문으로 정의해 버리면 예기치 않은 문제가 발생할 수 있음
- 함수 등이 예상했던 결과와 다른 값을 반환하여 예외로 처리되지 않은 경우 잘못된 값으로 인해 다양한 문제가 발생할 수 있음
- 부적절한 예외처리를 방지하는 방법 : 모든 함수의 반환값이 의도대로 출력되는지 확인, 세분화된 예외처리를 수행함
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 소프트웨어 개발 보안 구축 - 151. 캡슐화 (0) | 2025.02.25 |
---|---|
[정보처리기사 필기] 소프트웨어 개발 보안 구축 - 150. 코드 오류 (0) | 2025.02.25 |
[정보처리기사 필기] IT프로젝트 정보시스템 구축 관리 - 141. Secure OS (0) | 2025.02.25 |
[정보처리기사 필기] IT프로젝트 정보시스템 구축 관리 - 140. HW 관련 신기술 (1) | 2025.02.25 |
[정보처리기사 필기] IT프로젝트 정보시스템 구축 관리 - 139. 보안 관련 신기술 (0) | 2025.02.24 |