共计 1236 个字符,预计需要花费 4 分钟才能阅读完成。
百度平安将近年来在 Fuzzing 方向上的技术积攒梳理统称为“百中术”,取自“百 Fuzz 百中”之意。近期,百度平安和爱荷华大学、阿贡国家实验室单干的跨畛域重磅研究成果 —— 用 Fuzzing 技术防护高性能计算利用中的静默数据损坏平安危险,被高性能计算国内顶会 SC 2022 收录。
SC 全称“国内高性能计算、网络、存储和剖析会议”(International Conference for High Performance Computing, Networking, Storage and Analysis),是受工业界和学术界独特关注的高性能计算钻研畛域的最顶级国内会议,也被业内誉为是“能够预感将来的会议”。
静默数据损坏 (Silent Data Corruption, 简称 SDC) 被认为是将来高性能软件的十大平安挑战之一,由计算机系统中无序产生的 0 - 1 比特反转造成。SDC 无奈被 CPU 的错误报告机制捕捉,会悄无声息造成软件运行时数据损坏,导致软件运行可失常完结但计算结果却莫名谬误,且在大型零碎中该类平安危险极其荫蔽并难复现。
本次钻研工作受宽泛应用的 SDC 爱护计划 ——选择性指令复制 (Selective Instruction Duplicate, 简称 SID) 技术所启发,其察看和揭示了 SID 在真实世界高性能计算场景中防护性能的严重不足,并通过新型的 Fuzzing 技术和编译器层级的程序转换对软件程序进行进攻性能的高效加强。
百度平安研究员和合作者发现,传统 SID 技术虽可抵挡 CPU 等计算单元中的静默数据损坏,但其部署往往只基于无限的程序输出集。在真实世界场景下,因程序输出是海量、随机、和不规则的,SID 的效力会被急剧减弱,对大型软件系统生产计算造成微小威逼。
本次钻研揭示了特定软件指令在多输出的上下文中会出现不同的抗错性,并对其命名为“埋伏指令”。随后,本工作联合编译器层级的程序变换和优化,设计了一种准确、疾速、自动化的 Fuzzing 技术,在程序流剖析中精准定位程序中所有的“埋伏指令”,并升高了约 97% 的原有 SID 防护技术遗留的额定危险。与基准 Fuzzing 技术相比,该工作可高效辨认多达 45.6% 的埋伏指令。在 11 个被宽泛评估的高性能计算程序上,其剖析工夫均匀仅需 26.4 分钟。
百度平安始终专一于平安前沿畛域的钻研,独创 AI 平安 Security、Saftety、Privacy 三大维度,钻研方向涵盖 AI 平安、云平安、数据安全与隐衷爱护、端边云一体平安等前沿平安外围畛域。近年来,百度平安在 Fuzzing 方向继续跟踪和钻研前沿技术,与学术界开展展宽泛而深刻的单干,针对不同场景推出了一系列围绕 Fuzzing 的技术计划,钻研畛域不局限于与符号执行的联合,还包含与其它程序剖析技术的交融,以及在 AI 畛域对 Fuzzing 的利用,一直开辟 Fuzzing 在新畛域中的利用边界,成绩间断发表于 Usenix Security 等国内顶级平安会议及外围学术期刊,以及软工、高性能计算等畛域国内顶会,后续精彩敬请期待。