PeckShield の研究開発担当副社長、Wu Jiazhi 氏: ブロックチェーンの生態学的セキュリティ問題を解決するには、より多くの人々が協力する必要がある | Blockchain POD Conference
余YU
2018-09-07 09:13
本文约3514字,阅读全文需要约14分钟
ブロックチェーンエコロジーのセキュリティ問題は、1 つの企業で対処できるものではありません。

9月5日、Odailyが主催し、36Kr Group Strategyが共催したPODカンファレンスセキュリティフォーラムで、PeckShieldの研究開発担当副社長であるWu Jiazhi氏が「ブロックチェーンスマートコントラクトとパブリックチェーンセキュリティ」と題した講演を行った。

Wu Jiazhi氏は講演の中で、ブロックチェーンエコシステム全体のセキュリティ問題には、スマートコントラクト、インフラストラクチャ、ウォレットの問題、マイニングプールの問題などが含まれると指摘した。

また、ブロックチェーン関連のプロジェクト当事者が多いため、さまざまなパブリックチェーンが存在し、パブリックチェーンの実装もさまざまで、スマートコントラクトの実装もさまざまであり、これらのセキュリティ問題は一企業では解決できず、より多くの人員が必要であると述べた。これをうまく連携させるために、PeckShield と White Hat Exchange 傘下の BCSEC は共同で DVP 脆弱性プラットフォームを設立しました。このプラットフォームは7月24日に公開され、1,700件以上の脆弱性が報告されており、すでに関連ベンダーが705社、合計1万件以上のホワイトハットが登録されている。 PeckShield は、すべての関係者と協力して生態系全体をより良くしたいと考えています。

以下は呉家志氏のスピーチの全文です。お楽しみください。

こんにちは、皆さん、私はWu Jiazhiです。PeckShieldの研究結果を共有したいと思います。当社は今年の初めにブロックチェーンの研究を開始し、今から約半年が経ちます。ブロックチェーン関連情報に関する初期の研究はコードから始まり、現在では研究範囲はブロックチェーンエコシステム全体のあらゆる側面に拡大しています。私たちの名前がスマート コントラクト問題の暴露から始まったことは誰もが知っています。その後、私たちはパブリック チェーン関連の脆弱性を多数公開し、前のゲストが言及したデータ分析の研究も行いました。関連するニュースをいくつか送信しました。人気ゲームに関する脆弱性解析などがあります。

私たちの目標の 1 つは、生態系全体が安全な状態で機能することを望むことです。私たちは、ブロックチェーンが人間の経済行動の一部をある程度代替すると考えていますが、これまでの経済行動と大きく異なるのは「分散化」です。したがって、あなたの資金の安全性を保証するそのような機関は存在しません。あなたがお金を失った場合、あなたの代わりにそれを回復してくれる裁判所や銀行を見つける方法はありません。そのような環境では、生態学的安全性の問題全体が非常に重要です。」 。

まずは自己紹介をさせてください。私は以前学校に通っていましたが、2015 年に 360 で働くために北京に来ました。 2013 年から 2015 年、2016 年までの Android スマートフォンをお持ちの場合は、私が書いたコードが含まれている可能性があります。この年まで、私はシステム セキュリティ研究のホワイト ハットとしていくつかの仕事をしていましたが、その後、ブロックチェーン関連のセキュリティ研究を始めました。

私も最近データ分析をしているのですが、これは比較的大きなトレンドグラフです。この写真がこんなに大きいのは初めてです。私たちが今ここにいるのがわかります。9 月初旬と昨年です。2 本の線があります。青い線は、私たちが監視している毎月の追加です。次のことがわかります。青で契約数の変動を見て、緑で私たちが監視した数を見てください。昨年のこの時期に減少があったことがわかります。その理由がわかるはずです。年末までにはこの時点で上りのあるエーテルキャットを含めて色々な種類が出てきます。 7月には少し回復しましたが、先月は少し寒くなったことは誰もが理解しています。

先ほどの図は比較的単純なデータですが、彼の状況がどのようになっているかを毎月数えてみましょう。下の写真の方が興味深いので、説明しましょう。ホームステッド、このステージは 155 万ブロックナムで、1 つの円は 10,000 ブロックを表すため、このグラフには 115 個の円があります。次に X 座標ですが、これは 10,000 ブロック内に複数のトランザクションがあることを意味します。たとえば、このブロックはほぼ 8200 であり、10,000 ブロックの約 82% は空のブロックではありません。したがって、円がグラフの右側にある場合は、ネットワークが完全に負荷されていることを意味することがわかります。

もう一度 Y 座標を見てみますと、この 10,000 ブロックの平均送信数が表示されます。最大値は 200 を超えています。なぜこの値になるのでしょうか。その理由は、ブロックごとにガスの上限があるためです。次のように理解できます。各ブロックが運ぶ TX。数は限られています。最初は、ドットはすべて非常に低い位置にありますが、右に行くほど成長します。最初は、ドットの多くは空のブロックである可能性があります。左下隅に作成ブロックがありますが、TX はありません。次の段階に入ると、このグラフが上向きに成長し始めていることがわかりますが、左にも成長しており、まだネットワークがあまり混雑していない状況に属しています。

Byzantium の時点では、右側にサークルがますます増え、ネットワーク全体がより混雑します。

昨年から基本的に右端に掲載されていますが、ハッカー攻撃を含む様々な現象級の事件が原因である可能性があるため、現在はFomo3Dなどのゲームも含めて現象レベルの事件がランダムに発生し、これに繋がる可能性があります。結果。これは、PeckShield のデータから観察された現象です。

次に、ブロックチェーン エコロジー全体のいくつかのセキュリティ問題について、いくつかのレベルで説明します。スマート コントラクト、インフラストラクチャ、ウォレット問題などのその他のリンクなど、ここでご覧いただけます。私たちはいくつかの研究を行っています。

まず、スマートコントラクトの問題について話します。これは、ペックシールドについて初めて誰もが知った米国のチェーン事件と同様の問題です。コードはここにあります。これらの値を加算すると、オーバーフロー番号です。これにより金額チェックが回避されます。画面の右側のケースを見てみましょう。右側に 2 台の携帯電話が表示されます。その隣に私の攻撃のプロセスが表示されます右側に更新が表示され、何もないところから 2 つの大きな数字を作成します。このようにして、数え切れないほど、2 つの異なるアドレスが生成されます。これらは 2 台の携帯電話のウォレット アドレスであり、この場所がオーバーフローします。そして、このチェックはバイパスされます。これは、多くのデジタル資産が生成される場所、つまり、残高 += 値の場所、空の手袋の白いオオカミが生成される場所を見るのと同じであり、これは非常に深刻な問題です。

このような問題に対する解決策として比較的認知されているのが、Safemath という比較的厳密な計算関数ライブラリです。

これは、オーバーフローしないことを保証できるアローワンス操作です。なぜ私のタイトルに Unsafemath と書かれているのがわかりますか?私たちは最近、非常に興味深い現象を発見しました。右側で、safeSub の実装では、B が A より小さいか相対的であることを保証するために Assert が使用されています。つまり、A から比較的大きな数値を減算することはできません。比較的少ない数。 Assert メソッドは、間違いを犯したときにガスが燃え尽きて TX が終了することを保証します。これは、Guo 氏が先ほど述べた攻撃の詳細でもあります。つまり、元のアーキテクチャにはそのようなメカニズムがありますが、彼のsafeMath実装では、エラーが発生したときに直接戻る追加のassert関数が追加されています。したがって、セキュリティ ライブラリを選択するときは注意してください。

インフラに関する調査について改めてお話しします。左のスクリーンショットはバグ報奨金プログラムの Web サイトです。PeckShield は現在 5 位にランクされています。現在、初期段階で財団に提出された脆弱性は 3 件あり、それらはすべて関連していますパブリックチェーンに。今日はそのうちの 1 つを簡単に紹介しますが、これは修正されていますので、Geth を最新バージョンにアップグレードすれば、この脆弱性は存在しませんのでご安心ください。

この脆弱性について簡単に説明しましょう。私たちはこれを EPoD と名付けました。データ パケットをあなたに送信するだけです。これで、あなたのラップトップがクライアントを実行します。私はあなたの IP を知っているので、それをあなたに直接送信します。それを受信すると、クライアントはクラッシュします、このクラッシュは何でもないように聞こえますが、このデータ部門を直接ブロードキャストすると、ただ死んでしまいます。実際、これはコンピューティング能力を利用できる攻撃であると簡単に考えることができます。

コードの詳細についてはあまり話しませんが、簡単に言うと、あるデータをマイナス1にし、この数値+1を足すというコード実装です。メモリサイズを確保したい場合、マイナス1+1はゼロ、そして再びアクセスしに行く マイナス 1 この場所の位置は最終的に範囲外アクセスにつながり、プログラムがクラッシュします。

ケースを直接見てみましょう。

右側にあるのは私が実行しているクライアントです。まず、私のクライアントが公式 Web サイトからダウンロードされたものであることを証明しましょう。このクライアントは私によって変更されたものではなく、公式 Web サイトから直接ダウンロードされたものであることを保証します。しばらく待って確認すると、左側に2つのウィンドウが表示されます 左上が攻撃コードの実行状況、左下がパケットキャプチャ画面です 先ほど電源を切る操作をしましたまずゲートウェイを使用して、マシンがインターネットに接続されていないことを確認します。ネットワーク上で測定されるすべてのデータ パケットは、ローカル マシンからのパケットです。右端ですでに Geth クライアントが主導権を握っていることがわかります。これが先ほどキャプチャした UDP パケットです。ご存じのとおり、この種のパケットは接続を確立する必要はありません。攻撃をゲートウェイなどに分散させることができます。それ以外の場合、左上隅は攻撃コードです。攻撃のターゲットは 127.0.0.1 で、これはローカル IP です。これが攻撃パケットです。したがって、特定のバージョン以下の Golang クライアントがこのパケットを受信する限り、クラッシュ。

実際、このような脆弱性は一連に存在しており、これが初めて公開されたものであり、明日のインターネットカンファレンスで説明する予定ですが、このようなケースはシリーズ全体でいくつか発生する予定です。

上記は、パブリック チェーンとスマート コントラクトのセキュリティ問題について私が作成した 2 つの簡単なケースです。理解できると思います。コードを実際に見たい場合は、PeckShield の公式 Web サイトに注目してください。

最後に、これは私たちが最近、Baimaohui の下で BCSEC と協力したプロジェクトであることを申し上げたいのですが、ブロックチェーン関連のプロジェクト当事者が多すぎると感じています。さまざまなパブリック チェーン、さまざまなパブリック チェーンの実装、さまざまなスマート コントラクトがあります。このような実装を行うと、このセキュリティ問題は当社では対応できないと感じ始め、同時にこれをより適切に実行するにはより多くの人材が必要であると考え、DVP Vulnerability Platform と呼ばれるプラットフォームを設立しました。一番右は脆弱性の提出状況で、簡単に言うと、クラウドテストという手法を使ってセキュリティ能力のある研究者やホワイトハットを全員集めて、プロジェクト当事者にプラットフォーム上でのプロジェクトに対する報酬を提供してもらっています。たとえば、今バージョン 1.0 をテストしたい場合、どのレベルの脆弱性が見つかったら、どのような報酬が得られるか、ホワイト ハットが生態系全体の改善に協力するよう奨励します。このプラットフォームは7月24日に開始され、これまでに1,700件以上の脆弱性情報が寄せられ、関連メーカーは705社、登録ホワイトハット数は合計1万人以上となっている。これらのメーカーは、当社自身のウェブサイトを含め、このプラットフォームに落ち着き、報酬も提供されています。

PeckShield は、プロジェクト関係者全員と協力して、生態系全体をより良くしたいと考えています。冒頭でも触れましたが、右端が当社の公式 Web サイトです。最新の研究成果を随時公開していきます。注意してください。

以上が今日の私の共有です、ありがとうございました。

余YU
作者文库