
前言
数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的基本元素之一,软件的安全性问题也随之变得更加重要。
随着软件产业的快速发展,软件供应链愈发复杂多元,而复杂的软件供应链会引入一系列安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件呈快速增长态势,造成的危害也越来越大。
软件供应链可划分为开发、交付、运行三大环节,每个环节都可能会引入供应链安全风险,上游环节的安全问题会传递到下游环节。开发环节作为软件供应链的上游环节,其重要性不言而喻。从软件开发环节入手,尽早发现和消减安全问题,防患于未然,已经成为业界共识。因此,保障软件源代码安全正逐步成为安全领域的一项重要工作。其中,源代码安全缺陷审计与分析是保障软件源代码安全的重要基础性方法。该方法一般指在软件发布之前,软件开发或安全技术团队使用静态应用安全测试(SAST)工具扫描代码,对扫描结果进行审计,判断其中的安全缺陷,并对这些缺陷进行修复。通过该方法能够尽可能全面地发现并解决软件源代码中的安全缺陷,从而降低后期缺陷修补的成本,增强软件的安全性。
本书基于奇安信代码安全实验室在源代码缺陷和漏洞分析领域十余年的研究积累和工程经验编写而成。本书针对CWE、OWASP等标准中一系列常见的代码安全缺陷类型,结合实例和工具使用进行详细介绍,旨在与广大软件开发者和安全技术人员分享代码安全审计的经验,提供基础性的参考教程。
本书共包括4章内容。第1章概述了源代码缺陷的基本概念、发现缺陷的方法、自动化缺陷检测技术、缺陷处置流程、缺陷种类划分、代码审计工具、代码安全保障技术趋势。第2章至第4章通过具体实例依次介绍了各类缺陷的原理、危害、在代码中的表现形式及修复建议。
本书包含配套源代码资源,读者可登录华信教育资源网(www.hxedu.com.cn)注册后免费下载,或扫描二维码下载使用。

源代码
最后,特别感谢奇安信集团黄永刚、韩建、章磊、董国伟、吴迪、付威、赵艺伟、申少华、裴智勇、刘洋、尹磊等积极组织本书的出版。同时,本书的顺利出版还离不开电子工业出版社戴晨辰编辑的大力支持,以及其他工作人员的辛勤付出,在此向他们一并表示感谢。由于作者水平有限,不妥之处在所难免,恳请网络安全业界专家、广大读者朋友批评指正,共同为我国网络空间安全科普与教育事业贡献力量!
作者