본문 바로가기
공부/KISA

중요자원 접근통제 - KISA 소프트웨어 개발 보안 가이드

by Skogkatt의 개인 블로그 2020. 7. 10.
반응형

https://www.kisa.or.kr/public/laws/laws3.jsp

 

기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원

기술안내서 가이드 한국인터넷진흥원 기술안내서 가이드 입니다. 게시판 목록 보기 기술안내서 가이드 표 대분류 소분류 기술안내서 가이드 대상 수준 인터넷 진흥 및 이용 활성화 인터넷 진흥

www.kisa.or.kr


분석∙설계단계 SW 보안강화 - 설계보안항목 정의 및 설계 시 고려 사항 - 중요자원 접근통제 

설명

  • 중요자원(프로그램 설정, 민감한 사용자 데이터 등)을 정의하고, 정의된 중요자원에 대한 접근을 통제하는 신뢰할 수 있는 방법(권한 관리 포함) 및 접근통제 실패 시 대응방안을 설계해야 한다.

설계항목내용

  • 중요자원/중요 기능에 대한 접근통제 정책을 수립하여 적용해야 한다.
  • 관리자 페이지에 대한 접근통제 정책을 수립하여 적용해야 한다.

가. 취약점 개요

사례 1: 관리자 페이지 노출
  • 관리자 페이지가 인터넷을 통해 접근 가능할 경우, 공격자의 주 타깃이 되어, 공격자의 SQL 삽입, 무차별 대입 공격 등 다양한 형태의 공격의 빌미를 제공하게 되는 취약점이다.
사례 2: SSI 삽입
  • SSI(Server‐side Includes)는 HTML 문서 내 변수 값으로 입력된 후, 이를 서버가 처리하게 되는데, 이때 인젝션 명령문이 수행되어 서버 데이터 정보가 누출되는 취약점이다.
사례 3: 부적절한 인가
  • 프로그램이 모든 가능한 실행 경로에 대해서 접근제어를 검사하지 않거나 불완전하게 검사하는 경우, 공격자는 접근 가능한 실행 경로를 통해 정보를 유출할 수 있는 취약점이다.
사례 4: 중요자원에 대한 잘못된 권한 설정
  • SW가 중요한 보안 관련 자원에 대하여 읽기 또는 수정하기 권한을 의도하지 않게 허가할 경우 권한을 갖지 않은 사용자가 해당 자원을 사용하게 될 수 있는 취약점이다.

 

나. 설계 시 고려사항

  • RBAC(역할 기반 접근제어) 모델을 사용하여 기업, 정부 등 다수의 사용자와 정보 객체들로 구성된 조직체계에서 사용자에게 할당된 역할을 기반으로 권한을 부여하도록 설계한다.
  • 접근제어 목록(Access Control List)을 구성하여 자원에 대한 접근 권한을 설정한다.
  • 예를 들면, Spring Security 프레임워크 사용 시 ACL 모듈을 추가할 수 있다.
  • 다음과 같은 세 가지 ACL 관련 기능을 애플리케이션에 적용하여 객체에 대한 접근제어를 구현할 수 있다.
    1. 모든 도메인 객체에 대한 ACL엔트리를 효과적으로 검색하고 수정한다.
    2. 메소드 호출에 앞서, 각 사용자가 객체에 대해 특정 작업을 수행할 권한이 있는지 검증한다.
    3. 메소드 호출이 끝난 후, 각 사용자가 객체(또는 반환되는 객체)에 대해 특정 작업을 수행할 권한이 있는지 검증한다.

1. 중요자원에 대한 접근통제 정책을 수립하여 적용해야 한다. 

  • 중요자원에 대한 접근권한을 최소 권한으로 설정한다.
  • 중요자원에 대한 접근 통제 정책을 설정하고, 사용자별 또는 그룹별 접근을 체크한다. 중요자원(파일, 프로세스, 메모리, 데이터베이스와 같은)에 대한 접근을 통제하기 위해 ACL이나 RBAC을 적용하도록 설계한다.
  • 접근통제 정책을 수립할 때는 최소 권한의 원칙과 권한 분리 정책에 따라 자원에 대한 권한을 할당하고, 자원에 대한 접근은 요구조건을 충족할 때만 허가하도록 설계해야 한다.

2. 중요 기능에 대한 접근통제 정책을 수립하여 적용해야 한다.

  • 중요 기능에 대한 접근 통제는 소프트웨어를 익명·일반·특권 사용자와 관리자 영역으로 구분하여 역할 기반 접근통제(RBAC) 정책 및 비즈니스 로직에 따라 접근통제가 실시되도록 다음과 같은 조건에 따라 설계한다.
  • 중요 기능에 대한 접근권한은 최소 권한으로 설정한다.
  • 중요 기능에 대한 접근통제 정책을 설정하고, 사용자별 또는 그룹별 접근을 체크한다. 114 전자정부 SW 개발·운영자를 위한
  • 프로그램에서 사용자 또는 자원에 대한 권한의 할당, 수정, 확인, 검사를 수행하여 의도치 않은 범위의 권한을 획득하지 않도록 한다.
  • 파라미터 변조로 인증이 올바르게 수행되지 않을 수 있으므로, 파라미터가 변조되지 않았는지 확인하는 절차를 구현한다. - 상위 권한을 사용해 수행되는 기능을 구현해야 하는 경우, 권한상승은 가능한 가장 마지막에 수행하고 수행 종료 즉시 원상 복귀한다.

3. 관리자 페이지에 대한 접근 통제 정책을 수립하여 적용해야 한다.

  • 관리자 페이지의 URL은 쉽게 추측할 수 없도록 설정한다.
  • 관리자 페이지의 원격 연결 시 암호화 통신 채널을 사용해야 한다.
  • 관리자 페이지가 외부망에 있는 경우 IP 통제, 80번이 아닌 별도의 포트 사용, SSL 적용, 추가 인증을 요구한다.
  • 관리자 페이지가 내부망에 있는 경우 80번이 아닌 별도의 포트 사용, SSL 적용을 권고한다.
  • 중앙 집중화된 접근제어를 제공하는 라이브러리나 프레임워크를 사용하여 각 종류의 자원에 대한 접근을 보호할 수 있다.

 


참고자료

반응형

댓글