1. 개요
- Air-gap 컴퓨터에서 데이터를 빼내는 RAMBO(Radiation of Air-gapped Memory Bus for Offense) 공격 발표
- RAM에서 발생하는 전자기 방사를 악용
- 인터넷 등 네트워크와 단절된 시스템도 완전히 안전하지 않다는 사실을 보여줌
2. 주요내용 [1]
2.1 RAM (Random Access Memory)
- 데이터를 임시로 저장하는 메모리 장치로 전원이 차단되면 내용이 지워지는 휘발성 기억 장치
- 주로 CPU가 실행할 프로그램의 데이터나 명령어를 빠르게 읽고 쓸 수 있도록 지원하는 역할
2.2 Air-Gap
- 공용 또는 안전하지 않은 네트워크와 물리적으로 연결되지 않은 컴퓨터 시스템
- 보안을 최우선으로 해야 하는 환경에서 주로 사용
- 네트워크와 물리적으로 격리되어 보안을 강화하는 장점이 있으나 운영이 복잡해지는 단점이 존재
> 별도 네트워크 인프라 구축을 위한 높은 비용
> 외부 시스템과 데이터를 주고받기 위해 물리적인 매체 사용 필요
> 소프트웨어 업데이트의 어려움 등
2.3 RAMBO(Radiation of Air-gapped Memory Bus for Offense) Attack
- 악성코드가 삽입된 USB 드라이브 등을 Air-Gap 시스템에 연결하여 악성코드를 배포
> Air-Gap 시스템에 물리적인 접근이 가능해야하는 조건이 존재
> 감염된 Air-Gap 시스템에서 정보를 빼내기 위해 Air-Gap 은닉 채널을 사용
※ 은닉 채널: 정상적인 통신 경로가 아닌, 의도치 않은 방식으로 정보를 전달하는 비밀 통로
- 악성코드는 RAM을 조작해 약한 전자기 신호를 생성하고 은닉 채널을 통해 전송 및 이를 수신하여 데이터 탈취
> 문서, 키로깅, 비밀번호, 생체 정보 등을 Air-Gap 은닉 채널을 통해 탈취
> 본 논문에서 악성코드는 RAM의 전자기 방출을 활용하여 정보를 변조하여 외부로 전송하고, 무선 수신기와 안테나를 통해 정보를 수신 및 복조한 다음 원래의 바이너리 또는 텍스트로 디코딩해 정보 탈취
- RAM은 CPU와 데이터, 명령어, 주소를 System Bus를 통해 주고 받음
Data Bus | - CPU와 기억장치, I/O장치 사이에서 Data를 전달하는 통로 (양방향) - Data Bus 크기(폭)는 한 번에 전송될 수 있는 데이터의 크기(Bit 수)를 결정 Ex. 64Bit Data Bus는 한 번의 작업으로 64Bit(8Byte)의 데이터를 전송 가능 |
Address Bus | - CPU에서 주기억장치, I/O장치로 기억장치 주소, I/O 장치 포트 번호를 전달하는 통로 (단방향) - Address Bus 크기(폭)은 최대 기억장치 용량 결정(2^주소 버스 크기) Ex. 32Bit Address Bus는 최대 4기가바이트(2^32) 메모리를 주소 지정할 수 있음 |
Control Bus | - 데이터 전송 타이밍과 시퀀스를 조정하는 제어 신호를 전달 - 데이터가 준비되면 읽기, 쓰기, 메모리 칩 활성화 및 신호 전달을 처리 |
- 데이터가 Bus를 통해 전송될 때, 주로 Data Bus에서 급격한 전압 및 전류 변화를 수반
> 이는 전자기장을 생성하여 전자기 간섭(EMI) 또는 무선 주파수 간섭(RFI)을 통해 전자기 에너지를 방출할 수 있음
- 해당 공격에서는 온오프 변조 방식(On-Off Keying)과 맨체스터 코드(Manchester code)를 사용
> 온오프 변조 방식을 사용해 1과 0을 전자기 신호로 변환하며, 1은 신호가 켜진 상태, 0은 꺼진 상태로 표현
> 맨체스터 코드(Manchester code) 사용해 데이터를 전송하는 동안 오류 검출 및 신호 동기화를 강화
> 공격자는 전자기 신호를 포착해 원래 이진 정보로 복원하며, 이 정보는 비밀번호, 암호화 키, 중요 문서 등 다양한 민감 데이터를 포함할 수 있음
- 공격은 소량의 데이터를 전송하는 데 매우 효과적
> 최대 1,000bps의 전송 속도를 가지며-초당 128Byte, 0.125KB/s-비밀번호, 키 입력, 암호화 키 등 데이터를 탈취하는데 충분함
> 4096 Bit RSA 키를 4~42초 사이에 빼낼 수 있음을 입증
- 공격 범위는 전송 속도에 따라 달라짐
> 고속 전송의 경우 최대 3미터 범위에서, 느린 속도로 전송할 경우 7미터까지 범위가 확장
> 속도가 빠를수록 오류율이 증가
2.4 대응
- RAMBO 공격은 기존 보안 방어책으로는 탐지 및 차단이 어려움
> 네트워크 트래픽이나 파일 변조가 아닌 RAM에서 발생하는 전자기 신호를 악용하기 때문에 다음과 같은 대책 제안
물리적 보안 강화 | 공기 격리 시스템 주변의 접근을 제한하는 물리적 방어를 강화 |
전자기 방해 장치 | 전자기 방사 신호를 방해하는 장치를 사용해 신호가 포착되지 않도록 해야 함 |
패러데이 케이지 | 공기 격리 시스템을 패러데이 케이지에 넣어 전자기 방사를 외부로부터 차단할 수 있음 |
RAM 신호 교란 | RAM 동작 시 신호를 방해해 전자기 방사 신호 자체를 교란하는 방법 |
※ 단, 이러한 대책은 높은 비용과 운영상 부담을 초래할 수 있음
3. 참고
[1] https://arxiv.org/abs/2409.02292
[2] https://www.dailysecu.com/news/articleView.html?idxno=159257
'취약점 > 기타' 카테고리의 다른 글
NVIDIA Container Toolkit TOCTOU 취약점 (CVE-2024-0132, CVE-2024-0133) (5) | 2024.10.11 |
---|---|
Kia 차량 해킹 (3) | 2024.10.03 |
Windows Downdate (CVE-2024-38202, CVE-2024-21302) (0) | 2024.08.13 |
SmartScreen 및 Windows Smart App Control 설계상 취약점 (0) | 2024.08.10 |
GrimResource 공격 (0) | 2024.06.26 |