본문 바로가기
보안

정보보호개론] 9. 운영체제 보안

by excelnote2 2013. 5. 17.

◦ 운영체제

  - 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중간자의 역할을 하는 프로그램

  - 컴퓨터 시스템 보안의 기본적 제공자

  - 프로그램 행위에 대한 제약을 규정하고 다수 사용자에 의한 시스템의 동시 사용을 지원

  - 운영체제 보안 : 우연한 또는 의도적인 방해로부터 사용자의 정보처리를 보호할 수 

    있는 방법을 개발하여야


◦ 운영체제 보안의 기능

  - 메모리 보호  

  - 파일보호

  - 접근통제

  - 사용자인증


◦ 보호대상 객체

  - 메모리  

  - 공유 및 재사용이 가능한 I/O장치

  - 공유가능한 프로그램 및 서브 프로그램  

  - 공유데이터


◦ 운영체제 보안을 위한 분리

  - 물리적 분리 : 서로 다른 보안 수준을 요구하는 프로세스별로 분리

  - 시간적 분리 : 서로 다른 보안 수준을 요구하는 프로세스를 서로 다른 시간에 운영

  - 논리적 분리 : 프로그램의 접근을 제한하여 허용된 영역밖의 객체에 대해 접근못하게

  - 암호적 분리 : 다른 프로세스가 인식할 수 없는 방법으로 자신의 데이터 감추기


◦ 메모리와 주소지정 보호

  - 펜스

    · 단일 사용자 시스템에서 사용

    · 펜스레지스터에 운영체제의 끝부분 주소 저장

    · 프로그램이 데이터 수정할 때 주소값을 펜스레지스터와 비교하여 펜스레지스터보다 

      작은 경우 에러 발생

    · 한 사용자를 다른 사용자로부터 보호하는 것은 불가능

  - 재배치

    · 프로그램 시작을 주소 0번지에서 시작하는 것으로 하여 메모리에 적재되는 모든 정보의
      주소를 변경. 즉, 프로그램의 각 주소에 상수값인 재배치 요인을 더하는 것

  - 베이스/바운드 레지스트

    · 사용자마다 베이스레지스터라는 가용 메모리 하한값과 바운드 레지스터라는 상한값으로 제한

  - 태그부착 아키텍처

    · 메모리 내의 모든 워드는 해당 워드에 대한 접근권한을 식별하는 하나 이상의 부가적인
      비트를 사용

    · 접근비트는 권한이 있는 운영체제 명령에 의해서만 설정가능

    · 베이스/바운드 레지스터가 ‘전부 아니면 무’라면 태그부착 아키텍처는 데이터값의 일부는
      보호, 일부는 접근 허용

  - 페이징/세그먼테이션

    · 운영체제가 가상 기억장치를 구성할 때 많이 사용하는 기법

    · 메모리를 여러개의 조각으로 분리해서 프로그램을 재배치

    · 베이스/바운드 레지스터를 무제한적으로 사용하는 효과

    · 데이터 항목의 다양한 분류에 대해서 서로 다른 보호 수준을 할당

    · 둘 이상의 사용자가 서로 다른 접근 권한으로 세그먼트에 접근 공유 


◦ 일반객체에 대한 접근통제

  - 다중 프로그래밍으로 인해 여러 프로그램이자원을 공유하므로 다음의 자원을 

    접근통제 대상으로 운영체제에 의한 보호가 필요

  - 메모리, 보조기억장치, 파일디렉토리, 하드웨어, 데이터구조, 운영체제 테이블, 

    특수권한의 명령어, 패스워드 및 사용자인증매커니즘, 보호메커니즘


◦ 공유자원 보호목적

  - 자원에 대한 사용자의 모든 접근을 검사

  - 최소한의 권한원리 : 사용자가 주어진 임무를 수행하는데 최소한의 자원만을 

     접근할 수 있도록함

  - 접근의 허용뿐 아니라 자원에 대하여 수행하는 행위의 적절성도 감시


◦ 접근통제 매커니즘

  - 접근통제 : 시스템 자원에 대한 접근은 관여하는 개체들의 행위여부에 따라 주체와 객체로 구분

    · 주체 - 사용자나 프로세스와 같은 능동적 개체

    · 객체 - 파일, 메모리, 프린터 등의 자원으로 수동적 개체

  - 접근통제 목적 : 주체의 객체에 대한 접근 제한 뿐 아니라 무엇을 하는가도 제한

  - 주체와 객체의 관계를 이용하여 접근통제를 구현하는 메커니즘

    · 접근통제 매트릭스(ACM)

    · 접근통제목록(ACL)

    · 권한


◦ 접근통제 매트릭스(ACM)

  - 주체의 관점에서 객체에 대한 접근모드를 테이블로 표현(행-주체, 열-객체)

  - 주체의 관점에서 접근통제 매트릭스를 해석한 것  권한

  - 시스템은 최상위 수준에서 각 사용자의 권한 목록을 관리

  - 사용자는 자신의 객체에 대해 다른 사용자에게 접근권한을 부여, 취소 가능

  - 보안관리상 복잡함(어떤 객체에 누가 접근했는지 관리 어렵고, 권한 취소 어려움)


◦ 접근통제목록(ACL) 

  - 객체의 관점에서 접근통제 매트릭스를 해석한 것

  - 접근통제 매트릭스의 열에 해당

  - 객체에 대해 누가 접근권한을 갖는지 명시


◦ 절차지향 접근통제

  - 객체에 대한 접근 통제하는 절차가 존재

  - 정보은닉의 원리 구현 : 객체의 구현 수단은 객체에 대한 통제 절차에게만 알려짐

  - 효율성의 문제 수반


◦ 사용자인증

  - ID와 패스워드 이용 : 두 단계의 사용자 인증으로 

  - ID는 개별적 식별능력을 제공 : 누구여?

  - ID는 개별적 인증능력을 제공 : 운영자여?

  - 접근규칙은 누가 무엇에 접근할 수 있는지 명확히 규정해야


◦ 보안운영체제

  - 기존 운영체제의 보안상의 결함으로 인한 각종 침해로부터 시스템을 보호하기 위하여 

    기존의 운영체제 내에 보안기능을 통합시킨 보안커널을 추가적으로 이식한 운영체제

  - 보안커널을 통해 사용자의 모든 접근 행위가 안전하게 통제


◦ 보안운영체제 시스템 설계원리

  - 최소권한 : 사용자와 프로그램은 최소한의 권한을 사용해야. 그래야 손상을 최소화

  - 보호 메커니즘의 경제성 : 소규모로 단순하게(충분한 분석, 시험, 검증)

  - 개방형 설계 : 독립적인 확인 제공

  - 완전한 조정 : 모든 접근 시도는 완전히 검사되어야

  - 허용에 의한 접근 : 접근거부가 원칙

  - 권한분리 : 객체에 대한 접근 권한은 두 개 이상의 조건에 의존(하나의 보호시스템이 
    파괴되어도 안전)

  - 최소 공통 매커니즘 : 공유 객체는 정보흐름을 위한 잠재적 경로 제공(논리적, 물리적 

    분리를 채택하면 공유에 의한 위험 감소)

  - 사용의 용이성 

  - 계층적 보안성 : 가능한 위협을 여러단계에서


◦ 보안운영체제의 보안기능

  - 사용자 식별 및 인증

  - 강제적 접근통제(MAC)와 임의적 접근통제(DAC)

  - 객체 재사용 보호

  - 완전한 조정 : 모든 접근을 통제

  - 안전한 경로 : 패스워드 설정 등 보안관련 작업시 안전한 통신 제공

  - 감사 및 감사 기록 축소

  - 침입탐지


◦ 커널설계

  - 커널은 최하위 수준의 기능을 수행하는 운영체제의 가장 중요한 핵심

  - 보안커널 

    · 운영체제의 보안 메커니즘을 시행하는 책임

    · 하드웨어, 운영체제, 시스템 부분간의 보안 인터페이스 제공

    · 일반적으로 보안커널은 운영체제 커널 내부에 포함


◦ 참조모니터

  - 보안 커널의 가장 중요한 부분으로써 객체에 대한 접근을 통제하는 부분으로 그 특성은

    · 부정행위를 방지할 수 있어야, 항상 호출되어야, 분석과 시험이 용이하도록 충분히 작아야

  - 참조모니터는 보안커널데이터베이스(SKDB)를 참조하여 객체에 대한 접근허가여부 결정

  - Windows NT에서 참조모니터 개념 채용


◦ 신뢰 컴퓨팅 베이스(TCB)

  - 보안 정책의 시행을 책임지는 하드웨어, 소프트웨어 및 이들의 조합을 포함하는 컴퓨터 시스템
     내의 모든 보호 메커니즘을 의미함

  - 운영체제의 보안성과 무결성을 유지해야

  - 운영체제는 TCB와 non-TCB로 분할

  - TCB기본작업 감시

    · 프로세스 활성화 · 실행영역 교환

    · 메모리 보호 · I/O 연산

 

댓글