🔐 소프트웨어 개발 보안 구축 #4 - 에러처리

2020. 7. 14. 14:19컴퓨터언어/소프트웨어공학

728x90
반응형

 

👍 에러처리란?

 

소프트웨어는 실행되면서 에러가 발생하기 마련이기 때문에, 그 에러들을 사전에 정의함으로써 에러로 인해 발생할 수 있는 이차적 문제들을 예방하는 것이 필요하다. 이를 "에러처리"라고 한다.

에러처리는 각 프로그래밍 언어의 "예외처리 구문"을 통해 오류에 대한 사항을 미리 정의해놓아야 한다.

예외처리 구문으로 처리하지 못한 오류들은 중요정보를 노출시키거나 소프트웨어의 실행이 중단되는 등 예기치 못한 문제를 발생시킬 수 있으므로 주의해야 한다.

 

다음은 에러처리의 미비로 인해 나타나는 보안약점들이다.

오류메시지를 통한 정보노출 ❗️ 오류발생으로 실행환경/사용자정보/디버깅정보/스택트레이스/예외이름이 메시지로 노출되어 해커를 도움
✅ 오류를 가능한 내부에서만 처리되도록 하고, 메시지 출력이 필요한 경우 최소한의 정보 또는 사전정보만 출력
오류상황 대응부재 ❗️ 예외처리를 하지 않았거나 미비하게 함으로써 소프트웨어의 실행이 중단되거나 의도치 않은 동작이 일어남
✅ 오류가 발생할 수 있는 부분에 예외처리 구문을 작성하고, 제어문을 활용하여 오류가 악용되지 않도록 방지
부적절한 예외처리 ❗️ 함수의 반환 값 또는 오류들을 세분화하지 않고 광범위처리하거나, 누락된 예외가 존재하여 문제 발생
✅ 모든 함수의 반환 값이 의도대로 출력되는지 확인하고, 세분화된 예외처리를 수행함으로써 방지
728x90
반응형