图书前言

前言

21世纪是信息时代,信息已成为社会发展的重要战略资源,社会的信息化已成为当今世界发展的潮流和核心,而信息安全在信息社会中将扮演极为重要的角色,会直接关系到国家安全、企业经营和人们的日常生活。 随着信息安全产业的快速发展,全球对信息安全人才的需求量不断增加,然而我国目前信息安全人才极度匮乏,远远不能满足金融、商业、公安、军事和政府等部门的需求。要解决供需矛盾,必须加快信息安全人才的培养,以满足社会对信息安全人才的需求。为此,教育部继2001年批准在武汉大学开设信息安全本科专业之后,又批准了多所高等院校设立信息安全本科专业,而且许多高校和科研院所已设立了信息安全方向的具有硕士和博士学位授予权的学科点。

  信息安全是计算机、通信、物理、数学等领域的交叉学科,对于这一新兴学科的培养模式和课程设置,各高校普遍缺乏经验,因此中国计算机学会教育专业委员会和清华大学出版社联合主办了“信息安全专业教育教学研讨会”等一系列研讨活动,并成立了“高等院校信息安全专业系列教材”编委会,由我国信息安全领域著名专家肖国镇教授担任编委会主任,指导“高等院校信息安全专业系列教材”的编写工作。编委会本着研究先行的指导原则,认真研讨国内外高等院校信息安全专业的教学体系和课程设置,进行了大量具有前瞻性的研究工作,而且这种研究工作将随着我国信息安全专业的发展不断深入。系列教材的作者都是既在本专业领域有深厚的学术造诣,又在教学第一线有丰富的教学经验的学者、专家。

  该系列教材是我国第一套专门针对信息安全专业的教材,其特点是:

  ① 体系完整、结构合理、内容先进。

  ② 适应面广。能够满足信息安全、计算机、通信工程等相关专业对信息安全领域课程的教材要求。

  ③ 立体配套。除主教材外,还配有多媒体电子教案、习题与实验指导等。

  ④ 版本更新及时,紧跟科学技术的新发展。

“高等院校信息安全专业系列教材”已于2006年年初正式列入普通高等教育“十一五”国家级教材规划。

  2007年6月,教育部高等学校信息安全类专业教学指导委员会成立大会暨第一次会议在北京胜利召开。本次会议由教育部高等学校信息安全类专业教学指导委员会主任单位北京工业大学和北京电子科技学院主办,清华大学出版社协办。教育部高等学校信息安全类专业教学指导委员会的成立对我国信息安全专业的发展起到重要的指导和推动作用。2006年,教育部给武汉大学下达了“信息安全专业指导性专业规范研制”的教学科研项目。2007年起,该项目由教育部高等学校信息安全类专业教学指导委员会组织实施。在高教司和教指委的指导下,项目组团结一致,努力工作,克服困难,历时5年,制定出我国第一个信息安全专业指导性专业规范,于2012年年底通过经教育部高等教育司理工科教育处授权组织的专家组评审,并且已经在武汉大学等许多高校应用。2013年,新一届教育部高等学校信息安全专业教学指导委员会成立。经组织审查和研究决定,2014年,以教育部高等学校信息安全专业教学指导委员会的名义正式发布《高等学校信息安全专业指导性专业规范》(由清华大学出版社正式出版)。

  2015年6月,国务院学位委员会、教育部决定增设“网络空间安全”为一级学科,将高校培养网络空间安全人才提到新的高度。2016年6月,中央网络安全和信息化领导小组办公室(下文简称“中央网信办”)、国家发展和改革委员会、教育部、科学技术部、工业和信息化部、人力资源和社会保障部六大部门联合发布《关于加强网络安全学科建设和人才培养的意见》(中网办发文〔2016〕4号)。2019年6月,教育部高等学校网络空间安全专业教学指导委员会召开成立大会。为贯彻落实《关于加强网络安全学科建设和人才培养的意见》,进一步深化高等教育教学改革,促进网络安全学科专业建设和人才培养,促进网络空间安全相关核心课程和教材建设,在教育部高等学校网络空间安全专业教学指导委员会和中央网信办组织的“网络空间安全教材体系建设研究”课题组的指导下,启动了“网络空间安全学科系列教材”的建设工作,由教育部高等学校网络空间安全专业教学指导委员会秘书长封化民教授担任编委会主任。本丛书基于“高等院校信息安全专业系列教材”坚实的工作基础和成果、阵容强大的编委会和优秀的作者队伍,目前已有多部图书荣获国家教材委员会主办的“全国优秀教材奖”、中央网信办和教育部指导评选的“网络安全优秀教材奖”,以及“普通高等教育本科国家级规划教材”“普通高等教育精品教材”“中国大学出版社图书奖”等多项国家级和省部级奖项。

  “网络空间安全学科系列教材”将根据《高等学校信息安全专业指导性专业规范》(及后续版本)和相关教材建设课题组的研究成果不断更新和扩展,进一步体现科学性、系统性和新颖性,及时反映教学改革和课程建设的新成果,并随着我国网络空间安全学科的发展不断完善,力争为我国网络空间安全相关学科专业的本科和研究生教材建设、学术出版与人才培养做出更大的贡献。

  我们的E\|mail地址是zhangm@tup.tsinghua.edu.cn,联系人:张民。

“网络空间安全学科系列教材”编委会软件安全(微课版)出版说明软件安全(微课版)前言软件是计算机系统的灵魂、信息化系统的核心以及互联网应用的基石。现代社会对信息系统的依赖体现为对软件的依赖,而且信息系统的缺陷在很大程度上也是因为软件问题产生的。

目前,软件安全正面临严峻挑战。首先,随着软件规模的不断增大,软件的开发、集成和演化变得越来越复杂,这导致软件产品在推出时总会含有很多已知或未知的缺陷和漏洞。这些缺陷和漏洞对软件系统安全的可靠运行构成了严重的威胁。其次,软件的运行和开发环境从传统的静态封闭的状态变成互联网环境下动态开放的状态,越来越多的软件漏洞和缺陷被发现和利用。更为重要的是,受经济利益驱使,目前计算机病毒及黑客地下产业链活动非常猖獗,软件漏洞被广泛利用,恶意代码急剧增加,且传播速度大大加快;与此同时,目前国际网络安全对抗形势严峻,敌对国家支持背景下的网络攻击威胁触及国家关键信息基础设施和各类重要信息系统,攻击手段防不胜防,其对国家安全造成了巨大威胁。

2014年2月27日,中央网络安全和信息化领导小组第一次会议在北京召开。在这次重要会议上,习近平总书记首次提出“没有网络安全就没有国家安全”“努力把我国建设成为网络强国”。党的十八大以来,以习近平同志为核心的党中央顺应时代发展大势,创造性地提出总体国家安全观,党的二十大首次将“推进国家安全体系和能力现代化,坚决维护国家安全和社会稳定”以专章形式写入大会报告。网络安全是国家安全的重要组成部分,是国家安全在网络空间的具体体现。建设网络强国,人才是关键,教育是根本。新时代大学生肩负着建设网络强国的神圣使命。

为了进一步增强学生对各类软件安全威胁本质与其实现机理的理解,使学生掌握系统安全防护核心技术与理论,提升学生的创新实践能力,以及综合利用专业基础知识设计和研发信息安全防护产品和体系的能力,我们编写了本书。同时,希望借此可为学生今后的发展提供专业引导,进一步激发学生的专业兴趣,增强学生的专业使命感,期盼越来越多的优秀人才投入我国的网络空间安全保障防护事业中,为我国的网络空间安全保障不断添砖加瓦。

本书第一部分对软件安全基础知识进行介绍。

第1章从软件的概念入手,介绍信息、信息安全的定义、属性、发展,进而描述软件安全的概念、面临的具体威胁和来源,最后对目前主流的软件安全防护方法进行介绍。通过本章的学习,读者将能较全面地了解软件安全的基本概念、其面临的主要问题和挑战,以及目前典型的安全防护手段。

第2章介绍计算机的磁盘管理、Windows的文件系统、Windows内存结构与管理、计算机的引导过程、可执行文件格式等与软件安全相关的基础知识。该章将为本书后续的学习打下必要的基础。

第3章为PE可执行文件格式,详细介绍PE文件的总体结构、文件头、代码节、数据节、函数引入与引出机制、资源定位与修改机制、重定位节与签名验证机制等,同时对64位PE文件(PE32+)与32位PE文件的格式差异进行讲解。

第4章为PE文件格式实践,重点针对PE文件函数引入机制、资源节、数字签名,以及最小PE文件等多个方面进行实践,提供操作视频,以进一步加深对PE文件格式的理解。

恶意软件是软件安全的重大安全隐患。作为本书内容的重中之重,第二部分重点介绍恶意代码的攻防技术与手段。

第5章介绍恶意代码的定义及分类。

第6~9章重点详细介绍几类典型的恶意代码,包括计算机病毒(Windows PE病毒、脚本病毒、宏病毒等)、网络蠕虫、网络木马等的具体实现机理。

第10章主要介绍典型的反病毒技术和手段,对静态检测技术(特征码检测技术、校验和检测技术、启发式扫描技术)、动态检测技术(虚拟机技术、主动防御技术及沙箱技术)以及综合检测技术(云查杀、基于智能算法的检测技术等)进行介绍,同时还介绍了恶意软件自我保护与对抗技术。

第11章重点介绍恶意软件的样本捕获与分析,包括恶意软件样本捕获方法、样本分析环境的具体搭建,以及恶意软件的具体分析手段和实例等。

本书第三部分对软件安全的重要威胁之一“软件漏洞”的机理、利用方法与防护技术手段进行讲解和分析。

第12章对软件漏洞的分类、评估方法,多类典型的软件漏洞(缓冲区溢出、格式化字符串、整数溢出、UAF、DoubleFree等)的机理进行介绍和分析。

第13章描述软件漏洞的具体利用方法,包括Exploit与ShellCode的编写机理、系统防护机制(DEP、GS、ALSR、SafeSEH等),同时对软件漏洞利用的方法和防护机制突破手段进行介绍。通过本章的学习,读者可以掌握目前操作系统在漏洞防护方面的一些具体措施,同时还能了解攻击者与操作系统在漏洞攻防技术的博弈过程。

第14章介绍漏洞挖掘技术基础,包括程序切片、程序插桩、Hook技术等。

第15章介绍词法分析、数据流分析、符号执行、污点分析、模糊测试等漏洞挖掘技术。

在本书的编写过程中,我们从各种学术论文、书籍、期刊以及互联网中引用了大量的资料,有的在参考文献中列出,有的无法一一查证,在此特别感谢这些文献作者的贡献。

本书主要由彭国军、傅建明老师编写,南开大学刘哲理、范玲玲两位老师编写了本书第12、14和15章,并录制了对应的视频,上海交通大学刘功申老师参与了本书第10章的编写工作。

感谢安天科技集团首席技术架构师肖新光和副总工程师李柏松,华为公司梁玉博士,武汉大学赵磊教授,以及杨秀璋、郑锐、于慧、刘思德、张杰、何琪等同学对本书部分视频录制工作给予的支持与帮助。感谢金国澳、张冬妮、韩静雯、吕锦钊、付泽智、余墅、王兴梁、梅润元、曹镇轩等同学在书稿的整理过程中给予的支持与帮助。

本书隶属于教育部战略性新兴领域“十四五”高等教育教材体系建设团队——新一代信息技术(网络空间安全)建设项目。在网易云课堂和爱课程平台的支持下,本书配套的视频课程顺利上线,并入选了国家精品在线开放课程和首批国家一流本科课程。

“软件安全”是一门实践性非常强的信息安全专业课程,在进行本课程学习的过程中,还应当加强实践,进行必要的配套实验,课程组另外精心编写出版了配套教材《软件安全实践》,以进一步加强对相关知识点的掌握,进而丰富知识结构,增强对信息系统安全知识体系的理解与把握。 

由于时间和作者水平有限,书中难免存在部分错误,恳请读者批评指正,以使本书得以不断改进和完善。

作者2025年6月