毎月、MetaMaskのセキュリティディレクターであるLukerが、知っておくべき最新の暗号資産攻撃と新たなリスクについてレポートします。
今月は、チームがWallet Guardと共に「State of Security Twitter Space」に参加し、暗号資産セキュリティの現状について議論しました。また、ConsensysのHarry Denleyがスマートコントラクトセキュリティのベストプラクティスを共有しました。Gal WeizmanとZbigniew Tenerowiczは、LavaMoatの「scuttling」とサンドボックス化がJavaScriptサプライチェーン攻撃に対してどのように防御するかを解説し、Herman JungeはDeFi Security Summitに先立ち、新しいDeFiインシデントデータベース「Menpo」をプレビューしました。さらに、DeFiHackLabsからOWASP API Security Top 10まで、学習リソースもまとめました。詳細は以下の通りですが、まず最初に…
注目のSTEMパイオニア:Bruce Voeller、生物学者・AIDS研究者
Bruce Voeller(1934〜1994年)はアメリカの生物学者であり、ゲイの権利活動家で、「AIDS」という用語を作った人物として広く知られています。彼はMariposa Education and Research Foundationを設立し、HIVの感染経路と予防策の有効性を研究しました。リスクにさらされた人々を守るために厳格な証拠に基づく研究を主張したVoellerの姿勢は、健全なセキュリティ活動が求める基準と同じです。すなわち、前提を検証し、データに基づいて行動することです。
チームはWallet Guardと共に、Taylor Monahanが主導する「State of Security: MetaMask x Wallet Guard Twitter Space」に参加し、暗号資産セキュリティについて深く議論しました。会話では、脅威の進化、オープンソース化の重要性、Atomic Walletのインシデントなど、さまざまなトピックが取り上げられました。リスナーは、急速に変化する脅威の状況においてユーザーを保護するために両チームがどのように考えているかを、率直かつ舞台裏から垣間見ることができました。
MetaMask SecurityのHarry Denley、スマートコントラクトセキュリティのベストプラクティスを共有
「Coffee With Calyptus」の一回として、ConsensysのセキュリティエキスパートであるHarry Denleyが、スマートコントラクトセキュリティのベストプラクティスを共有し、MetaMaskの2つのプロジェクトを紹介しました。MetaMask Snapsは安全な環境でMetaMaskの機能を拡張し、LavaMoatはJavaScriptエコシステム内でランタイム保護を提供します。Denleyはセキュリティと機能性のバランスを強調しました。スマートコントラクトはイミュータブル(変更不可)であるため、セキュリティを優先し、追加機能は厳密にテストする必要があります。また、新しいコントラクトにロックする価値を段階的に増やすことも、ユーザーを保護する方法の一つです。推奨されるプラクティスには、セキュアな設計原則、OpenZeppelinなどの信頼できるライブラリ、セキュリティ重視の開発者マインドセット、包括的なテスト、専門家によるコードレビュー、そして新たなリスクに関する継続的な教育が含まれます。
Herman Junge、DeFi Security Summit 2023でSTIX 2.1 DeFiインシデントデータベース「Menpo」を紹介予定
2023年7月15日にパリで開催されるDeFi Security Summitにて、Herman Jungeは、サミットの発表の通り、DeFiインシデントのカタログ化を標準化するためにSTIX 2.1を使用するプロジェクト「Menpo」を紹介します。インシデントを説明するための共通語彙を提供することで、Menpoは組織横断的な脅威インテリジェンスの共有を促進し、セキュリティリソースのより効率的な配分と、インシデント発生時のリアルタイムなレポート共有を可能にします。
Zbigniew TenerowiczによるJavaScriptサプライチェーン防御に関する講演
DevSecConf24の講演にて、Zbigniew Tenerowicz(ZB)は、見知らぬ人のコードを実行すべきかどうかという難しい問題に取り組みました。固有のリスクがあるにもかかわらず、これはテクノロジーの世界で日常的に行われている慣行であることを認めた上で、JavaScriptプロジェクトがサプライチェーン攻撃から積極的に身を守る方法を探りました。この積極的な防御は、ダウンロードした依存関係がすでに悪意のある依存関係と共に配布されているという前提のもとで議論されました。ZBは、各パッケージのグローバルへのアクセスを制限したり、パッケージのネットワークやファイルシステムへのアクセス能力を制御したりする方法を提案しました。
さらに、JavaScriptプロジェクトにおける一般的な脆弱性であるプロトタイプ汚染の排除という重要な問題にも取り組みました。ZBはまた、特にTC39で現在議論されている将来のJavaScript機能にも注目し、これらの新機能を現在のプロジェクト保護に活用する方法を示しました。より実践的な理解を提供するため、ZBは実際のマルウェアを安全に実行する方法を示すライブデモを行い、議論された防御策の重要性と有効性を強調しました。
Gal WeizmanがLavaMoatの「scuttling」機能を解説
Gal Weizmanは、LavaMoatの「scuttling」をわかりやすい言葉で説明しました。アプリは大量のサードパーティコードに依存しており、そのどれもが悪意ある動作をする可能性があります。LavaMoatはSESを使って各依存関係をサンドボックス化し、必要なものだけにアクセスできるようにします。しかし、もし一つが脱出して強力なAPIが存在するグローバルのwindowオブジェクトに到達した場合、それは問題となります。ScuttlingはwindowからそれらのAPIを削除するため、脱出した依存関係は行き詰まります。アプリは正常に動作し続け、攻撃者は目的を達成できません。
LavaMoatアップデート:React Summit講演、React Nativeモバイルの進捗、Snow、ScorchWrap
DevSecConf24の講演に加え、同じトピックについてZbyszekが発表したGit NationのReact Summit 2023の動画が2023年7月5日に公開されました。モバイル面では、React Native iOSネイティブアニメーションコードの詳細調査(以前の調査に続く)により、親ノードと子ノードでアサーションマクロが失敗する問題がナビゲーション時のWebPageロード失敗につながっていることが判明しました。これは最終的に、ネイティブJSC Promisesを優先してReact NativeのグローバルPromise polyfillを除外したことに起因しており、現在はルートビューが設定されたロックダウン済みMetaMaskモバイルを起動するために必要な措置です。次のステップには、残りのDetox iOS エンドツーエンドスモークテストの修正と、Appiumを介したAndroid対応が含まれます。また、Snowは潜在的な回避策をさらに修正するアップデートを受け、ScorchWrap webpackプラグインのwebpack固有の部分が安定しつつあり、LavaMoat機能の統合を開始する準備が整いつつあります。
学習リソース:DeFiHackLabs、NFT攻撃ベクター、OWASP API Top 10
NFTはますます普及していますが、明確でわかりやすい情報がなかなか手に入らないため、詐欺師やハッカーの標的になりやすい状況です。このレポートでは、いくつかの学習リソースが紹介されています。SunWeb3Sec/DeFiHackLabsはFoundryを使ってDeFiハックインシデントを再現しており(現在233件)、インシデントの根本原因分析や一般的なスマートコントラクトの脆弱性を学ぶためのリポジトリも提供しています。QuillAuditsが管理するQuillhash/NFT-Attack-Vectorsは、NFTを悪用するために使われる一般的な手法をカタログ化しています。また、2023年版OWASP API Security Top 10は、今年ビルダーが警戒すべきAPIリスクをリストアップしています。
MetaMaskの2023年6月暗号資産セキュリティレポートでは、MetaMaskとWallet Guardによる初の「State of Security Twitter Space」、Coffee With CalyptusでのHarry Denleyによるスマートコントラクトセキュリティのベストプラクティス、そしてJavaScriptサプライチェーン攻撃に対する防御のためのLavaMoatの「scuttling」機能の解説を取り上げました。エコシステム全体での安全を保つための脅威、トレンド、ヒントについては、MetaMask暗号資産セキュリティレポートの過去のエディションもご覧ください。