오실로스코프를 사용 비트코인 해킹 가능?

가상 통화 거래를 하기 위해서는, 자신이 보유하고 있는 가상 화폐를 보관 해두는 "지갑"을 가지고 있어야 한다. 이 지갑은 PC나 스마트폰, 태블릿 등에서 사용하는 소프트웨어의 것이나 하드웨어 타입도 존재하고 있다.



Bitcoin용의 하드웨어 지갑 인 "TREZOR"의 이전 펌웨어에는, 오실로스코프를 사용하여 Bitcoin 거래에 필요한 개인 키를 도난 당하는 것에 취약, 가상 통화 도용의 위험이 있다는 것이다.




프라이 부르크 대학에서 소프트웨어 공학 박사 연구원을 맡고있는 죠센 후니케 씨는, 버전 1.3.2 이하의 펌웨어를 탑재하는 TREZOR의 내부를 흐르는 전압을 분석함으로써, Bitcoin의 거래에 사용되는 비밀 키를 빼낼 수 있다고 지적하고 있다.


후니케 씨가 실제로 비밀 키를 꺼낸 방법은, TREZOR와 PC를 USB 케이블로 연결, 오실로스코프 케이블에 흐르는 전압의 파형으로 개인 키를 읽어들인다는 것. 비밀 키를 검색하는데 사용하는 오실로스코프는 시판되고 있는 저렴한 것도 문제가 없다는 것으로, 후니케 씨는 상대적으로 저렴한 Hantek6002BE를 사용하여 개인 키를 추출하는데 성공했다.



전압 측정은 USB 케이블을 통해 직접 할 수 없기 때문에, 후니케 씨는 USB 케이블에 10 오옴의 저항기(0.05 유로, 우리돈 70원)를 장착, 저항기를 흐르는 전압을 오실로스코프로 측정.




USB 케이블로 접속 된 TREZOR을 PC가 인식하면, PC 상의 소프트웨어가 "mytrezor.com"에 연결하기 위해, TREZRO 본체에 공개 키를 요구한다. 요구를 받은 TREZOR는 시드라는 값으로부터 해시 함수를 사용하여 비밀 키를 생성하고, 그 대가로되는 공개 키의 생성을 한다.



실제로 TREZOR을 기동 했을 때의 전압을 측정한 것이 위의 이미지로, 가로축은 시간(초), 세로축이 전압을 보여준다. 후니케 씨에 따르면, TREZOR는 적색 부분의 PBKDF2 알고리즘이 실행되는 시기에 비밀 키와 공개 키의 생성이 이루어진다는 것.


그러나, 오실로스코프에서 취득 한 전압의 파형은, 디스플레이 화면의 변화에 따른 영향으로 전압이 변동 해 버린다. 실제로 분석을 하려면, TREZOR 디스플레이를 벗겨버리거나 표시를 공백 표시하고 디스플레이의 전압에 혼란이 생기지 않도록 궁리해야 한다.




후니케 씨는 디스플레이 표시를 공백으로 했을 때의 TREZOR의 파형을 나타내고 있고, 이 중에는 강한 전압이 걸려있는 적색의 4개소가 존재하고 있음을 지적하고 있다. 후니케 씨에 따르면, 큰 파형 사이에있는 작은 파형의 수를 계산하는 것으로 공개 키를 계산하기 위한 수치를 알아 낼 수있다고 말한다.



후니케 씨는 분석용 테스트 프로그램을 만들고 있고, 이같은 기능을 사용하면 비밀 키를 도출 할 수있다고 한다. 그러나 후니케 씨는 실제 프로그램 자체의 공개는 실시하지 않고, 보안때문에 간이적인 논리만을 공개하고 있다.


후니케 씨는 TREZOR의 펌웨어 1.3.2 이하의 버전에서도, 암호 보호 기능을 활성화하는 것만으로 오실로스코프를 사용한 개인 키의 도난은 걱정없다고 하고, 어떤 사정으로 업그레이드 할 수 없는 상황에서는 안전하다는...


또한 펌웨어를 1.3.3 이상으로 업그레이드 한 경우, 공개 키의 계산 처리를 하기전에 PIN 인증이 필요하도록 처리가 변경되었기 때문에, TREZOR이 도난 되더라도 비밀 키의 해석이 곤란하게 되어있다. 이외에도 개인 키로 공개 키를 생성하는 과정이 "분기없이 계산"을 할 수 있도록 처리가 변경되어 있기 때문에, 전압으로 키를 읽는 것은 사실상 불가능하다고 설명하고 있다.