Ledger 지갑에 스파이 칩이 있다면? ‘오프라인 보관’의 숨은 전제
핵심 요약
- 하드웨어 지갑은 거래에 서명하는 개인키를 기기 안에서 보호하도록 설계됩니다.
- 악성 칩의 위험은 어떤 정보를 읽고 어떤 동작을 바꿀 수 있는지에 따라 달라집니다.
- 개인키가 유출되지 않아도 사용자가 의도하지 않은 거래에 서명하면 자산이 위험해질 수 있습니다.
- 오프라인 보관은 네트워크를 통한 공격 가능성을 줄이지만, 기기 자체의 신뢰까지 보장하지는 않습니다.
암호자산을 직접 보관하려는 사람에게 하드웨어 지갑은 든든한 금고처럼 느껴집니다. 그런데 누군가 Ledger 같은 하드웨어 지갑 안에 악성 칩을 넣었다고 가정해 보겠습니다. 이때는 ‘인터넷에 연결됐는가’와 함께 ‘내가 손에 쥔 기기를 어디까지 믿을 수 있는가’도 따져봐야 합니다.
지갑이 보호하는 것은 거래에 서명할 열쇠입니다
하드웨어 지갑을 이해하려면 먼저 개인키가 무엇인지 알아야 합니다. 개인키는 암호자산을 움직이는 거래에 서명할 때 쓰는 비밀 정보입니다. 코인의 소유와 이동 기록은 블록체인에 남고, 지갑은 그 자산을 통제할 열쇠를 관리합니다.
하드웨어 지갑은 개인키를 기기 안에 두고, 필요한 서명 작업도 내부에서 처리하도록 만듭니다. 개인키를 연결된 컴퓨터에 직접 맡기는 일을 줄이기 위해서입니다.
그래서 ‘오프라인 보관’을 인터넷과 영원히 접촉하지 않는다는 뜻으로만 이해하면 중요한 부분을 놓칩니다. 거래를 만들고 블록체인에 전달하려면 외부와 정보를 주고받아야 합니다. 제품마다 연결 방식은 달라도, 이 과정에서 개인키를 보호하는 것이 핵심입니다.
그런데 개인키를 보호해야 할 기기 자체가 변조됐다면 문제가 달라집니다.
스파이 칩이 무엇에 접근할 수 있는지 따져야 합니다
‘지갑에 스파이 칩이 들어갔다’는 말만으로 곧바로 자산을 탈취할 수 있다고 결론 내릴 수는 없습니다. 칩이 어디에 연결됐고 무엇을 할 수 있는지부터 확인해야 합니다.
예를 들어 외부와 주고받는 통신을 관찰하는 칩이 있다고 해보겠습니다. 이 칩이 오가는 데이터를 볼 수 있더라도, 그 경로로 개인키가 오가지 않는다면 통신을 지켜보는 것만으로 개인키를 얻는다고 단정할 수 없습니다.
반면 칩이 사용자의 입력을 읽거나 기기의 동작에 개입할 수 있다면 위협도 달라집니다. 이때도 입력을 읽는 것과 거래 내용을 바꾸는 것은 구분해야 합니다. 어느 한쪽이 가능하다고 해서 다른 쪽도 가능하다는 뜻은 아닙니다.
공격이 얼마나 위험한지 판단하려면 다음 질문에 답할 수 있어야 합니다.
- 칩이 읽을 수 있는 정보는 무엇인가?
- 칩이 바꿀 수 있는 동작은 무엇인가?
- 그 능력이 어떻게 자산 이동으로 이어지는가?
특정 Ledger 모델에서 이런 접근이 실제로 가능한지는 해당 기기의 구조와 공격 실증을 보고 판단해야 합니다. 부품이 추가됐다는 사실만으로 탈취가 입증됐다는 사실까지 설명할 수는 없습니다. 그 부품이 어떻게 탈취를 가능하게 하는지 밝혀야 합니다.
개인키가 안전해도 거래를 잘못 승인할 수 있습니다
하드웨어 지갑의 보안을 개인키가 유출됐는지만으로 판단하면 또 다른 위험을 놓칩니다. 사용자가 의도하지 않은 거래에 서명할 위험도 있기 때문입니다.
가령 사용자는 친구에게 자산을 보내려는데, 공격자는 수신 주소를 자신의 주소로 바꾸려 한다고 해보겠습니다. 공격자가 노리는 것이 꼭 개인키일 필요는 없습니다. 기기의 정상적인 서명 기능으로 자신이 원하는 거래를 승인하게 만들면 됩니다.
따라서 화면에 보이는 내용과 실제로 서명하는 내용이 같아야 합니다. 사용자가 주소와 금액을 확인하는 것도 둘이 일치할 때 의미가 있습니다.
어떤 물리 공격으로 화면에 표시되는 내용이나 승인 과정까지 바꿀 수 있다면, 정보가 새어나가는 것보다 문제가 커집니다. 다만 악성 칩이 있다는 이유만으로 이런 조작까지 가능하다고 볼 수는 없습니다. 화면을 조작할 수 있는지, 서명 과정에 개입할 수 있는지도 각각 입증해야 합니다.
지갑이 지켜야 할 것은 두 가지입니다. 개인키를 보호하는 것에 더해, 사용자가 확인한 거래에 서명하도록 해야 합니다.
오프라인 보관에는 기기를 믿는다는 전제가 있습니다
오프라인으로 보관하면 공격자가 네트워크를 통해 접근할 기회를 줄일 수 있습니다. 하지만 이미 기기 안에 들어온 악성 부품까지 없애주지는 않습니다.
금고를 떠올리면 이 차이를 이해하기 쉽습니다. 외부인이 드나들기 어려운 방에 금고를 두면 접근을 막는 데 도움이 됩니다. 다만 금고의 잠금장치 자체가 변조됐다면, 방에 누가 드나드는지 통제하는 것만으로는 해결할 수 없습니다.
하드웨어 지갑도 마찬가지입니다. 제조·배송·보관 과정에서 기기가 변조될 가능성은 네트워크 연결 여부와 별도로 살펴야 합니다. 그래서 물리 보안과 공급망 보안도 중요합니다. 공급망 보안은 제품이 만들어져 사용자에게 도착하기까지의 경로를 보호하는 일입니다.
저는 ‘오프라인이니까 안전하다’는 설명에서 가장 놓치기 쉬운 부분이 이 전제라고 봅니다. 기기 밖의 위험을 줄이도록 설계하는 것과 함께, 기기 자체를 믿을 수 있는 근거도 있어야 합니다.
하드웨어 지갑은 개인키를 보호하고 거래 승인을 통제하기 때문에 가치가 있습니다. 악성 칩이 들어갔다고 가정해 보면, 이 역할을 해내려면 기기 내부와 사용자가 거래를 확인하는 과정까지 믿을 수 있어야 한다는 점이 드러납니다. 지갑의 승인 버튼을 누를 때 사용자는 화면에 나온 주소를 확인하면서, 기기도 그 주소대로 서명하리라 믿습니다.
댓글
댓글을 불러오는 중...