Secure Coding Guide | 취약한 비밀번호 허용
정의
비밀번호 조합규칙(영문, 숫자, 특수문자 등)이 미흡하거나 길이가 충분하지 않아 노출될 수 있는 보안약점이다.
영향
개인 정보 유출과 같은 침해 사고 발생한다.
발생 및 조치 방법
적절한 패스워드 생성 규칙이 없는 경우에 발생한다.
안전하지 않은 Java 코드의 예
try {
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
}
catch (SQLException e){ ...... }
사용자가 입력한 패스워드에 대한 복잡도 검증이 없이 가입 승인 처리를 수행하고 있다.
안전한 Java 코드의 예
try {
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
if (passwd == null || "".equals(passwd))
return;
if (!passwd.matches("") && (passwd.indexOf("@!#") > 0) && (passwd.length() > 7)) {
...
} catch (SQLException e) { ...... }
사용자 계정을 보호하기 위해서 패스워드 복잡도 검증 후 가입 승인처리를 수행해야 한다.
최종 수정 : 2018-05-27