論文の概要: obliv-clang: Real-World Oblivious Programming in C++
- arxiv url: http://arxiv.org/abs/2606.16187v1
- Date: Mon, 15 Jun 2026 03:58:42 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-06-16 16:21:34.068889
- Title: obliv-clang: Real-World Oblivious Programming in C++
- Title(参考訳): obliv-clang: C++での現実世界のプログラミング
- Authors: Yunqian Luo, Mingyu Gao,
- Abstract要約: 本稿では,C++で記述されたプログラムの難易度をチェックするために,コンパイル時チェックツールであるobliv-clangを提案する。
任意のネストポインタという複雑な概念を含む、C++のリッチ言語機能をサポートするように設計されている。
我々は,obliv-clangを用いてコンパイルされたプログラムが,従来のソリューションより優れていることを示す。
- 参考スコア(独自算出の注目度): 4.102575075838108
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Side-channel vulnerabilities, particularly timing and access-pattern-based attacks, have become critical issues for confidential data processing in trusted environments. Oblivious programming is an effective approach to alleviate these attacks by making program execution not leak any secret through execution time and data access traces. To facilitate oblivious programming in practice, we propose a compilation-time checking tool, obliv-clang, which can comprehensively check the obliviousness of a program written in C++. It is designed to support the rich language features in C++, including the complicated concept of arbitrarily nested pointers, in order to seamlessly work with existing industry-level codebases and produce high-performance compiled binaries with minimum compilation overheads. We design a set of rules in obliv-clang and formally prove their soundness in the presence of complicated C++ language features. We also implement several non-trivial oblivious algorithms as case studies to demonstrate the expressiveness of obliv-clang, and show that programs compiled using obliv-clang can outperform previous solutions.
- Abstract(参考訳): サイドチャネルの脆弱性、特にタイミングとアクセスパターンベースの攻撃は、信頼できる環境での機密データ処理において重要な問題となっている。
不正なプログラミングは、実行時間やデータアクセストレースを通じてプログラムの実行が秘密を漏らさないようにすることで、これらの攻撃を緩和するための効果的なアプローチである。
そこで我々は,C++で記述されたプログラムの難易度を包括的にチェック可能なコンパイル時チェックツールであるobliv-clangを提案する。
既存の業界レベルのコードベースとシームレスに動作し、最小のコンパイルオーバーヘッドで高性能なコンパイルバイナリを生成するために、任意のネストポインタという複雑な概念を含む、C++のリッチ言語機能をサポートするように設計されている。
我々は、obliv-clangで一連のルールを設計し、複雑なC++言語機能の存在下で、それらの健全性を正式に証明する。
また,Obliv-clangの表現性を実証するケーススタディとして,非自明なObliviousアルゴリズムをいくつか実装し,Obliv-clangを用いてコンパイルしたプログラムが従来のソリューションより優れていることを示す。
関連論文リスト
- ATLAS: Automated Tree-based Language Analysis System for C and C++ source programs [1.0499611180329804]
本稿では,文レベル制御フローグラフ(CFG)と型認識データフローグラフ(DFG)を生成するPythonベースのコマンドラインインタフェース(CLI)であるATLASを紹介する。
ATLASは、下流のソフトウェアエンジニアリング(SE)と機械学習ベースのプログラム理解を改善するための実践的な基盤を提供する。
論文 参考訳(メタデータ) (2025-12-14T01:11:11Z) - Context-Guided Decompilation: A Step Towards Re-executability [50.71992919223209]
バイナリ逆コンパイルは、ソフトウェアセキュリティ分析、リバースエンジニアリング、マルウェア理解において重要な役割を果たす。
大規模言語モデル (LLMs) の最近の進歩により、ニューラルデコンパイルが可能になったが、生成されたコードは一般的に意味論的にのみ使用可能である。
In-context Learning(ICL)を活用して,再実行可能なソースコードを生成するためのILC4Decompを提案する。
論文 参考訳(メタデータ) (2025-11-03T17:21:39Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - Vulnerability Detection in Popular Programming Languages with Language Models [2.048226951354646]
本稿では,JavaScript,Java,Python,PHP,Goの脆弱性検出における言語モデル(LM)の有効性について検討する。
C/C++と比較して、JavaScriptは最高のパフォーマンスを示し、より優れた、より実用的な検出能力を持っています。
論文 参考訳(メタデータ) (2024-12-20T13:57:27Z) - CLNX: Bridging Code and Natural Language for C/C++ Vulnerability-Contributing Commits Identification [0.0]
大規模言語モデル(LLM)は脆弱性の識別に大きな可能性を示しています。
C/C++ プログラムと LLM 間の通信を容易にするブリッジとして CodeLinguaNexus (CLNX) を提案する。
CLNXを25,872のC/C++関数の公開データセットにコミットして評価した。
論文 参考訳(メタデータ) (2024-09-11T16:49:46Z) - NoviCode: Generating Programs from Natural Language Utterances by Novices [59.71218039095155]
初心者非プログラマによるAPIと自然言語記述を入力とする新しいNLプログラミングタスクであるNoviCodeを提示する。
我々は、NoviCodeがコード合成領域における挑戦的なタスクであることを示し、非技術的命令から複雑なコードを生成することは、現在のText-to-Codeパラダイムを超えている。
論文 参考訳(メタデータ) (2024-07-15T11:26:03Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - Statement-Level Vulnerability Detection: Learning Vulnerability Patterns Through Information Theory and Contrastive Learning [31.15123852246431]
本稿では,特定の関数の脆弱性関連コード文を特定するために,エンドツーエンドのディープラーニングに基づく新しいアプローチを提案する。
実世界の脆弱なコードで観測される構造にインスパイアされ、私たちはまず、潜伏変数の集合を学習するために相互情報を活用する。
そこで我々は,表現学習をさらに改善するために,新しいクラスタ型空間コントラスト学習を提案する。
論文 参考訳(メタデータ) (2022-09-20T00:46:20Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。