🔐 소프트웨어 개발 보안 구축 #4 - 에러처리
2020. 7. 14. 14:19ㆍ컴퓨터언어/소프트웨어공학
728x90
반응형
👍 에러처리란?
소프트웨어는 실행되면서 에러가 발생하기 마련이기 때문에, 그 에러들을 사전에 정의함으로써 에러로 인해 발생할 수 있는 이차적 문제들을 예방하는 것이 필요하다. 이를 "에러처리"라고 한다.
에러처리는 각 프로그래밍 언어의 "예외처리 구문"을 통해 오류에 대한 사항을 미리 정의해놓아야 한다.
예외처리 구문으로 처리하지 못한 오류들은 중요정보를 노출시키거나 소프트웨어의 실행이 중단되는 등 예기치 못한 문제를 발생시킬 수 있으므로 주의해야 한다.
다음은 에러처리의 미비로 인해 나타나는 보안약점들이다.
오류메시지를 통한 정보노출 | ❗️ 오류발생으로 실행환경/사용자정보/디버깅정보/스택트레이스/예외이름이 메시지로 노출되어 해커를 도움 ✅ 오류를 가능한 내부에서만 처리되도록 하고, 메시지 출력이 필요한 경우 최소한의 정보 또는 사전정보만 출력 |
오류상황 대응부재 | ❗️ 예외처리를 하지 않았거나 미비하게 함으로써 소프트웨어의 실행이 중단되거나 의도치 않은 동작이 일어남 ✅ 오류가 발생할 수 있는 부분에 예외처리 구문을 작성하고, 제어문을 활용하여 오류가 악용되지 않도록 방지 |
부적절한 예외처리 | ❗️ 함수의 반환 값 또는 오류들을 세분화하지 않고 광범위처리하거나, 누락된 예외가 존재하여 문제 발생 ✅ 모든 함수의 반환 값이 의도대로 출력되는지 확인하고, 세분화된 예외처리를 수행함으로써 방지 |
728x90
반응형
'컴퓨터언어 > 소프트웨어공학' 카테고리의 다른 글
🔐 소프트웨어 개발 보안 구축 #6 - 암호 알고리즘 (0) | 2020.07.14 |
---|---|
🔐 소프트웨어 개발 보안 구축 #5 - 세션통제 (0) | 2020.07.14 |
🔐 소프트웨어 개발 보안 구축 #3 - 보안기능 (0) | 2020.07.14 |
🔐 소프트웨어 개발 보안 구축 #2 - 입력데이터 검증 및 표현 (0) | 2020.07.14 |
🔐 소프트웨어 개발 보안 구축 #1 - Secure SDLC (0) | 2020.07.14 |