ここから本文です

Zaif不正出金事件の犯人追跡につながる証拠、JDDやエルプラスが特定

11/5(月) 15:45配信

アスキー

Japan Digital Design(JDD)とエルプラス、TokyoWesternsの合同プロジェクトが、9月14日に仮想通貨取引所「Zaif」から流出した仮想通貨「Monacoin」の送金指示元IPアドレスの特定に成功したことを発表した。
 Japan Digital Design(JDD、三菱UFJフィナンシャル・グループ)は2018年11月5日、仮想通貨取引所「Zaif」から9月14日に流出した仮想通貨「Monacoin」の送金指示元IPアドレスの特定に成功したことを発表した。JDDとエルプラス、CTFチームのTokyoWesternsが合同で実施したプロジェクト“Zaif犯人追跡ハッカソン”による成果。
 
 仮想通貨プラットフォームのP2Pネットワークに着目した調査方法を採用し、不正出金されたMonacoinに対して10月20日、22日に別口座への送金指示を行ったフランス、およびドイツのIPアドレスを割り出した。両日を含む合計4日間ぶんのすべてのトランザクションデータは、犯人追跡に必要な証拠として10月25日に警察庁と大阪府警に提供されている。なおP2Pネットワークに着目した調査方法は、現時点で国内初だという。
 

【もっと写真を見る】

 本稿ではこの追跡プロジェクトの背景や技術的な概略、今後の見通しなどを説明する。
 
“Zaif犯人追跡ハッカソン”プロジェクトの発端
 事件当時Zaifを運営していた仮想通貨交換事業者テックビューロ(11月22日にフィスコへの事業譲渡が決定)の発表によると、Zaifの入出金用ホットウォレットサーバーに対する攻撃によって外部に不正出金された暗号通貨はBitcoin、Bitcoin Cash、Monacoinの3種類。それぞれ5966.1BTC(約42億5,000万円)、4万2327BCH(約21億円)、623万6810.1MONA(約6億7000万円)で、被害額合計はおよそ70億円に及んでいる。
 
 Zaif犯人追跡ハッカソンプロジェクトによる今回の調査では、3種の仮想通貨のうちMonacoinを対象として送金指示元の特定が行われた。日本ハッカー協会の代表理事で、セキュリティコンサルティングなどを手がけるエルプラス代表の杉浦隆幸氏は「Coincheckで起きたNEM流出事件の当時から、この手法が使えるのではないかと考えていた」と語る。
 
 今回の追跡プロジェクトは杉浦氏が呼びかけ人となり、まず数多くのCTFで好成績を収め、高度な技術力と知識を擁するTokyoWesternsチームの徳重佑樹氏、薮雅文氏、市川遼氏に打診。さらに作業場所やクラウド環境の提供などについては、仮想通貨やブロックチェーン技術に精通するJDDの楠正憲氏に協力を依頼した。全員の快諾を受け、9月23日と24日の2日間、JDDの小野雄太郎氏も加わった6名がJDDオフィスに集結し(1名はリモートから参加)、犯人追跡に必要なIPアドレスを取得するための仕掛け作りに着手した。
 
仮想通貨ネットワークに“罠”を仕掛け、犯人の動きをキャッチ
 今回の追跡プロジェクトで肝となったのは、仮想通貨ネットワークにおける次の3つの特徴だ。
 
・仮想通貨を送金すると、その送金情報(トランザクションIDや送金先/送金元の仮想通貨アドレスなどを含むデータ、以下トランザクションと記す)が、送金したノードから別のノードに送信される
・ZaifのホットウォレットからMonacoinを不正出金した犯人の仮想通貨アドレスはブロックチェーンに記録されており、誰でも確認することができる
・Monacoinネットワークを構成するP2Pノードは、立ち上げ直後はまず日本のノードに接続するが、その後は一番レスポンスの早い、ネットワーク的に(つまり地理的に)近場のノードを自動で検出、接続し続ける
 
 以上をふまえると、“罠”となる多数のノードを世界中に分散配置しておけば、犯人が仮想通貨アドレス(盗み出したMonacoinのある口座)を使ってMonacoinを別口座に動かそうとしたタイミングで、罠ノードがそのトランザクションをキャッチできる可能性が生まれる。トランザクションをキャッチできれば、少なくとも犯人が使ったノードのIPアドレスを割り出すことができ、しかもキャッチした罠ノードと地理的に近い場所にいることも推定できる。
 
 ただし、多数のノードをホップ(経由)したトランザクションをキャッチしても、送信元IPアドレスの洗い出し作業が難しくなる。送信元の特定という観点では、犯人の使うノードと罠ノードが1ホップ(つまり直接)または2ホップでつながることが望ましい。
 
 そのため追跡プロジェクトでは、Monacoinネットワークのノード数の過半数を占める222インスタンスの罠ノードを用意することに決めた。さらに、これらの罠ノードはソフトウェア(monacoind、Monacoinのやりとりを行うミドルウェア)の改修によって通常ノードの100倍の接続能力を持たせ、犯人の使うノードと2ホップ以内で接続される可能性を高めている。これを、地理的分散も加味しながらMonacoinのP2Pネットワークに一気に追加した。ノードの急増で犯人に気付かれる可能性もあったが「犯人がノードの増減をウォッチしていない可能性にかけた」(杉浦氏)という。
 
 この罠ノードのソフトウェア(改修版monacoind)では、キャッチしたトランザクションはすべてMQTTサーバーに送信するようになっており、そのデータを記録したCSVファイルをBigQueryに取り込むことで集計や分析ができる。これらの仕組みは、TokyoWesternsのメンバーが中心となって開発を進めた。TokyoWesternsの市川氏は、開発において強く意識したのは「効率」だと語る。
 
 「たとえばBigQueryに取り込むトランザクションの数が非常に多かったため、同時並行で処理できるよう効率化する必要があった。また、1つの罠ノードで受け取るトランザクションがたとえ小さくても、同じトランザクションを他の罠ノードでも受け取ればそれを記録するため、記録される情報量は膨大。それをBigQueryでいかに効率よく検索できるかは考えなければならなかった。(同じくTokyoWesternsの)薮くんが出した原案に徳重くんや僕の案を付け足しながら全員で案を揉みつつ、開発を進めた」(市川氏)
 
 また罠ノードの配置や集計/分析環境の構築、展開といったクラウドインフラ周辺の整備については、JDDの楠氏、小野氏が担当した。罠ノードの設置にはAmazon Web Services(AWS)を、また集計/分析環境にはGoogle Cloud Platform(GCP)を採用している。罠ノードの設置にかかる費用はJDDが負担した。
 
 罠ノードを仕掛けてからおよそ1か月後の10月20日と22日、犯人の仮想通貨アドレスから別口座への送金が行われた。追跡プロジェクトでは送金指示を出したノードを特定し、そのノードに対する該当トランザクションの最初の送信元(送金指示元)IPアドレスの特定に成功した。送金指示元の5件中4件はフランス、1件はドイツだった。また犯人が使用したノードが、不正出金発生の10日ほど前の同時期に立ち上げられていることもわかっている。
 
仮想通貨の不正出金に対する有効な調査手法のひとつとして実証
 現時点ではまだ“有力な証拠”が警察に提出された段階で、現地警察の国際協力も含む捜査がどのように進展するのか、最終的に犯人特定や逮捕にまでつながるのかどうかはまだわからない。
 
 ただし今回の調査手法は、MonacoinだけでなくBitcoinなど他の仮想通貨ネットワークでも有効だという。課題は、仮想通貨P2Pネットワークの規模が大きなものになると、トランザクションを高確率でキャッチするために必要な罠ノードの数も増え、他方でブロックチェーンデータのサイズも大きくなるため、“罠”の構築コストが非常に高額になる点だ。杉浦氏も、今回のプロジェクトで最も苦労したのは「資金面の算段」だと明かす。
 
 それでも今回のプロジェクトが成果を挙げたことで、仮想通貨の不正出金に対する犯人追跡調査のハードルが1つ減らせることが確認できた。これまで仮想通貨の不正出金に対しては、ブロックチェーンの記録を通じて通貨の流れを追い、盗まれた仮想通貨がどこの取引所で取引されたのかを特定するという方法が用いられていた。だがこの場合、取引所を通じて何らかの取引が行われないかぎり、仮想通貨アドレス以上の情報が得られず調査ができない。また取引所の捜査には現地警察の協力も必要で、乗り越えるべきハードルは2つあった。
 
 一方で、P2Pネットワークの調査方法の場合、現地警察の協力さえ得られれば、すぐに捜査開始できる。
 
 またJDDの楠氏は、過去国内で起きた仮想通貨不正出金事件では犯人が逮捕できておらず、それが仮想通貨交換業などの発展を阻害する一因になっていることを指摘。今回の手法が実証できたことで犯人特定の可能性が高まり、犯罪抑止など仮想通貨のセキュリティ向上にも貢献できるのでないかと期待を寄せていると述べている。
 
 
文● 谷崎朋子 編集● 大塚/TECH.ASCII.jp

最終更新:11/5(月) 21:54
アスキー

あなたにおすすめの記事