論文の概要: Yama: Precise Opcode-based Data Flow Analysis for Detecting PHP Applications Vulnerabilities
- arxiv url: http://arxiv.org/abs/2410.12351v1
- Date: Wed, 16 Oct 2024 08:14:37 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-17 13:40:30.405029
- Title: Yama: Precise Opcode-based Data Flow Analysis for Detecting PHP Applications Vulnerabilities
- Title(参考訳): Yama: PHPアプリケーションの脆弱性検出のためのOpcodeベースの精密データフロー解析
- Authors: Zhao Jiazhen, Zhu Kailong, Yu Lu, Huang Hui, Lu Yuliang,
- Abstract要約: Yama は、PHP のための文脈に敏感で経路に敏感な相互言語間データフロー解析手法である。
我々は,PHPオペコードの正確なセマンティクスと明確な制御フローにより,データフロー解析をより正確かつ効率的に行えることを発見した。
我々は,基本データフロー解析機能,複雑な意味解析機能,実世界のアプリケーションにおける脆弱性発見機能という3つの側面からヤマを評価した。
- 参考スコア(独自算出の注目度): 4.262259005587605
- License:
- Abstract: Web applications encompass various aspects of daily life, including online shopping, e-learning, and internet banking. Once there is a vulnerability, it can cause severe societal and economic damage. Due to its ease of use, PHP has become the preferred server-side programming language for web applications, making PHP applications a primary target for attackers. Data flow analysis is widely used for vulnerability detection before deploying web applications because of its efficiency. However, the high complexity of the PHP language makes it difficult to achieve precise data flow analysis. In this paper, we present Yama, a context-sensitive and path-sensitive interprocedural data flow analysis method for PHP, designed to detect taint-style vulnerabilities in PHP applications. We have found that the precise semantics and clear control flow of PHP opcodes enable data flow analysis to be more precise and efficient. Leveraging this observation, we established parsing rules for PHP opcodes and implemented a precise understanding of PHP program semantics in Yama. We evaluated Yama from three dimensions: basic data flow analysis capabilities, complex semantic analysis capabilities, and the ability to discover vulnerabilities in real-world applications, demonstrating Yama's advancement in vulnerability detection. Specifically, Yama possesses context-sensitive and path-sensitive interprocedural analysis capabilities, achieving a 99.1% true positive rate in complex semantic analysis experiments related to type inference, dynamic features, and built-in functions. It discovered and reported 38 zero-day vulnerabilities across 24 projects on GitHub with over 1,000 stars each, assigning 34 new CVE IDs. We have released the source code of the prototype implementation and the parsing rules for PHP opcodes to facilitate future research.
- Abstract(参考訳): Webアプリケーションには、オンラインショッピング、eラーニング、インターネットバンキングなど、日常生活のさまざまな側面が含まれている。
脆弱性があれば、社会や経済に深刻な被害をもたらす可能性がある。
使いやすさのため、PHPはWebアプリケーションにとって好まれるサーバーサイドプログラミング言語となり、攻撃者にとってPHPアプリケーションが主要なターゲットとなっている。
データフロー分析は、Webアプリケーションをデプロイする前に、その効率性のために脆弱性検出に広く利用されている。
しかし、PHP言語の複雑さが高いため、正確なデータフロー解析が難しい。
本稿では,PHP アプリケーションにおける taint スタイルの脆弱性を検出するために設計された,PHP のコンテキスト依存型およびパス依存型情報フロー解析手法である Yama を提案する。
我々は,PHPオペコードの正確なセマンティクスと明確な制御フローにより,データフロー解析をより正確かつ効率的に行えることを発見した。
この観察を生かして,我々はPHPオペコードに対する解析ルールを確立し,ヤマにおけるPHPプログラムのセマンティクスの正確な理解を実現した。
我々は,山を3次元から評価した。基本的なデータフロー解析機能,複雑な意味解析機能,現実世界のアプリケーションにおける脆弱性発見機能である。
特にヤマは、型推論、動的特徴、組込み関数に関連する複雑な意味分析実験において99.1%の正の確率を達成し、文脈に敏感で経路に敏感な言語間分析能力を持っている。
GitHub上の24のプロジェクトに38のゼロデイ脆弱性を発見し、報告し、それぞれ1000以上のスターがいて、34の新しいCVE IDを割り当てている。
我々は,プロトタイプ実装のソースコードとPHPオペコードのパースルールを公開し,今後の研究を円滑に進めている。
関連論文リスト
- Fuzzing the PHP Interpreter via Dataflow Fusion [13.303933700280343]
本稿では,PHPインタプリタにおけるメモリエラーの検出に特化して設計された,最初の自動ファジリングフレームワークであるFlowFusionを紹介する。
評価では、FlowFusionは、PHPインタプリタで56の未知のメモリエラーを特定し、38の修正と4の確認を行った。
FlowFusionは最先端のファズーであるAFL++とPolyglotより優れており、24時間のファズー後に24%のコードをカバーする。
論文 参考訳(メタデータ) (2024-10-29T03:54:59Z) - RealVul: Can We Detect Vulnerabilities in Web Applications with LLM? [4.467475584754677]
本稿では,PHP 脆弱性検出用に設計された最初の LLM ベースのフレームワークである RealVul を紹介する。
コードの合理化と不要なセマンティック情報を排除しながら、潜在的な脆弱性トリガを分離できます。
また、データ合成法の改善により、PHPの脆弱性サンプルが不足している問題にも対処する。
論文 参考訳(メタデータ) (2024-10-10T03:16:34Z) - Code Structure-Aware through Line-level Semantic Learning for Code Vulnerability Detection [44.29771620061153]
本稿では,構造的情報認識を取り入れた事前学習型コードモデルに基づく新しいネットワークアーキテクチャを提案する。
我々は,グローバルな脆弱性認識,ライン構造認識,センシティブライン認識という,3つの重要なコンポーネントを統合した,新しいネットワークアーキテクチャであるコード構造認識ネットワーク(Code Structure-Aware Network)を導入する。
論文 参考訳(メタデータ) (2024-07-26T17:15:58Z) - LLMs in Web Development: Evaluating LLM-Generated PHP Code Unveiling Vulnerabilities and Limitations [0.0]
本研究では,大規模言語モデルが生成するWebアプリケーションのセキュリティを評価し,2500 GPT-4生成PHP Webサイトを分析した。
本研究は,GPT-4 生成 PHP コード中の Insecure File Upload,sql Injection, Stored XSS, Reflected XSS の同定に重点を置いている。
BurpのScanによると、サイトの11.56%は、すぐに妥協できる。静的スキャンの結果が加わった26%には、Webインタラクションを通じて悪用できる少なくとも1つの脆弱性があった。
論文 参考訳(メタデータ) (2024-04-21T20:56:02Z) - Language Model Decoding as Likelihood-Utility Alignment [54.70547032876017]
モデルの有効性がタスク固有の実用性の概念とどのように一致しているかについて、暗黙の仮定に基づいて、デコード戦略をグループ化する分類法を導入する。
具体的には、様々なタスクの集合における予測の可能性と有用性の相関を解析することにより、提案された分類を裏付ける最初の実証的証拠を提供する。
論文 参考訳(メタデータ) (2022-10-13T17:55:51Z) - Statement-Level Vulnerability Detection: Learning Vulnerability Patterns Through Information Theory and Contrastive Learning [31.15123852246431]
本稿では,特定の関数の脆弱性関連コード文を特定するために,エンドツーエンドのディープラーニングに基づく新しいアプローチを提案する。
実世界の脆弱なコードで観測される構造にインスパイアされ、私たちはまず、潜伏変数の集合を学習するために相互情報を活用する。
そこで我々は,表現学習をさらに改善するために,新しいクラスタ型空間コントラスト学習を提案する。
論文 参考訳(メタデータ) (2022-09-20T00:46:20Z) - VELVET: a noVel Ensemble Learning approach to automatically locate
VulnErable sTatements [62.93814803258067]
本稿では,ソースコード中の脆弱な文を見つけるための新しいアンサンブル学習手法であるVELVETを提案する。
我々のモデルは、グラフベースとシーケンスベースニューラルネットワークを組み合わせて、プログラムグラフの局所的およびグローバル的コンテキストを捕捉する。
VELVETは、合成データと実世界のデータに対して、それぞれ99.6%と43.6%の精度を達成している。
論文 参考訳(メタデータ) (2021-12-20T22:45:27Z) - Software Vulnerability Detection via Deep Learning over Disaggregated
Code Graph Representation [57.92972327649165]
この研究は、コードコーパスから安全でないパターンを自動的に学習するためのディープラーニングアプローチを探求する。
コードには解析を伴うグラフ構造が自然に認められるため,プログラムの意味的文脈と構造的規則性の両方を利用する新しいグラフニューラルネットワーク(GNN)を開発する。
論文 参考訳(メタデータ) (2021-09-07T21:24:36Z) - DeFuzz: Deep Learning Guided Directed Fuzzing [41.61500799890691]
本稿では,DeFuzzというソフトウェア脆弱性検出のための,ディープラーニング(DL)誘導指向ファズリングを提案する。
DeFuzzには2つの主要なスキームが含まれている。 1) 潜在的に脆弱な機能と位置(脆弱性のあるアドレス)を特定するために、トレーニング済みのDL予測モデルを使用する。
正確には、Bidirectional-LSTM (BiLSTM) を用いて注意語を識別し、その脆弱性はこれらの注意語に関連付けられている。
論文 参考訳(メタデータ) (2020-10-23T03:44:03Z) - Autosploit: A Fully Automated Framework for Evaluating the
Exploitability of Security Vulnerabilities [47.748732208602355]
Autosploitは脆弱性の悪用性を評価するためのフレームワークだ。
環境の異なる設定でエクスプロイトを自動的にテストする。
ノイズレス環境とノイズの多い環境の両方で脆弱性を悪用する能力に影響を与えるシステムの特性を識別することができる。
論文 参考訳(メタデータ) (2020-06-30T18:49:18Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。