プログラミング
コンパイラはセキュリティチェックを無効にできる
Compiler Can Undo Your Security Checks (davidbombal.com)
要約
セキュアなCコードを記述し、ベストプラクティスに従っても、コンパイラが生成するバイナリが脆弱になる可能性があります。これは、コンパイラ最適化がセキュリティ保護を削除したり、メモリクリア操作を削除したり、安全に見えるコードに時間的チェック・使用時(TOCTOU)の脆弱性を導入したりするためです。開発者は、コンパイラ警告の有効化、サニタイザーの使用、最適化ビルドの分析、出荷されるバイナリのテストなどの対策を講じることができます。
全文翻訳
Black Hat USA 2026への私の旅のスポンサーであり、このビデオのスポンサーでもある@ThreatLockerに多大な感謝を。
ThreatLockerで無料トライアルを開始するには、次のリンクを使用してください: https://www.threatlocker.com/davidbombal
セキュアなCコードを記述し、受け入れられているベストプラクティスに従っても、脆弱なバイナリになる可能性があります。理由は単純です。CPUはソースコードを実行するのではなく、コンパイラが生成したものを実行します。
DavidはBlack Hatでセキュリティ研究者のChris Domasと対談し、合法的なコンパイラ最適化がどのようにセキュリティ保護を削除し、メモリクリア操作を削除し、安全に見えるコードに時間的チェック・使用時(TOCTOU)の脆弱性を導入できるかを検証します。
ChrisはC抽象マシン、コンパイラがコードを劇的に変換できる理由、そしてレジスタ圧力、構造レイアウト、さらにはデータサイズさえもバイナリが脆弱になるかどうかをどのように影響するかを説明します。1つの顕著な例では、17バイトまたは33バイトは安全ですが、近くのサイズでは脆弱なコードが生成されます。
彼らはまた、Rustが問題を解決するかどうか、GCCとClangを切り替えることがなぜ答えではないのか、そしてAIが5億行のオープンソースコードを分析して300の潜在的に危険なパターンを特定するのにどのように役立ったかについても議論します。
最も重要なのは、Chrisが開発者が現在できること、つまりコンパイラ警告の有効化、サニタイザーの使用、最適化ビルドの分析、そして出荷される正確なバイナリのテストについて説明することです。
// Christopher Domasのソーシャル //
LinkedIn: / christopher-domas
GitHub: https://github.com/xoreaxeaxeax
X: https://x.com/xoreaxeaxeax
// Davidのソーシャル //
================
私とつながる:
================
Discord: http://discord.davidbombal.com
X: https://www.x.com/davidbombal
Instagram: https://www.instagram.com/davidbombal
LinkedIn: https://www.linkedin.com/in/davidbombal
Facebook: https://www.facebook.com/davidbombal.co
TikTok: http://tiktok.com/@davidbombal
YouTubeメイン https://www.youtube.com/davidbombal
YouTube Tech: https://www.youtube.com/chael/UCZTIRrENWr_rjVoA7BcUE_A
YouTube Clips: https://www.youtube.com/chael/UCbY5wGxQgIiAeMdNkW5wM6Q
YouTube Emerging Technologies: https://www.youtube.com/chael/UCbY5wGxQgIiAeMdNkW5wM6Q
YouTube Shorts: https://www.youtube.com/chael/UCEyCubIF0e8MYi1jkgVepKg
Apple Podcast: https://davidbombal.wiki/applepodcast
Spotify Podcast: https://open.spotify.com/show/3f6k6gERfuriI96efWWLQQ
SoundCloud: / davidbombal
================
私をサポートする:
================
または、私のCCNAコースを購入して私をサポートしてください:
DavidBombal.com: CCNA ($10): http://bit.ly/yt999ccna
Udemy CCNA Course: https://bit.ly/ccnafor10dollars
GNS3 CCNA Course: CCNA ($10): https://bit.ly/gns3ccna10
// 私のグッズ //
https://www.amazon.com/shop/davidbombal
// スポンサー //
私のビデオのスポンサーにご興味がありますか?私のチームにこちらからご連絡ください: sponsors@davidbombal.com
// メニュー //
0:00 – 今から始まること
0:48 – 紹介
02:05 – CPUを悪用するさまざまな方法
04:10 – C仕様
06:17 – コンパイラによるNemsecの削除
08:40 – 新しいコンパイラを使用する必要があるか?
10:09 – コンパイラによる脆弱性の発明
12:13 – セキュアなコードの記述を諦めないでください
12:44 – スポンサーセクション
14:25 – 新しいコンパイラを作成するための簡単なオプションはありますか?
15:09 – Black Hat 2026でのChrisのプレゼンテーション
20:00 – データサイズに関する奇妙な状況
21:22 – 開発者は何ができるか?
23:32 – この脆弱性を誰が悪用できるか?
25:02 – AIは攻撃者がこれを悪用するのを容易にできるか?
28:27 – 開発者への推奨事項
29:48 – Chrisのようになるためのアドバイス
30:36 – 結論とエンディング
記載されているリンクはアフィリエイトリンクである可能性があり、それらを使用して記載されている、または推奨されているアイテムを購入した場合、私に少額のパーセンテージ/キックバックが提供されることに注意してください。私とこのチャンネルをサポートしていただきありがとうございます!
免責事項: このビデオは教育目的のみです。
#bhusa2026 #securecoding #compiler
David Bombal
2026年9月4日
サイバーセキュリティ
セキュアコーディング