![post-thumbnail](https://velog.velcdn.com/images/alpaka206/post/19016032-23ab-415d-bd83-1b52bcf51fb9/image.png)
접근통제
- 접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
- 접근통제는 데이터에 대해 다음과 같은 통제를 함으로써 자원의 불법적인 접근 및 파괴를 예방한다.
- 비인가된 사용자의 접근 감시
- 접근 요구자의 사용자 식별
- 접근 요구의 정당성 확인 및 기록
- 보안 정책에 근거한 접근의 승인 및 거부 등
- 임의 접근통제(DAC: Discretionary Access Control)
- 임의 접근통제는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여 하는 방식이다.
- 데이터 소유자가 접근통제 권한을 지정하고 제어한다.
- 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있다.
- 임의 접근통제에 사용되는 SQL 명령어에는 GRANT와 REVOKE가 있다.
- 강제 접근통제(MAC: Mandatory Access Control)
- 강제 접근통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
- 시스템이 접근통제 권한을 지정한다.
- 데이터베이스 객체별로 보안 등급을 부여할 수 있고, 사용자별로 인가 등급을 부여할 수 있다.
- 주체는 자신보다 보안 등급이 높은 객체에 대해 읽기, 수정, 등록이 모두 불가능하고, 보안 등급이 같은 객체에 대해서는 읽기, 수정, 등록이 가능하고, 보안 등급이 낮은 객체는 읽기가 가능하다.
- 역할기반 접근통제(RBAC: Role Based Access Control)
- 역할기반 접근통제는 사용자의 역할에 따라 접근 권한을 부여하는 방식이다.
- 중앙관리자가 접근 통제 권한을 지정한다.
- 임의 접근통제와 강제 접근통제의 단점을 보완하였으며, 다중 프로그래밍 환경에 최적화된 방식이다.
- 중앙관리자가 역할마다 권한을 부여하면, 책임과 자질에 따라 역할을 할당받은 사용자들은 역할에 해당하는 권한을 사용할 수 있다.
강제 접근통제(MAC)의 보안 모델
- 벨 라파듈라 모델(Bell-LaPadula Model)
- 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용한다.
- 보안 취급자의 등급을 기준으로 읽기 권한과 쓰기 권한이 제한된다.
- 자신의 보안 레벨 이상의 문서를 작성할 수 있고, 자신의 보안 레벨 이하의 문서를 읽을 수 있다.
예) 보안 레벨이 2급인 보안 취급자의 읽기 권한과 쓰기 권한
- 2·3급 비밀 문서를 조회할 수 있다.
- 1·2급 비밀 문서를 작성할 수 있다.
- 비바 무결성 모델 (Biba Integrity Model)
- 벨 라파듈라 모델을 보완한 수학적 모델로, 무결성을 보장하는 최초의 모델이다.
- 비인가자에 의한 데이터 변형을 방지한다.
- 클락-윌슨 무결성 모델 (Clark-Wilson Integrity Model)
- 무결성 중심의 상업용 모델로 사용자가 직접 객체에 접근할 수 없고 프로그램에 의해 접근이 가능한 보안 모델이다.
- 만리장성 모델(Chinese Wall Model)
- 서로 이해충돌 관계에 있는 객체 간의 정보 접근을 통제하는 모델이다.
- 접근통제의 3요소는 접근통제 정책, 접근통제 메커니즘, 접근통제 보안모델이다.
접근통제 정책
- 접근통제 정책은 어떤 주체가(Who)가 언제(When), 어디서(Where), 어떤 객체(What)에게, 어떤 행위(How)에 대한 허용 여부를 정의하는 것으로, 신분 기반 정책, 규칙 기반 정책, 역할 기반 정책이 있다.
- 신분 기반 정책
- 주체나 그룹의 신분에 근거하여 객체의 접근을 제한하는 방법으로, IBP 와 GBP가 있다.
- IBP(Individual-Based Policy): 최소 권한 정책으로 단일 주체에게 하나의 객체에 대한 허가를 부여한다.
- GBP(Group-Based Policy): 복수 주체에 하나의 객체에 대한 허가를 부여한다.
- 규칙 기반 정책
- 주체가 갖는 권한에 근거하여 객체의 접근을 제한하는 방법으로, MLP와 CBP가 있다.
- MLP(Multi-Level Policy): 사용자 및 객체별로 지정된 기밀 분류에 따른 정책
- CBP(Compartment-Based Policy): 집단별로 지정된 기밀 허가에 따른 정책
- 역할 기반 정책
- GBP의 변형된 정책으로 주체의 신분이 아니라 주체가 맡은 역할에 근거하여 객체의 접근을 제한하는 방법이다.
예) 인사 담당자, DBA 등
접근통제 매커니즘
- 접근통제 매커니즘은 정의된 접근통제 정책을 구현하는 기술적인 방법으로 접근통제 목록, 능력 리스트, 보안 등급, 패스워드, 암호화 등이 있다.
- 접근통제 목록(Access Control List): 객체를 기준으로 특정 객체에 대해 어떤 주체가 어떤 행위를 할 수 있는지를 기록한 목록이다.
- 능력 리스트(Capability List): 주체를 기준으로 주체에게 허가된 자원 및 권한을 기록한 목록이다.
- 보안 등급(Security Level): 주체나 객체 등에 부여된 보안 속성의 집합으로, 이 등급을 기반으로 접근 승인 여부가 결정된다.
- 패스워드: 주체가 자신임을 증명할 때 사용하는 인증 방법이다.
- 암호화: 데이터를 보낼 때 지정된 수신자 이외에는 내용을 알 수 없도록 평문을 암호문으로 변환하는 것으로, 무단 도용을 방지하기 위해 주로 사용된다.
접근통제 보안 모델
- 접근통제 보안 모델은 보안 정책을 구현하기 위한 정형화된 모델로, 기밀성 모델, 무결성 모델, 접근통제 모델이 있다.
기밀성 모델
- 기밀성 모델은 군사적인 목적으로 개발된 최초의 수학적 모델로, 기밀성 보장이 최우선인 모델이다.
- 기밀성 모델은 군대 시스템 등 특수 환경에서 주로 사용된다.
- 제약 조건
- 단순보안 규칙: 주체는 자신보다 높은 등급의 객체를 읽을 수 없다.
- ★(스타)-보안 규칙: 주체는 자신보다 낮은 등급의 객체에 정보를 쓸 수 없다.
- 강한 ★(스타) 보안 규칙: 주체는 자신과 등급이 다른 객체를 읽거나 쓸 수 없다.
Level | 단순보안 규칙 읽기 권한 | ★(스타)-보안 규칙 쓰기 권한 | 강한 ★(스타) 보안 규칙 읽기/쓰기 권한 |
---|
높은 등급 | 통제 | 가능 | 통제 |
같은 등급 | 가능 | 가능 | 가능 |
낮은 등급 | 가능 | 통제 | 통제 |
무결성 모델
- 무결성 모델은 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델이다.
- 무결성 모델은 데이터의 일관성 유지에 중점을 두어 개발되었다.
- 무결성 모델은 기밀성 모델과 동일하게 주체 및 객체의 보안 등급을 기반으로 한다.
- 제약 조건
- 단순 무결성 규칙: 주체는 자신보다 낮은 등급의 객체를 읽을 수 없다.
- ★(스타)-무결성 규칙: 주체는 자신보다 높은 등급의 객체에 정보를 쓸 수 없다.
Level | 단순 무결성 규칙 읽기 권한 | ★(스타)-무결성 규칙 쓰기 권한 |
---|
높은 등급 | 가능 | 통제 |
같은 등급 | 가능 | 가능 |
낮은 등급 | 통제 | 가능 |
접근통제 모델
- 접근통제 모델은 접근통제 메커니즘을 보안 모델로 발전시킨 것으로, 대표적으로 접근통제 행렬(Access Control Matrix)이 있다.
- 접근통제 행렬(Access Control Matrix)
- 임의적인 접근통제를 관리하기 위한 보안 모델로, 행은 주체, 열은 객체 즉, 행과 열로 주체와 객체의 권한 유형을 나타낸다.
- 행: 주체로서 객체에 접근을 시도하는 사용자이다.
- 열: 객체로서 접근통제가 이뤄지는 테이블, 컬럼, 뷰 등과 같은 데이터베이스의 개체이다.
- 규칙: 주체가 객체에 대하여 수행하는 입력, 수정, 삭제 등의 데이터베이스에 대한 조작이다.
- 접근통제 행렬 모델
이름 | 사원 | 부서 | 상품 | 판매현황 | 거래업체 |
---|
김상민 | ALL | ALL | R | R | R |
우지경 | R/W | R/W | R | R | R |
하석민 | R | R | R | R/W | R/W |
양구성 | R | R | R/W | | |
접근통제 조건
- 접근통제 조건은 접근통제 매커니즘의 취약점을 보완하기 위해 접근통제 정책에 부가하여 적용할 수 있는 조건이다.
- 값 종속 통제(Value-Dependent Control): 일반적으로는 객체에 저장된 값에 상관없이 접근통제를 동일하게 허용하지만 객체에 저장된 값에 따라 다르게 접근통제를 허용해야 하는 경우에 사용한다.
- 납입한 금액에 따라 보안 등급이 설정되고, 보안 등급에 따라 접근 여부가 결정되는 경우
- 다중 사용자 통제(Multi-User Control): 지정된 객체에 다수의 사용자가 동시에 접근을 요구하는 경우에 사용된다.
- 여러명으로 구성된 한 팀에서 다수결에 따라 접근 여부가 결정되는 경우
- 컨텍스트 기반 통제(Context-Based Control): 특정 시간, 네트워크 주소, 접근 경로, 인증 수준 등에 근거하여 접근을 제어하는 방법으로, 다른 보안 정책과 결합하여 보안시스템의 취약점을 보완할 때 사용된다.
- 근무시간, 즉 월요일~금요일 9:00~18:00 사이에만 접근 가능
감사 추적
- 감사 추적은 사용자나 애플리케이션이 데이터베이스에 접근하여 수행한 모든 활동을 기록하는 기능이다.
- 감사 추적은 오류가 발생한 데이터베이스를 복구하거나 부적절한 데이터 조작을 파악하기 위해 사용된다.
- 감사 추적 시 실행한 프로그램, 사용자, 날짜 및 시간, 접근한 데이터의 이전 값 및 이후 값 등이 저장된다.