背景少し前に、BitSharesの創設者であるダニエル・ラリマー氏は、Liskシステムの一連の問題について疑問を呈した。ほとんどの問題は Lisk の創設者の 1 人である Max によって肯定的に回答されていますが (詳細はこちらを参照)、Max が回答していない、またはまだ解決策を提案していない問題が 1 つ残っています。 それがLiskサイドチェーンが動作する環境だとラリマー氏は語った。
そうでなければ、Lisk のシステムは 2 つの大きな課題に直面します。 まず第一に、Lisk の現在のサンドボックス メカニズムは、サイドチェーン コードの権限を制限するのに十分ではありません。つまり、信頼できないコードを実行することができず、サーバーから重要な情報が盗まれたり、サーバーに直接損害を与えたりする可能性があります。 次に、サイドチェーン開発者に関して言えば、Lisk のサイドチェーン コードは完全に機能する JavaScript 環境で実行されますが、この環境には Math.random など、不確実性を引き起こす可能性のある関数がいくつか含まれています。 Lisk の公式開発ドキュメントでは、開発者に精神的な負担をかけるこれらの機能を避けることが求められていると特に指摘されています。カスタマイズされた JavaScript 環境であれば、不確実性を引き起こす関数は直接排除されるため、開発者はそれらの罠を回避するために余分な労力を費やす必要がありません。 Liskのサンドボックスのセキュリティ問題まず、サンドボックスを使用する必要がある理由について説明します。サンドボックスは、クラウド コンピューティング プラットフォームで広く使用されているセキュリティ対策です。これは、アプリケーション コードの権限を制限し、アプリケーション コードの恣意的なアクセスやシステムの損傷を防ぐことを目的としたアクセス制御メカニズムです。クラウド コンピューティング プラットフォームでは、アプリケーション コードはさまざまなサードパーティ開発者によって実装されますが、そのコードは信頼できません。サンドボックスは、これらのアプリケーション コードが限られたことだけを実行できるように、分離レイヤーを提供するために必要です。 Lisk は、ブロックチェーン分野のクラウド コンピューティング プラットフォームに非常に似ています。いくつかのサービスを提供しており、サードパーティの開発者がこれらのサービスに基づいて独自のアプリケーション (dapps) を構築できるようにしています。 いくつか分析してみたところ、このサンドボックスはその名前に値しないものであることがわかりました。プロセス間通信を実現するためにパイプを使用するだけであり、その方法は回りくどいものです。 Node.js のプロセス間通信は JavaScript コードを通じて直接実装できますが、なぜそれを実装するために C++ を使用するのでしょうか? この疑問といくつかの期待を抱きながら、私は自分で実験をしてみました。 まずlisk-cliを使ってhello worldサイドチェーンを作成します
次に、サイドチェーンプログラムの入り口にコードを追加しました 次にそれを実行すると、このサーバーマスターノードの受託者のパスワードがすべて取得されます
案の定、このサンドボックスは隔離の役割を果たさず、管理者権限を持っていたため、ハッカーに扉を開けているのと同じでした。 Lisk システムには第 2 レベルのパスワードがあると言う人もいます。たとえ第 1 レベルのパスワードを入手したとしても、お金を盗むことはできません。 Linux 独自の権限メカニズムにより、サイドチェーン コードに低レベルのユーザーを割り当てて、他のユーザーのファイルにアクセスできないようにすることができるという人もいます。 これらは一時的な解決策に過ぎず、根本的な解決策ではありません。根本的な解決策は、サンドボックスをその名前にふさわしいものにし、Lisk が構想したように真の環境分離を実現して、サイドチェーンのコードが外部から完全に不明になるようにすることです。 解決では、真のサンドボックスを実現するにはどうすればよいでしょうか?解決策は多数あり、Node.js をスキップして v8 エンジンを直接使用したり、Windows システムの SetWindowsHookEx などのプロセス レベルの権限制御を使用したりすることができます。もちろん、Lisk は現在、Windows ウォレットのフルバージョンをサポートする予定はないため、seccomp テクノロジは Linux システムで使用できます。 最初のステップはネイティブJavaScript仮想マシンを作成することです
これらのコード行により、サイドチェーン コードの分離が完了します。 sideChainCode では純粋な計算ロジックのみが実行でき、v8 エンジンに組み込まれている少量の JavaScript 標準ライブラリのみが使用できます。 setTimeout や console.log すらありません。 追加の作業が必要です。 たとえば、ランタイム環境にsetTimeoutとclearTimeoutを追加します。 サイドチェーンログをメインシステムに転送するログ印刷機能を追加しました
さらに、不確実性を引き起こす機能を無効にすることもできます
これらすべてが完了すると、サイドチェーン コードへのアクセス権は狭い範囲に制限されます。 require、fs、http など、Node.js に組み込まれている標準ライブラリは使用できません。 これにより、セキュリティの目的は達成されますが、機能上の問題という別の問題が発生します。それらの追加ライブラリは使用できず、js 標準ライブラリのみでは不便すぎます。多くの複雑な機能は、特に require なしでは実装できず、モジュール化すら不可能です。 したがって、次のステップが必要です。 ステップ2 webpackWebpack はもともと、フロントエンド プロジェクトのモジュール管理に使用されていた、フロントエンド プロジェクトでよく使用されるパッケージング ソリューションでした。多くの人は、webpack がバックエンドにも適用可能であり、node_modules 内のライブラリや nodejs の組み込みライブラリの一部を一緒にパッケージ化できるという事実を見落としています。 つまり、UI に関連するものを除く、フロントエンドで使用できるすべての js ライブラリ (async、bytebuffer、crypto、js-nacl、bignum など) は、サイドチェーン サンドボックスでも使用できるため、サイドチェーンには十分です。 vm + webpack の組み合わせは完璧です。 これは、常に変化するフロントエンド技術が JavaScript 言語にもたらすメリットであり、Ethereum の Solidity などの新しい言語では実現できないものでもあります。 しかし、まだ仕上げが必要です ステップ3 障害物を取り除く現在、サイドチェーン コードのいくつかの場所では、多くの依存関係を伴う ed2curve などの比較的複雑なライブラリが使用されています。それは不要だと考えています。この部分の機能はメインチェーンで提供され、プロセス間通信を通じて API の形式でサイドチェーンに提供されます。 これにより、サイドチェーン コードの負担が軽減され、サイドチェーン開発者の作業が容易になります。これらのコードがフレームワーク全体に与える影響は非常に小さく、無視できますが、それらが依存するライブラリは、サンドボックス環境では許可されていない操作も含め、コード量の半分以上を占めています。 分析の結果、 また、 最後に、完全なサイドチェーン プロジェクトとメインチェーン フレームワークのキー コードをここにパッケージ化しました。 http://o7dyh3w0x.bkt.clouddn.com/asch-sandbox-solution.tar.gz これが Lisk 開発チームの参考となり、サイドチェーン アプリケーションの登録を開始する前に脆弱性を修正できるようになることを願っています。 |
<<: 「サトシ・ナカモト」を名乗るライト氏がビットコインとブロックチェーンの特許を数百件申請、特許戦争勃発か
>>: ビットコイン: 最高のブロックチェーンアプリケーション
出典: テンセント ユジアン 脅威インテリジェンス センター編集者注: 元のタイトルは「フィッシング...
12月10日、CCTVの最新報道によると、2019年以降、新たに発見された国内の仮想通貨取引プラット...
テキサス州に拠点を置く投資運用会社USグローバル・インベスターズは、すでに金、鉱物、貴金属、石油、そ...
以前、WAVESがICOを実施する予定であると報告しました。現在、WAVES ICOが開始され、非常...
フレッド・ウィルソンはシリコンバレーのトップベンチャーキャピタリストであり、有名なブロガーです。ベン...
クレイジーな解説:欧州地域開発基金の割り当てを担当するEU組織INTERREG Central Ba...
午後4時11月21日東部時間午後11時30分、ナスダック上場の中国株、迅雷は13.01%の大幅上昇で...
四川省の山奥の川はすでに増水している。あと3か月で洪水期が到来し、水力発電のコストは20セントを超え...
Golden Finance News -先週、「ビットコインとブロックチェーン技術に基づく研究開発...
原題: 世論調査によると、エルサルバドル人の大半はビットコインの採用に消極的である 出典: Tech...
韓国政府と地元の金融規制当局は投資家に対し、偽の暗号通貨やビットコイン取引所には注意するよう警告した...
Golden Finance News -最近、コンピューター ハードウェア会社 Sapphire ...
ビットコインのマイニングは依然として利益を生む産業ですが、環境への悪影響を過小評価することはできませ...