IgnatiusHeo

설계단계 보안설계기준-인증 대상 및 방식 본문

자격/SW보안약점진단원

설계단계 보안설계기준-인증 대상 및 방식

Ignatius Heo 2023. 6. 29. 03:24

작성일: 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

 

가. 취약점 개요

 

ㅇ 위 내용을 볼 때, 예상 가능한 보안 위협: 계정탈취를 이용한 중요 데이터 유출?

  1. 중요 정보나 리소스 노출

 

나. 설계시 고려사항

 

① 중요기능이나 리소스에 대해서는 인증 후 사용 정책이 적용되어야 한다.

  →  분석단계에 분류된 중요기능에 대해 "인증 후 사용" 정책이 반드시 적용될 수 있도록 한다.

 

안전한 인증방식을 사용하여 인증우회나 권한 상승이 발생하지 않도록 해야 한다.

  →  인증정보는 서버 측에 저장하여 인증이 필요한 기능이나 리소스에 접근을 시도할 때 서버에서 인증 여부를 확인할 수 있도록 해야 한다.

  →  OTP 사용 시 타 서비스나 시스템과의 연동이 보장되도록 설계해야 하며 아래 규칙을 만족해야 한다.

  1. 시각정보, 이벤트정보, 질의-응답 방식으로 취득한 정보를 이용해 생성할 수 있다.
  2. 시각정보 기반의 연계정보는 특정시간 동안만 유효하여야 하며, 이벤트/질의-응답 방식을 사용하는 경우 연계정보를 추측할 수 없도록 보호방안을 제공할 수 있어야 한다.
  3. OTP는 시간적 제한을 설정해야 한다.(금융영역 30~60초)
  4. OTP는 중복 및 유추가 불가하도록 6자리 이상의 숫자 및 문자로 구성한다.
  5. 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정보, 사용기능 등이 로깅되도록 설계되었는지 확인

 

 

끝.