Developer.

1.6 Security and Protection

🪛 한계점

다중 사용자 컴퓨터 시스템에서는 여러 사용자가, 여러 프로세스가 동시에 실행될 수 있다. 이때 데이터 접근이 서로 다른 데이터를 보고 있다면 특정 데이터에 대한 상황이 2가지의 상태가 될 수 있다. 이는 혼란을 야기할 수 있기 때문에 규제되어야 한다.

📂 목차


📚 본문

운영체제로부터 적절한 권한을 획득한 프로세스만이 해당 자원을 조작할 수 있도록 보장하는 메커니즘이 필요하다.

예시

  • 메모리 주소 지정 하드웨어: 자신의 주소 공간 내에서만 실행되도록 보장
  • 타이머: 어떤 프로세스도 CPU를 영구적으로 점유하지 않고 제어를 양보하도록 함.
  • 장치 제어 레지스터: 사용자에게 직접 접근이 허용되지 않으므로 다양한 주변 장치의 무결성을 보호

Protection

이처럼 Protection컴퓨터 시스템이 정의한 자원에 대해 프로세스나 인가되지 않은 사용자의 접근을 막는 것을 의미한다.

  • 인터페이스 오류 조기 탐지
  • 시스템 신뢰성 향상
  • 부적절한 자원 사용 방지

등을 맡게 된다.

Security

시스템이 적절한 보호 메커니즘을 갖추고 있어도 여전히 실패하거나 부적절한 접근을 허용할 가능성이 있다. 예를 들어 시스템을 바이러스, 웜, 서비스 거부 공격, 신원/서비스 도용 등이 있고 공격으로부터 방어해야 하며, 이런 방어 메커니즘이 필요하다.

User IDs

위의 메커니즘을 구현하려면 보통 컴퓨터를 사용하는 사용자를 구분해야 한다. 이를 통해 프로세스/스레드에 대한 권한을 제어하여 실행시킬 수 있는 명령을 제한하거나 허가 할 수 있게 되고, 볼 수 있는 파일 또한 제어할 수 있다.

유저는 보통 User Identifier를 통해 구분할 수 있고 또한 User ID 를 통해 Group 으로 만들어 그룹 별로 파일 접근 권한을 설정할 수도 있다.

Security ID

윈도우에서는 위 개념들보다 사용자, 그룹, 기타 보안 주체(security principal)을 고유하게 식별하기 위해 사용되는 문자열 Security ID가 있다. 이를 통해 파일, 레지스트리, 네트워크 자원 등에 대한 접근 권한을 관리하고, 사용자 인증 및 권한 부여에 사용되게 된다.

위 내용들은 추후에 다루게 된다.