論文の概要: GHunter: Universal Prototype Pollution Gadgets in JavaScript Runtimes
- arxiv url: http://arxiv.org/abs/2407.10812v1
- Date: Mon, 15 Jul 2024 15:30:00 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-16 14:30:11.791885
- Title: GHunter: Universal Prototype Pollution Gadgets in JavaScript Runtimes
- Title(参考訳): GHunter: JavaScriptランタイムにおけるユニバーサルプロトタイプ汚染ガジェット
- Authors: Eric Cornelissen, Mikhail Shcherbakov, Musard Balliu,
- Abstract要約: プロトタイプ汚染は、JavaScriptコードに影響を与える最近の脆弱性である。
これはJavaScriptのプロトタイプベースの継承をルーツとしており、攻撃者は実行時にオブジェクトのプロトタイプに任意のプロパティを注入することができる。
V8ベースのJavaScriptランタイムにおけるガジェットの研究は、Node.jsとDenoに重点を置いている。
- 参考スコア(独自算出の注目度): 5.852467142337343
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Prototype pollution is a recent vulnerability that affects JavaScript code, leading to high impact attacks such as arbitrary code execution. The vulnerability is rooted in JavaScript's prototype-based inheritance, enabling attackers to inject arbitrary properties into an object's prototype at runtime. The impact of prototype pollution depends on the existence of otherwise benign pieces of code (gadgets), which inadvertently read from attacker-controlled properties to execute security-sensitive operations. While prior works primarily study gadgets in third-party libraries and client-side applications, gadgets in JavaScript runtime environments are arguably more impactful as they affect any application that executes on these runtimes. In this paper we design, implement, and evaluate a pipeline, GHunter, to systematically detect gadgets in V8-based JavaScript runtimes with prime focus on Node.js and Deno. GHunter supports a lightweight dynamic taint analysis to automatically identify gadget candidates which we validate manually to derive proof-of-concept exploits. We implement GHunter by modifying the V8 engine and the targeted runtimes along with features for facilitating manual validation. Driven by the test suites of Node.js and Deno, we use GHunter in a study of gadgets in these runtimes. We identified a total of 56 new gadgets in Node.js and 67 gadgets in Deno, pertaining to vulnerabilities such as arbitrary code execution (19), privilege escalation (31), path traversal (13), and more. Moreover, we systematize, for the first time, existing mitigations for prototype pollution and gadgets in terms of development guidelines. We collect a list of vulnerable applications and revisit the fixes through the lens of our guidelines. Through this exercise, we identified one high-severity CVE leading to remote code execution, which was due to incorrectly fixing a gadget.
- Abstract(参考訳): プロトタイプ汚染は、JavaScriptコードに影響を与える最近の脆弱性であり、任意のコード実行のような高い影響を持つ。
この脆弱性はJavaScriptのプロトタイプベースの継承に根ざしているため、攻撃者は実行時にオブジェクトのプロトタイプに任意のプロパティを注入することができる。
プロトタイプの汚染の影響は、セキュリティに敏感な操作を実行するために、アタッカーが制御するプロパティから不注意に読み取る、良質なコード(gadget)の存在に依存する。
それまでの研究は主にサードパーティのライブラリやクライアントサイドのアプリケーションのガジェットを研究してきたが、JavaScriptランタイム環境のガジェットは、これらのランタイム上で実行されるアプリケーションに影響を与えるため、明らかに影響が大きい。
本稿では、Node.jsとDenoに重点を置いて、V8ベースのJavaScriptランタイムでガジェットを体系的に検出するパイプライン、GHunterを設計、実装、評価する。
GHunterは軽量な動的テイント解析をサポートし、ガジェット候補を自動的に識別し、手動で検証して概念実証を導出する。
手動検証を容易にする機能とともに、V8エンジンとターゲットランタイムを変更することでGHunterを実装しています。
Node.jsとDenoのテストスイートによって駆動される私たちは、これらのランタイムにおけるガジェットの研究にGHunterを使用しています。
任意のコード実行(19)、特権エスカレーション(31)、パストラバース(13)などの脆弱性に関連する、Node.jsの56個の新しいガジェットとDenoの67個のガジェットを特定した。
さらに,我々は,開発ガイドラインの観点から,プロトタイプ汚染とガジェットに対する既存の軽減策を初めて体系化する。
脆弱性のあるアプリケーションのリストを収集し、ガイドラインのレンズを通して修正を再検討します。
このエクササイズを通じて、リモートコード実行につながる重度CVEを1つ特定しました。
関連論文リスト
- Fakeium: A Dynamic Execution Environment for JavaScript Program Analysis [3.7980955101286322]
Fakeiumは、JavaScriptプログラムの効率的で大規模な動的解析のために設計された、新しい、オープンソースで軽量な実行環境である。
Fakeiumは、API呼び出しと文字列リテラルを追加することで、従来の静的解析を補完する。
Fakeiumの柔軟性と、特に難解なソースで隠れたAPI呼び出しを検出する能力は、セキュリティアナリストが悪意のある振る舞いを検出する貴重なツールとしての可能性を強調している。
論文 参考訳(メタデータ) (2024-10-28T09:27:26Z) - FV8: A Forced Execution JavaScript Engine for Detecting Evasive Techniques [53.288368877654705]
FV8はJavaScriptコードの回避テクニックを特定するために設計された修正V8 JavaScriptエンジンである。
動的コードを条件付きで注入するAPI上でのコード実行を選択的に実施する。
1,443のnpmパッケージと、少なくとも1つのタイプのエスケープを含む164の(82%)拡張を識別する。
論文 参考訳(メタデータ) (2024-05-21T19:54:19Z) - A Study of Vulnerability Repair in JavaScript Programs with Large Language Models [2.4622939109173885]
大規模言語モデル(LLM)は、複数のドメインにまたがる大幅な進歩を示している。
実世界のソフトウェア脆弱性に関する我々の実験によると、LLMはJavaScriptコードの自動プログラム修復において有望であるが、正しいバグ修正を達成するには、しばしばプロンプトで適切なコンテキストを必要とする。
論文 参考訳(メタデータ) (2024-03-19T23:04:03Z) - Poisoned Forgery Face: Towards Backdoor Attacks on Face Forgery
Detection [62.595450266262645]
本稿では,バックドア攻撃による顔偽造検出の新たな脅威について紹介する。
バックドアをモデルに埋め込むことで、攻撃者は検知器を騙して偽造された顔の誤予測を発生させることができる。
我々は,顔偽造検知器に対するクリーンラベルバックドア攻撃を可能にするemphPoisoned Forgery Faceフレームワークを提案する。
論文 参考訳(メタデータ) (2024-02-18T06:31:05Z) - Unveiling the Invisible: Detection and Evaluation of Prototype Pollution Gadgets with Dynamic Taint Analysis [4.8966278983718405]
本稿では、開発者がアプリケーションのソフトウェアサプライチェーンにあるガジェットを識別するのに役立つ最初の半自動パイプラインであるDastyを提案する。
DastyはサーバーサイドのNode.jsアプリケーションをターゲットにしており、動的テナント分析の強化に依存している。
私たちは、最も依存度の高いNPMパッケージの研究にDastyを使って、ACEにつながるガジェットの存在を分析します。
論文 参考訳(メタデータ) (2023-11-07T11:55:40Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - ReCode: Robustness Evaluation of Code Generation Models [90.10436771217243]
コード生成モデルのための総合的ロバストネス評価ベンチマークであるReCodeを提案する。
ドクストリング、関数と変数名、コード構文、コードフォーマットのコードに特化して、30以上の変換をカスタマイズします。
ヒトのアノテータでは、摂動プロンプトの90%以上が本来のプロンプトの意味を変えていないことが確認された。
論文 参考訳(メタデータ) (2022-12-20T14:11:31Z) - Adversarial Camouflage for Node Injection Attack on Graphs [64.5888846198005]
グラフニューラルネットワーク(GNN)に対するノードインジェクション攻撃は、GNNのパフォーマンスを高い攻撃成功率で低下させる能力のため、近年注目を集めている。
本研究は,これらの攻撃が現実的なシナリオでしばしば失敗することを示す。
これを解決するため,我々はカモフラージュノードインジェクション攻撃(camouflage node Injection attack)に取り組んだ。
論文 参考訳(メタデータ) (2022-08-03T02:48:23Z) - Adversarial EXEmples: A Survey and Experimental Evaluation of Practical
Attacks on Machine Learning for Windows Malware Detection [67.53296659361598]
EXEmplesは、比較的少ない入力バイトを摂動することで、機械学習に基づく検出をバイパスすることができる。
我々は、機械学習モデルに対する過去の攻撃を包含し、一般化するだけでなく、3つの新たな攻撃を含む統一フレームワークを開発する。
これらの攻撃はFull DOS、Extended、Shiftと呼ばれ、DOSヘッダをそれぞれ操作し、拡張し、第1セクションの内容を変更することで、敵のペイロードを注入する。
論文 参考訳(メタデータ) (2020-08-17T07:16:57Z) - Montage: A Neural Network Language Model-Guided JavaScript Engine Fuzzer [18.908548472588976]
私たちは、JSエンジンの脆弱性を見つけるための最初のNNLM誘導ファザであるMontageを紹介します。
Montage氏は最新のJSエンジンで3つのCVEを含む37の現実世界のバグを発見した。
論文 参考訳(メタデータ) (2020-01-13T08:45:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。