보안 기능
인증대상 및 방식
설명 : 중요정보,기능의 특성에 따라 인증방식을 정의하고 정의된 인증방식을 우회하지 못하게 설계 해야 한다
보안대책
- 중요기능이나 리소스에 대해서는 인중 후 사용정책이 적용되어야 한다
- 안전한 인증방식을 사용하여 인증우회나 권한 상승이 발생하지 않도록 해야한다
- 중요기능에 대해 2단계(2factor)인증을 고려해야한다
취약점 개요
중요기능이나 리소스를 요청하는 경우 인증이 되었는지를 먼저 확인하지 않고 요청을 처리하는 경우 중요정보나 리소스가 노출될 수 있다
설계시 고려 사항
중요기능이나 리소스에 대해서는 인증 후 사용정책이 적용되어야 한다
분석단계에 분류된 중요기능에 대해 인증 후 사용 정책이 반드시 적용될 수 있도록 한다
각각의 중요기능에서 인증을 요청하도록 구현하는 것은 쉽지 않다 시스템 설계 시 주요기능을
분류하고 식별된 중요기능에 대해 일괄적으로 인증을 요구하도록 시스템이 구성되도록 설계한다
이 경우 직접적으로 기능과 인증을 매핑시켜 처리하는 컴포넌트를 개발하거나 인증기능을 제공하는
프레임워크 또는 라이브러리를 활용하여 중앙집중식 인증이 적용되도록 설계한다
안전한 인증방식을 사용하여 인증우회나 권한 상승이 발생하지 않도록 해야한다
인증정보는 서버 측에 저장하여 인증이 필요한 기능이나 리소스에 접근을 시도할 때 서버에서
인증 여부를 확인할 수 있도록 해야 한다
(ㄱ) 일회용 패스워드 사용 시
일회용 패스원드를 적용하는 경우 타서비스나 시스템과의 연동이 보장되도록 설계해야 한다
일회용 패스워드를 도입하는 경우 다음과 같은 규칙을 적용하여 설계한다
A. 일회용 패스워드는 시각정보 이벤트정보 질의-응답 방식으로 취득한 정보를 이용해 생성할 수 있다
B. 시각정보 기반의 연계정보는 특정시간 동안만 유효하여야 하며 이벤트/질의응답 방식을 사용할 경우에는 연계정보를 추측할 수 없도록 보호방안을 제공할 수 있어야 한다.
C. 일회용 패스워드에는 시간적 제한을 설정해야 한다(금융영역에서는 30-60초)
D. 일회용 패스워드는 중복 및 유추가 불가능하도록 6자리 이상의 숫자 및 문자로 구성한다
E. OTP발생기와 인증서버에서 동일한 정보를 생성해야 한다
중요기능에 대해 2단계(2factor)인증을 고려해야 한다
중요기능에 대해 멀티 디바이스(SMS,ARS등)를 이용한 추가인증이나 공인인증서 바이오정보(지문, 홍채 등)를 이용한 전자서명 인증기술을 이용한 2단계 인증을 고려해야 한다.
2단계인증은 Type1(패스워드/PIN등 지식기반인증), Type2(토큰/스마트카드 등 소유기반 인증) Type3(지문/홍채 등 생체기반인증)중 2개 이상의 인증 기법을 사용하도록 설계한다.
연관된 구현단계 보안약점 항목
입력데이터 검증 및 표현 : 서버사이드 요청 위조
보안기능 : 적절한 인증없는 중요기능 허요, 부적절한 인증서 유효성 검증
API 오용 : DNS lookup 에 의존한 보안결정
인증 수행 제한
설명 : 반복된 인증시도를 제한하고 인증 실패한 이력을 추적하도록 설계해야 한다
보안대책
- 로그인 기능 구현시, 인증시도 횟수를 제한하고 초과된 인증시도에 대해 인증제한 정책을 적용해야 한다
- 실패한 인증시도에 대한 정보를 로깅하여 인증시도 실패가 추적될 수 있게 해야 한다
최약점 개요
로그인 시도에 대한 횟수를 검사하지 않으면 로그인 시도 횟수와 상관없이 지속적으로 로그인 시도가 이루어지는 패스워드 무차별 대입공격이 시도되어 계정정보가 노출 될 수 있다
설계시 고려 사항
- 로그인 기능 구현 시 인증시도 횟수를 제한하고 초과된 인증시도에 대해 인증제한 정책을 적용해야 한다
로그인 시도횟수를 3-5번 이내로 제한하고 이를 초과하여 로그인에 실패하는 경우 추가 입력값을 요구하거나 계정 잠금을 수행하도록 다음과 같은 메커니즘으로 설계한다
사용자ID별,세션ID별 로그인 횟수를 추적하기 위해 사용자 DB테이블에 로그인 실패 횟수 계정 잠김 여부 마지막으로 성공 실패한 로그인 시간정보 로그아웃한 시간정보 등을 저장할 수 있도록 설계하고 일정횟수 이상 연속적으로 로그인 실패 시 사용자ID와 패스워드 외의 추가적인 정보를 확인하도록 한다
계정정보 입력 시 자동입력 방지문자와 같은 장치를 마련하도록 설계한다
보안문자 이미지 생성 및 입력값과 보안문자를 비교하기 위해 다음과 같은 서비스나 솔루션의 사용을 고려할 수 있다
* CAPTCHA 기능을 제공하는 서비스 및 솔루션
실패한 인증시도에 대한 정보를 로깅하여 인증시도 실패가 추적될 수 있게 해야 한다
반복된 로그인 실패에 대한 로깅 정책을 설정하고 로그 기록으로 허용되지 않은 로그인 시도를 분석 할 수 있도록 설계한다
연관된 구현단계 보안약점 항목
보안기능 : 반복된 인증시도 제한 기능 부재
비밀번호 관리
설명 : 비밀번호 생성 규칙, 저장방법,변경주기 등 비밀번호 관리 정책별 안전한 적용방법을 설게해야 한다
보안대책
- 비밀번호 설정 시 한국인터넷진흥원 패스워드 선택 및 이용안내서 의 패스워드 보안 지침을 적용한다
- 네트워크로 비밀번호를 전송하는 경우 반드시 비밀번호를 암호화하거나 암호화된 통신채널을 이용해야 한다
- 비밀번호 저장시 솔트가 적용된 안전한 해시함수를 사용해야 하며 비밀번호에 대한 해시는 서버에서 실행되도록해야 한다
- 비밀번호 재설정/변경 시 안전하게 변경할 수 있는 규칙을 정의해서 적용해야 한다.
- 비밀번호 관리 규칙을 정의해서 적용해야 한다
취약점 개요
취약한 비밀번호 사용
회원 가입시 안전한 비밀번호 생성규칙이 적용되지 않아서 취약한 비밀번호로 회원가입이 가능할 경우 무차별 대입 공격으로 패스워드가 누출 될수 있다
취약한 비밀번호 복구
비밀번호 복구 메커니즘(아이디/패스워드 찾기 등)이 취약한 경우 공격자가 불법적으로 다른 사용자의 비밀번호를 획득 변경 복구할 수 있다
보안 버퍼 오버플로우 20220811 (0) | 2022.08.11 |
---|---|
보안기능 20220811 (0) | 2022.08.11 |
보안 02 입력 데이터 검증 및 표횬 (0) | 2022.07.15 |
보안 1일차 프로젝트 참여인원의 역할(Role)별 보안활동 (0) | 2022.07.15 |
디지털 서명 Digital Signature 과 전자 서명 Electronic Signature 차이[2022.06.23] (0) | 2022.06.23 |
댓글 영역