시큐어코딩
- home
- 보안소식
- 시큐어코딩
26. [보안 기능] 취약한 비밀번호 허용
2019.06.04 15:18
안녕하세요 지에스인포입니다.
오늘은 행안부 SW 개발보인가이드 47개 항목 중 '취약한 비밀번호 허용'에 대해 알아보겠습니다.
# 취약한 비밀번호 사용 : 회원가입 시에 패스워드 규칙이 적용되지 않아 취약한 패스워드로 가입 될 경우 무차별 대입공격을 통해 패스워드가 누출 될 수 있는 보안 약점
요즘 사이트에 회원가입을 할 때 비밀번호를 입력하면 '비밀번호 10자 이상', '특수문자, 대소문자 혼합' 등등의 조건이 뜨는 경우를 많이 보셨을 겁니다.
그러한 패스워드 규칙을 적용하는 이유는 보안성을 높이기 위함인데요.
만약 이러한 패스워드 규칙이 없이 회원가입을 허용한다면 패스워드가 공격자에게 노출 될 수 있는 보안 약점이 발생하게 됩니다.
따라서 이를 방지하기 위해선, 한국인터넷진흥원의 '암호 이용 안내서'에 나와 있는 패스워드 설정 규칙을 적용하는 것이 좋은데요. 패스워드 생성시 숫자와 영문자, 특수문자 등을 혼합하여 사용하고, 주기적으로 변경하여 사용하도록 하는 것입니다.
위의 소스코드를 보면 가입자가 입력한 패스워드에 대해 길이나 특수문자 혼합 등 패스워드에 대한 복잡도 검증 없이 가입승인처리를 수행하고 있는데요. 이 경우, 사용자가 매우 단순하거나 예측 가능한 패스워드를 설정 할 경우 공격자의 무차별 대입 공격에 의해 해킹이 가능해지는 보안상 위협이 발생 할 수 있습니다.
따라서 위의 경우처럼 회원가입 시 패스워드의 복잡도 검증 후 가입 승인처리를 수행하도록 하는 소스코드를 사용하는 것이 좋습니다.
이제 비밀번호 복잡성에 대한 부분은 많은 분들이 알고 계시겠지만, 그래도 꺼진 불도 다시 한 번! 돌다리도 두드려보는 마음으로 가장 기본적인 사항에 대한 보안규칙도 소홀히 하면 안 되겠습니다.
오늘은 취약한 패스워드 허용 항목에 대해 알아보았습니다.
다음에도 유익한 정보로 찾아뵙는 지에스인포가 되겠습니다.