[운영체제][보호와보안] Security & Protection #2 Protection

2022. 7. 29. 12:44OperatingSystem

1. 보호의 목적

  • 보호는 컴퓨터 시스템에 정의된 자원에 접근하는 사용자들과 프로세스들의 인증된 접근을 제어하는 것과 관련되어 있습니다.
  • 보호의 목적은 공유된 자원들을 사용하는 것과 불안정한 인터넷과 같은 통신 플랫폼에 연결된 복합적인 시스템의 신뢰성을 증가시키는 것입니다.

 

2. 보호의 원칙

  • 최소 특권의 원리
    • 보호를 위한 핵심적인 지침 원칙입니다.
    • 프로세스, 사용자 및 시스템에서도 작업을 수행할 수 있는 충분한 권한이 부여되어야 합니다.
    • 예를 들어 유닉스 사용자 및 파일 권한은 root, sudo, chmod와 같은 것이 있습니다.
    • 권한(permissions) : 악의적인 공격을 경감시키기 위한 기회를 제공하는 것

 

3. 접근 매트릭스(Access Martix)

  • 일반적인 보호 모델은 접근 매트릭처럼 추상적으로 보일수 있습니다.

  • 도메인은 매트릭스의 행이고 오브젝트는 매트릭스에서 열을 의미합니다.
  • ACL : Access Control List
    • 매트릭스에서 각각의 엔트리는 접근 권한 집합으로 구성되어 있습니다.
  • 접근 매트릭스는 다양한 정책을 지정하기 위한 방식을 제공합니다.

4. 다른 보호 방법들

4.1 Sandboxing

  • 외부로부터 들어온 프로그램이 보호된 영역에서 동작해 시스템이 부정하게 조작되는 것을 막는 보안 형태입니다.
  • 예를들어 Java와 .NET은 가상 머신 레벨에서 샌드박스를 부여합니다. 안드로이드는 의무적인 접근 제어의 일환으로 샌드박스를 시행합니다.

 

4.2 Code Signing

  • 코드 서명(Code Signing)은 실행 파일과 스크립에 디지털 서명을 하는 과정으로 서명 이후에 코드가 변조되거나 손상되지 않음을 보장하는 기술입니다.
  • 진위와 무결성 확인을 위해 암호화 해시를 사용합니다.
  • 코드 서명은 예를 들어 운영체제 분산, 인출, 서드파티 툴에 사용되고, 또한 안드로이드나 IOS 플랫폼의 모바일 앱에서 사용됩니다.

 

References

source code : https://github.com/yonghwankim-dev/OperatingSystem_Study
Operating System Concepts, 10th Ed. feat. by Silberschatz et al.
[인프런] 운영체제 공룡책 강의