[운영체제보안] Concept of Security in OS

cloudbread·2025년 10월 13일

1. Protection

  • 프로세스/사용자의 자원 접근 제어 메커니즘
    • 분리 및 격리 : 프로세스와 사용자가 서로 간섭하지 못하게 자원/작업 공간 분리
    • 메모리 보호 : 사용자와 프로세스로부터 메모리 보호. 커널 공간을 사용자 프로세스로부터 보호
    • 파일 보호 : 권한 모드 (permission modes), 시스템 자원을 보호

2. 보호(Protection)와 보안(Security)

  • 공통 목표 : 시스템과 자원을 손상, 오용, 악의적 공격으로부터 지키는 것
  • 보호 : 우연한 실수나 협력 사용자로 인한 문제로부터 자원 보호 (OS 내부에서 발생하는 문제 막음)
    • 가상 주소 공간 (Virtual address space) : 사용자 영역(코드,데이터,힙,스택) + 커널 영역
    • 파일 권한 (file permission modes)
  • 보안 : 고의적 공격 (내부 또는 외부)으로부터 시스템 보호
    • 권한 없는 접근, 시스템 메모리에 대한 악의적 접근, 악성 코드 등
    • 보안의 첫 번째 공리 : 보안은 기술적 문제만큼이나 사회적 문제이기도 하다. (피싱, 트로이 목마 등)
    • 기술적 보호만으로는 충분하지 않으며, 사람의 실수나 부주의도 보안 위협이 될 수 있다.

3. OS의 기능 (보호 & 보안)

1) 프로세스 관리 (Process management)

  • 루트 권한 프로세스 관리 (set-UID 프로그램)

2) 주기억장치 관리 (Main Memory Management)

  • 메모리 보호, 커널 모드 실행

3) 보조 기억 장치 관리 (secondary Storage Management)

  • 디스크 할당량, 디스크 파티션 관리

4) 파일 관리 (file Management)

  • 루트 사용자 권한 관리
  • 파일 접근 권한 (ACL)

5) 입출력 시스템 관리

  • 특권 명령어 관리

6) 네트워킹

  • 보안 프로토콜
  • 통신망 설계시 라우팅, 연결전략, 보안 문제 고려

7) 보호 및 보안 시스템

  • ASLR (Address Space Layout Randomization)
  • SELinux
  • IDS (intrusion Detection System)

8) Command Interpreter System

  • SSH, Sudo 등 보안 기능 포함

4. 보안 위협 예시

  • 침입자 : 허가되지 않은 권한 상승을 시도
  • 비밀번호 획득 방법
    • default 비밀번호 사용 시도
    • 짧은 비밀번호 무차별 대입
    • 사전 단어 또는 일반적인 비밀번호 목록 사용
    • 트로이 목마 사용 => 정상적인 파일로 위장하여 사용자가 실행하도록 만든 악성 소프트웨어
    • 통신선을 도청

5. Security Threats


6. STRIDE vs AINCAA

ThreatProperty ViolatedDefinitionExample추가 설명/대응 방법
Spoofing (위조)Authentication타인을 사칭Bill Gates, Paypal.com 사칭, ntdll.dll 사칭id/password 탈취, 웹사이트 속이기
Tampering (변조)Integrity데이터/코드 수정DLL, DVD, 네트워크 패킷 변조암호화 해시, SHA-256, MAC, 무결성 검증
Repudiation (부인)Non-repudiation행위 부인(자신이 안 했다고 주장)"나는 안 보냈다", "수정 안 했다"logging, accounting 필요
Information Disclosure (정보노출)Confidentiality권한 없는 사람에게 정보 노출Windows 소스코드 보기, 고객리스트 공개암호화, 대칭키 AES, 비대칭키, 난독화
Denial of Service (서비스거부)Availability서비스 거부 또는 저하OS나 웹사이트 다운, 블랙홀 라우팅backup, 이중화, CDN
Elevation of Privilege (권한상승)Authorization무권한 접근 (권한 상승)원격 명령 실행, 일반→관리자 권한 승격web shell, 악성 스크립트 업로드/실행

7. 운영체제에서의 보안 문제

  • 운영체제는 다음과 같은 보안 침해로부터 스스로를 보호해야 한다.
    • 무단 접근, 수정, 삭제
    • 통제 불능 프로세스 -> 서비스 거부 발생 가능
    • 메모리 접근 위반
    • 스택 오버플로우 위반
    • 과도한 권한으로 프로그램 실행

8. 일반 OS의 보안 기능

1) 사용자 인증
2) 메모리 보호 => 1) user mode/ kernal mode 2) segment 별로 분리
3) 파일 및 I/O 장치 접근 제어
4) 일반 객체에 대한 할당 및 접근 제어
5) OS 데이터 보호
6) 강제 공유
7) 공정한 서비스 보장
8) 프로세스 간 통신 및 동기화

9. Ubuntu 보안 기능

1) 설정

  • 비밀번호 해시, 열린 포트 없음, SYN 쿠키, 레거시 TLS 비활성화

2) 하위 시스템

  • 파일 시스템 권한
  • 설정 가능한 방화벽

3) 강력한 접근 제어 (MAC)

  • SELinux

4) 저장소 암호화

5) 사용자 공간 보호 => PIE, 실행 불가 메모리, 힙 보호, 스택 보호, 포인터
난독화
6) 커널 강화

(참고) 리눅스 실행 파일 포맷 : ELF , ms : PE , anroid :apk

10. ccOS - 현대차의 연결차량 운영체제 (Connected Car OS)

  • 연결 차량은 다양한 측면에서 보호가 필요하다. (다계층 접근이 요구)
  • 차량 내외부 네트워크, S/W, 사용자 데이터 등 여러 영역에서 위협 대응 필요
  • ccOS : Connected Car OS
    • 스마트폰, 스마트홈 연동, 지능형 원격 지원, 스마트 교통/모빌리티 허브와 연결 가능
    • 또한 차량간 상호 호환성을 제공하여 표준화된 소프트웨어 사용이 가능 => 시스템 안전성과 유연성 향상
  • ccOS 4대 목표 1) 고성능 컴퓨팅 (NVIDIA 칩 사용) 2)무결점 컴퓨팅 3)지능형 컴퓨팅 4)보안 컴퓨팅

11. Trusted OS

  • OS 보안 : 운영체제의 무결성, 기밀성, 가용성을 보장하는 과정이다.
  • 보안 커널
    • 컴퓨팅 부팅 과정 : 전원 켜기 -> ROM BIOS 실행 -> Bootloader 실행 -> OS 커널 로딩
    • 신뢰할 수 있는 컴퓨팅 기반의 하드웨어, 펌웨어, 소프트웨어 요소가 결합되어 구현된 핵심 시스템
    • Reference Monitor 1) 시스템 자원에 대한 모든 접근을 중재 2) 권한 없는 접근 차단
    • 보안 커널의 요구 사항 1) 모든 접근을 중재 2) 수정으로부터 보호 3) 정확성 검증 가능
  • Trusted OS
    • 엄격한 분석과 테스트를 통해 보안 원칙과 메커니즘이 올바르게 구현 + 악의적인 공격 상황에서도 의도대로 작동한다는 신뢰 수준이 존재하는 운영체제
    • 보안 기능 : 식별 및 인증, 강제 접근 제어, 객체 재사용 보호, 완전한 접근 중재, 신뢰 경로, 책임 추적 및 감사, 감사 로그 축소, 침입 탐지
    • 신뢰 조건
      1) 정책(Policy)
      • 시스템이 무엇을 어떻게 수행해야 하는지를 명확히 정의
      2) 모델(Model)
      • 설계자가 시스템이 요구사항을 만족하고 적절한 객체와 관계를 보호할 수 있다고 확신
      3) 설계(Design)
      • 요구사항을 실현하기 위한 구체적인 구현 수단 선택
      4) 신뢰(Trust)
      • 기능(FEATURES): OS가 기대되는 보안 정책을 시행할 수 있는 모든 기능을 갖춤
      • 보증(ASSURANCE): OS가 올바르게 구현되어 정책을 정확하고 효과적으로 시행할 수 있다는 확신

12. Trusted Software

  • 코드가 엄격하게 개발되고 분석 => 코드가 기대하는 기능만 수행 , 불필요한 위험한 동작 x
  • 기능적 정확성, 무결성 보장, 제한된 권한, 적절한 신뢰 수준
profile
잡다한거 다 공부중....

0개의 댓글