형님은 11년 전에 수십 개의 비트코인을 샀는데, 비밀번호를 잃어버린 후 해커가 힘들게 도와주어 되찾았다
저자:유학생 아저씨
2022년, 스페인에서 마이클(Michael)이라는 남자가 하나의 난제에 시달리고 있었다.
2013년, 그는 5300달러의 총 가격으로 그 당시 큰 인기를 끌지 않았던 비트코인을 구매했으며, 총 43개를 구매했다.
그 후 그는 이 코인을 전자 지갑에 보관했으며, 도난 방지를 위해 비밀번호 소프트웨어를 사용해 20자리의 랜덤 비밀번호를 생성했다.
마이클은 같은 소프트웨어로 이 비밀번호를 저장하는 것이 안전하지 않다고 걱정했다. 만약 해커가 이를 해독하거나 컴퓨터를 잃어버리면, 상대방은 비밀번호를 찾아 그의 비트코인을 빼낼 수 있을 것이다.
그래서 그는 이 긴 비밀번호를 다른 문서에 붙여놓고, 아무도 비밀번호의 용도를 알아차리지 못하게 했다. 그는 이 문서에 비밀번호를 설정하고 암호화했다.
이렇게 여러 번의 암호화 과정을 거친 후, 마이클은 자신이 무적의 비트코인 계좌 비밀번호를 가졌다고 생각하며, 비트코인이 오르기만을 기다렸다.
하지만 마이클은 결국 자신의 손에 넘어가고 말았다. 그가 비밀번호를 저장한 암호화 문서가 이유 없이 손상되어 열 수 없게 되었고, 20자리의 비밀번호를 붙여넣을 수도 없게 되었다.
동시에 그는 비트코인의 가치가 과거 123달러에서 3만 달러 이상으로 상승하는 것을 지켜보았다.
"나는 이 재산을 가지고 있지만, 볼 수는 있어도 사용할 수는 없다. 왜냐하면 비밀번호가 없기 때문이다."
지난 수년간, 마이클은 여러 비밀번호 해독 전문가를 찾아가 그들이 과거 소프트웨어가 생성한 랜덤 비밀번호를 찾아줄 수 있는지 알아보았다.
하지만 수많은 사이버 보안 전문가들은 마이클에게 말했다. "20자리 랜덤 비밀번호?! 비트코인을 잊어버리세요. 그것들은 영원히 찾을 수 없습니다."
마이클은 이러한 불행한 소식을 듣고, 자신의 생애 동안 이 거대한 재산을 얻지 못할 것이라고 생각했다.
그러던 중 2022년, 그는 인터넷을 통해 미국의 해커 조(Joe Grand)에 대해 알게 되었고, 이후 마이클은 조에게 도움을 요청했다.
조는 세계적으로 유명한 하드웨어 해커이자 전기 엔지니어이자 발명가로, 그의 해킹 역사는 10세까지 거슬러 올라간다.
그는 주류에서 인정받았으며, 시스템 개발자들에게 그들이 어떻게 자신과 같은 해커로부터 방어해야 하는지에 대한 상담을 제공했다…
조는 또한 두 명의 낯선 사람이 잃어버린 암호화폐 비밀번호를 찾는 것을 도운 경험이 있다.
한 번은 상대방이 비밀번호를 저장한 USB를 호수에 빠뜨렸고, 잠수부가 건져낸 후 조는 일련의 물리적 방법을 통해 USB의 기능을 복구하여 상대방이 잃어버린 USB에서 비밀번호를 찾을 수 있도록 했다.
또 다른 경우는 비밀번호 해독에 관한 것이었다. 한 가족의 아들이 불행히도 세상을 떠났고, 세상을 떠나기 전 형제에게 비트코인 비밀번호가 할머니의 이름과 관련이 있을 것이라고 전했다. 그래서 조는 이 단서를 바탕으로 "무차별 검색"을 도와주었고, 수백만 개의 조합을 하나씩 시도했다…
2022년, 마이클은 인터넷을 통해 조에게 연락했지만, 조는 이전과 같이 승낙하지 않았다.
이유는 간단했다. 조는 하드웨어 해커로서 소프트웨어 랜덤 생성 비밀번호에 대해서는 잘 알지 못했다.
또한, 암호화폐 비밀번호를 찾는 것은 그의 전문 분야나 관심사가 아니었으며, 상대방이 아무리 높은 가격을 제시하더라도 마찬가지였다.
그래서 그 해 조는 마이클의 요청을 단칼에 거절했다.
하지만 지난해 여름, 마이클이 절망 속에서 다시 조를 찾았을 때, 조는 시도해 보겠다고 동의했다.
이번에는 조가 마음이 약해져서 동의한 것이 아니라, 그의 독일 파트너인 젊은 소프트웨어 해커가 그들이 마이클의 잃어버린 비밀번호를 찾을 가능성이 있다고 제안했기 때문이다.
이 젊은 해커의 이름은 브루노(Bruno)로, 독일인이며 소프트웨어의 취약점을 전문으로 하고 있으며, 조와 마찬가지로 브루노도 어릴 적부터 시스템과 소프트웨어의 보안 취약점을 찾는 데 큰 관심을 보였다.
브루노는 종종 사람들이 잃어버린 암호화폐 비밀번호에 대해 도움을 요청하는 경우를 받지만, 마이클과 같은 경우는 처음이었다.
그는 조에게 그들이 기회를 잡을 수 있을 것이라고 제안했고, 두 천재 해커는 이러한 어려운 프로젝트에 대해 무한한 흥미를 느꼈다.
조는 유럽으로 날아가 브루노와 마이클을 만났다.
마이클은 당시 "RoboForm"이라는 소프트웨어를 통해 그 랜덤 비밀번호를 생성했으며, 이 소프트웨어는 세계에서 가장 초기의 랜덤 비밀번호 생성기 중 하나로, 지금도 여전히 사용되고 있다.
조와 브루노는 이 소프트웨어를 테스트해 보았고, 이 소프트웨어가 매 순간마다 완전히 다른 비밀번호를 생성할 수 있다는 것을 발견했다.
두 사람에게는 조가 그 당시 생성한 랜덤 비밀번호를 찾는 것이 바늘을 바다에서 찾는 것과 같았다:
"우리가 모든 가능한 비밀번호 조합을 시도해야 한다면, 이는 전 세계의 물방울 수의 100조 배에 해당합니다.
우리가 비밀번호를 물방울로 상상한다면, 우리는 그것이 강 바닥에서 흐르고 있을 수도 있고, 하늘에서 떨어질 수도 있으며, 세계의 어느 바다에서든 존재할 수 있다는 것을 알게 됩니다.
우리가 이러한 상황을 어떤 식으로든 줄일 수 있다면, 우리는 이 극복할 수 없는 문제를 성공할 수 있는 일로 바꿀 수 있습니다."
두 사람은 RoboForm의 작동 원리를 이해한 후, 시간선을 따라 검색 범위를 좁힐 수 있는 단서를 찾기 시작했다.
그들은 곧 소프트웨어의 버전 설명 시간선에서 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년 전 5300달러에서 160만 달러로 상승했다.
조와 브루노는 이 이야기를 짧고 정교한 다큐멘터리로 제작했으며, 올해 5월 다큐멘터리가 방영될 때 이 160만 달러는 300만 달러로 증가했다…
작년 말, 마이클은 일부 코인을 판매하고 자신의 은인에게 일부 코인을 나누어 주었으며, 자신은 30개의 코인을 남겼다.
그는 비트코인이 10만 달러/개에 도달할 때까지 남은 코인을 판매할 계획이다.
결국 마이클은 조와 브루노에게 감사할 뿐만 아니라, 자신의 "똑똑함이 오히려 자신을 해쳤다"는 것에도 감사했다:
"비밀번호를 잃지 않았다면, 아마 10년을 기다리지 않았을 것이고, 그 전에 이미 팔았을 것입니다."
어떻게 말할까요, 두 해커의 천재적인 도움과 소프트웨어의 과거 버전에서 거대한 시스템 취약점이 발견되지 않았다면, 마이클의 비밀번호는 이미 태평양에 사라졌을 것입니다.
그가 기억력을 키우기를 바랍니다…