0. 개요
디버깅 목적으로 삽입된 코드는 개발이 완료되면 제거해야 한다.즉, 설정 등의 민감한 정보나 시스템을 제어하도록 허용하는 부분을 담고 있는 디버그 코드가 남겨진 채로 배포될 경우,
공격자가 식별 과정을 우회하거나 의도하지 않은 정보나 제어 정보가 노출될 수 있다.
1. 보안 대책
- 소프트웨어 배포 전, 반드시 디버그 코드를 확인 및 삭제한다.: 특히 JAVA개발 경우 디버그용도의 코드를 main()에 작성한 후 삭제하지 않는 경우가 많다. 잘 삭제하도록 하자.
2. 진단 방법
- 개발 중 사용한 테스트 목적의 디버그 코드가 존재하는지 확인
3. 코드 예시
# 1 - 제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)
# 1 + 제거되지 않고 남은 디버그 코드 - 안전한 코드 예시(JAVA)
# 2 - 제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)
# 2 + 제거되지 않고 남은 디버그 코드 - 안전한 코드 예시(JAVA)
>> 참고 자료
4. 해당 취약점 CASE
- J2EE 환경에서 존재하는 디버깅용 main() 함수가 존재할 경우
'about Security > SECURE CODING' 카테고리의 다른 글
[보안 기능] 취약한 암호화 알고리즘 사용 (4등급) (0) | 2021.08.07 |
---|---|
[입력 데이터 검증 및 표현] 정수형 오버플로우 (4등급) (0) | 2021.08.07 |
[입력 데이터 검증 및 표현] 위험한 형식 파일 업로드 (3등급) (0) | 2021.08.07 |
[입력 데이터 검증 및 표현] HTTP 응답분할 (3등급) (0) | 2021.08.07 |
[보안기능] 중요정보 평문저장 (3등급) (0) | 2021.08.07 |
댓글