[시큐어코딩 가이드] 주석문 안에 포함된 시스템 주요정보
- 정보보안/시큐어코딩 가이드
- 2022. 8. 9.
■ 보안기능
보안기능(인증, 접근제어, 기밀성, 암호화, 권한관리 등)을 부적절하게 구현 시 발생할 수 있는 보안약점으로 적절한 인증 없는 중요기능 허용, 부적절한 인가 등이 포함된다.
주석문 안에 포함된 시스템 주요정보
■ 개요
패스워드를 주석문에 넣어두면 시스템 보안이 훼손될 수 있다. 소프트웨어 개발자가 편의를 위해서 주석문에 패스워드를 적어둔 경우, 소프트웨어가 완성된 후에는 그것을 제거하는 것이 매우 어렵게 된다. 또한, 공격자가 소스코드에 접근할 수 있다면, 아주 쉽게 시스템에 침입할 수 있다.
■ 안전한 코딩 기법
주석에는 ID, 패스워드 등 보안과 관련된 내용을 기입하지 않는다.
코드예제
편리성을 위해 아이디, 패스워드 등 중요정보를 주석문 안에 작성 후 지우지 않는 경우 정보노출 보안약점이 발생한다.
안전하지 않은 코드의 예 |
def user_login(id, passwd): # 주석문에 포함된 중요 시스템의 인증 정보 # id = admin # passwd = passw0rd result = login(id, passwd) return result |
프로그램 개발 시에 주석문 등에 남겨놓은 사용자 계정이나 패스워드 등의 정보는 개발 완료 시에 확실하게 삭제하여야한다.
안전한 코드의 예 |
def user_login(id, passwd): # 주석문에 포함된 민감한 정보는 삭제 result = login(id, passwd) return result |