論文の概要: How to Secure Existing C and C++ Software without Memory Safety
- arxiv url: http://arxiv.org/abs/2503.21145v1
- Date: Thu, 27 Mar 2025 04:20:47 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-28 12:54:46.163536
- Title: How to Secure Existing C and C++ Software without Memory Safety
- Title(参考訳): メモリ安全性なしに既存のCとC++ソフトウェアをセキュアにする方法
- Authors: Úlfar Erlingsson,
- Abstract要約: CとC++のソフトウェアでは、攻撃者はほとんどのバグや脆弱性を悪用して、ソフトウェア動作を完全に制御できる。
このセキュリティ上のメリットは、アプリケーションごとの労力を使わずに、修正されていないC/C++ソフトウェアに対して得ることができる。
これらのインターリーブを排除するために、オーバーヘッドが少なく、特別なハードウェアやプラットフォームのサポートを必要としないコンパイラやランタイムメカニズムがすでに存在している。
- 参考スコア(独自算出の注目度): 1.5591858554014466
- License:
- Abstract: The most important security benefit of software memory safety is easy to state: for C and C++ software, attackers can exploit most bugs and vulnerabilities to gain full, unfettered control of software behavior, whereas this is not true for most bugs in memory-safe software. Fortunately, this security benefit -- most bugs don't give attackers full control -- can be had for unmodified C/C++ software, without per-application effort. This doesn't require trying to establish memory safety; instead, it is sufficient to eliminate most of the combinatorial ways in which software with corrupted memory can execute. To eliminate these interleavings, there already exist practical compiler and runtime mechanisms that incur little overhead and need no special hardware or platform support. Each of the mechanisms described here is already in production use, at scale, on one or more platforms. By supporting their combined use in development toolchains, the security of all C and C++ software against remote code execution attacks can be rapidly, and dramatically, improved.
- Abstract(参考訳): CとC++のソフトウェアでは、攻撃者はほとんどのバグや脆弱性を利用してソフトウェア動作を完全に制御できますが、メモリセーフなソフトウェアのほとんどのバグには当てはまりません。
幸いなことに、このセキュリティ上のメリット -- ほとんどのバグは、アタッカーに完全なコントロールを与えていない -- は、アプリケーションごとの努力なしに、修正されていないC/C++ソフトウェアに対して持てることができる。
これはメモリの安全性を確立する必要はなく、代わりに、破損したメモリを持つソフトウェアが実行可能な組み合わせ方法のほとんどを取り除くのに十分である。
これらのインターリーブを排除するために、オーバーヘッドが少なく、特別なハードウェアやプラットフォームのサポートを必要としない、実用的なコンパイラとランタイムメカニズムがすでに存在している。
ここで説明した各メカニズムは、すでに1つ以上のプラットフォーム上で、大規模に、実運用で使用されています。
開発ツールチェーンでのそれらの併用をサポートすることで、リモートコード実行攻撃に対するすべてのCとC++ソフトウェアのセキュリティは、迅速かつ劇的に改善される。
関連論文リスト
- 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) - Fully Randomized Pointers [7.1754940591892735]
本稿では, ブルート力攻撃にも耐えうるメモリエラー対策として, FRP(Fully Randomized Pointers)を提案する。
鍵となるアイデアは、ポインタビット(可能な限り)を完全にランダムにし、バイナリ互換性を維持することです。
FRPはバイナリレベルでは安全で実用的で互換性があり、ハードウェア実装では性能上のオーバーヘッドが低いことを示す。
論文 参考訳(メタデータ) (2024-05-21T05:54:27Z) - Improving Program Debloating with 1-DU Chain Minimality [47.73151075716047]
RLDebloatDUは,抽象構文木内の1-DU鎖の最小性を利用した,革新的なデブロ手法である。
当社のアプローチでは,プログラムデータに依存しているため,アグレッシブなコード削減とプログラムセマンティクスの保存のバランスが保たれている。
論文 参考訳(メタデータ) (2024-02-01T02:00:32Z) - HasTEE+ : Confidential Cloud Computing and Analytics with Haskell [50.994023665559496]
信頼性コンピューティングは、Trusted Execution Environments(TEEs)と呼ばれる特別なハードウェア隔離ユニットを使用して、コテナントクラウドデプロイメントにおける機密コードとデータの保護を可能にする。
低レベルのC/C++ベースのツールチェーンを提供するTEEは、固有のメモリ安全性の脆弱性の影響を受けやすく、明示的で暗黙的な情報フローのリークを監視するための言語構造が欠如している。
私たちは、Haskellに埋め込まれたドメイン固有言語(cla)であるHasTEE+を使って、上記の問題に対処します。
論文 参考訳(メタデータ) (2024-01-17T00:56:23Z) - GWP-ASan: Sampling-Based Detection of Memory-Safety Bugs in Production [30.534320345970286]
Heap-use-after-freeとheap-buffer-overflowのバグは、CやC++で記述されたアプリケーションのセキュリティ、信頼性、開発者の生産性の主要な問題である。
本稿では,この2種類のメモリセーフなバグを実運用環境でほぼゼロのオーバーヘッドで検出するツール群について述べる。
論文 参考訳(メタデータ) (2023-11-15T21:41:53Z) - SOCI^+: An Enhanced Toolkit for Secure OutsourcedComputation on Integers [50.608828039206365]
本稿では,SOCIの性能を大幅に向上させるSOCI+を提案する。
SOCI+は、暗号プリミティブとして、高速な暗号化と復号化を備えた(2, 2)ホールドのPaillier暗号システムを採用している。
実験の結果,SOCI+は計算効率が最大5.4倍,通信オーバヘッドが40%少ないことがわかった。
論文 参考訳(メタデータ) (2023-09-27T05:19:32Z) - Evil from Within: Machine Learning Backdoors through Hardware Trojans [51.81518799463544]
バックドアは、自動運転車のようなセキュリティクリティカルなシステムの整合性を損なう可能性があるため、機械学習に深刻な脅威をもたらす。
私たちは、機械学習のための一般的なハードウェアアクセラレーターに完全に存在するバックドアアタックを導入します。
我々は,Xilinx Vitis AI DPUにハードウェアトロイの木馬を埋め込むことにより,攻撃の実現可能性を示す。
論文 参考訳(メタデータ) (2023-04-17T16:24:48Z) - Securing Optimized Code Against Power Side Channels [1.589424114251205]
セキュリティエンジニアは、コンパイラの最適化をオフにしたり、ローカルでコンパイル後の変換を実行することで、コードの効率を犠牲にすることが多い。
本稿では,最適化されたセキュアなコードを生成する制約ベースのコンパイラであるSecConCGを提案する。
論文 参考訳(メタデータ) (2022-07-06T12:06:28Z) - CryptSan: Leveraging ARM Pointer Authentication for Memory Safety in
C/C++ [0.9208007322096532]
CryptSanは、ARM Pointer Authenticationに基づくメモリ安全性アプローチである。
M1 MacBook Proで動作するLLVMベースのプロトタイプ実装について紹介する。
これにより、構造化されていないライブラリとの相互運用性とメタデータに対する攻撃に対する暗号化保護が組み合わさって、CryptSanはC/C++プログラムにメモリ安全性を適合させる実行可能なソリューションとなる。
論文 参考訳(メタデータ) (2022-02-17T14:04:01Z) - SafePILCO: a software tool for safe and data-efficient policy synthesis [67.17251247987187]
SafePILCOは、強化学習による安全でデータ効率のよいポリシー検索のためのソフトウェアツールである。
これは、Pythonで書かれた既知のPILCOアルゴリズムを拡張し、安全な学習をサポートする。
論文 参考訳(メタデータ) (2020-08-07T17:17:30Z) - Breaking Type Safety in Go: An Empirical Study on the Usage of the
unsafe Package [3.548075273599941]
我々は,2,438のGoプロジェクトにおいて,安全でないパッケージの使用に関する大規模な研究を行った。
我々の調査によると、安全でないプロジェクトはGoプロジェクトの24%で使われており、主にオペレーティングシステムやCコードとの通信によって動機付けられています。
クラッシュするエラーや非決定的な振る舞いから、デプロイを制限するまで、安全でないプロジェクトによって直面する現実的な問題を報告します。
論文 参考訳(メタデータ) (2020-06-17T16:38:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。