컴파일러가 당신의 보안 검사를 되돌릴 수 있다
Compiler Can Undo Your Security Checks

C 코드를 안전하게 작성해도 컴파일러 최적화가 보안 보호를 제거하고 메모리 초기화를 삭제하며 TOCTOU 취약점을 만들 수 있다. 보안 연구원 Chris Domas는 Black Hat에서 컴파일러가 왜 이런 변환을 허용하는지, 데이터 크기에 따라 17바이트는 안전하지만 33바이트는 취약해지는 사례를 설명한다. Rust가 해결책인지, GCC와 Clang 전환이 답이 아닌 이유, AI로 5억 줄을 분석해 300개 위험 패턴을 찾은 방법도 다룬다.
CPU는 소스 코드를 실행하지 않는다. 컴파일러가 만들어낸 것을 실행할 뿐이다.