출처: 유학생 아저씨
2022년, 스페인의 한 남성 마이클(Michael)이 난제에 시달리고 있었습니다.
2013년 당시 비트코인이 크게 주목받지 않았을 때, 그는 총 5,300달러로 43개의 비트코인을 구매했습니다.
이후 그는 이 비트코인을 전자지갑에 보관했고, 도난 방지를 위해 20자리 무작위 비밀번호를 생성했습니다.
마이클은 같은 소프트웨어로 비밀번호를 저장하는 것이 안전하지 않다고 생각했습니다. 해커에게 해독되거나 컴퓨터를 분실하면 비밀번호가 노출될 수 있기 때문입니다.
그래서 그는 이 긴 비밀번호를 다른 문서에 따로 저장했고, 그 문서에 다시 비밀번호를 설정해 암호화했습니다.
이렇게 여러 단계의 암호화를 거친 마이클은 자신의 비트코인 계정이 완벽히 안전하다고 생각했고, 비트코인 가격이 오르기만을 기다렸습니다.
그러나 마이클의 계획은 자신의 실수로 무너졌습니다. 비밀번호가 저장된 암호화 문서가 갑자기 손상되어 열 수 없게 되었고, 20자리 비밀번호를 복사할 수 없게 되었습니다.
동시에 그는 비트코인 가격이 과거 123달러에서 3만 달러 이상으로 상승하는 것을 지켜봐야 했습니다.
「나는 이 재산을 가지고 있지만, 비밀번호가 없어서 사용할 수 없습니다.」
지난 수년간 마이클은 다양한 암호 해독 전문가를 찾아 당시 소프트웨어가 생성한 무작위 비밀번호를 찾으려 노력했습니다.
하지만 수많은 사이버 보안 전문가들은 마이클에게 20자리 무작위 비밀번호는 절대 찾을 수 없다고 말했습니다.
이 소식을 듣고 마이클은 자신의 평생 이 거액의 재산을 받을 수 없을 것이라고 생각했습니다.
그러던 중 2022년, 마이클은 온라인에서 유명한 하드웨어 해커 조(Joe Grand)를 알게 되어 그에게 도움을 요청했습니다.
조는 세계적으로 유명한 하드웨어 해커이자 전기 기술자, 발명가로, 10살 때부터 해킹 활동을 해왔습니다.
그는 주류에서도 인정받아 시스템 개발자들에게 자신과 같은 해커들로부터 어떻게 시스템을 보호해야 하는지 조언을 제공하고 있습니다.
또한 그는 두 명의 익명의 사람들이 잃어버린 암호화폐 비밀번호를 찾는 데 도움을 준 경험이 있습니다.
한 번은 비밀번호가 저장된 USB 드라이브가 호수에 빠졌는데, 잠수부가 드라이브를 건져올린 후 그가 물리적 방법으로 드라이브 기능을 복구해 비밀번호를 찾을 수 있게 했습니다.
다른 한 번은 한 가족의 아들이 예기치 않게 사망하면서 비트코인 비밀번호가 그의 할머니 이름과 관련되어 있다는 단서를 얻어, 그가 수백만 개의 조합을 '무차별 대입' 방식으로 시도해 비밀번호를 찾아냈습니다.
2022년, 마이클이 조에게 도움을 요청했지만 조는 처음에 거절했습니다.
이는 조가 하드웨어 해킹에 전문적이지만, 소프트웨어 생성 비밀번호 찾기는 자신의 전문 분야가 아니었기 때문입니다. 또한 암호화폐 비밀번호 찾기도 그의 주된 관심사가 아니었습니다.
그러나 작년 여름, 마이클이 다시 찾아왔을 때 조는 시도해보기로 했습니다.
이번에는 조의 독일 동료 소프트웨어 해커 브루노(Bruno)가 마이클의 비밀번호를 찾을 수 있는 방법을 제안했기 때문입니다. 브루노는 소프트웨어 취약점 분야에 전문가였고, 조와 마찬가지로 어릴 때부터 시스템과 소프트웨어의 보안 허점을 찾는 데 관심이 많았습니다.
브루노는 종종 사람들이 잃어버린 암호화폐 비밀번호를 찾는 일을 받지만, 마이클의 경우처럼 20자리 무작위 비밀번호를 찾는 것은 처음 겪는 일이었습니다.
그는 조에게 그들이 이 문제를 해결할 수 있는 방법이 있다고 제안했고, 두 천재 해커 모두 이 어려운 과제에 큰 관심을 가지게 되었습니다.
조는 유럽으로 날아가 브루노와 마이클을 만났습니다.
마이클은 당시 '로보폼(RoboForm)'이라는 소프트웨어를 사용해 무작위 비밀번호를 생성했는데, 이 소프트웨어는 세계 최초의 무작위 비밀번호 생성기로 지금도 사용되고 있습니다.
조와 브루노는 이 소프트웨어를 테스트해 보았고, 매 순간 완전히 다른 비밀번호를 생성한다는 것을 확인했습니다.
이들에게 마이클의 당시 비밀번호를 찾는 것은 마치 '바늘을 찾는 것'과 같은 어려운 과제였습니다.
「우리가 모든 가능한 비밀번호 조합을 시도해야 한다면, 이는 전 세계 물방울 수의 100조 배에 해당합니다.
만약 우리가 한 개의 비밀번호를 물방울에 비유한다면, 그 물방울은 강바닥을 흐르거나 하늘에서 떨어질 수 있고, 세계 어느 바다에 있을 수 있습니다.
만약 우리가 이 상황을 어떤 식으로든 줄일 수 있다면, 극복할 수 없는 문제를 우리가 성공할 수 있는 일로 바꿀 수 있습니다.」
두 사람은 로보폼의 작동 원리를 이해한 후, 시간 순서에 따라 검색 범위를 좁힐 수 있는 단서를 찾기 시작했습니다.
그들은 곧 소프트웨어의 버전 설명 타임라인에서 2015년 버전 업데이트 설명에 이상한 점이 있다는 것을 알아챘습니다: "우리는 비밀번호 생성의 무작위성을 높였습니다." 이 문장은 두 명의 천재 해커들에게 의심을 불러일으켰습니다: 무작위성을 높였다고? 이는 2015년 이전 버전의 비밀번호가 그렇게 무작위적이지 않았다는 것을 의미하는 것일까요? 조와 브루노는 컴퓨터 소프트웨어와 하드웨어 전문가로서 실제로 컴퓨터가 완전히 무작위의 숫자를 지속적으로 생성하는 것은 매우 어려운 일이라는 것을 알고 있었습니다. 많은 무작위 숫자들은 여전히 특정 참조 매개변수와 관련이 있습니다: "만약 우리가 이런 '무작위성'을 조작할 수 있다면, 우리는 예측 가능한 출력을 얻을 수 있고, 마이클의 지갑 비밀번호를 해킹하는 데 사용할 수 있을 것입니다." 하지만 이제는 2023년이 되었습니다. 어떻게 하면 마이클이 비밀번호를 만든 10년 전으로 돌아갈 수 있을까요? 이때 두 사람의 전문성이 드러났습니다: 그들은 소프트웨어를 역공학하여 2013년 버전으로 되돌렸을 뿐만 아니라, 시스템 데이터를 조작하여 소프트웨어가 2013년 사용자 명령을 실행하고 있다고 믿게 했습니다: "우리는 시스템을 속여 2013년으로 돌아갈 수 있고, 마이클이 비밀번호를 생성했던 시간 창에서 비밀번호를 생성하고 있다고 믿게 할 수 있습니다." 10년 전으로 돌아가 미국 국가안보국에서도 사용하는 소프트웨어 도구를 사용하여 과거의 비밀번호 생성 패턴을 파악하려 했습니다: "이 소프트웨어는 러시아 마트료시카 인형 같습니다. 우리의 목표는 중간에 있는 비밀번호 생성 인형입니다." 계산과 테스트를 통해 두 사람은 기쁘게도 당시의 무작위 비밀번호 생성에 규칙이 있다는 것을 발견했습니다. 그 규칙은 바로 시스템 시간이었습니다! 2013년 이 소프트웨어는 사용자가 비밀번호를 생성한 시간에 따라 엄격하게 연결된 '가짜 무작위 비밀번호'를 생성했다는 것이 밝혀졌습니다. 각 시간대의 비밀번호는 생성 시간과 직접 관련이 있었습니다. 마이클이 비트코인 비밀번호를 생성한 날짜와 대략적인 시간을 알면 한정된 수의 비밀번호만 계산하면 되므로, 조와 브루노는 매우 들뜬 상태였습니다. 그러나 마이클은 10년 전 자신이 어느 달 어느 날 이 소프트웨어를 열어 비트코인 비밀번호를 생성했는지 기억하지 못했습니다. 조와 브루노는 포기하지 않고 계속 인내심 있게 조사했습니다. 그들은 마이클이 비트코인을 전자 지갑에 저장한 시간을 찾아냈습니다: 2013년 4월. 따라서 마이클이 비밀번호를 생성했을 것으로 추정되는 기간은 그 해 3월부터 4월 말까지였습니다. 조와 브루노는 밤을 새워 토론하고 계산했지만, 결과는 실망스러웠습니다. 마이클의 비트코인 계정을 열 수 있는 비밀번호를 찾지 못했습니다. 결국 두 사람은 다시 마이클에게 연락하여 정확한 날짜를 다시 한 번 기억해내도록 요청했습니다. 하지만 10년 전의 일을 누가 그렇게 정확히 기억할 수 있겠습니까? 그러나 브루노는 이번에 마이클에게 그가 당시 이 소프트웨어로 만든 다른 비밀번호들을 보내달라고 요청했습니다. 조와 브루노는 마이클이 같은 소프트웨어로 만든 다른 비밀번호에서 단서를 찾을 수 있을 것이라 희망했습니다. 두 사람은 마이클의 다른 두 개의 비밀번호에 특수 문자(¥, &, 등)가 포함되어 있지 않다는 것을 발견했습니다. 특수 문자의 포함 여부는 사용자가 직접 설정할 수 있는 옵션이었습니다. 조와 브루노는 희망을 품고 검색 범위에서 특수 문자 옵션을 제외하고 검색 기간을 2013년 6월 1일까지 연장했습니다. 그리고 평범한 새벽 시간, 브루노의 컴퓨터 화면에 특정한 숫자와 문자로 이루어진 문자열이 나타났습니다. 소프트웨어 전문가인 브루노조차 예상하지 못했던 유일한 결과가 컴퓨터 화면에 나타난 것입니다! 이 결과는 마이클이 2013년 5월 15일 오후 4시 10분 40초에 이 비밀번호를 생성했다는 것을 보여주었습니다. 작년 11월, 조와 브루노는 이 놀라운 소식을 마이클에게 숨겼습니다. 그들은 마이클에게 160만 달러의 거금을 주는 거대한 거품 보드를 만들어 비행기로 바르셀로나에 보냈습니다. 그리고 마이클이 카메라 앞에서 자신의 거대한 재산을 잃어버린 이야기를 하고 있을 때, 조와 브루노가 갑자기 나타나 메달을 보여주며 이 기쁜 소식을 알려주었습니다. 세 사람 모두 기쁨을 감추지 못했습니다. 5개월의 노력 끝에 조와 브루노는 불가능해 보였던 일을 100% 성공시켰습니다. 보답으로 조와 브루노는 비밀번호 해독에 성공한 후 마이클의 비트코인 계정에서 일정 비율의 비트코인을 받았습니다. 작년 11월 마이클의 비트코인은 10년 전 5,300달러에서 160만 달러로 상승했습니다. 조와 브루노는 이 전체 과정을 짧고 훌륭한 다큐멘터리로 제작했고, 올해 5월 다큐멘터리 방영 시점에는 160만 달러가 300만 달러로 증가했습니다. 작년 말, 마이클은 일부 코인을 팔아 은인들에게 나누어주었고, 자신은 30개의 코인을 보유하고 있습니다. 그는 비트코인이 10만 달러/코인이 될 때까지 기다릴 계획입니다. 마지막으로 마이클은 조와 브루노에게 감사할 뿐만 아니라, 자신의 "현명함이 오히려 현명함을 해친" 과거 행동에도 감사했습니다: "비밀번호를 잃어버리지 않았다면 아마 10년은 기다리지 않았을 것입니다. 그 전에 이미 팔아버렸을 수도 있었겠죠."두 명의 천재 해커들이 열심히 도와주지 않았다면, 그리고 소프트웨어에 큰 시스템 취약점이 있지 않았다면, 마이클의 비밀번호는 이미 태평양으로 날아갔을 것입니다.
그가 기억력을 기르길 바랍니다...
Ref:
https://english.elpais.com/technology/2024-08-14/i-hacked-time-to-recover-3-million-from-a-bitcoin-software-wallet.html
https://www.wired.com/story/roboform-password-3-million-dollar-crypto-wallet/
https://www.forbes.com/sites/daveywinder/2024/05/30/how-bitcoin-hackers-recovered-3-million-from-wallet-locked-in-2013/
https://www.youtube.com/watch?v=o5IySpAkThg