애플 M1의 민낯, MIT가 만든 OS가 들췄다

보안 연구자들은 오랫동안 묘한 풍경 속에서 일해왔습니다. 칩 속을 들여다보려고 macOS나 Linux 같은, 애초에 이런 관찰용으로 설계되지도 않은 운영체제를 켜놓고, 커널을 손으로 뜯어고친 뒤 그 수정이 무너지지 않기를 기도하는 식이었죠. 현미경 대신 돋보기 하나로 세포를 보겠다고 덤비는 셈입니다. 그런데 MIT의 한 박사과정 학생이 이 풍경 자체를 뒤집어 버렸습니다. 그가 직접 만든 운영체제는 애플 실리콘이 그동안 […]

본문 상단 광고 구역 (승인 후 자동 노출됩니다)

보안 연구자들은 오랫동안 묘한 풍경 속에서 일해왔습니다. 칩 속을 들여다보려고 macOS나 Linux 같은, 애초에 이런 관찰용으로 설계되지도 않은 운영체제를 켜놓고, 커널을 손으로 뜯어고친 뒤 그 수정이 무너지지 않기를 기도하는 식이었죠. 현미경 대신 돋보기 하나로 세포를 보겠다고 덤비는 셈입니다. 그런데 MIT의 한 박사과정 학생이 이 풍경 자체를 뒤집어 버렸습니다. 그가 직접 만든 운영체제는 애플 실리콘이 그동안 숨겨온 행동을, 칩 설계자조차 의도하지 않았을 동작까지 끄집어냈습니다.

관찰 도구가 바뀌면, 보이는 것이 바뀐다

이번 이야기의 주인공은 MIT CSAIL(컴퓨터과학·인공지능연구소)이 만든 ‘Fractal’이라는 운영체제 커널입니다. 커널이라고 하면 낯설게 들리지만, 비유하자면 운영체제라는 건물의 가장 깊은 곳에서 하드웨어와 직접 대화하는 관리실 같은 존재입니다. 보통의 운영체제는 이 관리실이 수많은 일을 동시에 처리하느라 늘 분주하죠. 문제는 칩을 연구하려는 사람 입장에서, 그 분주함이 전부 ‘잡음’이 된다는 점입니다.

프로젝트를 이끈 MIT 전기공학·컴퓨터과학과 박사과정생 Joseph Ravichandran은 이 차이를 도구의 차이로 설명합니다.

“돋보기를 들고 있으면 조금은 보입니다. 하지만 전자현미경이 있다면, 그때야 비로소 제대로 이야기할 수 있죠. Fractal이 바로 그겁니다. 운영체제계의 전자현미경입니다.”

— Joseph Ravichandran, MIT CSAIL, MIT News 인터뷰

이 비유가 단순한 자랑이 아니라는 점이 핵심입니다. 기존 방식의 한계는 구조적이었습니다. 현대 프로세서는 분기 예측기, 캐시, 변환 색인 버퍼 같은 내부 구조물 안에 끊임없이 상태를 쌓아둡니다. 연구자가 이걸 관찰하려면 사용자 코드 영역과 커널 영역, 즉 칩이 서로 격리하기로 약속한 두 세계에서 거의 똑같은 실험을 반복해야 합니다. 그런데 macOS나 Linux 위에서 측정하면 인터럽트, 스케줄러의 움직임, 주소 공간 관리 같은 운영체제 자신의 활동이 측정값마다 끼어들어 신호를 흐려놓습니다.

Fractal은 발상을 거꾸로 뒤집었습니다. 다른 소프트웨어가 일절 돌지 않는 맨바닥, 이른바 베어메탈 상태에서 곧장 부팅됩니다. 비유하자면 잡음 가득한 도심 한복판이 아니라 소리 하나 없는 무향실에서 측정을 시작하는 셈입니다. 그 결과 macOS에서라면 들쭉날쭉했을 측정값이, Fractal에서는 평평한 기준선과 깨끗한 신호로 나타났습니다. 실제로 외부 연구자들 사이에서도 이 ‘깨끗함’을 가장 큰 기여로 꼽는 반응이 나옵니다. 이 논문에 참여하지 않은 서던캘리포니아대학교(USC) 조교수 Mengyuan Li는 Fractal이 임시방편식으로 진행되던 마이크로아키텍처 역설계 작업을 재사용 가능한 연구 인프라로 바꿔놓았다고 평가했습니다.

M1에서 무엇이 드러났나, 그리고 무엇이 뒤집혔나

Fractal의 첫 대형 실험 대상은 애플 M1 프로세서의 분기 예측기였습니다. 분기 예측기란 CPU가 다음에 어떤 코드를 실행할지 확실히 알기 전에 미리 추측해 실행해두는 장치입니다. 쉽게 말하면, 갈림길 앞에서 신호가 바뀌길 기다리지 않고 “아마 왼쪽이겠지” 하며 미리 출발해버리는 성급한 운전자에 가깝습니다. 빠르긴 한데, 그 추측을 누군가 엿보거나 조종할 수 있다면 Spectre, Meltdown 같은 공격의 통로가 되죠.

애플 M1은 ARM이 정의한 CSV2라는 사양을 구현해, 한 권한 수준의 코드가 다른 권한 수준의 추측을 조종하지 못하도록 막습니다. Fractal로 확인해보니 이 보호는 ‘실행’ 단계에서는 분명히 작동했습니다. 사용자 모드 프로그램이 커널을 속여 원하는 목표를 추측 실행하게 만드는 일은 막혀 있었죠. 여기까지는 애플의 방어가 약속을 지킨 셈입니다.

문제는 그다음입니다. 보호 장치가 작동하기 ‘전에’ CPU는 이미 해당 목표를 명령어 캐시로 가져와 버린다는 사실이 관찰됐습니다. 그리고 이 가져오기 동작은 사이드 채널을 통해 바깥에서 들여다볼 수 있습니다. 비유하자면, 금고 문은 굳게 잠겨 있는데 그 앞에 어떤 서류가 놓였는지는 창문 너머로 보이는 상황입니다. 사용자 코드가 권한 경계를 넘어 커널이 무엇을 캐시로 끌어오는지에 영향을 줄 수 있다는 뜻이고, 서로 다른 주소 공간 식별자를 가진 프로세스 사이에서도 같은 패턴이 나타났습니다.

더 흥미로운 건 ‘Phantom’이라 불리는 현상입니다. Phantom 추측은 분기도 아닌 평범한 명령어, 심지어 아무 일도 하지 않는 no-op까지 CPU가 제멋대로 분기로 착각해 추측 동작을 일으키는 오작동입니다. 그동안 이건 AMD와 인텔 칩에서만 입증됐는데, Fractal은 애플 실리콘에서도 Phantom 가져오기가 두 권한 수준과 주소 공간을 가로질러 성공한다는 첫 증거를 내놨습니다. 다만 정직하게 짚자면, 가져오기는 일어나도 잘못 추측된 명령어가 실제로 ‘실행’되지는 않았습니다. 그래서 완전한 Spectre 공격에 비하면 당장의 실질적 위험은 제한적이라고 보고되었습니다.

이 대목에서 Fractal의 진가가 한 번 더 드러납니다. 과거 M1의 조건부 분기 예측기를 다룬 연구는 “고성능 코어에서는 권한 간 학습이 통하지만 효율 코어에서는 통하지 않는다”고 보고한 바 있습니다. 그런데 Fractal은 조건부 분기 예측기에 애초에 권한 격리가 전혀 없으며, 두 코어 유형 모두 마찬가지라는 결과를 내놨습니다. 앞선 연구의 결론은 macOS가 시스템 호출 도중 스레드를 코어 사이로 슬그머니 옮긴 탓에 생긴 착시였던 것으로 보입니다. Ravichandran의 표현이 인상적입니다.

“우리에게 권한 수준은 진짜 독립 변수입니다. 권한 수준만 바꾸고 다른 건 아무것도 바뀌지 않죠. 공격이 성공하느냐 마느냐를 설명할 수 있는 유일한 요인이 바로 권한 수준입니다.”

— Joseph Ravichandran, MIT News 인터뷰

관찰 도구 하나가 바뀌자, 학계가 수년간 믿어온 결론이 뒤집힌 셈입니다. MIT 팀은 M1 관련 발견을 애플 제품 보안팀에 공유했고, 이례적으로 애플 엔지니어들 역시 Fractal을 직접 살펴봤습니다. 공격 도구를 만든 쪽과 칩을 만든 쪽이 같은 현미경을 들여다본 장면인 셈이죠.

결론 및 마무리

Fractal에서 가장 오래 살아남을 가치는 어쩌면 M1 결함 그 자체가 아닙니다. Ravichandran과 지도교수인 MIT EECS 부교수 Mengjia Yan이 진짜로 노린 건 일회성 발견이 아니라 도구입니다. Fractal은 x86_64, ARM64, RISC-V를 지원하고 3만 1천 줄이 넘는 코드로 이뤄졌으며, 익숙한 POSIX 시스템 호출과 C 라이브러리, 그리고 vim·GCC·dash 셸 같은 표준 도구의 이식판까지 갖췄습니다. 연구자가 기존 실험 코드를 큰 마찰 없이 옮겨올 수 있게 한 것입니다.

이 지점에서 한 가지 전망을 던져볼 수 있습니다. 그동안 마이크로아키텍처 보안 연구는 각자의 누더기 환경 위에서, 서로 재현하기 어려운 결과를 쏟아내는 분야였습니다. 만약 Fractal이 목표대로 QEMU나 FFmpeg처럼 모두가 함께 딛고 서는 공용 기반이 된다면, 칩 보안 연구의 신뢰도 자체가 한 단계 올라설 수밖에 없습니다. ‘내 환경에서는 됐는데’라는 변명이 통하지 않는 세계가 열리는 것이죠.

주목할 만한 건 이 모든 것이 닫힌 실험실 안에 머물지 않는다는 점입니다. Fractal은 MIT 라이선스 아래 오픈소스로 공개됐고, 커널은 GitHub에, 전체 실험 환경은 Zenodo에 올라와 있습니다. 미국 국립과학재단(NSF)과 공군 과학연구실, DARPA(미국 국방고등연구계획국)가 지원한 연구가, 이제 누구나 내려받아 자기 칩을 들여다볼 수 있는 도구로 풀린 셈입니다. 연구진은 이 성과를 샌프란시스코에서 열린 IEEE 보안·프라이버시 심포지엄에서 발표했습니다.

결국 이번 사건이 남긴 진짜 메시지는 명확합니다. 하드웨어의 비밀은 칩이 특별히 약해서가 아니라, 우리가 그것을 제대로 볼 도구가 없어서 가려져 있었습니다. 더 좋은 현미경이 손에 들어오는 순간, 안전하다고 믿었던 영역에서 새로운 질문이 쏟아지는 건 이제 시작일 수밖에 없습니다.

본문 하단 광고 구역