공부 기록

[정보보안] Operating System Security

by 너나나

OS Security Layers

하위 레이어가 안전하지 않으면 상위 레이어도 공격에 취약하다 (상위 레이어가 영향을 받는다)

System Security Planning

- The first step in deploying a new system is planning

  • Plan needs to identify appropriate personnel and training to install and manage the system
  • Planning process needs to determine security requirements for the system, applications, data, and users

- 목적 : maximize security while minimizing costs

- System security planning process

 

 

Operating Systems Hardening

- First critical step in securing a system is to secure the base operating system

- Install and Patch the operating system

  • system security는 operating system의 설치부터 시작됨
  • 이상적으로 새 system은 protected network에 구성되어야함
  • inital installation은 system의 function에 필요한 경우에만 추가 software pacakage를 포함하여 원하는 시스템에만 최소로 구성되어야 함
  • additional device driver code는 full kernel level privilege로 실행되지만 가끔 third party에 의해 제공되기 때문에 선택 및 설치에 주의가 요구됨
  • 모든 중요 보안 관련 패치가 설치된 시스템을 최신 상태로 유지해야함
  • test system의 모든 패치를 production에 배포하기 전에 stage 및 validate 해야됨

- Remove Unnecessary Services

  • fewer software package가 실행 가능하면 risk는 줄어듬
  • System planning proccess는 주어진 system에 사실상 어떤것이 요구되는지 확인해야함
  • 초기 설치를 수행할때 제공된 defaults를 사용하지 않아야 함 - Default configuration은 보안이 아닌 사용의 편의성과 기능을 극대화하도록 설정됨, 추가 pakage가 나중에 필요하면 그때 설치할수 있음!!

- Configure Users and Privileges

  • 시스템에 대한 access 권한이 있는 모든 사용자가 해당 시스템의 모든 데이터 및 resource에 동일한 access 권한을 가지지는 않는다.
  • Elevated privileges는 필요한 사용자에게만 제한하고 업무 수행에 필요한 경우에만 제한한다.
  • System planning process는 Categories of users on the system, Privileges they have, Types of information the can access를 고려해야한다.
  • 시스템 설치의 일부로 포함된 Default account는 안전해야 한다. - 필요하지 않은 것은 제거하거나 비활성화 해아함, Policies that apply to authentication credentials configured

- Configure Resouce Controls

  • 사용자 및 그룹을 정의하면 data 및 resource에 대한 적절한 권한을 설정할 수 있다.
  • 많은 security hardening guides가 default access configuration에 대한 권장하는 변경 사항 list를 제공
  • 추가 security tool 설치 및 구성을 통해 추가 보안 가능 : anti-virus software, Host-based firewalls, IDS or IPs software etc.

- Security Testing

  • initally securing the base operating system의 final step in process는 security testing이다 - Goal : 이전 security configuration step이 올바르게 구현됐는지 확인
  • There are programs specifically designed to : 시스템을 검토하여 시스템이 basic security requirement를 충족하는지 확인, 알려진 취약성 및 poor configuration practices 스캔

Secure Operating System

- Protection Target : Memory, a set of iles or data on auxiliary storage, process, file directory, hardware device, data structure such as stack, (privileged) Instruction, password and authentication mechanism, protection mechanism itself

- Protection Method

  • Physical separation : 사용자가 접근할 수 있는 영역을 물리적으로 제한, 실용적이지 않음
  • Temporal separation : 동시간에 실행 할 수 있는 프로세스는 딱 1개 -> 동시 접근에 의해 생길 수 있는 문제점들을 제거
  • Logical separation : 각 프로세스에 logical zone을 지정하는 방법
  • Cryptographic separation : 외부에서 내부적으로 사용되는 정보를 암호화

(physical -----------> cryptographic 순으로 구현 복잡성 증가)

 

- Protection Principle

  • Checking for all object acces : object에 접근하는 모든 사용자는 확인돼야함
  • Minimum privilege enforcement : 허용되는 object의 숫자를 제한
  • validation of allowable usage : object에 대해 수행중인 작업이 적절한지 확인

Secure Operating System : Memory and Address Protection

- Fence : single-user operating system environment에서 결함이 있는 사용자 프로그램이 운영체제의 memory-resident aresa를 변경하는 것을 막음, multi-user environment에서 다른 사용자로부터 어떤 사용자를 보호하지는 않음

- Relocation

  • OS의 사이즈가 flexible할때 유용한 방법
  • 프로그램의 모든 주소는 실행을 위해 프로그램이 메모리에 load되는 즉시 실제 시작 주소(+offset) 를 반영하여 변경됨

- Base/Boundary register

  •  둘 이상의 사용자가 같은 시간에 single computer을 사용할 때 base 와 boundary register을 사용해서 메모리의 upper bound와 lower bound를 설정
  • context switchig 포함

- Segmentation

  • <name, offset>을 사용하여 다른 메모리 access 권한을 가진 logical piece로 프로그램 분할
  • reference / boundary register을 무한대로 사용하는 것과 동일한 효과

- Paging

  • <page, offset>을 사용하여 프로그램을 동일 사이즈의 프로그램 piece로 분할

Secure Operating System : Security Kernel

  • TCB (Trusted Computing Base) : operating system , hardware, firmware, software을 포함하는 컴퓨터 시스템 내의 전반적인 보호 메커니즘 

블로그의 정보

공부 기록

너나나

활동하기