Notice
Recent Posts
Recent Comments
05-21 18:05
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Byeol Lo

1.6 Security and Protection 본문

OS/OS Design

1.6 Security and Protection

알 수 없는 사용자 2024. 4. 6. 15:10

 컴퓨터 시스템이 다중 사용자 및 다중 프로세스를 지원하는 경우에 데이터 접근은 운영 체제로부터 적절한 권한을 얻은 프로세스만 가능하도록 제한된다. 이를 위해 메모리, CPU, 기타 리소스에 대한 접근이 제어되고, 장치 제어 레지스터는 사용자가 접근할 수 없어서 주변 장치의 무결성(integrity, 데이터나 시스템이 원래 상태나 조건을 유지하고 있는 것)이 보호된다.

 Protection(보안)이란 컴퓨터 시스템에서 정의된 자원에 대한 프로세스나 사용자의 접근을 제어하는 장치이다. 이 메커니즘은 적용될 제어를 지정하고 이를 시행하는 수단을 제공해야 한다. 보안은 구성 요소 하위 시스템 간 인터페이스에서 잠재적 오류를 감지함으로써 신뢰성을 향상시킬 수 있다. 인터페이스 오류의 조기 감지는 종종 정상 작동 중인 하위 시스템이 오작동하는 다른 하위 시스템에 의해 방해되는 것을 방지할 수 있다. 게다가, 보호되지 않은 자원은 무단이나 무능한 사용자에 의한 사용(또는 남용)으로부터 방어할 수 없습니다. 보호 중심 시스템은 허가된 사용과 무단 사용을 구별할 수 있는 수단을 제공한다.

 시스템은 충분한 보호를 가지고 있을 수 있지만, 여전히 위험은 존재하는 법이고, 부적절한 접근을 허용할 수 있다. viruses, worms, denial-of-service attacks, identity theft, 그리고 theft of service 등은 그 공격의 예들이다. 이러한 공격들은 보통 일부 시스템에서 운영체제 기능으로 간주되지만, 다른 시스템에서 정채이나 추가 소프트웨어에 맡겨진다. 보안 사고의 급격한 증가로 운영체제의 보안 기능은 많이 연구하는 추세다.

 Protection 또는 Security 기능은 모든 사용자를 구별할 수 있어야 한다. 대부분의 운영체제는 사용자 이름과 해당 사용자 식별자(user identifier, user IDs) 목록을 유지한다. Windows에는 이를 보안 ID(SID, Security ID)라고 한다. 이러한 숫자 ID는 고유하고, 각 사용자당 하나씩 있게 된다. 사용자가 시스템에 로그인하면 인증 단계에서 해당 사용자에 대한 적절한 사용자 ID가 결정되며, 모든 사용자의 프로세스와 스레드에 연결된다. 사용자가 특정 ID를 읽어야 할때, 그 ID는 사용자 이름 목록을 통해 해당 사용자의 이름으로 다시 변환된다. 

 일반적인 시스템 사용 과정에서는 사용자의 사용자 ID와 그룹 ID가 충분하다. 하지만 사용자는 때로는 특정 활동을 위해 추가 권한을 얻기 위한 권한 상승이 필요할 때가 있을 것이다. 이를 위해 운영체제에서 여러 방법을 제공하는데, UNIX의 경우에는 파일 속성 중에 setuid 속성이 있어서 해당 프로그램이 현재 사용자의 ID가 아닌 파일 소유자의 ID로 실행되도록 한다. 이 프로세스는 추가 권한을 해제하거나 종료할 때까지 해당 권한의 UID로 실행된다.

  • Multi-user 및 Multi-processing을 지원하는 경우 특정 데이터 접근에 대한 적절한 권한이 필요
  • 리소스에 대한 접근 권한 또한 제어가 됨
  • 장치 제어 레지스터는 사용자가 접근 할 수 없어서 주변 장치의 무결성이 보호됨
  • 보안이란 자원의 접근을 제어하는 메커니즘
  • 인터페이스 오류의 조기 감지를 통해 하위 시스템이 오작동하는 다른 하위시스템에 의해 방해되는 것을 방지
  • Windows에는 SID가, UNIX 계열에는 UID, GID가 있고, UNIX에서는 setuid를 통해 파일 소유자의 권한으로 실행되는 것 또한 가능하다.

 

'OS > OS Design' 카테고리의 다른 글

1.8 Distributed Systems  (0) 2024.04.06
1.7 Virtualization  (0) 2024.04.06
1.5 Resource Management  (0) 2024.04.04
1.4 Operating-System Operations  (1) 2024.04.03
1.3 Computer-System Architecture  (0) 2024.04.01
Comments