티스토리 뷰

반응형

 

 

 

가. 취약점 개요

  - 취약한 패스워드를 사용할 수 있을 경우, 무차별 대입공격을 통해 패스워드가 누출될 수 있는 취약점

   → 취약한 비밀번호 허용

 

  - 패스워드 복구 메커니즘이 취약 시, 다른 사용자의 패스워드를 획득/변경/복구가 가능한 취약점

   → (취약한 비밀번호 복구)

 

  - 하드코드된 패스워드로 내부인증을 하거나, 통신할 경우, 관리자 정보가 노출될 수 있는 취약점

   → 하드코드된 비밀번호

 

 

나. 요구사항

1. KISA 암호화 정책수립기준의 패스워드 설정 규칙을 적용

2. 패스워드 전송 시 암호화처리 또는 암호화 통신 이용

3. 패스워드 저장 시 솔트가 적용된 안전한 해쉬함수 사용

4. 패스워드 재설정/변경 시 안전하게 변경할 수 있는 규칙 정의

5. 패스워드 관리규칙을 정의

 

 

다. 요구사항 별 고려사항

1. KISA 암호화 정책수립기준의 패스워드 설정 규칙을 적용

  - 영문 대/소문자/숫자/특수기호 중 3종류 이상 사용 시 최소 8자리, 2종류 이상 사용 시 최소 10자리로 구성

  - 사전적 단어를 포함하지 않는 패스워드

  - 예측이 어렵도록 가공한 패스워드

  - 사용자 ID와 연관있는 단어구성을 포함하지 않는 패스워드

  - 제 3자가 쉽게 알 수 있는 개인정보를 포함하지 않는 패스워드

 

2. 패스워드 전송 시 암호화 처리 또는 암호화 통신 이용

  - 패스워드를 송/수신 시 보호대책으로 TLS, VPN 등의 암호기술을 적용

 

3. 패스워드 저장 시 솔트가 적용된 안전한 해쉬함수 사용

  - 해쉬함수는 서버에서 실행

 

4-1. 패스워드 변경 시 안전하게 변경할 수 있는 규칙 정의

  - 3개월에서 6개월 이하의 주기적 패스워드를 변경

  - 패스워드 변경 시 이전 패스워드와 연관성 금지

 

4-2. 패스워드 재설정 시 안전하게 변경할 수 있는 규칙 정의

  - 해당 사용자에게만 패스워드 정보를 전달

  - 올바른 패스워드가 입력되기 전까지 개인정보 수정제한

  - 사용자 검증 실패횟수가 일정횟수 초과 시 패스워드 찾기기능 잠금

  - 사용자 검증 후 임시 패스워드를 발급

  - 임시 패스워드 사용 시 즉시 새로운 패스워드로 재설정

 

5. 패스워드 관리규칙을 정의

  - 3개월~6개월마다 주기적으로 패스워드를 변경

  - 패스워드 기간이 만료 시 사용자에게 패스워드 변경을 요청

  - 마지막으로 로그인한 시간정보를 저장 및 알림

 

 

라. 요구사항 별 진단기준 및 방법

0. 공통내용

  - 요구사항 정의서에 보안요구항목에 대한 대책이 수립

  - 아키텍쳐 설계서에 보안요구항목 적용계획이 수립

  - 요구사항 추적표를 통해 요구사항 추적가능 여부

 

1. KISA 암호화 정책수립기준의 패스워드 설정 규칙을 적용

  - 안전한 패스워드 설정 규칙이 설계되었는지 확인

 

2. 패스워드 전송 시 암호화 처리 또는 암호화 통신 이용

  - 회원가입, 로그인 등 네트워크를 통해 패스워드가 전송되는 기능의 분류를 확인

  - 패스워드 전송 시 안전한 암호 알고리즘을 사용한 암호화 여부를 확인

  - 패스워드 전송 시 TLS, VPN 등 안전한 통신채널 사용 여부를 확인

 

3. 패스워드 저장 시 솔트가 적용된 안전한 해쉬함수 사용

  - 패스워드 암호화 시 SHA-2계열 해쉬함수의 사용 여부를 확인

  - 해쉬함수 사용 시 솔트값 사용하도록 설계되었는지 확인

  - 솔트값은 암호키가 저장되는 장소에 저장되도록 설계되어 있는지 확인

 

4-1. 패스워드 변경 시 안전하게 변경할 수 있는 규칙 정의

  - 패스워드 변경 시 기존 패스워드를 확인하도록 설계되었는지 확인

  - 변경하려는 패스워드가 안전한 패스워드 설정 규칙이 적용되었는지 확인

 

4-2. 패스워드 재설정 시 안전하게 변경할 수 있는 규칙 정의

  - 패스워드 재설정 요청 시 안전한 본인인증 절차수행이 설계되었는지 확인

  - 본인인증 후 패스워드 재설정 페이지로 연결되는지 확인

 

5. 패스워드 관리규칙을 정의

  - 패스워드 만료기간이나 변경주기에 대한 정책적용 확인

  - 만료/변경주기 정책을 관리할 수 있도록 데이터베이스가 설계되었는지 확인

 

 

마. 진단기준

1. KISA 암호화 정책수립기준의 패스워드 설정 규칙을 적용

  - 패스워드 설정 규칙이 안전하게 정의되어 있는지 확인

  - 패스워드 설정 규칙을 점검하는 테스트 계획 확인

 

2. 패스워드 전송 시 암호화 처리 또는 암호화 통신 이용

  - 네트워크를 통해 전송되는 패스워드가 안전한 암호알고리즘으로 암호화되거나, 안전한 암호화 통신채널을 사용하는지 확인

  - 네트워크를 통해 전송되는 패스워드의 암호화를 점검하는 테스트 계획 확인

 

3. 패스워드 저장 시 솔트가 적용된 안전한 해쉬함수 사용

  - 패스워드 저장/변경 시 솔트가 적용된 안전한 해쉬함수를 사용하도록 설계되었는지 확인

  - 해쉬함수를 이용한 패스워드 암호화가 서버에서 실행되도록 설계되었는지 확인

  - 저장된 패스워드의 안전성을 점검하는 테스트 계획 확인

 

4. 패스워드 변경/재설정 시 안전하게 변경할 수 있는 규칙 정의

  - 패스워드를 안전하게 변경 및 재설정할 수 있도록 설계되었는지 확인

  - 패스워드 변경 및 재설정이 안전하게 수행되는지 점검하는 테스트 계획 확인

 

5. 패스워드 관리규칙을 정의

  - 패스워드 관리 규칙이 설계되어 있는지 확인

  - 패스워드 관리 규칙을 점검하는 테스트 계획 확인

 

 

바. 안전한 보안설계 예

No 요구사항 명 해결방안 검수기준
1 안전한 패스워드 생성규칙 적용 암호이용안내서의 패스워드 생성규칙을 적용한다. 암호이용안내서의 패스워드 생성규칙을 따른다.
2 네트워크를 통한 패스워드 전송 시 암호화 로그인, 회원정보수정 등 패스워드 정보를 포함하는 요청은 HTTPS로 처리한다. 패스워드 정보가 포함된 요청은 HTTP로 처리되지 않고 HTTPS로 처리된다.
3 패스워드 저장 시 솔트가 적용된 안전한 해쉬함수 사용 해쉬를 추출하는 공통모듈 구현 시 임의의 난수를 생성하여 솔트로 사용하고, 해쉬값과 함께 반환하도록 한다. 해쉬를 추출할 때 난수 형태의 솔트가 적용되고 사용한 솔트를 확인할 수 있다.
4 패스워드 재설정/변경 시 안전한 변경 규칙 적용 항시 패스워드 변경이 가능하도록 하고, 동일 패스워드를 장기간 사용하는 경우 3개월 주기로 패스워드를 변경하도록 강제한다. 팻워드를 분실한 경우, 패스워드 찾기 기능을 통해 가입 시 입력한 이메일로 임시 패스워드를 발급한다. 패스워드 변경, 3개월 주기로 변경, 패스워 찾기 기능을 제공한다.
5 패스워드 관리 규칙 적용 패스워드 변경주기를 3개월로 하고 만료기간을 6개월로 한다. 패스워드 변경주기와 만료기간 정책이 반영되어 있다.

 

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday