레이저로 칩을 '잠깐 헷갈리게' 만드는 해킹 이야기
이번엔 좀 색다른 보안 이야기예요. 라즈베리파이가 만든 'RP2350'이라는 칩을 대상으로, 한 연구자가 레이저를 쏴서 보안 장치를 우회한 과정을 공개했거든요. RP2350은 라즈베리파이 피코2 같은 소형 보드에 들어가는 두뇌 칩인데요, 라즈베리파이 쪽이 '우리 보안 자신 있다'며 공개적으로 해킹 챌린지를 열었던 바로 그 칩이에요. 이런 공개 연구는 제품의 약점을 미리 드러내서 다 같이 더 튼튼하게 만들자는 취지라, 임베디드를 다루는 분들이 꼭 알아둘 만해요.
'폴트 인젝션'이 뭐냐면
핵심 개념은 '폴트 인젝션(fault injection)', 우리말로는 '오류 주입'이에요. 이게 뭐냐면, 칩에 일부러 아주 짧은 순간 비정상적인 자극을 줘서 계산을 '삐끗'하게 만드는 기술이에요. 비유하자면 시험 감독관이 딱 0.1초 한눈판 사이에 넘기면 안 되는 페이지를 넘겨버리는 거랑 비슷해요.
칩은 부팅할 때 보통 '이 펌웨어가 진짜 정품 서명이 맞나?'를 검사하는데요, 코드로 치면 if (서명이_정상) { 실행 } else { 멈춤 } 같은 분기문이 있어요. 폴트 인젝션의 목표는 바로 이 검사 순간에 칩을 흔들어서, 서명이 틀렸는데도 'else'로 안 가고 그냥 통과해 버리게 만드는 거예요. 이 한 번의 '삐끗'으로 보호된 메모리를 읽거나 남의 코드를 실행시킬 틈이 열리는 거죠.
왜 하필 레이저일까
오류를 주입하는 방법은 여러 가지예요. 전원 전압을 순간 떨어뜨리거나 클럭 신호를 비트는 방식이 흔한데요, 그중에서도 레이저는 가장 정밀한 축에 들어요. 칩 포장을 살짝 벗겨내고(디캡) 특정 위치에 빛을 쏘면 그 자리에 전하가 생기면서 특정 비트(0과 1) 하나를 원하는 순간에 뒤집을 수 있거든요. '어디를, 언제' 건드릴지 콕 집을 수 있다는 게 레이저의 무서운 점이에요.
문제는 이런 레이저 장비가 보통 수천만 원에서 억대라는 거예요. 그런데 이번 글의 제목이 'on a budget', 즉 '저예산'인 이유는, 연구자가 값싼 부품들을 조합해서 이 공격을 직접 구현해 냈기 때문이에요. '비싼 전용 장비가 있어야만 가능한 공격이니 괜찮아'라고 안심할 수 없게 된 거죠.
이게 주는 교훈
여기서 중요한 메시지가 하나 나와요. '칩을 물리적으로 손에 쥔 공격자 앞에서는 완벽한 보안이란 없다'는 거예요. 소프트웨어 암호가 아무리 강해도, 하드웨어가 검사하는 그 '순간'을 물리적으로 흔들 수 있으면 우회가 가능하니까요. 그래서 하드웨어 보안 설계에서는 중요한 검사를 한 번만 하지 않고 여러 번 반복해서 확인하거나, 비정상적인 빛·전압을 감지하는 센서를 넣거나, 검사 결과를 이중으로 대조하는 식의 방어를 겹겹이 쌓아요. 공격을 '완전히 막는다'기보다 '훨씬 어렵고 비싸게 만든다'가 현실적인 목표인 셈이죠.
한국 개발자에게
IoT 기기나 하드웨어 제품을 만드는 분들께 특히 와닿는 이야기예요. 요즘 스마트 도어락, 결제 단말기, 전기차 부품처럼 '물리적으로 남의 손에 들어갈 수 있는' 기기가 정말 많잖아요. 이런 제품을 만든다면 '공격자가 기기를 분해해서 칩을 직접 공격할 수 있다'는 전제를 깔고 설계해야 해요. 반대로 웹·서버 개발자에게도 '내가 믿는 그 검증 한 줄이, 환경에 따라 건너뛰어질 수 있다'는 방어적 사고방식은 두루 쓸모가 있어요.
한 줄 정리하면, 저렴한 장비로도 칩의 보안 검사를 순간적으로 속일 수 있다는 걸 보여준 연구예요. 여러분은 '물리적으로 탈취당할 수 있는 기기'의 보안을 어디까지 고민해 보셨나요?
🔗 출처: Hacker News