사이버 보안

Trezor 및 Ledger 하드웨어 지갑에서 발견된 취약점

컨퍼런스에서 Chaos Communication Congress는 보고서를 발표했습니다 , Trezor와 Ledger 하드웨어 지갑의 문제점에 관한 내용입니다. 연구의 저자는 Dmitry Nedospasov, Thomas Roth, Josh Datko입니다. 이들은 지갑에서 여러 보안 침해 사례를 동시에 발견했습니다: 제3의 채널을 통한 공격, 공급망 공격, 펌웨어 및 칩 수준의 취약점입니다.

이러한 장치를 제조하는 많은 업체들은 제품과 포장에 보안 스티커를 부착하여 포장이나 장치 자체가 열리지 않았음을 표시합니다. 전문가들은 간단한 시연으로 발표를 시작했습니다. 일반 헤어드라이어를 사용하여 Trezor One 상자와 지갑의 USB 포트에 붙어 있던 스티커를 흔적 없이 제거했습니다. 핵심은 온도를 주의 깊게 관찰하고 스티커와 액세서리를 과도하게 가열하지 않는 것입니다.

원장 장치는 보안 라벨 없이 출하되는데, 이는 장치가 켜질 때마다 무결성 검사가 수행되며 Secure Element 칩이 물리적 개입 시도를 효과적으로 차단한다는 것을 보장하기 때문입니다. 따라서 전문가들은 Trezor의 스티커를 제거한 뒤 Ledger로 눈을 돌려 지갑을 “열었고” 내부 하드웨어 구성 요소에 접근할 수 있었습니다.

그다음, 전문가들은 Trezor 지갑에서 마이크로컨트롤러를 교체할 수 있다고 말했습니다. “이 작업이 완료되면, 손상된 부트로더를 Trezor 기기에 설치할 수 있습니다”라고 Datko는 설명합니다. 발표 중에 전문가들은 이 단계를 언급하지 못했지만, 참가자들에게 실험실에서 하드웨어 디버거에 연결하여 칩에 무료로 접근하는 데 성공했고, 이를 통해 악성 코드를 사용해 구성 요소를 다시 플래시할 수 있었다고 설명했습니다.

Ledger 지갑은 차례로 사용자 개입 없이 거래를 승인할 수 있는 가장 단순한 하드웨어 임플란트가 장착되어 있었습니다. 전문가들은 이에 3.16달러만 썼습니다. 그들은 장치에 RF 스위치를 설치했는데, 이는 무선 주파수를 사용하여 원격으로 제어할 수 있습니다(50W 송신기로 최소 11미터 거리에서 가능).

지갑의 소프트웨어 구성 요소와 관련하여, 연구원들은 Ledger Nano S의 펌웨어 업데이트 메커니즘을 역분석하고, 장치에 사용자 정의 펌웨어를 기록할 수 있는 버그를 찾아내는 데 성공했습니다. 제조사는 이러한 공격에 대한 보호 기능을 제공했습니다. 펌웨어 이미지의 진위성은 암호화 함수를 사용하여 검증됩니다. 그러나 테스트가 완료되면 상수 0xF00BABE가 메모리에 기록되며, 테스트는 장치가 부팅될 때마다가 아니라 단 한 번만 수행됩니다. 결과적으로 연구원들은 보호 메커니즘을 우회하려면 메모리 주소 0xF00BABE를 특정 위치에 놓기만 하면 된다는 결론에 도달했습니다. 이를 완료한 후, 그들은 손상된 장치에서 «Snake» 게임을 실행할 수 있었으며, 지갑의 작은 디스플레이에서 움직임을 제어하기 위해 사용 가능한 두 개의 버튼을 사용했습니다.

Ledger Blue에서는 부채널 공격(사이드 채널 공격)을 수행하는 것이 가능했습니다. Thomas Roth는 기기의 하드웨어를 연구하던 중 이 지갑에 안테나처럼 작동하는 긴 도체가 있다는 것을 발견했습니다. 기기가 USB 케이블에 연결되면 신호가 증폭됩니다. SDR 장비를 사용해 전문가들은 이러한 무선 신호를 가로채고 분석했습니다. 이에 Roth는 PIN 코드를 입력할 때 신호를 자동으로 기록하고, 인공지능 모델을 이용해 이 데이터를 사람이 읽을 수 있는 정보로 변환하는 프레임워크를 개발했습니다. 그 결과 전문가들은 이러한 “예측”의 정확도를 90%까지 끌어올리는 데 성공했습니다.

Trezor One 지갑에서도 또 다른 문제가 드러났습니다. 이 지갑은 STM32F205 마이크로컨트롤러로 작동하며, 이 칩이 기본적으로 모든 구성 요소의 작동을 제어합니다. 사실 2017년에 이 모델의 마이크로컨트롤러에서 결함 주입(fault injection) 공격에 앞서 나타나는 취약점이 발견되었습니다. 작년에 전문가들은 이 문제가 하드웨어 지갑 전반에 해당하는지 알지 못했지만, CCC의 전문가들은 다운로드 및 업데이트 절차를 분석한 결과 개인 키 또는 기본 키가 RAM에서 추출될 수 있음을 발견했다고 밝혔습니다. 이러한 공격을 통해 공격자는 암호화폐에 접근할 수 있게 되고, 자금을 다른 지갑으로 이체할 수도 있습니다.

제조사들은 전문가 보고서 발표에 이미 응답했습니다. Ledger 개발자들은 Ledger 를 통해 시연된 모든 공격은 실행하기 어렵고 기기에 대한 물리적 접근이 필요하며, 이러한 침해는 실제로 구현하기 어렵기 때문에 일반 사용자는 걱정할 이유가 없다고 밝혔습니다.

Trezor 개발자들도 이에 대해 이미 보안 패치를 준비하고 있다고 밝혔습니다. 다만 이러한 공격은 기기에 물리적으로 접근해야만 실행할 수 있다는 점도 강조했습니다.

귀하의 리뷰