Aikido

NodeJS向けゼロデイ攻撃防止ソリューション「Aikido Zen」

ティモ・ケスラーティモ・ケスラー
|
#
#

要約: 

ソフトウェアベンダーが認識していない脆弱性を悪用するゼロデイ攻撃は、重大なサイバー脅威をもたらします。従来のWebアプリケーションファイアウォール(WAF)ではこうした攻撃を防ぐのに不十分で、頻繁なパッチ適用が必要となります。一方、ランタイムアプリケーション自己保護(RASP)は、記述されたルールに依存せず、ネイティブ統合を通じてアプリケーションの動作を積極的に監視する異なるアプローチを採用しており、ゼロデイ攻撃に対する保護を強化します。 

Zen 構築した目的は、開発者が既存アプリを後付けで改修し、SQLインジェクション、シェルインジェクション、パストラバーサル、SSRFといった一般的な注入攻撃に対してデフォルトで保護できるようにすることでした。開発者は自身のコード内のミスだけでなく、使用しているライブラリの未知の欠陥からも保護されるべきです。

その有効性を評価するため、Zen 検証しました。本ホワイトペーパーでは、その手法を説明し、有効性を評価するとともに、トレードオフと限界点を明らかにします。本論文では、チームが17のゼロデイ脆弱性を特定し、そのうち11件が、具体的なエクスプロイトに関する事前Zen ブロックされました。

はじめに

WAFは常にゼロデイ攻撃に対する最後の砦であった。なぜなら、WAFは「ゼロデイ攻撃」のウィンドウ期間中に脆弱性を捕捉するために、運と反復パターンに依存していたからである(下図参照)。脆弱性が公に開示された後(t0)になって初めて、WAFルールを更新して新たな攻撃を阻止できる。 

リビツキら著 - (英語) (2015) 『防衛者のジレンマ:サイバーセキュリティへの道筋』ランド社 ISBN: 978-0-8330-8911-3., パブリックドメイン, https://commons.wikimedia.org/w/index.php?curid=147095222

WAFは、アプリケーションに到達する前の受信接続データ(ヘッダー、ボディなど)を検査します。データ内の不審なパターン(SQLインジェクション、パストラバーサルなど)をスキャンし、不審なデータをブロックまたは除去します。効果的ではありますが、System Weaknessの研究で示されているように、多くの誤検知を生成する傾向があります。

 10,000人の顧客がいる場合でも、最善の解決策で56人がブロックされる可能性があります。 

Aikido Zen ウェブアプリケーションセキュリティに対して根本的に異なるアプローチZen 。署名や既知のパターンにのみ依存するのではなく、より深いアプリケーションレベルでの攻撃行動の理解と軽減に焦点を当てる。 

Aikido Zen

悪意のある活動が重要なリソースへのアクセスや操作を試みる時点で監視・遮断に焦点を当てることで、Aikido Zen 攻撃が基盤システムと相互作用する際にのみブロックする戦略を採用し、誤検知を大幅に削減することが可能Zen 

これは、基盤となる環境との様々な種類の相互作用を精査するシステムを実装することで達成される。これには以下が含まれる:

  • データベース操作の監視:SQLおよびNoSQLデータベースライブラリへの呼び出しを監視することで、不正なクエリ、データ漏洩の試み、またはインジェクション攻撃を検出できます。これらのデータベース呼び出しの内容と構造を分析することで、悪意のある活動を特定し、被害が発生する前にブロックすることが可能です。

  • 外部通信:HTTP、HTTPS、その他のプロトコルを介した外部通信を監視することで、コマンドアンドコントロールサーバーとの通信試行、マルウェアのダウンロード、データの不正流出を検知できます。これらの通信の内容と宛先を検査することで、悪意のあるトラフィックを特定し遮断することが可能です。

  • ファイルシステムへのアクセスとシェル実行:ファイルシステムへのアクセスを監視することで、機密ファイルの読み取り、書き込み、変更、または悪意のあるコードの実行を試みる行為を検知できます。これらのアクセスに関連するファイルパス、権限、操作を分析することで、不正な活動を特定しブロックすることが可能です。

  • サーバーサイドリクエストフォージェリ(SSRF)攻撃の試み:SSRF攻撃は甚大な被害をもたらす可能性があり、攻撃者がサーバーの信頼性を悪用して内部リソースにアクセスしたり、外部サービスと攻撃者に代わってやり取りしたりすることを可能にします。Zen 、サーバーから発信される内部リクエストの宛先と性質を厳重に監視することで、SSRF攻撃をブロックZen 。

基盤システムとの相互作用におけるこれらの重要なポイントに焦点を当てることで、Zen 攻撃をより正確かつ効果的に検知・遮断すると同時に、正当な活動を妨げる可能性のある誤検知の数を最小限に抑えます。この戦略はまた、攻撃の性質や標的に関する貴重な知見を提供し、全体的なセキュリティ態勢の強化に活用できます。

研究

継続的な取り組みとして、Zen 新たに発見された脆弱性に対するテストを実施し、Zen Zenの有効性を測定しています。チームは新たな0day脆弱性を特定し、再現可能なテスト環境を構築、ペイロード注入による脆弱性の検証を行った後、Aikido Zen を導入して攻撃がブロックされるZen 

本論文において、チームは17の脆弱性を特定した。そのうち11Zen によってブロックされZen 6は様々な理由によりブロックされなかった

研究結果は以下の通りです。再現に必要なすべてのテスト環境、エクスプロイト、リソースはオープンソース化されています。

ブロックされました

CVE ID 影響を受けるソフトウェア タイプ
CVE-2014-3744 npm:st パストラバーサル
CVE-2015-1369 npm:sequelize SQLインジェクション
CVE-2019-15597 npm:node-dfs シェル注入
CVE-2020-7687 npm:fast-http パストラバーサル
CVE-2020-7765 npm:@firebase/util プロトタイプ汚染
CVE-2020-8116 npm:ドットプロパティ プロトタイプ汚染
CVE-2020-26301 npm:ssh2 シェル注入
CVE-2023-31719 npm:@frangoteam/fuxao SQLインジェクション
CVE-2024-24806 libuv(Node.jsで使用) ソビエトしゃかいしゅぎきょうわこくれんぽう
CVE-2024-39338 npm:axios ソビエトしゃかいしゅぎきょうわこくれんぽう
CVE-2024-53900 npm:mongoose JavaScriptコードインジェクション
CVE-2025-23084 Node.js パストラバーサル
CVE-2025-25975 npm:parse-git-config プロトタイプ汚染
CVE-2025-25977 npm:canvg プロトタイプ汚染
CVE-2025-27152 npm:axios ソビエトしゃかいしゅぎきょうわこくれんぽう
CVE-2025-28269 npm:js-オブジェクトユーティリティ プロトタイプ汚染
CVE-2025-32020 npm:CRUDクエリパーサー SQLインジェクション

ブロックされていません

CVE 影響を受けるソフトウェア タイプ 理由
CVE-2014-9682 DNS同期 コマンド・インジェクション 古いサポート対象外のShellJSバージョンを使用しています。新しいバージョンはZenでサポートされています。
CVE-2015-1369 続編化 SQLインジェクション 当初は検出されなかった問題が、バージョン1.7.0で修正されました。
CVE-2024-21511 mysql2 コードインジェクション Node.jsのAsyncContextの問題により、ユーザー入力の追跡が失われています。
CVE-2024-56198 パス・サニタイザー パストラバーサル 変更が行われたため、危険なペイロードをユーザー入力まで遡って特定することはできません。
CVE-2025-1302 jsonpath-プラス リモートコード実行 V8に組み込まれたセキュリティ機構のため、evalを計測対象にすると動作が変化します。
将来的には別の方法でこの問題を解決する予定です。
CVE-2024-42352 @nuxt/icon ソビエトしゃかいしゅぎきょうわこくれんぽう パッケージはまだサポートされていません。

Aikido 、新たなフレームワークサポートと強化されたアルゴリズムにより、Aikido Zenゼロデイ保護を継続的に研究・拡大Aikido 。

中核となる原則は、継続的な保護においてパフォーマンスへの影響を最小限(≤5%)に抑えることです。これにより、リソースを大量に消費する特定の保護アルゴリズム(リクエスト時間を2倍~10倍増加させる可能性あり)を即時導入することはできませんが、代替となる効率的な手法を積極的に開発中です。

Aikido Zen 、コードスキャン、APIテスト、その他の堅牢なセキュリティ機能といったAikido包括的な反応的コンポーネントを補完する、*追加*の保護Zen 捉えてください。

結論

Zen 、ウェブアプリケーションセキュリティにおける画期的なZen 。攻撃行動に焦点を当て、最先端技術を活用することで、絶え間ないパッチ適用を必要とせずにゼロデイ攻撃に対する強力な防御を提供します。脅威の状況が変化する中で、Zen ウェブアプリケーションの継続的なセキュリティを確保するための潜在的な解決策Zen 。

4.7/5

今すぐソフトウェアを保護しましょう

無料で始める
CC不要
デモを予約する
データは共有されない - 読み取り専用アクセス - CC不要

今すぐ安全を確保しましょう

コード、クラウド、ランタイムを1つの中央システムでセキュアに。
脆弱性を迅速に発見し、自動的に修正。

クレジットカードは不要。