일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- directx
- 쓰레드
- Direct12
- 스케줄링
- 영속성
- 프로그래머스
- codility
- 그리디알고리즘
- 운영체제
- DirectX 12
- 파일시스템 구현
- 병행성
- 타입 객체
- OS
- 멀티프로세서
- DirectX12
- 동적계획법
- I/O장치
- 멀티쓰레드
- 다이나믹프로그래밍
- 렌더링 파이프라인
- 락
- 병행성 관련 오류
- 컨디션 변수
- 알고리즘
- 다이나믹 프로그래밍
- 디자인패턴
- 그리디 알고리즘
- 자료구조
- 백준
- Today
- Total
기록공간
5-3-6장. 에러처리 - B 본문
에러처리는 소프트웨어 실행 중 발생할 수 있는 오류들을 사전에 정의하여 오류로 인해 발생할 수 있는 문제들을 예방하기 위한 보안 점검 항목들이다.
-
각 프로그래밍 언어의 예외처리 구문을 통해 오류에 대한 사항을 정의한다.
-
예외처리 구문으로 처리하지 못한 오류들은 중요정보를 노출시키거나, 소프트웨어의 실행이 중단되는 등 예기치 못한 문제를 발생시킬 수 있다.
-
에러처리 미비로 인한 코딩이 유발하는 보안 약점에는 오류 메시지를 통한 정보 노출, 오류 상황 대응 부재, 부적절한 예외처리가 있다.
오류 메시지를 통한 정보노출
오류 발생으로 실행 환경, 사용자 정보, 디버깅 정보등의 중요 정보를 소프트웨어가 메시지로 외부에 노출하는 보안 약점이다.
-
오류 메시지를 통해 노출되는 경로 및 디버깅 정보는 해커의 악의적인 행위를 도울 수 있다.
-
예외처리 구문에 예외 이름이나 스택 트레이스를 출력하도록 코딩한 경우 해커는 소프트웨어의 내부구조를 쉽게 파악할 수 있다.
-
오류 발생 시 가능한 한 내부에서만 처리되도록 하거나 메시지를 출력할 경우 최소한의 정보 또는 사전에 준비된 메시지만 출력되도록 함으로써 방지할 수 있다.
오류 상황 대응 부재
소프트웨어 개발 중 예외처리를 하지 않았거나 미비로 인해 발생하는 보안 약점이다.
-
예외처리를 하지 않은 오류들로 인해 소프트웨어 실행이 중단되거나 의도를 벗어난 동작이 유도될 수 있다.
-
오류가 발생할 수 있는 부분에 예외처리 구문을 작성하고, 제어문을 활용하여 오류가 악용되지 않도록 코딩하므로써 방지할 수 있다.
부적절한 예외처리
함수의 반환값 또는 오류들을 세분화하여 처리하지 않고 광범위하게 묶어 한 번에 처리하거나, 누락된 예외가 존재할 때 발생하는 보안 약점이다.
-
모든 오류들을 세세하게 정의하여 처리할 필요는 없지만, 모든 오류들을 광범위한 예외처리 구문으로 정의해 버리면 예기치 않은 문제가 발생할 수 있다.
-
함수 등이 예상했던 결과와 다른 값을 반환하여 예외로 처리되지 않은 경우 잘못된 값으로 인해 다양한 문제가 발생할 수 있다.
-
모든 함수의 반환값이 의도대로 출력되는지 확인하고, 세분화된 예외처리를 수행함으로써 방지할 수 있다.
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
5-3-8장. 캡슐화 - C (0) | 2020.09.22 |
---|---|
5-3-7장. 코드 오류 - B (0) | 2020.09.22 |
5-3-5장. 시간 및 상태 - C (0) | 2020.09.22 |
5-3-4장. 보안 기능 - B (0) | 2020.09.22 |
5-3-3장. 입력 데이터 검증 및 표현 - B (0) | 2020.09.22 |