Web Analytics/SW 보안약점 진단원

[구현보안] 보안기능 11 - 취약한 비밀번호 허용

SalaYH 2019. 10. 6. 18:29
반응형

 

 

 

가. 원인

  - 비밀번호 조합규칙이 미흡하거나 길이가 충분하지 않을 경우

 

 

나. 영향

  - 패스워드 무작위 대입 또는 추측공격을 통해 계정정보가 노출

 

 

다. 보안대책

  - KISA "암호이용안내서"의 패스워드 설정규칙을 적용

  - 패스워드에 숫자 / 영문자 / 특수문자 등을 혼합하여 사용

  - 패스워드를 주기적으로 변경하여 사용

 

 

라. 안전한 코드

1. 패스워드 검증

 

  String password = request.getParameter( "password" );

  ...

  // 영문+숫자포함하여 최소 10자리 이상

  Pattern p = Pattern.compile( "((?=.*[a-zA-Z])(?=.*0-0).{10, })" );

  Matcher match = p.matcher( password );

  if ( !match.matches() ) {

     showAlert( "Not allow password" );

     break;

  }

  ...

 

 

 

마. 진단방법

<안전한 패스워드 조합규칙 적용>

  1. 패스워드 설정기능 확인

  2. 패스워드 조합 규칙 적용여부 확인

 

 

 

바. 정/오탐 케이스

<정탐 케이스>

  1. 널체크, 비밀번호 자리수, 특수기호 포함 등의 요구조건이 없거나 미흡할 경우
  2. 패스워드에 대한 복잡도 검증없이 가입승인 처리할 경우

 

<오탐 케이스>

  1. 로그인을 위해 패스워드 확인 시 복잡도 검증이 없을 경우

반응형