チェーンサークル必読:ブロックチェーンセキュリティの6つの主要カテゴリと3つの主要問題を1つの記事で理解する
阿尔法公社
2018-08-15 00:49
本文约4037字,阅读全文需要约16分钟
ブロックチェーンのセキュリティに関するすべての質問はここで解決できます。

編集者注: この記事は、Alpha Commune (ID: alphastartups)、著者: Alpha Commune からの引用であり、許可を得て公開されています。


1. はじめに

2018 年 8 月 6 日、テンセント セキュリティは「2018 年上半期ブロックチェーン セキュリティ レポート」を発表しました。このレポートによると、現在、世界中には 1,600 以上の暗号化されたデジタル通貨が存在し、セキュリティ問題によるコストは 27 億ドルを超え、ブロックチェーンのセキュリティインシデントによる損失額は依然として増加しています。 IOTAの「メールドア事件」、USDTの「不正リチャージ脆弱性」、EOSの「レインボー攻撃」から、BECやSMTの「整数オーバーフロー攻撃の脆弱性」、BTGの「計算能力51%攻撃」など、これら一連の出来事が引き金となった。みんなの注目と思考。

ブロックチェーンのセキュリティに対する主な脅威は何ですか?スマートコントラクトのセキュリティ問題はなぜそれほど重要であり、多くの人々の注目を集めているのでしょうか?スマートコントラクトには何種類のセキュリティがありますか?現在主流のセキュリティ監視手法は何ですか?最も効果的な方法は何ですか?安全でバグのないスマート コントラクト コードを誰もが入手するにはどうすればよいでしょうか?

こうした一連の問題を受けて、Alpha CommuneではSECBIT創設者のGuo Yu氏にインタビューし、ブロックチェーン業界のセキュリティ問題と主流のソリューションを体系的に紹介した。

2. 6種類のブロックチェーンセキュリティ

画像の説明

ブロックチェーン 2.0 バージョンの技術アーキテクチャ

最初の層は暗号化です。暗号化は、ハッシュアルゴリズム、デジタル署名、乱数などを含むブロックチェーンの基盤となるサポート技術です。これらの暗号化技術に問題や抜け穴があると、これに基づいてブロックチェーン全体で構築された信頼が崩壊します。

現在の暗号技術はかなり成熟しているため、巨大な抜け穴が存在する可能性は比較的低いですが、それでも一部のプロジェクトに問題がある可能性は排除できません。 2017 年 7 月 15 日、「世界初のモノのインターネットの通貨」として知られる IOTA は、マサチューセッツ工科大学付属の学術研究グループである DCI から電子メールを受け取り、IOTA チームに次のような弱点があることを思い出させました。 IOTA のハッシュ アルゴリズム Curl-P、および DCI システムへの攻撃が成功すると、ユーザーの資金を盗むことができます。その後IOTAはDCIの電子メールに疑問を呈し反論しましたが、これまでのところこの脆弱性が原因で資金が盗まれたユーザーはいませんが、この事件は暗号技術の観点からIOTAや他のプロジェクトのセキュリティについて皆の懸念を引き起こしていることに焦点が当てられています。

2 番目の層は、ユーザーの秘密キーの生成、使用、保護です。ユーザーがブロックチェーンに参加するための証明書は、公開鍵と秘密鍵のペアです。各人がブロックチェーンを介して対話するための前提条件は、各人が安全な秘密鍵を持っており、自分の秘密鍵を保持できることです。秘密鍵の裁判と保護 質問は非常に重要です。

今年7月、EOSの秘密鍵生成ツールのセキュリティリスクにより、ハッカーが作成した秘密鍵の抜け穴を見つけて「レインボー」攻撃を実行し、その結果、アカウントのデジタル資産が盗難され、数千万ドルの損失が発生しました。デジタル資産。

3 番目の層は、ノード システムのセキュリティの脆弱性です。この問題は従来のセキュリティのカテゴリに属しており、たとえば、ブロックチェーン ノードにはバッファ オーバーフローなどの従来のセキュリティ脆弱性が存在することはできません。さらに、ブロックチェーン ノードの実装は、ブロックチェーンのコンセンサス プロトコルを忠実かつ正確に実装できなければなりません。ノードは、ハッカーが障害なくいくつかの重要なノード情報を取得できるように、公開すべきではない API インターフェイスを公開できません。イーサリアムと EOS は両方とも深刻なセキュリティ脆弱性にさらされています。セキュリティのこの部分も重要です。

4 番目の層は、基礎となるコンセンサス プロトコルです。現在、市場で主流のブロックチェーン コンセンサス プロトコルには、POW、POS、DPOS、および PBFT が含まれます。基礎となるコンセンサスプロトコルは、ブロックチェーンの構造全体が信頼できるかどうか、そして本当にコンセンサスのあるブロックチェーンを形成できるかどうかを決定します。コンセンサスプロトコル自体は理論上または技術的な実装が単純ではないため、本当に安全であることが証明されているコンセンサスプロトコルは多くありません。ビットコインのPOWなど、長期間にわたって検証されてきたコンセンサスプロトコルは比較的安全です。コンセンサスプロトコルには、セキュリティ、分散化、効率性という不可能な三角形があり、これら 3 つは同時に 2 つしか達成できません。効率を追求すると、分散化を犠牲にするか、セキュリティを犠牲にする必要があります。

ブロックチェーン システムのコンセンサス プロトコルが安全かどうかという問題は非常に重要です。

画像の説明

アメリカのドラマ「シリコンバレー」での「51%計算能力攻撃」

5番目の層はスマートコントラクトです。スマート コントラクトは、デジタル形式で定義された一連の約束であり、契約参加者がこれらの約束を実装するための合意も含まれます。どの参加者もアプリケーション層でコントラクトを作成できます。これは、いわゆる DAPP (分散型アプリケーション) です。ここは、最もセキュリティ上の問題が発生する場所でもあります。

スマート コントラクトのセキュリティ リスクには、次の 3 つの側面が含まれます。まず、抜け穴がない。契約コードに一般的なセキュリティ ホールはありますか。第二に、それは信頼できるかどうかです。抜け穴のないスマート コントラクトは安全ではない可能性があり、契約は公正で信頼できるものでなければなりません。第三に、特定の規範と手順に準拠します。契約の作成にはデジタル形式で約束を定義する必要があるため、契約の作成プロセスが十分に標準化されていない場合、大きな隠れた危険が残されやすくなります。

現在、市場に出回っている多くのスマートコントラクトにはセキュリティ上の脆弱性が存在します。例えば、6月3日、SECBITはイーサリアム上で同じエラーを持つ81のコントラクトを発見しました。ERC20トークンコントラクトのtransferFrom関数には大きな隠れた危険性があります。後で問題が発生すると取り返しのつかない損失を引き起こす可能性があるため、6 月 6 日、SECBIT は ERC20 トークン コントラクト FXE にビジネス ロジックの実装に抜け穴があることを発見しました。


ブロックチェーン業界の実務者、スマート コントラクトのユーザー、または暗号通貨の所有者として、暗号化とスマート コントラクトのプログラミングに関する対応する知識を学ぶ必要があり、金融​​セキュリティ契約や公開鍵と秘密鍵に関連するコードを自由にコピーして使用してはなりません。悪意のある攻撃者が重大な脆弱性を持ったコードをインターネット上に公然と拡散し、技術開発能力が不十分な組織にそのコードの利用を誘導した場合、ユーザーに壊滅的な打撃と取り返しのつかない損失を与えることになります。


第 6 層はインセンティブメカニズムの設計です。スマート コントラクトでのコラボレーションを完了するには、通常、対応する経済的インセンティブ メカニズムを設計する必要があります。経済的インセンティブは、ブロックチェーン技術における非常に画期的な概念です。真に健全で活気のあるブロックチェーンエコシステムには、優れたインセンティブメカニズムが必要です。ただし、経済的インセンティブの設計は十分に安全ではなく、典型的なポンジのようなゲームのようにエコロジーが構築されない可能性があるため、誰もがこれについて警戒する必要があります。


3. スマートコントラクトの3大課題


上で紹介した6層のブロックチェーンのセキュリティ課題は、いずれも対応する技術レベルに応じて分類されており、技術レベルが低いほど安定しており、例えば暗号方式は最初から選択した後は容易には変更されない。


スマート コントラクトは比較的柔軟性があり、誰でも作成できるため、セキュリティ上の問題が比較的発生しやすくなります。


一般人が特定の法律に基づいて契約書を作成できるのと同じように、ユーザーはコンセンサスに基づいて契約書を作成できます。この法律はコンセンサスメカニズム (プラットフォーム) であり、この契約にも内部制約があります。DAPP の使用は契約に署名するのと同じです、すべてのアクションは契約条件に従って実行する必要があります。したがって、スマートコントラクトのセキュリティリスクはユーザーの財産の損失に直接関係しています。


これまでのところ、SECBIT は市場のスマート コントラクトに関する 3 つの大きな問題を発見しました。


まず、整数オーバーフローに代表されるセキュリティ ホールです。セキュリティの脆弱性は、通常、コードを書いた人によって誤って導入されます。それにより、コントラクトの機能部分の一部が機能しなくなる可能性があります。最悪の場合、ハッカーの攻撃につながり、ユーザーはコインを失い、さらにはハッカーが大量のコインを作成する可能性があります。何もないところから。たとえば、BEC、SMT、EDU は整数オーバーフローのセキュリティ脆弱性によりハッカーによって攻撃され、その結果通貨価値がゼロになりました。


2つ目は、スマートコントラクトの権限制御です。一般的にスマートコントラクトでは管理者が設置され、管理者はスーパー権限を持つことが一般的ですが、管理者の秘密鍵が盗まれると巨額の損失が発生しやすいため、セキュリティ上のリスクが比較的大きい契約です。 。 SECBIT の不完全な統計によると、上位 570 のトークン コントラクトのうち、342 のコントラクトには管理者のみが呼び出すことができる機能 (Only Owner) があり、多くのコントラクトにはコインの鋳造、コインの書き込み、アカウントの凍結、送金の停止などの機能さえあります。過剰な権限。


今年7月10日、仮想通貨取引プラットフォームのBancorが攻撃を受け、1250万米ドル相当のイーサリアム、1000万米ドル相当のBancorトークン、100万米ドル相当のPundixトークンを失ったと主張した。分析の結果、Bancor プラットフォームの盗難は BancorConverter コントラクトに関連していることが判明し、攻撃者 (ハッカー/インサイダー) が管理者アカウントの秘密キーを取得し、管理者の ID を使用してユーザーのトークンを盗み、ユーザーに多大な損害を与えました。ユーザーの損失。

第三に、規範的な問題。現時点では、多くのスマート コントラクトの実装に関する統一仕様はありません。スマートコントラクトは対話型の複数人によるコラボレーションであるため、コントラクトが標準化されていない場合、さまざまな人々がコントラクトの動作を誤解しやすく、その結果、多くのセキュリティ上の問題が発生します。


例えば、今年相次いで発生したイーサリアムトークンやUSDTなどの「不正リチャージ」事件は、ある組織が実施した不完全な統計によると、市場に出回っている3,619のシングルトークン契約が以下のリスクを抱えていることを示している。 「偽リチャージ」の脆弱性 その中にはよく知られたトークンが多数あります。


通常の状況では、リチャージ処理中に送金が失敗した場合、アカウントにはリチャージされず、アカウント残高は 0 のままになります。しかし、契約に「不正リチャージ」の抜け穴があると、送金が失敗した場合、システム上はリチャージ失敗(金額)が表示されず、取引所はリチャージ成功と誤判定してしまいます。ハッカーがこの抜け穴を発見すると、「不正な」リチャージを続けて資金を引き出し、取引所に直接的な損失をもたらすことになります。


4. 正式な検証の重要性


現在、市場におけるスマートコントラクトのセキュリティ問題に対する検査方法は主に 3 つあります。1 つ目はテスト、2 つ目は監査、3 つ目は正式な検証です。このテストでは、整数オーバーフローの脆弱性やその他の問題があるかどうかを検出するために、考えられるさまざまな入力を通じてプログラムを自動的に実行する必要があります。ただし、このテストで 100% をカバーすることは通常不可能であり、必ず漏れが生じます。監査は専門家の専門知識に頼って監査するものですが、いくら専門家であっても漏れはあるかもしれません。最初の 2 つの従来の方法では、契約に抜け穴がないことを保証できませんが、正式な検証ではこれを保証できます。


形式的検証は 3 種類の問題を解決できます。最初のカテゴリは安全で完璧です。数学的推論の方法を通じて、契約のすべての動作を捕捉してカバーし、すべての可能性をカバーして、契約に抜け穴がないことを保証します。2 番目のカテゴリは信頼できるものであり、オープンで透明です。契約の作成者は、自分が何をしたかを説明するだけでなく、そのコードがそうであることを全員に証明する必要があります。現時点では、これは正式な検証でのみ可能です。3 番目のカテゴリーは規範的な問題です。上述の誤リチャージの脆弱性は、イーサリアムのERC20仕様が非常に曖昧かつ不完全であることが原因です。どうしたら完全に書けるのでしょうか?そのためには、契約の仕様は自然言語やテキストで記述することはできず、数理論理学言語で形式化して厳密に定義する必要があります。


形式検証は、業界、特に安全システム関連の分野で既に多くの適用事例があり、例えば、航空宇宙、高速鉄道、原子力などの業界では、形式検証サービスを提供する専門チームが存在し、その活用事例が数多くあります。長年にわたりその機能と効果が得られており、セキュリティ業界の専門家からも支持されています。


現在、形式的な検証にはモデルの検査と演繹的推論が含まれています。 SECBITは演繹推論において10年以上の科学研究成果とエンジニアリング経験を蓄積しており、その技術は比較的世界をリードしています。


Zeppelin や Ethereum 公式 Web サイトなど、比較的権威があり安全な企業が、問題のあるスマート コントラクト コードを公開しています。権威に依存せず、誰にでもオープンで、より信頼性の高いスマート コントラクト コード ベースがあれば、それがこの問題の良い解決策となるでしょう。この点に関して、SECBIT は多くの取り組みを行っており、現在、誰もが無料で使用できる便利な世界初の信頼できるオープンソースのスマート コントラクト コード ライブラリを確立しています。

阿尔法公社
作者文库