論文の概要: Numeric Truncation Security Predicate
- arxiv url: http://arxiv.org/abs/2312.06425v2
- Date: Thu, 2 May 2024 20:17:28 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-06 17:47:17.249393
- Title: Numeric Truncation Security Predicate
- Title(参考訳): 数値トランケーションセキュリティ述語
- Authors: Timofey Mezhuev, Ilay Kobrin, Alexey Vishnyakov, Daniil Kuts,
- Abstract要約: トランケーションはC/C++やJavaのような静的なデータ型付けを持つ言語で書かれたソフトウェアで広く使われているエラーである。
DSEツールSydr上に開発された数値トランケーション誤り検出のためのシンボルセキュリティ述語を提案する。
CWE-197のJuliet Dynamicテストスイートでアプローチをテストし、100%の精度を実現しました。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Numeric truncation is a widely spread error in software written in languages with static data typing, such as C/C++ or Java. It occurs when the significant bits of the value with a bigger type size are truncated during value conversion to the smaller type. Utilizing one of the most powerful methods for path exploration and automated bug detection called dynamic symbolic execution (DSE), we propose the symbolic security predicate for numeric truncation error detection, developed on top of DSE tool Sydr. Firstly, we execute the program on the data, which does not lead to any errors. During program execution we update symbolic shadow stack and shadow registers to track symbolic sizes of the symbolic variables to avoid false positives. Then, if we meet the instruction, which truncates the symbolic variable, we build the security predicate, try to solve it with the SMT-solver and in case of success save new input file to reproduce the error. We tested our approach on Juliet Dynamic test suite for CWE-197 and achieved 100% accuracy. We approved the workability of our approach by detecting 12 new errors of numeric truncation in 5 different real-world open source projects within OSS-Sydr-Fuzz project. All of the errors were reported, most of the reports were equipped with appropriate fixes, successfully confirmed and applied by project maintainers.
- Abstract(参考訳): 数値トランケーション(英: Numeric truncation)は、C/C++やJavaのような静的データ型付けを持つ言語で書かれたソフトウェアで広く使われているエラーである。
これは、より大きな型サイズの値のかなりのビットが、より小さな型への値変換中に切り替わるときに発生する。
動的シンボル実行(DSE)と呼ばれる経路探索と自動バグ検出の最も強力な手法の1つを利用して,DSEツールSydr上に開発された数値トランケーション誤り検出のためのシンボルセキュリティ述語を提案する。
まず、データ上でプログラムを実行するが、エラーは発生しない。
プログラム実行中、シンボルのシャドウスタックとシャドウレジスタを更新して、シンボル変数のシンボルサイズを追跡し、偽陽性を避ける。
そして,シンボル変数をトランケートする命令を満たすと,セキュリティ述語を構築し,SMT解決器で解決しようと試み,成功した場合には新しい入力ファイルを保存してエラーを再現する。
CWE-197のJuliet Dynamicテストスイートでアプローチをテストし、100%の精度を実現しました。
OSS-Sydr-Fuzz プロジェクト内の5つの実世界のオープンソースプロジェクトにおいて,12の誤りを検知し,本手法の作業性を承認した。
すべてのエラーが報告され、ほとんどの報告には適切な修正が加えられ、プロジェクトのメンテナの確認と適用が成功しました。
関連論文リスト
- FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
FoC-BinLLMは、ROUGE-LスコアでChatGPTを14.61%上回った。
FoC-Simは52%高いRecall@1で過去のベストメソッドを上回っている。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Supporting Error Chains in Static Analysis for Precise Evaluation
Results and Enhanced Usability [2.8557828838739527]
静的解析は、固定位置よりも脆弱性が現れる場所を報告する傾向にある。
これは仮定された偽陽性や不正確な結果を引き起こす可能性がある。
我々は、既存の静的解析アルゴリズムを適応させ、マニフェストと固定位置を区別できるように設計した。
論文 参考訳(メタデータ) (2024-03-12T16:46:29Z) - PPT4J: Patch Presence Test for Java Binaries [15.297767260561491]
近年,オープンソースソフトウェアに報告されている脆弱性の数は大幅に増加している。
対象のバイナリにパッチを適用するかどうかをテストする能力、すなわちパッチの存在テストは、実践者にとって不可欠である。
PPT4J(textbfP$atch $textbfP$resence $textbfT$est $textbffor$textbfJ$ava Binaries)という新しいパッチ存在テストフレームワークを提案する。
論文 参考訳(メタデータ) (2023-12-18T08:28:13Z) - PS$^3$: Precise Patch Presence Test based on Semantic Symbolic Signature [13.9637348151437]
既存のアプローチは主に、同じコンパイラオプションでコンパイルされるパッチの検出に重点を置いている。
PS3はシンボルエミュレーションを利用して、異なるコンパイラオプションの下で安定なシグネチャを抽出する。
PS3は精度、リコール、F1のスコアで0.82、0.97、0.89のスコアを得る。
論文 参考訳(メタデータ) (2023-12-06T10:04:15Z) - SUT: Active Defects Probing for Transcompiler Models [24.01532199512389]
我々は、プログラミング言語翻訳のための新しいメトリクスを導入し、これらのメトリクスは基本的な構文エラーに対処する。
実験によると、ChatGPTのような強力なモデルでさえ、これらの基本的な単体テストで間違いを犯している。
論文 参考訳(メタデータ) (2023-10-22T07:16:02Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Bridging Precision and Confidence: A Train-Time Loss for Calibrating
Object Detection [58.789823426981044]
本稿では,境界ボックスのクラス信頼度を予測精度に合わせることを目的とした,新たな補助損失定式化を提案する。
その結果,列車の走行時間損失はキャリブレーション基準を超過し,キャリブレーション誤差を低減させることがわかった。
論文 参考訳(メタデータ) (2023-03-25T08:56:21Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Zero-Shot Cross-lingual Semantic Parsing [56.95036511882921]
7つのテスト言語に対する並列データを持たないゼロショット問題として,言語間セマンティックパーシングについて検討した。
英文論理形式ペアデータのみを用いて解析知識を付加言語に転送するマルチタスクエンコーダデコーダモデルを提案する。
このシステムは、ゼロショット解析を潜時空間アライメント問題としてフレーム化し、事前訓練されたモデルを改善し、最小のクロスリンガル転送ペナルティで論理形式を生成することができる。
論文 参考訳(メタデータ) (2021-04-15T16:08:43Z) - D2A: A Dataset Built for AI-Based Vulnerability Detection Methods Using
Differential Analysis [55.15995704119158]
静的解析ツールによって報告されたラベル問題に対する差分解析に基づくアプローチであるD2Aを提案する。
D2Aを使用して大きなラベル付きデータセットを生成し、脆弱性識別のためのモデルをトレーニングします。
論文 参考訳(メタデータ) (2021-02-16T07:46:53Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。