Trusted Systems
우리가 이전에 알아본 암호화 방식, 전자서명 등은 소프트웨어적인 접근이지만
이번에 알아볼 Trusted Systems은 하드웨어적 접근이다.
Trusted Systems이란 쉽게 말해 신뢰할 수 있는 시스템이다.
보안 및 신뢰도를 보장하여 사용자에게 신뢰를 준다고 이해하면 편하다.
Reference Monitors
Reference Monitors란 어떤 파일에 접근할 때 모니터링해 통제하는 기능이다.
내가 파일에 대한 권한이 있는지 등을 확인해 통제하게된다.
이때 no read up, no write down을 기본적으로 수행한다.
그리고 이 Reference Monitor은 다음과 같은 성질을 가진다.
Complete mediation : 접근시도를 하나도 놓치지 않고 수행한다.
Isolation : 함부로 수정, 조작이 불가능하다.
Verifiability : 모든 동작들이 검증가능해야한다.
Reference Monitors의 예시
먼저 Reference Monitor가 없는경우를 살펴보자 (a),(b)
Bob은 현재 기밀정보를 담은 데이터 파일을 관리하는 사람이다(이 파일은 Bob만 Read, Write권한을 가진다).
부하직원 Alice는 악의적인 마음을 갖고 정보를 빼돌리려고 한다!
Alice가 멀웨어를 심은 파일과 Back-pocket file을 생성하고(트로이목마) 악성파일을 Bob에게 보냈다.
순진한 Bob은 파일을 실행시켰는데 이때 트로이목마도 같이 실행이 되었다!
트로이목마는 파일 접근 시도를 하는데 기본적으로 파일을 실행했을때 누구의 권한으로 돌아가는지 기억나는가?
바로 소유주의 권한을 따라가게된다.
그래서 트로이 목마가 기밀문서에 접근하는데 성공하게되고 이를 Back-pocket file에 옮긴다(이 파일에 Bob은 W 권한을 가짐).
여기까지가 일반적인 트로이 목마 공격이다.
그러면 이제 Reference Monitor을 사용하였을때를 살펴보자.
앞서 알아본 예시에는 DAC만 실행되고있었는데(기억 안나면 글 다시 찾아보면 좋아요)
이번에는 MAC도 같이 실행되고있다.
앞서 Bob이 파일을 실행하는 상황부터 보면 기밀 정보에 접근하는것 까지는 순조롭게 진행된다(주체와 객체 레벨이 같음)
하지만 아까와의 차이점은 여기에 있다.
기밀 정보를 빼오려면 어딘가에 적어놓는것이 중요하다(메모리 상태로 있으면 컴 꺼지면 다 날아감)
그래서 Alice는 만들어둔 Back-pocket file에 적어야되는데 이를 RM이 막는다.
MAC에서 중요한 규칙 2가지는 No read up 과 No write down이였다.
이 규칙에 따라 Bob의 권한을 가진 트로이목마는 Alice가 만든 파일에 Write할 수 없게된다.
이렇든 RM은 중요한 역할을 우리 컴퓨터에서 하고있다.
Trusted Platform Module(TPM)
TPM이란 환경을 위한 핵심 하드웨어 모듈이다.
보통 칩 형태로 되어있다.
암호화키를 생성하거나 이를 이용해 암호화,복호화를 하는 작업과 같은것들은 보통 TPM에서 일어난다.
TPM이 제공하는 서비스는 크게 3가지이다
Authenticated Boot Service
기본적으로 컴퓨터가 부팅될때는 순차적으로 부팅된다(Boot Rom의 작은 코드조각이 부트블록을 불러옴).
이때 각 단계에서 전자 서명을 이용하여 검증한다.
또한 실행 중인 모든 코드의 버전을 기록한다.
Certification Service
어플리케이션을 실행할 때 누군가가 도청하게 된다면 보안에 위험이 생긴다.
그래서 TPM에선 인증서를 이용해 사용자에게 신뢰를 준다.
Encryption Service
특정 구성의 기계만 데이터를 복호화할 수 있도록 데이터를 암호화한다.
TPM 내부
잠긴 파일을 푸는 과정(TPM)
1. 암호화된 키와 암호화된 파일을 전달함.
2. 이것들이 TPM으로 전달됨
3. 문제가 없는 환경(권한이 있는지, 해커가 있는지 등등)을 검증한 후 내부에서 키를 풀어서 전달함
4. 파일을 볼 수 있음.
'시스템 보안' 카테고리의 다른 글
[시스템 보안] Access Control (2) | 2024.10.30 |
---|