보안/SW보안약점 진단원
[설계보안] 보안기능-인증 대상 및 방식
re-bugger
2022. 6. 24. 22:36
분류: 보안기능 / 서버사이드 요청 위조, 적절한 인증 없는 중요기능 허용, DNS lookup에 의존한 보안결정
가. 항목명
인증 대상 및 방식
나. 취약점 설명
중요기능이나 리소스 요청하는 경우 인증되었는지 먼저 확인하지 않고 요청을 처리하여 중요 정보나 리소스가 노출되는 취약점
다. 보안대책
① 중요기능이나 리소스에 대해 인증 후 사용 정책 적용
② 안전한 인증방식 사용하여 인증우회나 권한 상승 발생하지 않도록 한다
③ 중요기능에 대해 2단계 (2-factor) 인증 고려
라. 설계시 고려사항
① 중요기능이나 리소스에 대해 인증 후 사용 정책 적용
- 인증기능을 제공하는 프레임워크 또는 라이브러리를 활용하여 중앙집중식 인증이 적용되도록 설계
② 안전한 인증방식 사용하여 인증우회나 권한 상승 발생하지 않도록 한다
- 인증이 필요한 기능이나 리소스에 접근할 때 서버에서 인증 여부를 확인한다
③ 중요기능에 대해 2단계 (2-factor) 인증 고려
- 중요기능에 대해 멀티 디바이스(SMS, ARS 등) 을 이용한 추가인증이나 공인인증서, 바이오 정보(지문,홍채 등)을 이용한 2단계 인증 고려
- 2단계 인증은 아래 Type 3개 중2개 이상의 인증기법을 사용하도록 설계
- Type1(비밀번호/PIN 등 지식기반인증)
- Type2(토큰/스마트카드 등 소유기반인증)
- Type3(지문/홍채 등 생체인증)
- 인증기능을 제공하는 프레임워크
- JAVA (Spring Security), ASP.NET(.NET Framework), PHP(Zend Framework, Symfony)
마. 진단기준 및 세부사항
① 중요기능이나 리소스에 대한 인증 후 사용 정책
- 중요기능과 중요 리소스(정보) 분류
- 중요기능과 중요 리소스(정보) 접근권한 분류
- 인증 누락 발생을 대비해 위해 프레임워크의 컴포넌트 활용
② 안전한 인증방식을 사용하여 인증우회 및 권한상승 발생 방지
- 인증기능 설계시 안전한 인증방식 사용
- 비밀번호/PIN 등 지식기반
- 토큰/스마트카드 등 소유기반
- 지문/홍채 등 생체기반
- 인증 사용되는 값은 서버에 저장
- 인증실패 횟수 제한 및 오류처리 기능 설계
- 인증오류 또는 인증실패에 대한 로깅 설계
③ 중요 기능에 대해 2단계(2-factor) 인증 고려
- 중요기능의 경우 추가인증을 요청하도록 설계
- 추가인증 설계 시 안전한 인증방식 사용
- ID/비밀번호 또는 일회용 비밀번호(OTP)
- 멀티디바이스(SMS, ARS 등)
- (공인 및 사설) 인증서
- 바이오정보(홍채, 지문 등)
바. 안전한 보안설계의 예
No | 요구사항명 | 해결방안 | 검수기준 | 비고 |
1 | DB사용자 계정에 최소권한 부여 | 애플리케이션에서 사용하는 DB 사용자 계정은 애플리케이션에서 사용하는 테이블, 뷰, 프로시저에 대해서만 사용권한을 부여한다 | 애플리케이션에서 사용하는 DB사용자 계정은 테이블, 뷰, 프로시저에 대한 권한만 적용된다. | 지속적인 DB사용자 계정 관리가 필요 |