論文の概要: KernelGPT: Enhanced Kernel Fuzzing via Large Language Models
- arxiv url: http://arxiv.org/abs/2401.00563v2
- Date: Mon, 25 Nov 2024 01:10:44 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-11-26 14:17:43.848191
- Title: KernelGPT: Enhanced Kernel Fuzzing via Large Language Models
- Title(参考訳): KernelGPT: 大規模言語モデルによるカーネルファズリングの強化
- Authors: Chenyuan Yang, Zijie Zhao, Lingming Zhang,
- Abstract要約: 我々はLarge Language Models (LLM) を通じてsyscall仕様を自動合成する最初のアプローチである KernelGPT を提案する。
以上の結果から, KernelGPTは最新の技術よりも, より新しい, 有効な仕様を作成できることを示す。
- 参考スコア(独自算出の注目度): 8.77369393651381
- License:
- Abstract: Bugs in operating system kernels can affect billions of devices and users all over the world. As a result, a large body of research has been focused on kernel fuzzing, i.e., automatically generating syscall (system call) sequences to detect potential kernel bugs or vulnerabilities. Kernel fuzzing aims to generate valid syscall sequences guided by syscall specifications that define both the syntax and semantics of syscalls. While there has been existing work trying to automate syscall specification generation, this remains largely manual work, and a large number of important syscalls are still uncovered. In this paper, we propose KernelGPT, the first approach to automatically synthesizing syscall specifications via Large Language Models (LLMs) for enhanced kernel fuzzing. Our key insight is that LLMs have seen massive kernel code, documentation, and use cases during pre-training, and thus can automatically distill the necessary information for making valid syscalls. More specifically, KernelGPT leverages an iterative approach to automatically infer the specifications, and further debug and repair them based on the validation feedback. Our results demonstrate that KernelGPT can generate more new and valid specifications and achieve higher coverage than state-of-the-art techniques. So far, by using newly generated specifications, KernelGPT has already detected 24 new unique bugs in Linux kernel, with 12 fixed and 11 assigned with CVE numbers. Moreover, a number of specifications generated by KernelGPT have already been merged into the kernel fuzzer Syzkaller, following the request from its development team.
- Abstract(参考訳): オペレーティングシステムカーネルのバグは、世界中の何十億ものデバイスやユーザに影響を与える可能性がある。
その結果、カーネルファジィング、すなわち、潜在的なカーネルのバグや脆弱性を検出するために自動的にsyscall(システムコール)シーケンスを生成することに焦点を当てた研究が盛んに行われている。
Kernel fuzzingは、syscallの構文とセマンティクスの両方を定義するsyscall仕様でガイドされた有効なsyscallシーケンスを生成することを目的としている。
syscall仕様生成を自動化しようとする作業は存在するが、これは手作業がほとんどであり、多くの重要なsyscallがまだ発見されている。
本稿では,カーネルファジィ化のためのLarge Language Models (LLM) を通じてサイスコール仕様を自動合成する最初のアプローチである KernelGPT を提案する。
私たちの重要な洞察は、LLMが事前トレーニング中に大量のカーネルコード、ドキュメント、ユースケースを見たので、有効なsyscallを作成するために必要な情報を自動的に抽出できるということです。
より具体的には、KernelGPTは反復的なアプローチを利用して仕様を自動的に推論し、検証フィードバックに基づいてそれらをデバッグし、修復する。
以上の結果から, KernelGPTは最新の技術よりも, より新しい, 有効な仕様を作成できることを示す。
これまでのところ、新たに生成された仕様を使用して、カーネルGPTはLinuxカーネルに24の新しいバグを検出しており、12の修正と11のCVE番号が割り当てられている。
さらに、カーネルGPTによって生成された多くの仕様は、開発チームからの要求に従って、すでにカーネルファザーのSyzkallerにマージされている。
関連論文リスト
- Demystifying OS Kernel Fuzzing with a Novel Taxonomy [42.56259589772939]
本研究はOSカーネルファジィングに関する最初の体系的研究である。
2017年から2024年にかけて、トップレベルの会場から99の学術研究の進捗状況をまとめることから始まる。
本稿では,カーネルファジングに特有の9つのコア機能に着目した,ステージベースファジングモデルとファジング分類法を提案する。
論文 参考訳(メタデータ) (2025-01-27T16:03:14Z) - G-Fuzz: A Directed Fuzzing Framework for gVisor [48.85077340822625]
G-FuzzはgVisor用のファジィフレームワークである。
G-Fuzzは業界に展開され、深刻な脆弱性を複数発見している。
論文 参考訳(メタデータ) (2024-09-20T01:00:22Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - Explore as a Storm, Exploit as a Raindrop: On the Benefit of Fine-Tuning Kernel Schedulers with Coordinate Descent [48.791943145735]
カーネルの品質を向上しながら,Ansorの検索時間を短縮する可能性を示す。
このアプローチを、Ansorが生成した最初の300のカーネルに適用する。
この結果は20の有名なディープラーニングモデルで再現されている。
論文 参考訳(メタデータ) (2024-06-28T16:34:22Z) - Spectral Truncation Kernels: Noncommutativity in $C^*$-algebraic Kernel Machines [12.11705128358537]
スペクトルトランケーションに基づく正定値カーネルの新しいクラスを提案する。
性能向上につながる要因であることを示す。
また,スペクトルトランケーションカーネルの表現能力を高めるための深層学習の視点も提案する。
論文 参考訳(メタデータ) (2024-05-28T04:47:12Z) - Optimal Kernel Tuning Parameter Prediction using Deep Sequence Models [0.44998333629984877]
本稿では,深部列列列モデルを用いて,計算カーネルを管理する最適チューニングパラメータを予測する手法を提案する。
提案アルゴリズムは、AMD機械学習プリミティブライブラリであるMIOpenにおいて、様々な畳み込みカーネル上で90%以上の精度を達成することができる。
論文 参考訳(メタデータ) (2024-04-15T22:25:54Z) - RLTrace: Synthesizing High-Quality System Call Traces for OS Fuzz Testing [10.644829779197341]
ファズOSカーネルのシードとして多種多様なシステムコールトレースを合成するために,RLTraceと呼ばれる深層強化学習ベースのソリューションを提案する。
モデルトレーニング中、ディープラーニングモデルはOSカーネルと相互作用し、最適なシステムコールトレースを推論する。
RLTraceは,より包括的なシステムコールトレースを生成することにより,他のシードジェネレータよりも優れた性能を示す。
論文 参考訳(メタデータ) (2023-10-04T06:46:00Z) - model-based script synthesis for fuzzing [10.739464605434977]
既存のアプローチは、トレースからのsyscallシーケンスやシステムコードの静的解析をモデル化することでカーネルを混乱させる。
我々は、異なるカーネル状態に到達するために、トレースされたsyscallシーケンスを学習し、変更するためのWinkFuzzを提案する。
論文 参考訳(メタデータ) (2023-08-08T08:07:50Z) - Kernel Continual Learning [117.79080100313722]
カーネル連続学習は、破滅的な忘れ事に取り組むための、シンプルだが効果的な連続学習の変種である。
エピソードメモリユニットは、カーネルリッジ回帰に基づいてタスク固有の分類器を学ぶために、各タスクのサンプルのサブセットを格納する。
タスク毎にデータ駆動カーネルを学ぶための変動ランダム機能。
論文 参考訳(メタデータ) (2021-07-12T22:09:30Z) - Kernel Identification Through Transformers [54.3795894579111]
カーネル選択はガウス過程(GP)モデルの性能決定において中心的な役割を果たす。
この研究は、高次元GP回帰モデルのためのカスタムカーネル関数を構築するという課題に対処する。
KITT: Kernel Identification through Transformersを提案する。
論文 参考訳(メタデータ) (2021-06-15T14:32:38Z) - Isolation Distributional Kernel: A New Tool for Point & Group Anomaly
Detection [76.1522587605852]
分離分散カーネル(IDK)は2つの分布の類似性を測定する新しい方法である。
我々は、カーネルベースの異常検出のための新しいツールとして、IDKの有効性と効率を示す。
論文 参考訳(メタデータ) (2020-09-24T12:25:43Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。