정보보안 - 접근통제 보안모델
접근통제 보안모델
- 접근통제의 모델
- 강제적 접근통제 (MAC) - Mandatory Access Control : 규칙기반(Rule Based)
- 자원 - 보안레벨 (Security Level)
- 사용자 - 보안 취급인가 (Security Clearance)
- 보안레벨과 보안 취급인가를 비교하여 접근통제
- Linux/Unix 는 객체(파일) 을 소유하고 있는 주체가 다른 사용자에게 권한 부여하나 MAC 에서는 주체가 다른 사용자에게 권한을 줄 수가 없음 (정해진 규칙(보안관리자가 통제) 만을 따름) - 강제적 접근통제
- 관리자만이 정보자원을 분류, 설정, 변경
- 객체에 대한 접근 규칙 : 규칙기반 접근통제 (중앙집중형 보안관리) - 사용자가 통제를 수정할 수 없다.
- 보안전문가에 의해 생성
- 운영자에 의해 설정
- 운영시스템에 의해서 집행
- 다른 보안기술에 의해 지원
- 단점
- 사용자의 기능이 매우 제한적
- 관리적 부담이 크다
- 비용이 많이 소요
- 성능저하가 발생할 수 있음
- 사용자 친화적이지 않음 : 상업적인 환경에 부적합
- 주로 군 시스템에서 사용
- 보안레이블 (민감성레이블 - Sensitivity Label) : 시스템에 있는 자원이 얼마나 민감한 자원인지 수치화 (자원민감도, 중요성)
- 모든 객체(자원)에 할당 : 파일, 디렉토리, 장비 등
- 보안허가증 : 주체가 특정 객체(특정자원) 에 접근할 수 있는지 표시
- 주체 S 는 객체 A 에 대한 보안허가증을 가지고 A에 접근 - 주체 S가 객체 A의 보안레이블 보다 보안허가가 높거나 같은 경우에 접근 가능
- MLS (MultiLevel Security) policy : 다중 수준 보안
- 사용 예
- BLP (벨라파둘라 모델) : 기밀성에 중점
- Biba : 무결성에 중점
- Clark-Willson Model : 무결성에 중점
- Chinese Wall Model (만리장성 모델) : 무결성/기밀성
- 사용 예
- NSA, SELinux, Trusted Solaris
- DAC 모델로의 전환이 쉽지 않음 (보안레이블, 취급인가가 호환되지 않음)
- 임의적 접근통제 (DAC) - Discretionary Access Control : 신분에 근거
- TCSEC 표준 중 하나
- 1985년 발행된 안전한 컴퓨터 시스템을 위한 평가지침서
- 신원기반 접근통제 / 사용자기반 접근통제 / 혼합방식 접근통제 : 주체가 속한 그룹의 신원에 근거하여 객체에 대한 접근을 제한
- 소유자의 임의성에 기반하여 접근통제
- 사용자에게 동적으로 접근권한을 부여 : 분산형 보안관리
- 유닉스/리눅스, Windows, Mac, DBMS 에서 이용
- 통제기법
- 접근제어행렬 (Access Control Matrix)
- 주체(Row)(터미널/host/프로그램/개별사용자/그룹사용자…)
- 객체(Column)
- 접근권한(Cell) (소유/읽기/쓰기/실행..)
- 관계를 표현 - 접근제어 정책을 관리
- 주체와 객체가 많아진다면 행렬이 커지고(관리어려움), 빈 공간이 많아짐(비효율적)
- 자격목록 (CL - Capability List) : 한 주체가 갖는 자격(권한)들의 리스트
- 권한 -> 주체가 객체에 대해 갖는 접근권한
- 접근제어 행렬을 행(Row)단위로 관리하는 것
- Linked List 로 표현됨
-
홍길동 -> 파일A(RWX) |
포인터 -> 파일C(RW) |
포인터 -> 파일D(R) |
- 접근제어목록 (ACL - Access Control List)
- 자격목록 : 주체 관점 / 접근제어목록 : 객체 관점
- 객체의 관점에서 객체에 어떤 주체가 어떤 접근권한을 갖는지 명시
- 접근제어 행렬을 열(Column)단위로 관리하는 것
- Linked List 로 표현됨
-
파일 A -> 홍길동(RWX) |
포인터 -> 고길동(RW) |
포인터 -> 강길동(R) |
- 장점
- 객체별 세분화된 접근제어가 가능
- 객체의 소유자가 다른 주체에게 임의적으로 접근권한 부여가 가능 -> 유연한 접근제어 서비스
- 단점
- 시스템 전체적으로 접근제어이 일관성이 부족
- 권한이 높은 주체가 다른 주체에게 임의로 자료에 대한 접근을 허용할 수 있음
- 주체의 신분에 따라 접근 통제가 이루어지므로 다른 주체의 신분을 사용해 불법적 접근을 할 수 있음
- 멀웨어 (웜, 루트킷, 트로이목마, 키로거 등 악성코드) 취약점이 존재
- 트로이목마 예시
- Data File 에 대해 user1 이 rw 권한을 가지고 있다.
- user1 은 프로그램을 이용해 Data File 에 접근한다.
- Attacker 는 프로그램 안에 트로이목마를 심고, 이 프로그램에 대응하는 Back-Pocket 파일을 생성 (Attacker 는 rw, user1 은 w 권한을 가짐)
- Attacker 는 프로그램에 user1의 권한을 부여, user1 은 트로이목마가 심어진 프로그램을 실행
- user1 은 프로그램을 이용해 Data File 을 읽고, 해당 내용을 Back-Pocket 파일에 쓴다.
- 역할기반 접근통제 (RBAC) - Role Based Access Control : 역할에 기반
- 개요
- 역할에 기반 : 접근제어 관리가 단순
- MAC과 DAC의 약점을 보완한 방식 - 권한을 역할에 연관시킴
- 그룹과 역할의 구분
- 그룹 : 사용자들의 집합 (권한의 집합은 아님)
- 역할 : 사용자들의 집합 & 권한의 집합
- 중앙에서 관리되는 통제의 모음을 사용
- 관리자에 의해서 중앙집중적인 역할 (사용자집합 & 권한집합) 설정
- 장점
- 전체 시스템 관점에서 일관성 있는 접근제어가 가능
- 역할만 사용자에게 부여하면 됨
- 정적이면서 동적인 접근통제
- 중앙에서 역할을 정의 (정적)
- Role1 (File1)
- Role2 (File1, File2)
- Role3 (File1, File2, File3)
- 사용자와 역할을 할당 (동적)
- user1 -> Role1
- User2 -> Role1, Role2 (1:1일 필요 없음)
- user3 -> Role3 -> Role2
- 단점
- 역할수행에 반드시 필요한 접근권한만 부여해야 함 (최소권한부여원칙 준수->직무분리원칙 충족용이)
접근통제 보안모델
- 보안모델
- BLP (Bell-Lapadula) 기밀성 모델
- MAC 에 해당 (군용)
- 기밀성에 초점 (정보유출 차단)
- 정보흐름 모델
- 보안레벨이 높은 정보가 보안레벨이 낮은 개체로 이동하는 것을 차단
- 최초의 수학적 모델
- MLS Policy (다중등급 보안정책 / 다중수준 보안시스템)
- 주체
- A 각각이 갖는 허가(Clearance) 가 다름
- B 각각이 갖는 허가(Clearance) 가 다름
- C 각각이 갖는 허가(Clearance) 가 다름
- 객체
- 가 각각이 갖는 객체레벨-분류(Classification) 이 다름
- 나 각각이 갖는 객체레벨-분류(Classification) 이 다름
- 다 각각이 갖는 객체레벨-분류(Classification) 이 다름
- 보안규칙
- 높은 수준의 주체는 낮은 수준의 주체에 정보전달을 할 수 없어야 함
- 다중수준 보안시스템의 준수사항
- No Read Up (단순보안속성:Simple Security Property) : 주체의 상향읽기금지, 하향읽기허용
- 주체가 자신보다 높은 보안수준의 객체를 읽을 수 없다.
- No Write Down (성형보안속성:Star Property) : 주체의 하향기록금지, 상향기록허용
- 주체가 자신보다 낮은 보안수준의 객체에 쓸 수 없다.
- (특수 성형 속성:Strong Star Property) : 주체는 동일한 레벨에서만 읽기/쓰기 가능
- (평정 속성:Tranquility Property) : 객체와 주체의 보안등급은 컴퓨터 수행처리과정에서 변경될수 없다.
- (참고) Dominate : 우위에 있다.
- No Read Up : 주체의 접근클래스가 객체의 접근클래스보다 우위에 있을 때 읽기 수행이 가능하다.
- 트로이 목마(Trojan Horse) 공격 방어 가능
- DAC 와 달리 read 는 가능 (No Read Up-SS Property) 하나 write 가 안됨. (No Write Down-* Property)
- 약점
- 지나친 기밀성 치중 (무결성, 가용성을 고려하지 않음)
- 은닉채널을 다루지 않음
- 보안등급이 낮은 사용자가 보안등급이 높은 사용자의 네트워크 채널에 접근 가능
- 정보흐름모델에서는 은닉채널이 존재하지 않는다는 것을 보장해야 함
- 은닉채널 : 보안매커니즘에 의해 통제되지 않는 정보 흐름
- 파일공유, 서버시스템 이용에 대해서 다루지 않음
- 높은 레벨의 주체와 낮은 레벨의 주체가 같은 파일(메모리) 사용시 기밀성 훼손
- 네트워크에 대한 부분이 고려되지 않음
- MLP (다중등급 보안정책) 에 치중 (다른정책은 고려하지 않음)
- Biba 무결성 모델
- 상업용 모델로 개발
- 최초의 수학적 무결성 모델 : 부적절한 변조 방지
- 무결성의 3가지 목표
- 비인가자의 변조 방지 : Biba 모델의 중점적 목표 (1번만 취급)
- 내/외부 일관성 유지 (정확한 트랜잭션)
- 인가자에 의한 불법적인 변조를 방지 (직무분리)
- 정보흐름 모델
- 낮은 무결성 수준에서 높은 무결성 수준으로 정보가 이동하는 것을 차단
- 신뢰성이 높은 정보를 신뢰성이 낮은 정보가 훼손하는 것을 차단
- 보안규칙
- 단순무결성 (Simple Integrity Property)
- 객체(Object)의 무결성 수준이 주체의 무결성(Subject) 수준보다 우세할 때 주체는 객체를 읽을 수 있음
- I(S) <= I(O), S는 O를 읽을 수 있다.
- 무결성제한 (Star Integrity property)
- I(S) >= I(O), S는 O를 변경할 수 있다.
- 호출속성 (Invocation Property)
- 주체는 자신보다 높은 무결성 수준의 주체를 호출할 수 없다. (서비스를 요청할 수 없다.)
- I(S1) >= I(S2), S1은 S2를 호출 가능
- Clark-Wilson 무결성 모델
- Biba 모델보다 정교한 실제적 무결성 모델
- 상업용을 목표로 개발
- 무결성의 3가지 목표 (Clark-Wilson 은 모두 취급)
- 비인가자의 변조 방지
- 내/외부 일관성 유지 (정확한 트랜잭션)
- 예시
- 트랙잭션의 개념
- A 가 B 에게 100만원을 송금하려고 할때, A 계좌에는 100만원 출금, B 계좌에는 100만원 입금이 되어야 함
- 중간에 네트워크에서 문제가 발생하면 A 계좌에는 100만원 출금, B 계좌는 변동없음 > 트랙잭션 개념의 필요성
- 회계상 이중장부 처리시스템
- 인가자에 의한 불법적인 변조를 방지 (직무분리)
- 만리장성(Chinese Wall) 모델
- Chinese Wall model = Brewer-Nash Model
- MAC, DAC
- 이해충돌과 관련이 있는 모델 (개인의 이익과 조직의 이익의 충돌)
- 예 : 국토개발부 공무원이 부동산을 매입
- 예 : A 지역 부동산을 가지고 있는 국토개발부 담당공무원이 A지역 재개발계획에 참여
- 예 : 기업 컨설팅 업체의 A 직원이 서로 경쟁관계인 C와 D 업체의 컨설팅을 모두 하고 있음
- 정보흐름 모델
- 주체와 객체 사이에서 이해충돌을 야기하는 정보의 흐름을 방지하기 위한 모델
- Lattice 모델 (Denning 에 의해서 제안)
- BLP 모델을 확장
- 수학적인 구조를 이용
- 정보에 대한 흐름을 제어하기 위한 모델
- 서로 다른 보안등급 사이에 정보가 흐르는 것을 통제
- 낮은 보안등급의 정보가 같거나 높은 보안등급으로만 정보가 흐르도록 통제
댓글남기기