2017.11.09 (Thu) news

イーサリアムのウォレットで脆弱性、少なくとも170億円を喪失

Written by 真田雅幸

parity-picops

イーサリアムのウォレットを提供するクライアントの1つParity(パリティ)は、マルチシグ・ウォレットに深刻な脆弱性を発見したと発表した。Parityによると、今回の脆弱性の影響を受けるユーザーは、7月20日以降にParityのウォレットをインストールしたユーザーで、ウォレット内のイーサリアムが凍結されている可能性が高いという。今回の脆弱性によって少なくとも616,000イーサ(ETH)が凍結された模様だ。

ParityのMuti-sig walletに預けられたイーサーリアムは、1つのLibrary(アドレス)で管理されていた。今回の脆弱性では、どのユーザーでもこのLibraryのオーナーになることが可能で、さらにLibraryにあるイーサを凍結することができてしまった。

今回の首謀者は、@devops199というニックネームでGithubアカウントを持つユーザーのようだ。@devops199は偶然にParityのウォレットの脆弱性を見つけたと証言している。元々は調査のつもりでParityのウォレットを調べていたら、偶然ウォレットのオーナーになり、偶然にイーサを凍結してしまってたと語っている。

今回のウォレットの凍結に至るには、2つのファンクションを実行する必要があった。 “initWallet”と呼ばれるファンクションで自身をLibraryのオーナーにし、 “kill”でウォレットのイーサーを凍結する。ここで疑問なことが、2つの偶然が重ならない限りこの事象は起こり得なかったということだ。今回の事象を銀行に例えると、空いていた銀行に偶然侵入し、偶然に火を付けてしまいすべてのお金を燃やしてしまったようなものだ。

スマートコントラクトの危険性

@devops199の今回の行動の真意はわからないが、スマートコントラクトの脆弱性がもたらす危険性を改めて認識するべきだろう。一年前のイーサリアムのプラットフォームを使ったThe DAOの脆弱性をハッカーが攻撃した時も多くの人が資産(イーサ)を失った。今回のスマートコントラクトの脆弱性により失われたイーサは、ハードフォークをしてロールバックする以外に取り戻す方法がない。意図していないルールであっても、一度決めたルールを簡単に取り消すことができないのがスマートコントラクトの強みでもあり、弱点にもなり得る。

スマートコントは、問題なく機能すれば我々の社会に大きな利便性をもたらす可能性がある。一方スマートコントラクトの実用は、まだまだ実験段階である。Parityは7月に今回とは別の脆弱性を発見し、ウォレットのアップデートをしていたが、今回の脆弱性には気付いていなかった。いかにスマートコントラクトのプログラミングが複雑で、動かすことが困難であるかを物語っている。


Medium


無料メールマガジン

BTCNの最新ニュースを毎日お昼ごろお届けします!