← 최신 논문
💻 computer science

State Authenticity under Multiple Bus Masters: A Non-Secure DMA Gap and Mitigation for TrustZone-M Proofs of Executio

이 논문은 TrustZone-M의 실행 증명이 비보안 DMA 컨트롤러를 통한 상태 변조에 취약함을 밝히는데, 이는 해당 보안 보장이 오직 CPU 격리에만 의존하기 때문이며, 모든 버스 마스터에 대해 상태 진본성을 보장하기 위해 채널별 DMA 보안을 사용하는 경량화된 완화 방안을 제안한다.

원저자: Arash Razban

게시일 2026-07-30
📖 5 분 읽기🧠 심층 분석

원저자: Arash Razban

원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

세상의 모든 곳에 작고 저렴한 컴퓨터들이 흩어져 있는 세상을 상상해 보십시오. 스마트 온도 조절기, 피트니스 트래커, 심지어 공장 바닥의 센서 안에도 말입니다. 이 작은 장치들은 온도 측정값이나 움직임 횟수 같은 데이터를 보내오는 정직한 보고자가 되어야 합니다. 하지만 만약 해커가 이 장치 중 하나를 장악하여 가짜 데이터를 거대한 클라우드 데이터베이스로 보내기 시작한다면 어떻게 될까요? 이를 막기 위해 우리는 디지털 "실행 증명(proof of execution)"을 사용합니다. 이것은 컴퓨터를 위한 공증인과 같습니다. 장치는 "나는 요청받은 특정 수학 문제를 정확하게 수행했으며, 그 과정에서 숫자를 조작하지 않았음을 약속한다"라는 영수증에 서명합니다.

이것이 제대로 작동하려면 장치에는 두 가지가 필요합니다. 첫째, 올바른 코드를 실행했음을 증명할 보안 방법, 둘째, 사용된 데이터(상태, state)가 변조되지 않았음을 증명할 방법입니다. 우리가 논의하는 논문은 현대 마이크로칩에 내장된 기술적인 버전인 TrustZone-M이라는 시스템을 살펴봅니다. 이는 칩 내부의 초보안 금고와 같아서 "신뢰할 수 있는" 작업과 "신뢰할 수 없는" 작업을 분리합니다. 핵심 질문은 이것입니다. 만약 해커가 "신뢰할 수 없는" 영역을 뚫고 들어왔을 때, 메인 컴퓨터가 눈치채지 못하는 사이에 데이터를 몰래 수정하여 시스템을 속일 수 있을까요? 이 논문은 현재의 금고 규칙이 데이터를 몰래 수정하는 보이지 않는 조력자를 막기에 충분히 강력한지 조사합니다.


보이지 않는 펜: "유령" 해커가 보안 칩을 속인 방법

임베디드 보안라는 고도의 게임에서, 연구자들은 최근 SLAPP(Stateful Proofs of Execution)이라는 영리한 체계를 제안했습니다. SLAPP을 아주 엄격한 사서라고 상상해 보십시오. 사서는 학생(장치)이 수학 문제를 올바르게 풀었는지 확인하고 싶어 합니다. 사서는 두 가지를 확인합니다. 첫째, 학생이 올바른 교과서(코드)를 사용했는지, 둘고, 문제를 푸는 동안 노트의 숫자(상태)를 바꾸는 부정행위를 하지 않았는지입니다.

사서의 논리는 단순하고 완벽해 보였습니다. "만약 학생이 노트의 숫자를 바꾸려 한다면, 먼저 어떻게 하는지 방법을 찾기 위해 교과서를 펼쳐야 한다. 그런데 우리가 교과서를 감시하는 마법 스캐너를 가지고 있으므로, 지침(교과서)에 대한 어떠한 변경도 즉시 포착될 것이다. 따라서 교과서가 완벽하다면, 노트의 숫자 역시 정직할 것이다."

하지만 이 논문은 그 논리의 허점을 드러내며 커튼을 걷어 올립니다. 연구자들은 "학생"만이 노트에 글을 쓸 수 있는 것이 아니라는 사실을 발견했습니다. 여기에는 두 번째의 보이지 않는 작성자가 있습니다. 바로 DMA 컨트롤러(Direct Memory Access)입니다.

"유령" 작성자

DMA를 이해하기 위해, 메인 컴퓨터 프로세서(CPU)를 채소를 다듬는 바쁜 요리사라고 상상해 보십시오. 요리사는 주방의 도마(메모리)를 만질 수 있는 유일한 사람입니다. 요리사는 보안 카메라(TrustZone-M 격리)의 감시를 받으며, 다른 누구도 도마를 만지지 못하도록 보장받습니다.

그런데 잠깐! 주방에는 로봇 팔(DMA 컨트롤러)이 하나 놓여 있습니다. 이 로봇은 냉장고에서 도마로 재료를 자동으로 옮기도록 프로그래밍되어 있습니다. 보안 카메라는 오직 요리사의 손만을 감시합니다. 카메라는 로봇의 존재를 알지 못합니다. 로봇은 요리사가 채소를 다듬는 동안 슬쩍 다가와 밀가루 봉지를 집어 도마 위에 쏟아부을 수 있습니다. 요리사는 로봇을 보지 못하고, 요리사의 손이 움직이지 않았으므로 보안 카메라도 깜빡이지 않습니다.

SLAPP 보안 체계의 세계에서 이 "로봇"은 DMA 컨트롤러입니다. 연구자들은 보안 시스템이 요리사(CPU)만을 감시하고 있다는 것을 발견했습니다. 시스템은 만약 레시피 북(프로그램 메모리)이 바뀌지 않았다면, 아무도 재료(상태)를 바꿀 수 없다고 가정했습니다. 하지만 로봇은 레시피 북을 건드리지 않고도 재료를 바꿀 수 있었습니다.

공격: 조용한 독살

연구자들은 이 "유령" 작성자가 실제로 시스템을 무너뜨릴 수 있는지 확인하기 위해 실제 칩(STM32L5 마이크로컨트롤러)에서 테스트를 설정했습니다. 그들은 이미 칩의 "신뢰할 수 없는" 부분을 장악한 해커가 DMA 로봇을 사용하여 계산 중간에 정상적인 숫자를 가짜 숫자로 바꾸는 시나리오를 만들었습니다.

트릭은 다음과 같이 진행되었습니다:

  1. 검사: 칩의 보안 부분이 노트를 확인했고 숫자가 깨끗하다는 것을 확인했습니다. 그리고 승인을 내렸습니다.
  2. 교체: 검사 직후, 하지만 최종 결과가 서명되기 에, DMA 로봇이 잽싸게 달려들어 숫자를 "독이 든" 값으로 교체했습니다.
  3. 서명: 칩은 독이 든 숫자를 사용하여 수학 계산을 마쳤고 영수증에 서명했습니다.
  4. 결과: 보안 카메라는 레시피 북을 살펴보았고, 그것이 손상되지 않았음을 확인한 뒤 영수증을 유효한 것으로 수락했습니다.

그 결과는 수학적으로는 유효하지만 사실과는 다른 "실행 증명"이었습니다. 시스템은 조작된 데이터를 바탕으로 결과를 인증했으며, 그동안 메인 컴퓨터는 모든 것이 정상이라고 생각하고 있었습니다.

일반적인 방어책이 실패한 이유

연구자들은 이어서 물었습니다. "왜 칩의 내장 보안 기능이 이를 막지 못했을까?" 그들은 세 가지 표준 방어책을 시도했고, 각각 재미있는 이유로 실패했습니다.

  1. "로봇 잠금" 시도: 그들은 보안 시스템에 로봇의 팔을 잠그라고 명령해 보았습니다. 하지만 시스템은 "나는 로봇을 제어하지 않습니다. 나는 오직 요리사만을 제로합니다"라고 답했습니다. 보안 게이트는 로봇에게 적용되지 않았습니다.
  2. "테이블 잠금" 시도: 그들은 도마를 잠가서 아무도 만질 수 없게 하려 했습니다. 하지만 이것은 너무 엄격했습니다! 요리사 역시 도마에 글을 써야 했기 때문입니다. 만약 도마를 잠가버리면 요리사가 일을 할 수 없게 되어 시스템 전체가 멈춰버립니다.
  3. "알람" 시도: 그들은 누군가 규칙을 어기면 울리는 알람을 설정하려 했습니다. 하지만 알람은 누군가 규칙을 위반할 때만 울립니다. 로봇이 도마를 만지는 행위는 (이 특정 보안 규칙 관점에서는) 잘못된 종류의 접촉이었지만, 로봇 자체가 도마를 만지는 것이 허용된 상태였기에 알람은 침묵을 지켰습니다.

해결책: 로봇 길들이기

해결책은 더 큰 벽을 쌓거나 더 큰 소리의 알람을 만드는 것이 아니었습니다. 그것은 로봇에게 자신만의 작은 보안 배지를 주는 것이었습니다. 연구자들은 로봇(DMA 컨트롤러) 내부에 보안 요리사가 뒤집을 수 있는 숨겨진 스위치가 있다는 것을 발견했습니다.

이 스위치를 작동시킴으로써, 보안 영역은 이렇게 말할 수 있게 됩니다. "이 특정 로봇 팔은 이제 나의 통제 하에 있다. 만약 해커가 로봇에게 명령을 내리려 한다면, 로봇은 명령을 무시하고 빨간 깃발을 올릴 것이다."

이 수정 작업은 놀라울 정도로 저렴하고 쉬웠습니다. 요리사의 속도를 늦추지도 않았고 새로운 하드웨어를 요구하지도 않았습니다. 연구자들은 칩의 모든 로봇 팔을 보안 처리함으로써 이를 테스트했습니다. 다시 공격을 시도했을 때, 로봇은 움직이기를 거부했고, 알람이 울렸으며, 가짜 영수증은 거부되었습니다.

큰 교훈

이 논문의 가장 중요한 교훈은 단순히 특정 칩이나 특정 해커의 기술에 관한 것이 아닙니다. 그것은 우리가 보안을 생각하는 방식에 대한 교훈입니다.

오랫동안 보안 설계자들은 메인 브레인(CPU)을 보호하면 모든 것을 보호한다고 가정해 왔습니다. 이 논문은 현대의 칩에서는 뇌가 보지 못하는 곳에서 데이터를 향해 손을 뻗는 다른 "손들"이 존재한다는 것을 증명합니다. 만약 컴퓨터의 데이터를 신뢰하고 싶다면, 단지 뇌만 감시해서는 안 됩니다. 데이터를 만질 수 있는 모든 손을 감시해야 합니다.

연구자들은 SLAPP 시스템이, 발표된 형태 그대로라면, "로봇의 손"을 잊었기 때문에 논리적 구멍이 있음을 보여주었습니다. 그들은 단순히 구멍을 찾아낸 것에 그치지 않고, 간단하고 가벼운 수정으로 어떻게 그 구멍을 메울 수 있는지 정확히 보여주었습니다. 이는 미세한 컴퓨터들의 세계에서, 가장 위험한 해커는 키보드를 두드리는 사람이 아니라, 누군가 자신의 신분증을 확인하는 것을 잊기를 기다리며 배경에서 일하는 보이지 않는 로봇일 수 있다는 점을 상기시켜 줍니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →