コンパイラはセキュリティチェックを無効にできる
Compiler Can Undo Your Security Checks (davidbombal.com)
要約
セキュアなCコードを記述し、ベストプラクティスに従っても、コンパイラが生成するバイナリが脆弱になる可能性があります。これは、コンパイラ最適化がセキュリティ保護を削除したり、メモリクリア操作を削除したり、安全に見えるコードに時間的チェック・使用時(TOCTOU)の脆弱性を導入したりするためです。開発者は、コンパイラ警告の有効化、サニタイザーの使用、最適化ビルドの分析、出荷されるバイナリのテストなどの対策を講じることができます。
全文翻訳
Your Compiler Can Undo Your Security Checks
私のBlack Hat USA 2026への旅と、このビデオのスポンサーである@ThreatLockerに心から感謝します。ThreatLockerの無料トライアルを開始するには、以下のリンクをご利用ください: https://www.threatlocker.com/davidbombal
セキュアなCコードを書き、確立されたベストプラクティスに従っても、脆弱なバイナリになる可能性があります。理由は単純です。CPUはソースコードを実行するのではなく、コンパイラが生成したものを実行します。
DavidはBlack Hatでセキュリティ研究者のChris Domas氏と対談し、合法的なコンパイラ最適化がセキュリティ保護をどのように削除し、メモリクリア操作を削除し、安全に見えるコードにtime-of-check to time-of-use (TOCTOU) の脆弱性を導入するかを検証します。
ChrisはC抽象マシン、コンパイラがコードを劇的に変換することを許可されている理由、そしてレジスタの圧力、構造レイアウト、さらにはデータサイズがバイナリが脆弱であるかどうかにどのように影響するかを説明します。印象的な例として、17バイトまたは33バイトは安全である一方、それらに近いサイズでは脆弱なコードが生成されることがあります。また、Rustが問題の解決策となるか、GCCとClangを切り替えることがなぜ答えではないのか、そしてAIが5億行のオープンソースコードを分析して300の潜在的に危険なパターンを特定するのにどのように役立ったかについても議論します。
最も重要なのは、Chrisが開発者が現在できること、つまりコンパイラ警告の有効化、サニタイザーの使用、最適化されたビルドの分析、そして出荷される正確なバイナリのテストについて説明することです。
// Christopher Domas’ SOCIAL //
LinkedIn: / christopher-domas
GitHub: https://github.com/xoreaxeaxeax
X: https://x.com/xoreaxeaxeax
// David’s Social //
================
Coect with me:
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 Main 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
================
Support me:
Or, buy my CCNA course and support me:
DavidBombal.com: CCNA ($10): http://bit.ly/yt999ccna
Udemy CCNA Course: https://bit.ly/ccnafor10dollars
GNS3 CCNA Course: CCNA ($10): https://bit.ly/gns3ccna10
// MY STUFF //
https://www.amazon.com/shop/davidbombal
// SPONSORS //
Interested in sponsoring my videos? Reach out to my team here: sponsors@davidbombal.com
// MENU //
0:00 – Coming Up
0:48 – Intro
02:05 – Different Ways of Exploiting CPU’s
04:10 – The C Specifications
06:17 – The Compiler Deleting Nemsec
08:40 – Do we need to use a new Compiler ?
10:09 – Compiler Inventing Vulnerabilities
12:13 – Don’t Give up Writing Secure Code
12:44 – Sponsored Section
14:25 – Any Easy Options To Create A New Compiler ?
15:09 – Chris’s Presentation at Black Hat
20:00 – Weird Situations with Size of Data
21:22 – What Can Developers Do ?
23:32 – Who Can Leverage this Vulnerability ?
25:02 – Could AI Make it Easy For Attackers To Leverage This?
28:27 – Recommendations For Developers
29:48 – Advice To Be Like Chris
30:36 – Conclusion & Outro
Please note that links listed may be affiliate links and provide me with a small percentage/kickback should you use them to purchase any of the items listed or recommended. Thank you for supporting me and this channel!
Disclaimer: This video is for educational purposes only.
#bhusa2026 #securecoding #compiler