Matthew Butler

世界级C++安全专家,C++标准委员会资深委员

Matthew Butler 是世界级的C++安全专家,也是C++标准委员会资深委员,其在C++标准委员会主要负责核心语言功能、软件漏洞和安全关键系统。Matthew 从1990起就一直从事C++安全方面的研究。他作为系统架构师和软件工程师开发了用于网络和应用程序安全、实时数据分析的系统,和安全关键系统。他的研究领域覆盖从嵌入式微控制器、到FPGAs、大规模实时处理平台等。

演讲主题

使用Modern C++编写面向硬件的安全代码

在过去的30年里,我们几乎完全从软件层(应用程序和操作系统)着手处理对 安全系统的渗透。随着诸如Spectre and Meltdown安全漏洞出现,硬件设计现在 已经成为主要战场。 在本次讲座中,我们将讨论四种现实世界中的硬件攻击,这些攻击改变了我们 对安全系统的看法,并了解硬件利用策略如何驱动软件利用策略。这对于现代 C++的未来意味着什么? 我们将探索四条攻击线: 1)信任的根源
2)侧通道利用 3)物理访问如何创造机会 4)供应链如何经常造成我们最大的弱点 随着标准委员会今年对C++ 20进行最后的调整,我们将使用这些框架作为内部 框架来了解委员会努力构建一种更安全、更具弹性的语言。 我们将看到: 新的语言特性,如概念(Concepts)、契约(Contracts)和范围(Ranges),如 何帮助(或损害)我们编写安全软件的能力。 编译器开发人员如何显式地使用未定义的行为来生成高性能机器代码,以及这 对软件安全性意味着什么。
针对C++ 23的建议,如静态异常机制和安全清除,将有助于解决语言中的一些 最坏的漏洞。 本此讲座讨论的是我们在语言和设计上的选择如何影响系统抵御攻击的能力。还 涉及到语言的进化是如何解决它所处的不安全的世界,以及它仍然不足的地方。

空难分析告诉我们如何做关键安全的系统设计

如果说有一个行业热衷于构建安全关键系统,那就是航空业。然而,尽管制造商、航空公司和事故调查人员做出了努力,事情并不总是按计划进行。 在本次演讲中,我们将讨论三个航空灾难: -法航447, -日本航空123 -波音737 Max 然后,我们将分析现代史上最安全的旅游系统是如何失败的: -复杂的用户界面如何影响安全结果 -错误消息如何使紧急情况恶化 -自动化的兴起通常是如何危害安全的 -复杂性如何产生紧急行为 -故障安全设计有时不是故障安全的 最后,我们来看看对于安全关键应用程序设计的现代C++软件意味着什么,以及标准委员会是如何使语言和系统更安全的。

C++安全编码最佳实践