기어가더라도 제대로

[운영체제-김덕수교수님] 파일 보호(4/5) 본문

CS/운영체제

[운영체제-김덕수교수님] 파일 보호(4/5)

Damagucci-juice 2022. 8. 17. 17:36
  • File에 대한 부적절한 접근 방지
    • 다중 사용자 시스템에서 더욱 필요
  • 접근 제어가 필요한 연산들
    • Read(R)
    • Write(W)
    • Execute(X)
    • Append(A)

‏‏‎ ‎

파일 보호 기법

  • 파일 보호 기법은 시스템 사이즈 및 응용 분야에 따라 다를 수 있음
  • 1. Password 기법
    • 각 파일에 패스워드 부여
    • 비현실적
      • 사용자들이 파일 각각에 대한 PW를 기억해야 함
      • 접근 권한 별로 서로 다른 PW를 부여 해야 함
  • 2. Access Matrix 기법
    • 범위(Domain)와 개채(object) 사이의 접근 권한을 명시
      • 도메인을 사용자, 유저, 그룹
      • 오브젝트를 파일
      • 로 보면 쉽다.
    • 용어 정리
      • Object
        • 접근 대상(file, device 등 HW/SW objects)
      • Domain(protection domain)
        • 접근 권한의 집합
        • 같은 권한을 가지는 그룹(사용자, 프로세스)
      • Access right
        • <object-name, rights-set>
        • ex) <"abc.txt", RW>

[운영체제-김덕수교수님] 파일 보호(4/5)  image

‏‏‎

저장 방법중 하나 - 글로벌 테이블

[운영체제-김덕수교수님] 파일 보호(4/5)  image

 

[운영체제-김덕수교수님] 파일 보호(4/5)  image

 

  • table의 열만 표현하는 Access List를 둔다.
  • table의 행만 표현하는 Capability list를 둔다.
  • 이렇게 하는 이유는 빈공간을 최대한 남기지 않게 하기 위해서

‏‏‎ 

Access List

  • Access matrix의 열(column)을 list 로 표현
    • 각 object에 대한 접근 권한을 나열

 

[운영체제-김덕수교수님] 파일 보호(4/5)  image

 

  • Object 생성 시, 각 domain에 대한 권한 부여
  • Object 접근 시 권한을 검사
  • 실제 OS에서 많이 사용됨
    • UNIX의 예
    • 맥 터미널에서 이렇게 사용해 볼 수 있다.

 

[운영체제-김덕수교수님] 파일 보호(4/5)  image[운영체제-김덕수교수님] 파일 보호(4/5)  image

 

  • `ls -al`
    • 가장 앞에 drwxr-xr-x ... 이렇게 되어 있는 열이 Acess List의 한 요소다.
    • d는 디렉터리를 표현하고, - 는 파일을 의미한다.

‏‏‎ ‎

  • 단점
    • 파일에 접근할 때마다 사용자의 접근 권한을 확인해야한다는 단점이 있다.
    • 뷔페에 가서 음식을 다시 먹는 걸 상상해보면, 팔에 입장권을 둘러서 손목띠가 있는 손님은 그냥 다시 입장해서 먹을 수 있도록 하는 조치
    • 이것이 Capability List 이다.

Capability List

  • Access matrix의 행(row)을 list로 표현
    • 각 domain에 대한 접근 권한 나열

 

[운영체제-김덕수교수님] 파일 보호(4/5)  image

 

  • Capability를 가짐이 권한을 가짐을 의미
    • 프로세스가 권한을 제시, 시스템이 검증 승인
  • 시스템이 Capability list 자체를 보호 해야함
    • kernel 안에 저장
  • 쉽게 생각하면 도메인(사용자, 유저 그룹, 루트) 등이 개별 파일 시스템에 대해서 권한을 정의해 놓은 리스트라고 생각하면 좋다.

‏‏‎ 

요약

  • Global table
    • Simple but can be large
  • Access list
    • Object 별 권한 관리가 용이함
    • 모든 접근 마다 권한을 검사해야함
      • Object 많이 접근하는 경우 -> 느림
  • Capability list
    • List 내 object 들(Localixzed info.) 에 대한 접근에 유리
    • Object 별 권한 관리(권한 취소 등)가 어려움
      • 예시) 파일 하나의 권한을 바꾸려면 모든 도메인에서 그 파일에 대한 접근 권한을 변경해야함

‏‏‎ ‎

장점 합치기 Access list + Capability list

 

[운영체제-김덕수교수님] 파일 보호(4/5)  image

  • Object에 대한 첫 접근 -> access list 탐색
    • 접근 허용 시, Capability 생성 후 해당 프로세스에게 전달
      • 이후 접근 시에는 권한 검사 불필요
  • 마지막 접근 후 -> Capability 삭제

‏‏‎ ‎

Comments