IgnatiusHeo
설계단계 보안설계기준-중요자원 접근통제 본문
작성일: 230628
※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다.
정리 내용: 소프트웨어 보안약점 진단 가이드(128~137p)
유형 | 보안기능 |
설계항목 | 중요자원 접근통제 |
설명 | 중요자원(프로그램 설정, 민감한 사용자 데이터 등)을 정의하고, 정의된 중요자원에 대한 신뢰할 수 있는 접근통제 방법(권한관리 포함) 설계 및 접근통제 실패 시 처리방법을 설계한다. |
보안대책 | ① 중요자원에 대한 접근통제 정책을 수립하여 적용해야 한다. ② 중요기능에 대한 접근통제 정책을 수립하여 적용해야 한다. ③ 관리자페이지에 대한 접근통제 정책을 수립하여 적용해야 한다. |
연관된 구현단계 |
부적절한 인가 https://cryptocurrencyclub.tistory.com/128 중요한 자원에 대한 잘못된 권한 설정 https://cryptocurrencyclub.tistory.com/130 |
가. 취약점 개요
ㅇ 위 내용을 볼 때, 예상 가능한 보안 위협: 너무 뻔한 내용들인데 뭐라고 써야할질 모르겠다 와......
- 관리자 페이지 노출: 관리자페이지가 인터넷으로 접근이 가능한 경우 주 공격대상으로 SQL삽입, 무차별대입 등 다양한 형태의 공격 빌미를 제공한다.
- SSI(Server-side Includes) 삽입: HTML 문서 내 변수값으로 입력된 후 이를 서버가 처리하는데, 이 때 SSI 삽입 명령문이 수행되어서버 데이터 정보가 누출되는 취약점이다.
- 부적절한 인가: 접근제어를 검사하지 않거나 불완전하게 하는 경우, 접근 가능한 실행경로로 정보를 유출할 수 있는 취약점이다.
- 중요자원에 대한 잘못된 권한 설정: 중요 자원에 대한 권한을 의도하지 않게 허가할 경우 권한이 없는 사용자가 해당 자원을 사용하게 될 수 있는 취약점이다.
나. 설계시 고려사항
- RBAC(Role Based Access Control) 모델을 사용하여 기업, 정부 등 다수의 사용자와 정보객체들로 구성된 조직체계에서 사용자에게 할당된 역할을 기반으로 권한을 부여(접근제어 목록, Access control list)하도록 설계한다.
① 중요자원에 대한 접근통제 정책을 수립하여 적용해야 한다.
ㅇ 중요자원에 대한 접근권한을 최소권한으로 설정한다.
ㅇ 중요자원에 대한 접근통제 정책을 설정, 사용자 or 그룹별 접근을 체크한다.
ㅇ 중요자원에 대한 접근통제를 위해 ACL이나 RBAC를 적용하도록 설계한다. 접근통제 정책을 수립 시 최소권한 원칙과 권한 분리 정책에 따라 자원에 대한 권한을 할당, 자원에 대한 접근은 요구조건을 충족할 때만 허가하도록 설계해야 한다.
② 중요기능에 대한 접근통제 정책을 수립하여 적용해야 한다.
ㅇ 중요기능에 대한 접근통제는 소프트웨어를 익명/일반/특권사용자와 관리자 영역으로 구분하여 RBAC정책 및 비즈니스 로직에 따라 접근통제가 실시되도록 다음과 같은 조건에 따라 설계한다.
- 중요기능에 대한 접근 권한은 최소 권한
- 중요기능에 대한 접근통제 정책 설정, 사용자, 그룹별 접근 체크
- 프로그램에서 사용자 또는 자원에 대한 권한의 할당/수정/확인/검사를 수행해 의도치 않은 범위의 권한 획득을 하지 않도록 수행
- 파라미터 변조로 인증이 올바르게 수행되지 않을 수 있으므로 파라미터의 변조 여부 확인
- 상위권한을 사용해 수행되는 기능을 구현해야 하는 경우, 권한 상승은 가장 마지막에 수행, 종료 후 즉시 원상 복귀
③ 관리자 페이지에 대한 접근통제 정책을 수립하여 적용해야 한다.
ㅇ 관리자 페이지의 URL은 쉽게 추측할 수 없도록 설정
ㅇ 관리자 페이지 접속 시 암호화 통신 채널(TLS 등)을 사용
ㅇ 관리자 페이지에 접속 가능한 IP를 설정, 80번이 아닌 별도의 포트를 사용
ㅇ 관리자 페이지 접속 시 추가 인증을 요구
다. 진단 세부사항
① 중요자원에 대한 접근통제 정책을 수립하여 적용해야 한다. 중요자원에 대한 접근통제가 이루어지도록 설계되어 있는지 확인한다.
ㅇ 중요자원의 식별 여부 확인
ㅇ 중요자원에 접근하는 사용자/프로그램 분류 여부 확인
ㅇ 중요자원에 접근하는 사용자/프로그램의 접근권한이 최소권한으로 할당되도록 설계되어 있는지 확인
ㅇ 중요자원에 접근하는 사용자/프로그램의 접근권한이 자원별로 분리되어 할당되도록 설계되어 있는지 확인
ㅇ 중요자원에 대한 접근통제 정책(ACL/RBAC)이 설정되고 접근통제 기능을 구현하는 프로그램이 설계되어 있거나 접근통제 기능을 제공하는 라이브러리를 활용하도록 설계되어 있는지 확인
ㅇ 접근통제 기능의 적용방식이 프레임워크의 컴포넌트를 활용하여 적용하여 경우, 중요자원을 사용하는 모든 요청에 적용될 수 있도록 설계되어 있는지 확인
ㅇ 접근통제 기능의 적용방식이 개별 프로그램에서 적용하는 경우, 대상 프로그램과 통제 기능 호출방식에 대한 코딩규칙이 개발가이드에 반영되어 있는지 확인
ㅇ 중요자원별로 할당된 접근 권한 외의 작업을 요청하여 접근권한 통제가 안전하게 수행되는지를 점검하기 위한 테스트 계획의 수립 여부 확인
② 중요기능에 대한 접근통제 정책을 수립하여 적용해야 한다. 중요기능에 대한 접근통제가 설계되어 있는지 확인한다.
ㅇ 중요기능이 분석 단계 산출물에서 식별되어 있는지 확인
ㅇ 중요기능에 접근하는 사용자/프로그램이 분류되어 있는지 확인
ㅇ 중요자원에 접근하는 사용자/프로그램의 접근권한이 최소권한으로 할당되도록 설계되어 있는지 확인
ㅇ 중요자원에 접근하는 사용자/프로그램의 접근권한이 자원별로 분리되어 할당되도록 설계되어 있는지 확인
ㅇ 중요자원에 대한 ACL/RBAC 등이 설정되고 접근 통제 기능을 구현하는 프로그램이 설계되어 있거나 접근통제 기능을 제공하는 라이브러리를 활용하도록 설계되어 있는지 확인
ㅇ 접근통제 기능의 적용방식이 프레임워크의 컴포넌트를 활용하여 적용하는 경우, 중요자원을 사용하는 모든 요청에 적용될 수 있도록 설계되어 있는지 확인
ㅇ 접근통제 기능의 적용방식이 개별 프로그램에서 적용하는 경우, 대상 프로그램과 통제 기능 호출 방식에 대한 코딩규칙이 개발가이드에 반영되어 있는지 확인
③ 관리자 페이지에 대한 접근통제 정책을 수립하여 적용해야 한다. 관리자 페이지 접근통제 정책이 설계되어 있는지 확인한다.
ㅇ 관리자 페이지를 사용하는 포트가 일반 사용자 페이지와 다른 포트를 사용하고 있는지 확인
ㅇ 외부 네트워크로부터 관리자 페이지의 접근 차단 설계 여부 확인
ㅇ 관리자 페이지에 접근 가능한 IP주소의 정의/설계 반영 여부 확인
ㅇ 관리자 페이지 접속 시 반드시 암호화된 통신의 사용 설계 여부 확인
ㅇ 관리자 페이지 접속 시 접속자, 접속페이지 정보의 로깅 기능 설계 여부 확인
끝.
'자격 > SW보안약점진단원' 카테고리의 다른 글
설계단계 보안설계기준-암호연산 (0) | 2023.06.30 |
---|---|
설계단계 보안설계기준-암호키 관리 (0) | 2023.06.29 |
설계단계 보안설계기준-비밀번호 관리 (0) | 2023.06.29 |
설계단계 보안설계기준-인증 수행 제한 (1) | 2023.06.29 |
설계단계 보안설계기준-인증 대상 및 방식 (0) | 2023.06.29 |