정보보안 - 접근통제 보안모델

접근통제 보안모델

  • 접근통제의 모델
    • 강제적 접근통제 (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 모델을 확장
      • 수학적인 구조를 이용
      • 정보에 대한 흐름을 제어하기 위한 모델
        • 서로 다른 보안등급 사이에 정보가 흐르는 것을 통제
        • 낮은 보안등급의 정보가 같거나 높은 보안등급으로만 정보가 흐르도록 통제

댓글남기기