DeFiでまたも攻撃被害:ハッキングとエクスプロイトの違い【オピニオン】
2月2日、イーサリアムと数多くのブロックチェーン間で資産を行き来させる(ブリッジする)ことのできる、ツール「ワームホール(Wormhole)」のセキュリティの脆弱性につけ込んだ攻撃が仕掛けられ、12万ラップドイーサ(wETH、3億2100万ドル相当)が失われた。この事件は、DeFiプラットフォームへの攻撃としては史上2番目に大規模なものとなった。「エクスプロイト(脆弱性につけ込んだ攻撃)」は、分散型金融(DeFi)の業界で一般化していると言える。発生している事態を検証し、「ハッキング」が発生した場合の対処法を示唆するコードレビューが、1つのビジネスになっているくらいだ。ワームホールは、攻撃の前に問題となったバグを発見、修正できなかった点を除いては、適切な対処をしようと努力したように思われる。さらなる損失を防ぐためにプラットフォームをシャットダウンし、判明している事実を人々に知らせ、トレーディング企業のジャンプ・トレーディング(Jump Trading)が、盗まれたコインを補充したと発表。さらに、イーサリアム上でハッカーに対して、盗まれたコインと攻撃の詳細な説明と引き換えに、1000万ドルと「ホワイトハット(善意のハッカー)合意書」を提供すると申し出た。このような動きは、業界ではますます一般的となってきている。これでは、攻撃を仕掛けた人が苦境から抜け出すのを待ってあげているようではないか。人々は、ハッカーが「ホワイト(善意がある)」か、「ブラック(悪質)」なのかを判明するのを見守っているが、現実には、もっとグレーなものである可能性が高い。
ハッキング vs エクスプロイト
「ブラックハットハッカーとは、悪質な意図を持ってコンピューターネットワークに侵入する犯罪者である」と、サイバーセキュリティ企業カスペルスキー(Kaspersky)の専門家は説明する。彼らは「利己的」あるいは「イデオロギー的」な理由で、マルウェアを使ったり、パスワードを盗んだり、コードの脆弱性につけ込むのだ。一方、「倫理的ハッカー」や「善良なハッカー」とも呼ばれるホワイトハットハッカーは、その反対。カスペルスキーによれば、「セキュリティ上の欠陥を特定し、改善のためのアドバイスを行うために、コンピューターシステムやネットワークにエクスプロイトを仕掛ける」のだ。暗号資産(仮想通貨)ネットワークでは、その仕組みのせいで、攻撃を仕掛けているのが何者なのかがはっきりしないことが多い。ユーザーは数字と文字の意味不明な長い羅列として表示され、その過去は、彼らのアドレスにつながった一連のトランザクションに要約される。このようなシステムには、一定のメリットもある。プラットフォームは「顧客」が誰であるかを知らなくても、すべてのトランザクションはオンチェーンで記録され、どのコインが誰のものなのかは、誰でも検証可能だ。こうしてDeFiのエクスプロイトは多くの場合、行き詰まる。暗号資産エコノミーへのオン/オフランプとして使われる取引所は、盗まれたコインをブラックリストに掲載し、そのようなコインの実用性や価値をゼロにできるからだ。最も有名なエクスプロイトのいくつかにおいて、盗まれた資金が返還された理由はそこにあるのかもしれない。例えば昨年8月、ポリ・ネットワーク(Poly Network)のハッカーは、盗んだ6億1000万ドル相当のほとんどを返還し、危険なバグを世に知らしめるための「ホワイトハットハック」であったと説明した。これは、歴史の修正に当たるかもしれない。つまり、最終的に上手くいかなかった攻撃の、後付け的な弁解なのではないか?そんなことが、また起ころうとしているのかもしれない。ワームホールに攻撃を仕掛けた人の意図は分からないが、ワームホール側は、1000万ドルという交換条件を呑むように頼んでいるのだ。システムはある意味、攻撃を仕掛ける側に有利にできている。コードの書かれた目的を無視して、その字面通りにコードが使われることを、技術者たちは「エクスプロイト」と呼ぶ。コードは人間のアクションよりも優先されるので、タイプミスで間違ったトランザクションを実行したり、ぽっかり空いたセキュリティ上の重大な欠陥を見逃すといったヒューマンエラーは、コードの自然なプロセスとして説明される。攻撃が「ハッキング」と呼ばれるレベルに達するのは、コードが書き直されたり、壊されたりした場合のみだ。このハッキングとエクスプロイトには、技術的に重要な違いがある。これらの言葉が生まれたゲーム業界では、不公平な強みを得るためにゲームを「ハッキング」することはひんしゅくを買い、ゲームの抜け穴を見つける「エクスプロイト」は、自慢できることであるかもしれない。ワームホールに仕掛けられた攻撃は、ワームホール側の計画や意図でなかったと言っておそらく間違いないだろう。コードの中に間違いがあり、見落とされたが、解決が図られている。イーサリアムの生みの親ヴィタリック・ブテリン氏が数週間前に、ブログで指摘した「ブリッジの根本的なセキュリティ上の制約」と関係するのかもしれない。攻撃を仕掛けた人物は、ワームホールのスマートコントラクトが、不当に作られたwETHを本物と混同するように、一連のトランザクションを実施した。膨大な知識と時間を持つ人物がつけ込むことのできた、抜け穴が存在したのだ。今回の攻撃を、暗号資産に関する知識全体への貢献と捉える人もいるかもしれない。あらゆるスマートコントラクトは「バグに対する数百万ドル相当の懸賞金オファー」となる可能性があるため、このようなプロセスが究極的に「ハッキング不可能なコード」へとつながるかもしれない、と主張する人すらいる。そうなると、無数の脆弱性(リスクの上に積み重ねられたリスク)を説明するのに暗号資産業界が使っている用語が、一大ハッキング産業に寄与しているのでは、と自問する価値があるだろう。私たちは言葉の定義を、安易に曖昧にしまっているのではないか、と。|翻訳・編集:山口晶子、佐藤茂|画像:Shutterstock|原文:Calling a Hack an Exploit Minimizes Human Error
CoinDesk Japan 編集部
最終更新:CoinDesk Japan