論文の概要: Automated Creation of Source Code Variants of a Cryptographic Hash Function Implementation Using Generative Pre-Trained Transformer Models
- arxiv url: http://arxiv.org/abs/2404.15681v1
- Date: Wed, 24 Apr 2024 06:29:55 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-26 19:59:40.949193
- Title: Automated Creation of Source Code Variants of a Cryptographic Hash Function Implementation Using Generative Pre-Trained Transformer Models
- Title(参考訳): 生成事前学習変圧器モデルを用いた暗号ハッシュ関数実装のソースコード変数の自動生成
- Authors: Elijah Pelofske, Vincent Urias, Lorie M. Liebrock,
- Abstract要約: ジェネレーティブ・プレトレーニング・トランスフォーマー(Generative Pre-trained Transformer、GPT)は、新鮮で一貫性のある自然言語を生成できる大規模言語機械学習モデルの一種である。
本研究では, ハッシュ関数SHA-1の実装において, GPTモデルが新規かつ適切なバージョン, 特に非常に安全でないバージョンを生成する能力について検討した。
- 参考スコア(独自算出の注目度): 0.8192907805418583
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Generative pre-trained transformers (GPT's) are a type of large language machine learning model that are unusually adept at producing novel, and coherent, natural language. In this study the ability of GPT models to generate novel and correct versions, and notably very insecure versions, of implementations of the cryptographic hash function SHA-1 is examined. The GPT models Llama-2-70b-chat-h, Mistral-7B-Instruct-v0.1, and zephyr-7b-alpha are used. The GPT models are prompted to re-write each function using a modified version of the localGPT framework and langchain to provide word embedding context of the full source code and header files to the model, resulting in over 130,000 function re-write GPT output text blocks, approximately 40,000 of which were able to be parsed as C code and subsequently compiled. The generated code is analyzed for being compilable, correctness of the algorithm, memory leaks, compiler optimization stability, and character distance to the reference implementation. Remarkably, several generated function variants have a high implementation security risk of being correct for some test vectors, but incorrect for other test vectors. Additionally, many function implementations were not correct to the reference algorithm of SHA-1, but produced hashes that have some of the basic characteristics of hash functions. Many of the function re-writes contained serious flaws such as memory leaks, integer overflows, out of bounds accesses, use of uninitialised values, and compiler optimization instability. Compiler optimization settings and SHA-256 hash checksums of the compiled binaries are used to cluster implementations that are equivalent but may not have identical syntax - using this clustering over 100,000 novel and correct versions of the SHA-1 codebase were generated where each component C function of the reference implementation is different from the original code.
- Abstract(参考訳): ジェネレーティブ・プレトレーニング・トランスフォーマー(Generative Pre-trained Transformer、GPT)は、新鮮で一貫性のある自然言語を生成できる大規模言語機械学習モデルの一種である。
本研究では, 暗号ハッシュ関数SHA-1の実装において, GPTモデルが新規かつ適切なバージョン, 特に非常に安全でないバージョンを生成する能力について検討した。
GPTモデルLlama-2-70b-chat-h、Mistral-7B-Instruct-v0.1、zephyr-7b-alphaが使用される。
GPTモデルは、ローカルGPTフレームワークとlangchainの修正版を使用して各関数を再書き込みするよう促され、完全なソースコードとヘッダファイルのワード埋め込みコンテキストをモデルに提供し、130,000以上の関数がGPT出力のテキストブロックを書き換え、そのうち約4万がCコードとして解析され、コンパイルされた。
生成されたコードは、コンパイル可能であり、アルゴリズムの正しさ、メモリリーク、コンパイラ最適化の安定性、参照実装までの文字距離を解析する。
注目すべきは、いくつかの生成された関数変種は、いくつかのテストベクターに対して正しいが、他のテストベクターでは正しくないという高い実装上のセキュリティリスクがあることである。
さらに、多くの関数の実装は、SHA-1の参照アルゴリズムに正確ではなく、ハッシュ関数の基本的な特徴を持つハッシュを生成した。
関数の再書き込みの多くは、メモリリーク、整数オーバーフロー、バウンダリアクセス、初期化されていない値の使用、コンパイラの最適化不安定といった深刻な欠陥を含んでいた。
コンパイラの最適化設定とコンパイル済みバイナリのSHA-256ハッシュチェックサムは、同等だが同一の構文を持たない実装に使用される。
関連論文リスト
- FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Zero-Shot Detection of Machine-Generated Codes [83.0342513054389]
本研究は,LLMの生成したコードを検出するためのトレーニング不要な手法を提案する。
既存のトレーニングベースまたはゼロショットテキスト検出装置は、コード検出に効果がないことがわかった。
本手法は,リビジョン攻撃に対する堅牢性を示し,Javaコードによく適応する。
論文 参考訳(メタデータ) (2023-10-08T10:08:21Z) - Planning with Large Language Models for Code Generation [100.07232672883897]
Planning-Guided Transformer Decoding (PG-TD) は、計画アルゴリズムを用いてルックアヘッド検索を行い、トランスフォーマーを誘導してより良いプログラムを生成する。
我々は、公開コーディングチャレンジベンチマークのバックボーンとして、いくつかの大きな言語モデルを用いて、我々のフレームワークを実証的に評価する。
論文 参考訳(メタデータ) (2023-03-09T18:59:47Z) - Stealing the Decoding Algorithms of Language Models [56.369946232765656]
現代の言語モデル(LM)からテキストを生成する重要な要素は、復号アルゴリズムの選択とチューニングである。
本研究では,LMに典型的なAPIアクセスを持つ敵が,その復号アルゴリズムの型とハイパーパラメータを盗むことができることを示す。
我々の攻撃は、GPT-2、GPT-3、GPT-Neoなどのテキスト生成APIで使われる一般的なLMに対して効果的である。
論文 参考訳(メタデータ) (2023-03-08T17:15:58Z) - Boosting Neural Networks to Decompile Optimized Binaries [13.255618541522436]
Decompilation は低レベルプログラム言語 (LPL) を機能的に等価な高レベルプログラム言語 (HPL) に変換することを目的としている。
本稿では,コンパイラ最適化バイナリをターゲットとしたNeurDPという新しい学習手法を提案する。
論文 参考訳(メタデータ) (2023-01-03T06:45:54Z) - ReCode: Robustness Evaluation of Code Generation Models [90.10436771217243]
コード生成モデルのための総合的ロバストネス評価ベンチマークであるReCodeを提案する。
ドクストリング、関数と変数名、コード構文、コードフォーマットのコードに特化して、30以上の変換をカスタマイズします。
ヒトのアノテータでは、摂動プロンプトの90%以上が本来のプロンプトの意味を変えていないことが確認された。
論文 参考訳(メタデータ) (2022-12-20T14:11:31Z) - CryptOpt: Verified Compilation with Randomized Program Search for
Cryptographic Primitives (full version) [12.790826917588575]
暗号は例外であり、多くのパフォーマンスクリティカルなルーチンがアセンブリで直接書かれてきた。
CryptOptは、GCCやClangが生成するものよりもはるかに高速なアセンブリコードに高レベルの暗号関数プログラムを専門とする、最初のコンパイルパイプラインである。
形式検証の面では、FiatOptフレームワーク(関数型プログラムをCライクなIRコードに変換する)に接続し、新たに公式に認証されたプログラム等価チェッカーで拡張する。
論文 参考訳(メタデータ) (2022-11-19T11:07:39Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Improving type information inferred by decompilers with supervised
machine learning [0.0]
ソフトウェアリバースエンジニアリングでは、逆コンパイルはバイナリファイルからソースコードを回復するプロセスである。
関数によって返される高レベルな型を推測できる異なる分類モデルを構築する。
私たちのシステムは、79.1%のF1測定で関数戻り型を予測できますが、最良の逆コンパイラは30%のF1測定を得ます。
論文 参考訳(メタデータ) (2021-01-19T11:45:46Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。