about Security/SECURE CODING

[보안기능] 주석문 안에 포함된 시스템 주요 정보 (5등급)

saniii 2021. 8. 10. 23:23

 

0. 개요 

 

패스워드와 같은 시스템의 중요한 정보를 주석문 안에 (개발자의 편의를 위해서)적어두는 경우,

소프트웨어가 완성된 경우에는 이것을 제거하는 것이 매우 어려워지며

공격자가 소스코드에 접근할 수 있다면, 아주 쉽게 시스템에 침입할 수 있다.

 

 

 

1. 보안 대책

 

- 주석에는 ID, 패스워드 등 보안과 관련된 내용을 기입하지 않는다.

 

 

 

2. 진단 방법

 

 - DB접속, 관리자 로그인 등이 구현된 코드 확인

 - 주석에 중요 정보가 포함되어 있는지 확인

 

 

 

3. 코드 예시

소프트웨어 개발보안 가이드 (2019.11) / 행정안전부 & 한국인터넷진흥원

# 1  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

# 1  +  제거되지 않고 남은 디버그 코드 - 안전한 코드 예시(JAVA)

 

 

# 2  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

# 2  +  제거되지 않고 남은 디버그 코드 - 안전한 코드 예시(JAVA)  

 

 

 

# 3  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

 

 

# 4  -  제거되지 않고 남은 디버그 코드 - 안전하지 않은 코드 예시(JAVA)

 

 

 

 

4. 해당 취약점 CASE

 

- 주석 안에 개발자의 이해를 돕기 위한 목적 등으로 패스위드를 작성해 놓았을 경우

 

 

 

#. 참고 블로그 

https://prokyhsigma.tistory.com/65?category=848515 

 

[구현보안] 보안기능 13 - 주석문 안에 포함된 시스템 주요정보

가. 원인 - 주석문 안에 시스템 중요정보가 작성되어 있는 경우 - 개발과정에서 개발편의상 중요정보를 포함하여 작성한 주석을 삭제하지 않은 경우 나. 영향 - 바이너리 파일의 디컴파일을 통해

prokyhsigma.tistory.com