╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

CS/정보 보안

[정보 보안] 운영체제 보안 (5)

재안안 2024. 6. 22. 19:32


[4-2] 운영체제 보안

각 OS계층은 아래의 계층을 통해서 들어오는 공격에 취약하다.
설치 프로세스중 오염될 수도 있다
시스템을 구상할때는 이러한 위협요소들을 고려해야한다.

System Security Planning
maximize security while minimizing costs
- access control
- how to authenticate
- who administers
- how to manage

Operating Systems Hardening
1. secure the base operating system
- install and patch os
초기엔 제일 필요한거만 설치
추후 필요한 거를 조심해서 설치(device driver code)
최신상태로 유지하기

- remove unnecessary services
소프트웨어가 설치된 개수가 적을 수록 risk가 줄어둔다
system planning process에서 진짜 필요한게 뭔지 골라야하고
설치시 default는 사용하지 않는 것이 좋다 (maximize 기능 not security)

- configure users and permissions
접근 권한은 허용 범위가 달라야하며 필요한 사람한테만 최소한으로 주어져야한다 (to perform a task)
기본 계정도 secured되야한다

- configure resource control
그룹마다 적절한 권한이 부여되야하고 (파일 같은거)
자원에 대한 보안방법으로 anti-virus software, host based firewall IDS or ISP osftware (configure additional security controls)

- test
shodam : scan for known vulnerabilities and poor configuration practices

Secure Operating System
memory, process, file directory, instructions . . .

방법 (구현은 아래로 갈수록 어렵다)
- physical separation
각 유저별 실제 다른 기기를 사용하도록 분리

- temporal separation
한번에 하나의 프로세스만 실행되도록 시간상 분리

- logical separation
각 프로세스마다 할당된 논리적인 영역만 사용하도록 분리

- cryptographic separation
내부에서 사용되는 정보를 암호화

원칙
1. 어떤 객체에 대한 모든 사용자의 접근은 확인되어야한다
2. 각 사용자는 최소한의 객체들만 접근해야한다.
3. 객체에 대한 모든 행위는 appropreate여야한다

Secure Operating system: Memory and Address Protection
1. 메모리 영역 분리 : os와 user program의 영역을 분리한다. 사용자가 1명일때만 괜찮다

2. Relocation : 프로그램의 주소를 실제 시작주소로 반영

3. Base/Boundary register : 레지스터들을 사용해서 영역을 분할

4. Segmentation : 프로그램을 메모리 접근 권한 별로 논리적으로 분할 (함수 단위) <name, offset> (위의 레지스터가 무한대로 있는 효과)

5. Paging : 프로그램을 그냥 size별로 자름 <page, offset>

Secure Operating System : Security Kernal
Trusted Computing Base?
Security Reference Monitor : windows security kernel uses reference monitor

Application Security
proccess of maintaining security is continuous

1. monitor and log (system, network, applications)
로그를 얼마나 기록할지는 system planning stage에서 정한다

2. perform regular backup (데이터의 무결성과 관련됨)
백업에 대한 정책 또한 system planning stage에서 정함
- whether the copies should be kept online or offline
- whether copies should 

be stored locally or transported to a remote site
3. recover from security compromises
4. regularly test
5. patch and updata all critical software

Virtual Machines
좋은데 보안적으로 추가적인 이슈가 있다
1. guest os isolation
gurst OS는 자기에게 할당된 영역만 접근해야한다

2. guest OS monitoring by hypervisor
hypervisor는 상위의 guest OS의 모든 데이터와 프로그램에 접근할 수있어야한다

3. Virtualized environment security
image나 snapshot이 공격자에게 보여지지 않아야한다.

- Native Virtualization 
Hypervisor가 하드웨어 바로 위에서 돌아간다
레이어가 적다

- Hosted Virtualization
Hosted OS는 app에서 돌아간다
레이어가 많다

- Hypervisor Security