
11년 전 수십 개의 비트코인을 산 오빠, 비밀번호를 잃어버린 후 해커가 온갖 고생 끝에 되찾아줘
작자: 유학생 아저씨
2022년, 스페인에 사는 마이클(Michael)이라는 남성이 난제에 빠져 있었다.
이미 2013년, 그는 당시만 해도 크게 각광받지 못했던 비트코인을 총 5,300달러에 구입했는데, 모두 43개를 산 것이었다.
그 후 그는 이 비트코인들을 전자 지갑에 저장했고, 도난 방지를 위해 암호 생성 소프트웨어를 이용해 20자리의 무작위 숫자로 된 긴 비밀번호를 만들었다.
마이클은 동일한 소프트웨어로 이 비밀번호를 저장하는 것이 안전하지 않다고 생각했다. 만약 해커에게 해킹당하거나 컴퓨터가 분실되면, 상대방이 그림 따라 그리듯이 비밀번호를 찾아내서 자신의 비트코인을 인출할 수 있기 때문이었다.
그래서 그는 스스로 영리하게 이 긴 비밀번호를 별도의 문서에 붙여넣었고, 누구도 그 용도를 알아차리지 못하게 했다. 또한 이 문서 자체에도 비밀번호를 설정하여 암호화까지 했다.
이렇게 다중으로 암호화한 끝에, 마이클은 자신이 절대 무결한 비트코인 계정 비밀번호를 가졌다고 자신했으며, 오직 비트코인이 가격 상승하기만 기다리면 현금화할 수 있을 것이라 생각했다.
그러나 결국 마이클은 자기 손으로 자신을 망쳤다. 비밀번호가 담긴 암호화된 문서가 이유 없이 손상되어 더 이상 열리지 않았고, 20자리에 달하는 비밀번호를 복사해 낼 수도 없게 되었다.
동시에 그는 비트코인 가격이 과거 개당 123달러에서 3만 달러가 넘는 수준까지 치솟는 것을 그저 바라볼 수밖에 없었다.
「나는 이 부를 갖고 있고, 눈으로 확인할 수 있지만 사용할 수는 없다. 왜냐하면 비밀번호가 없기 때문이다.」
수년간 마이클은 다양한 비밀번호 복구 전문가들을 찾아다니며, 과거 소프트웨어가 생성한 무작위 비밀번호를 복원할 방법이 있는지 물어보았다.
그러나 수많은 사이버 보안 전문가들이 마이클에게 말했다. 「20자리 무작위 비밀번호요? 잊어버리세요. 당신의 비트코인은 영원히 돌아오지 않을 겁니다.」
이런 악소식을 들은 마이클은 생전에 이 거액의 재산을 찾을 수 없을 것이라 좌절했다.
그러던 중 2022년, 그는 인터넷을 통해 미국의 해커 조(Joe Grand)를 알게 되었고, 마이클은 조에게 도움을 요청했다.
조는 세계적으로 유명한 하드웨어 해커이자 전기 엔지니어, 발명가이며, 해킹 경력은 10세 때부터 시작되었다.
그는 주류 사회에서도 인정받아 시스템 개발자들에게 컨설팅을 제공하는데, 그 내용은 바로 자신과 같은 해커로부터 시스템을 어떻게 방어해야 하는지이다.
조는 또한 두 명의 낯선 사람에게서 잃어버린 암호화폐 비밀번호를 회복해 준 경험이 있다.
한 번은 누군가 비밀번호가 저장된 USB 드라이브를 호수에 떨어뜨렸고, 다이빙 요원이 건져 올린 후, 조는 일련의 물리적 방법을 통해 USB의 기능을 복구시켜, 상대방이 마치 USB를 잃어본 적도 없는 것처럼 저장된 비밀번호를 찾을 수 있게 했다.
또 한 번은 비밀번호 복호화와 관련된 사건이었다. 한 가족의 아들이 갑작스럽게 사망했고, 사망 전 형제에게 "비트코인 비밀번호가 할머니 이름과 관련이 있을지도 모른다"고 말해두었다. 그래서 조는 이 단서를 중심으로 '무차별 대입 공격(brute force search)'을 수행하며 수백만 가지 조합을 하나씩 시도했다.
2022년 마이클은 인터넷을 통해 조에게 연락했지만, 조는 예전처럼 즉각 응해주지 않았다.
이유도 간단하다. 조는 하드웨어 해킹 전문가지, 소프트웨어가 무작위로 생성한 비밀번호를 다루는 것은 그의 전문 분야가 아니었다.
또한 암호화폐 비밀번호를 복구해 주는 일은 그의 전문 분야도 관심사도 아니었고, 상대방이 얼마를 제시하든 상관없었다.
그래서 조는 당장 마이클의 요청을 거절했다.
그러나 작년 여름, 마이클이 절망적인 심정으로 다시 조를 찾았을 때, 조는 시도해 보겠다고 동의했다.
이번 결정은 조가 마음이 약해져서가 아니라, 그의 독일 파트너이자 젊은 소프트웨어 해커가 마이클의 잃어버린 비밀번호를 되찾을 가능성이 있다고 판단했기 때문이다.
이 젊은 해커의 이름은 브루노(Bruno), 독일인으로 소프트웨어 취약점을 전문으로 다루며, 조와 마찬가지로 어릴 때부터 시스템과 소프트웨어의 보안 결함을 찾는 데 큰 관심을 보였다.
브루노는 종종 사람들이 잃어버린 암호화폐 비밀번호로 도움을 요청해오는 경우를 겪었지만, 마이클과 같은 사례는 처음이었다.
그는 조에게 이번에는 기회가 있을 수 있다고 말했고, 두 천재 해커 모두 이런 어려우면서도 미미한 가능성이 있는 프로젝트에 매우 큰 흥미를 느꼈다.
조는 유럽으로 날아가 브루노와 마이클과 합류했다.
마이클은 과거 'RoboForm'이라는 소프트웨어를 이용해 그 무작위 비밀번호를 생성했다. 이 소프트웨어는 세계 최초의 무작위 비밀번호 생성기 중 하나로, 지금까지도 계속 사용되고 있다.
조와 브루노는 이 소프트웨어를 테스트한 결과, 매순간 완전히 다른 비밀번호를 생성한다는 것을 발견했다.
두 사람에게 있어, 과거 마이클이 생성한 무작위 비밀번호를 찾는 것은 바늘 도둑질보다 더 어려운 일이었다.
「모든 가능한 비밀번호 조합을 시도해야 한다면, 이는 전 세계 물방울 수의 백조 배에 달한다.
만약 우리가 한 개의 비밀번호를 한 방울의 물로 상상한다면, 그것은 강바닥을 흐르고 있을 수도 있고, 하늘에서 떨어지고 있을 수도 있으며, 세계 어느 바다의 어디에든지 존재할 수 있다.
만약 우리가 이런 상황을 어느 정도 줄일 수 있다면, 불가능했던 문제를 성공할 수 있는 문제로 바꿀 수 있을 것이다.」
두 사람은 RoboForm의 작동 원리를 이해한 후, 시간 순서를 따라 검색 범위를 좁힐 수 있는 실마리를 찾기 시작했다.
그들은 소프트웨어 버전 노트의 시간축에서 2015년 버전 업데이트 설명이 다소 수상하다는 점을 금세 눈치챘다.
「우리는 비밀번호 생성의 무작위성을 증가시켰습니다.」
이 문장은 두 천재 해커에게 의심을 불러일으켰다. 무작위성 증가? 그럼 2015년 이전 버전의 생성된 비밀번호는 덜 무작위적이었다는 말인가?
컴퓨터 소프트웨어 및 하드웨어 천재인 조와 브루노는 알고 있었다. 실제로 컴퓨터가 언제나 완전히 무작위의 숫자를 생성하는 것은 '매우매우 어렵다'는 사실을. 많은 무작위 숫자들은 종종 특정 기준 변수들과 연관되어 있다는 것을 말이다.
「우리가 이所谓 '무작위성(randomness)'을 조작할 수 있다면, 예측 가능한 출력값을 얻어 마이클의 지갑 비밀번호를 해독하는 데 활용할 수 있을 것이다.」
하지만 이미 2023년인데, 어떻게 10년 전 마이클이 비밀번호를 생성했던 시점으로 돌아가, 당시 마이클과 똑같은 행동을 소프트웨어가 반복하게 만들 수 있을까?
이때 두 사람의 전문성이 확연히 드러났다. 그들은 소프트웨어를 역공학하여 버전을 2013년도 버전으로 되돌렸고, 시스템 데이터를 조작해 소프트웨어가 자신이 2013년의 사용자 명령을 실행하고 있다고 믿도록 만들었다.
「우리는 시스템을 속여 2013년으로 돌아가게 했습니다. 소프트웨어는 우리가 여전히 마이클이 비밀번호를 생성했던 시간 창 안에 있다고 생각하게 된 것입니다.」
'시간 여행기'를 타고 10년을 되돌아간 두 사람은 미국 NSA도 사용하는 소프트웨어 도구를 이용해 과거 비밀번호 생성 규칙을 파악하려 했다.
「이 소프트웨어는 마트료시카 인형 같습니다. 우리의 목표는 그 중간에 있는 작은 인형, 즉 비밀번호를 생성하는 부분입니다.」
계산과 테스트를 거쳐 두 사람은 놀랍게도 과거의 무작위 비밀번호 생성에 규칙이 있다는 것을 발견했다. 바로 시스템 시간이었다!
원래 2013년 당시 이 소프트웨어는 사용자가 비밀번호를 생성한 시간에 따라 정확히 순간과 연결된 '의사 무작위 비밀번호(pseudo-random password)'를 생성했는데, 각 순간의 비밀번호는 생성 시간과 직접적인 관계를 맺고 있었다.
비밀번호가 마이클이 과거에 비밀번호를 생성한 시간과 관련이 있다는 중요한 실마리를 얻은 조와 브루노는 매우 흥분했다.
이는 곧, 마이클이 무작위 비밀번호를 생성한 정확한 날짜와 대략적인 시간을 알게 된다면, 그들은 제한된 수의 비밀번호를 계산해 내고, 하나씩 시도해 볼 수 있음을 의미했다.
그러나 마이클은 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년을 기다리지 못했을 것이고, 그 전에 이미 팔아버렸을지도 모릅니다.」
어떻게 보면, 두 천재 해커의 정성 어린 도움과 함께, 우연히도 과거 소프트웨어 버전에 커다란 시스템 결함이 있었기에 마이클의 비밀번호는 태평양에 떠내려가지 않고 살아남을 수 있었던 것이다.
이제라도 교훈을 얻기를...
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News


































