IgnatiusHeo
설계단계 보안설계기준-인증 대상 및 방식 본문
작성일: 230628
※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다.
정리 내용: 소프트웨어 보안약점 진단 가이드(103~109p)
유형 | 보안기능 |
설계항목 | 인증 대상 및 방식 |
설명 | 중요정보·기능의 특성에 따라 인증방식을 정의하고 정의된 인증방식을 우회하지 못하게 설계해야 한다. |
보안대책 | ① 중요기능이나 리소스에 대해서는 인증 후 사용 정책이 적용되어야 한다. ② 안전한 인증방식을 사용하여 인증우회나 권한 상승이 발생하지 않도록 해야 한다. ③ 중요기능에 대해 2단계(2-factor)인증을 고려해야 한다. |
연관된 구현단계 |
- 서버사이드 요청 위조 https://cryptocurrencyclub.tistory.com/121 - 적절한 인증 없는 중요기능 허용 https://cryptocurrencyclub.tistory.com/127 - 부적절한 인증서 유효성 검증 https://cryptocurrencyclub.tistory.com/138 - DNS lookup에 의존한 보안 결정 https://cryptocurrencyclub.tistory.com/158 |
가. 취약점 개요
ㅇ 위 내용을 볼 때, 예상 가능한 보안 위협: 계정탈취를 이용한 중요 데이터 유출?
- 중요 정보나 리소스 노출
나. 설계시 고려사항
① 중요기능이나 리소스에 대해서는 인증 후 사용 정책이 적용되어야 한다.
→ 분석단계에 분류된 중요기능에 대해 "인증 후 사용" 정책이 반드시 적용될 수 있도록 한다.
② 안전한 인증방식을 사용하여 인증우회나 권한 상승이 발생하지 않도록 해야 한다.
→ 인증정보는 서버 측에 저장하여 인증이 필요한 기능이나 리소스에 접근을 시도할 때 서버에서 인증 여부를 확인할 수 있도록 해야 한다.
→ OTP 사용 시 타 서비스나 시스템과의 연동이 보장되도록 설계해야 하며 아래 규칙을 만족해야 한다.
- 시각정보, 이벤트정보, 질의-응답 방식으로 취득한 정보를 이용해 생성할 수 있다.
- 시각정보 기반의 연계정보는 특정시간 동안만 유효하여야 하며, 이벤트/질의-응답 방식을 사용하는 경우 연계정보를 추측할 수 없도록 보호방안을 제공할 수 있어야 한다.
- OTP는 시간적 제한을 설정해야 한다.(금융영역 30~60초)
- OTP는 중복 및 유추가 불가하도록 6자리 이상의 숫자 및 문자로 구성한다.
- OTP발생기와 인증서버에서 동일한 정보를 생성해야 한다.
③ 중요기능에 대해 2단계(2-factor) 인증을 고려해야 한다.
→ 중요기능에 대해 멀티 디바이스를 이용한 추가인증이나, 공인인증서, 바이오정보를 이용한 2단계 인증을 고려해야 한다.
→ 2단계인증은 Type1(비밀번호/PIN 등 지식기반인증), Type2(토큰/스마트카드 등 소유기반 인증), Type3(지문/홍채 등 생체기반인증) 중 2개 이상의 인증기법을 사용하도록 설계한다.
다. 진단 세부사항
① 중요기능이나 리소스에 대해서는 인증 후 사용 정책이 적용되어야 한다. 중요기능은 안전한 인증방식을 사용하여 인증 후 사용하도록 설계하고 인증이 수행되도록 설계되어 있는지 확인한다.
ㅇ 중요기능과 중요 리소스에 대한 접근 권한이 분류되어 있는지 확인
ㅇ 접근권한을 기반으로 인증이 요구되는 중요 기능이나 리소스가 분류되어 있는지 확인
ㅇ 인증 누락이 발생하지 않도록 인증적용 방법이 안전하게 설계됐는지 확인(프레임워크 컴포넌트를 활용 및 적용, 인증 누락이 발생하지 않도록 설정)
ㅇ 중요 기능, 리소스에 대한 접근통제가 수행되고 있는지 점검하기 위한 테스트 계획 수립 여부 확인
② 안전한 인증방식을 사용하여 인증우회나 권한 상승이 발생하지 않도록 해야 한다. 안전한 인증방식을 사용하여 인증 후 사용하도록 설계되어 있는지 확인한다.
ㅇ 인증기능 설계 시 안전한 인증방식을 사용하도록 설계되어 있는지 확인(Type1/ Type2 / Type3)
ㅇ 인증정보의 저장방식이 안전하게 설계되어 있는지 확인(인증 사용값은 안전하게 암호화되어 서버에 저장되어야 함)
ㅇ 인증에 대한 인증횟수 제한 및 오류처리기능의 설계 여부 확인
ㅇ 인증오류 또는 인증실패에 대한 로깅의 설계 여부 확인(인증시도를 추적할 수 있는 인증시도시간/IP/ID정보 등 포함 여부 확인)
③ 중요기능에 대해 2단계(2-factor)인증을 고려해야 한다. 중요기능은 안전한 인증방식을 사용하여 인증 후 사용하도록 설계하고 2단계 인증 등 보안을 강화하는 방법을 고려해야 한다.
ㅇ 개인정보변경, 비밀번호 재설정, 권한 관리, 관리자 기능과 같은 중요기능의 경우 추가인증을 요청하도록 설계되었는지 확인
ㅇ 추가 인증기능 설계시 안전한 인증방식이 사용되도록 설계되어 있는지 확인
→ ID/PW 또는 OTP, 멀티디바이스를 이용한 추가 인증, (공인/사설) 인증서, 바이오정보(지문, 홍채 등)
ㅇ 추가인증이 요구되는 중요기능을 사용하거나 해당 인증을 실패하는 경우 사용시간, IP주소, ID정보, 사용기능 등이 로깅되도록 설계되었는지 확인
끝.
'자격 > SW보안약점진단원' 카테고리의 다른 글
설계단계 보안설계기준-비밀번호 관리 (0) | 2023.06.29 |
---|---|
설계단계 보안설계기준-인증 수행 제한 (1) | 2023.06.29 |
설계단계 보안설계기준-업로드·다운로드 파일 검증 (0) | 2023.06.27 |
설계단계 보안설계기준-보안기능 입력값 검증 (0) | 2023.06.27 |
설계단계 보안설계기준-허용된 범위내 메모리 접근 (0) | 2023.06.27 |