사악한 가정부 공격

섬네일|사진 속 노트북처럼 방치된 모든 장치는 사악한 가정부 공격의 위험에 노출되어 있다
**사악한 가정부 공격**(Evil maid attack)은 감시되지 않는 장치에 대한 공격으로, 물리적 접근 권한을 가진 공격자가 탐지할 수 없는 방식으로 장치를 변경하여 나중에 장치 또는 그 안에 있는 데이터에 접근할 수 있도록 한다.

이 이름은 가정부가 호텔 객실에 방치된 장치를 잠시 조작할 수 있는 시나리오를 지칭하지만, 개념 자체는 장치가 운송 중에 가로채이거나 공항 또는 법 집행 인력에 의해 일시적으로 압수되는 상황에도 적용된다.

## 개요

### 기원
2009년 블로그 게시물에서 보안 분석가 요안나 루트코프스카는 호텔 객실이 장치가 방치되는 흔한 장소이기 때문에 "사악한 가정부 공격"이라는 용어를 만들었다. 이 게시물은 외부 USB 플래시 드라이브를 통해 방치된 컴퓨터의 펌웨어를 손상시키는 방법을 자세히 설명했으며, 따라서 트루크립트 디스크 암호화를 우회할 수 있었다.

컴퓨터 보안 전문가인 D. 디프리즈는 2011년 안드로이드 스마트폰에 대한 사악한 가정부 공격 가능성을 처음 언급했다. 그는 WhisperCore 안드로이드 배포판과 안드로이드용 디스크 암호화를 제공하는 능력에 대해 이야기했다.

### 주목할 만한 사건
2007년, 전 미국 상무부 장관 카를로스 구티에레스는 중국 출장 중 사악한 가정부 공격의 표적이 된 것으로 알려졌다. 그는 베이징에서 무역 회담 중 컴퓨터를 방치했고, 그의 장치가 손상되었을 것이라고 의심했다. 이러한 주장은 아직 확인되거나 부인되지 않았지만, 이 사건으로 인해 미국 정부는 물리적 공격에 대해 더 경계하게 되었다.

2009년, 시만텍 CTO 마크 브레그만은 여러 미국 기관으로부터 중국으로 여행하기 전에 장치를 미국에 두고 오라는 권고를 받았다. 그는 떠나기 전에 새 장치를 구입하고 돌아올 때 처분하여 데이터를 검색하려는 모든 물리적 시도가 무효화되도록 지시받았다.

## 공격 방법

### 고전적인 사악한 가정부 공격
공격은 피해자가 장치를 방치하면서 시작된다. 공격자는 시스템을 조작할 수 있다. 피해자의 장치에 암호 보호 또는 인증 기능이 없는 경우, 침입자는 컴퓨터를 켜고 즉시 피해자의 정보에 접근할 수 있다. 그러나 장치가 전체 디스크 암호화와 같이 암호로 보호되는 경우, 장치의 펌웨어는 일반적으로 외부 드라이브를 사용하여 손상되어야 한다. 손상된 펌웨어는 피해자에게 원래와 동일한 가짜 암호 프롬프트를 제공한다. 암호가 입력되면 손상된 펌웨어는 암호를 공격자에게 보내고 재부팅 후 스스로 제거된다. 공격을 성공적으로 완료하려면 공격자는 두 번째로 장치가 방치되었을 때 장치로 돌아와 현재 접근 가능한 데이터를 훔쳐야 한다.

또 다른 공격 방법은 DMA 공격을 통해 공격자가 물리적 주소 공간에 직접 연결되는 하드웨어 장치를 통해 피해자의 정보에 접근하는 것이다. 공격자는 정보에 접근하기 위해 하드웨어 장치에 연결하기만 하면 된다.

### 네트워크 사악한 가정부 공격

사악한 가정부 공격은 피해자의 장치를 동일한 장치로 교체하는 방식으로도 수행될 수 있다. 원래 장치에 부트로더 암호가 있는 경우, 공격자는 동일한 부트로더 암호 입력 화면이 있는 장치를 확보하기만 하면 된다. 그러나 장치에 잠금 화면이 있는 경우, 공격자는 모방 장치의 잠금 화면에 넣을 배경 사진을 확보해야 하므로 과정이 더 어려워진다. 어느 경우든, 피해자가 가짜 장치에 암호를 입력하면, 장치는 원래 장치를 소유하고 있는 공격자에게 암호를 보낸다. 그런 다음 공격자는 피해자의 데이터에 접근할 수 있다.

## 취약한 인터페이스

### 레거시 바이오스
레거시 바이오스는 사악한 가정부 공격에 취약한 것으로 간주된다. 그 아키텍처는 오래되었고, 업데이트와 옵션 ROM은 서명되지 않았으며, 구성은 보호되지 않는다. 또한 보안 부팅을 지원하지 않는다. 이러한 취약점은 공격자가 외부 드라이브에서 부팅하여 펌웨어를 손상시킬 수 있도록 한다. 손상된 펌웨어는 키 입력을 공격자에게 원격으로 보내도록 구성될 수 있다.

### 통합 확장 펌웨어 인터페이스
통합 확장 펌웨어 인터페이스 (UEFI)는 사악한 가정부 공격을 완화하는 데 필요한 많은 기능을 제공한다. 예를 들어, 보안 부팅을 위한 프레임워크, 부팅 시 인증된 변수, TPM 초기화 보안을 제공한다. 이러한 사용 가능한 보안 조치에도 불구하고 플랫폼 제조업체는 이를 사용할 의무가 없다. 따라서 이러한 사용되지 않는 기능으로 인해 공격자가 장치를 악용할 수 있을 때 보안 문제가 발생할 수 있다.

### 전체 디스크 암호화 시스템
트루크립트 및 PGP 전체 디스크 암호화와 같은 많은 전체 디스크 암호화 시스템은 사용자에게 스스로를 인증할 수 없기 때문에 사악한 가정부 공격에 취약하다. 공격자는 장치가 꺼져 있고 암호화되어 있음에도 불구하고 디스크 내용을 수정할 수 있다. 공격자는 암호화 시스템의 로더 코드를 수정하여 피해자로부터 암호를 훔칠 수 있다.

파일볼트 2로 보호되는 디스크의 암호를 원격으로 훔치기 위해 부트로더와 운영 체제 사이에 통신 채널을 생성하는 능력도 탐구된다. macOS 시스템에서는 "암호 전달" 기술로 인해 이 공격에 추가적인 의미가 부여된다. 이 기술에서는 사용자의 계정 암호가 파일볼트 암호 역할도 하여 권한 상승을 통한 추가 공격 표면을 가능하게 한다.

### 선더볼트

2019년에는 많은 PC에서 발견되는 인텔 선더볼트 포트의 "썬더클랩"이라는 취약점이 발표되었다. 이 취약점은 악의적인 행위자가 직접 메모리 접근 (DMA)을 통해 시스템에 접근할 수 있도록 허용한다. 이는 입출력 메모리 관리 장치 (IOMMU)를 사용함에도 불구하고 가능하다. 이 취약점은 공급업체에 의해 대부분 패치되었다. 이어서 2020년에는 패치 불가능한 것으로 여겨지는 "선더스파이"가 발표되었으며, 이는 DMA를 유사하게 악용하여 모든 보안 기능을 우회하고 시스템에 대한 전체 접근 권한을 얻을 수 있다.

### 모든 방치된 장치
모든 방치된 장치는 네트워크 사악한 가정부 공격에 취약할 수 있다. 공격자가 피해자의 장치를 충분히 잘 알고 있다면, 피해자의 장치를 암호 탈취 메커니즘이 있는 동일한 모델로 교체할 수 있다. 따라서 피해자가 암호를 입력하면 공격자는 즉시 이를 알게 되어 도난당한 장치의 정보에 접근할 수 있게 된다.

## 완화

### 탐지
한 가지 접근 방식은 누군가가 방치된 장치에 가까이 있거나 다루고 있음을 감지하는 것이다.
근접 경보, 동작 감지 경보 및 무선 카메라는 공격자가 장치 근처에 있을 때 피해자에게 경고하여 사악한 가정부 공격의 불시의 요소를 무효화하는 데 사용될 수 있다. 헤이븐 안드로이드 앱은 에드워드 스노든에 의해 2017년에 이러한 모니터링을 수행하고 그 결과를 사용자의 스마트폰으로 전송하기 위해 만들어졌다.

위의 방법이 없는 경우, 다양한 종류의 변조 방지 기술을 사용하여 장치가 분해되었는지 감지할 수 있다. 여기에는 나사 구멍 위에 반짝이 매니큐어를 바르는 저비용 솔루션도 포함된다.

공격이 의심된 후, 피해자는 장치에 멀웨어가 설치되었는지 확인하도록 점검할 수 있지만, 이는 어려운 일이다. 제안된 접근 방식은 선택된 디스크 섹터 및 파티션의 해시를 확인하는 것이다.

### 방지
장치가 항상 감시되고 있다면 공격자는 사악한 가정부 공격을 수행할 수 없다. 방치된 경우, 장치를 잠금 상자 안에 넣어 공격자가 물리적으로 접근할 수 없도록 할 수도 있다. 그러나 공항이나 법 집행 인력에 의해 장치가 일시적으로 압수되는 경우와 같이 이것이 실용적이지 않은 상황이 있을 것이다.

최신 펌웨어를 유지하고 장치를 방치하기 전에 종료하는 것과 같은 기본적인 보안 조치는 레거시 아키텍처의 취약점을 악용하고 외부 장치가 열린 포트에 접근하는 것을 방지한다.

TRESOR 및 Loop-Amnesia와 같은 CPU 기반 디스크 암호화 시스템은 데이터가 시스템 메모리로 유출되지 않도록 보장하여 DMA 공격에 취약하지 않도록 한다.

TPM 기반 보안 부팅은 장치를 사용자에게 인증함으로써 사악한 가정부 공격을 완화하는 것으로 나타났다. 이는 사용자가 올바른 암호를 제공하고 장치에서 무단 코드가 실행되지 않았다고 판단될 때만 스스로 잠금 해제함으로써 이를 수행한다. 이러한 측정은 마이크로소프트의 비트로커 및 인텔의 TXT 기술과 같은 신뢰의 뿌리 시스템에 의해 수행된다. Anti Evil Maid 프로그램은 TPM 기반 보안 부팅을 기반으로 하며 장치를 사용자에게 추가로 인증하려고 시도한다.

## 같이 보기
* 콜드 부트 공격
* 어깨 너머 훔쳐보기 (컴퓨터 보안)

## 각주

분류:스파이웨어
분류:취약점 공격
분류:사이버 전쟁