IgnatiusHeo
설계단계 보안설계기준-인증 수행 제한 본문
작성일: 230628
※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다.
정리 내용: 소프트웨어 보안약점 진단 가이드(110~114p)
유형 | 보안기능 |
설계항목 | 인증 수행 제한 |
설명 | 반복된 인증 시도를 제한하고 인증 실패한 이력을 추적하도록 설계한다. |
보안대책 | ① 로그인 기능 구현 시, 인증시도 횟수를 제한하고, 초과된 인증시도에 대해 인증제한 정책을 적용해야 한다. ② 실패한 인증시도에 대한 정보를 로깅하여 인증시도 실패가 추적될 수 있게 해야 한다. |
연관된 구현단계 |
- 반복된 인증시도 제한 기능 부재 https://cryptocurrencyclub.tistory.com/143 |
가. 취약점 개요
ㅇ 위 내용을 볼 때, 예상 가능한 보안 위협: 브루트포스?
- 비밀번호 무차별 대입 공격이 시도되어 계정정보가 노출될 수 있다.
나. 설계시 고려사항
① 로그인 기능 구현 시, 인증시도 횟수를 제한하고, 초과된 인증시도에 대해 인증제한 정책을 적용해야 한다.
→ 로그인 시도 횟수를 3-5번 이내로 제한하고 이를 초과하여 로그인에 실패하는 경우 추가 입력값을 요구하거나 계정 잠금을 수행하도록 다음과 같은 메커니즘으로 설계한다.
사용자ID별, 세션 ID별 로그인 횟수를 추적하기 위해 사용자 DB테이블에 로그인 실패 횟수, 계정 잠금 여부, 마지막으로 성공·실패한 로그인 시간, 로그아웃한 시간 등을 저장할 수 있도록 설계하고 일정 횟수 이상 연속적으로 로그인 실패 시 사용자 ID와 비밀번호 외의 추가적인 정보를 확인하도록 한다.
→ 계정정보 입력 시 자동입력방지 문자(CAPTCHA)와 같은 장치를 마련하도록 설계한다.
② 실패한 인증시도에 대한 정보를 로깅하여 인증시도 실패가 추적될 수 있게 해야 한다.
→ 반복된 로그인 실패에 대한 로깅 정책을 설정하고 로그 기록으로 허용되지 않은 로그인 시도를 분석할 수 있도록 설계한다.
다. 진단 세부사항
① 로그인 기능 구현 시, 인증시도 횟수를 제한하고, 초과된 인증시도에 대해 인증제한 정책을 적용해야 한다. 로그인 기능에 인증시도 횟수를 제한하도록 설계되어 있는지 확인한다.
ㅇ 로그인 시도 횟수(5회 이내) 제한 정책이 설계 시 반영되었는지 확인
ㅇ 인증 실패 횟수 정보를 관리하기 위해 영속성이 있는 저장장치(DB, 파일 등)에 인증시도 정보가 저장되도록 설계되어 있는지 확인
ㅇ 인증 실패 제한 횟수 초과 시 계정 잠금, 추가정보 요구 등 제한 정책 설계 여부 확인
ㅇ 제한된 횟수를 초과한 로그인 시도가 제한되는지를 점검하기 위한 테스트계획 수립 여부 확인
- 로그인 실패를 발생시킬 입력값 사용 → 실패 시 제한 정책 적용 여부 확인 → 영속성 있는 저장장치에 기록 여부 확인
② 실패한 인증시도에 대한 정보를 로깅하여 인증시도 실패가 추적될 수 있게 해야 한다. 로그인 기능에 인증시도 실패 로그를 기록하도록 설계되어 있는지 확인한다.
ㅇ 사용자ID, 로그인 실패 횟수, 로그인 시도 시간, IP주소, 계정 상태정보 등이 로깅정보에 포함되도록 설계되어 있는지 확인
ㅇ 초과된 인증시도에 대한 테스트 계획의 수립 여부 확인
ㅇ 초과된 인증시도에 대한 로깅의 정상 수행 점검을 위한 테스트 계획 수립 여부 확인
끝.
'자격 > SW보안약점진단원' 카테고리의 다른 글
설계단계 보안설계기준-중요자원 접근통제 (0) | 2023.06.29 |
---|---|
설계단계 보안설계기준-비밀번호 관리 (0) | 2023.06.29 |
설계단계 보안설계기준-인증 대상 및 방식 (0) | 2023.06.29 |
설계단계 보안설계기준-업로드·다운로드 파일 검증 (0) | 2023.06.27 |
설계단계 보안설계기준-보안기능 입력값 검증 (0) | 2023.06.27 |