购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

近年来,国内外由于软件系统缺陷而引发的重大信息安全事件日益增多,给相关机构和企业带来了不良社会影响和重大经济损失。重视软件安全已是《国家网络空间安全战略》中明确的战略任务。要实现软件安全,就必须提升软件开发从业人员关于软件安全开发的知识和技能,从软件诞生的源头着手,减少软件安全缺陷与漏洞,从而提高软件运行的安全性。

目前,关于软件安全的书籍不多,适合于普通高校本科专业的教材也很少。本书作为江苏省“十三五”高等学校重点教材(新编)、江苏省高等教育教学改革重点课题(2015JSJG034)、江苏省教育科学十二五规划重点资助课题:泛在知识环境下的大学生信息安全素养教育——培养体系及课程化实践、南京师范大学精品资源共享课“软件安全”建设项目及南京师范大学“信息安全素养与软件工程实践创新教学团队”建设项目的成果,历经4年多编写完成,讲义几易其稿。

本书遵循《高等学校信息安全专业指导性专业规范》,全面梳理了国内外软件安全开发最佳实践,跟踪研究安全开发理论发展,汇集国内诸多专家学者智慧,并汲取软件漏洞分析经验,全面介绍了在软件开发过程中从根本上提高软件安全性的基本技术,用以培养软件开发人员的安全开发意识,增强对软件安全威胁的认识,提高安全开发水平,提升IT产品和软件系统的抗攻击能力。

本书在编写中力求体现以下三大特色。

1.知识结构系统,内容全面

本书内容结构如图1所示,分为四大部分,共14章。

第1部分为软件安全概述,分别介绍软件安全的重要性、软件面临的三大类安全威胁、软件安全的概念及软件安全的研究内容。

第2部分为软件安全开发,首先用3章的篇幅分别介绍了软件漏洞概述、Windows系统典型漏洞分析和Web漏洞分析,接着,用6章的篇幅介绍了软件安全开发模型、软件安全需求分析、软件安全设计、软件安全编码、软件安全测试及软件安全部署等软件安全开发生命周期每一个环节中的安全技术。

软件安全开发是一种系统化的应用安全解决方法,它将一系列安全活动、安全管理实践和安全开发工具有机地结合在一起,在整个软件开发生命周期中,贯彻安全开发的思想,从源头着手,减少软件安全缺陷与漏洞,从而提高软件运行的安全性。与软件运行阶段解决安全问题相比,在软件开发阶段考虑安全问题更有效、更经济。该部分同时较为全面地分析了软件安全开发最新理论研究成果和产业界的最佳实践经验。

第3部分为恶意代码防护,用两章的篇幅分别介绍了计算机启动过程、程序的生成和执行、PE文件和程序逆向分析等恶意代码分析常用的基本技术,以及恶意代码法律防治措施和技术防治技术。

第4部分为软件侵权保护,用两章的篇幅分别介绍了开源软件及其安全性,以及软件知识产权法律保护和技术保护措施,包括云环境下软件版权保护的新技术。

图1 本书内容结构

2.理论实践结合,案例丰富

本书注重理论与实践结合,通过对19个案例的分析、工具介绍等方式,帮助读者更好地掌握软件安全开发、恶意代码防治及软件版权保护等关键技术。

【案例1】零日攻击、网络战与软件安全

【案例2-1】白帽黑客的罪与罚

【案例2-2】阿里巴巴月饼门

【案例3】Windows安全漏洞保护技术应用

【案例4-1】SQL注入漏洞源代码层分析

【案例4-2】XSS漏洞源代码层分析

【案例5】Web应用漏洞消减模型设计

【案例6】一个在线学习系统的安全需求分析

【案例7】对一个简单的Web应用系统进行威胁建模

【案例8】基于OpenSSL的C/S安全通信程序

【案例9】Web应用安全测试与安全评估

【案例10】SSL/TLS协议的安全实现与安全部署

【案例11-1】构造一个PE格式的可执行文件

【案例11-2】OllyDbg逆向分析应用

【案例11-3】IDA逆向分析应用

【案例12】WannaCry勒索软件分析

【案例13】主流开源许可证应用分析

【案例14-1】对iOS系统越狱行为的分析

【案例14-2】.NET平台下的软件版权保护

3.编写体例创新,引导思维

本书注重学习者理性思维引导。按照建构主义的学习理论,学习者作为学习的主体,应在客观环境(这里指教材内容)的交互过程中构建自己的知识结构。教学者应当引导学习者在学习和实践过程中探索其中带规律性的认识,将感性认识升华到理性高度,只有这样学习者才能在今后的实践中举一反三,才能有创新和发展。为此,本书在每一章节的内容组织上进行了创新,以引导学习者的思维,如图2所示。

图2 本书内容组织

本书知识编排体系也为教师有效地组织课堂教学提供了便利,教师可以根据教材资源,对学习者进行问题引导、疑难精讲、质疑点拨、检测评估。

本书由陈波和于泠执笔完成。于浩佳、陈思远、刘蓉、张敬然、麻益通、孙铭扬也参与完成了资料整理、部分图表绘制等工作。本书在写作过程中查阅和参考了大量的文献和资料,限于篇幅,未能在书后的参考文献中全部列出,在此一并致谢。本书的完成也要感谢机械工业出版社的郝建伟编辑一直以来对作者的指导和支持。

本书可作为信息安全、计算机和软件工程等专业的教材,也适用于软件开发人员、软件架构师、软件测试等从业人员,还可供注册软件生命周期安全师(Certified Secure Software Lifecycle Professional,CSSLP)、注册软件安全专业人员(Certified Secure Software Professional,CWASP CSSP)、注册信息安全专业人员(Certified Information Security Profes sional,CISP),以及计算机软件开发人员或编程爱好者参考和使用。

由于编者水平有限,书中难免有疏漏之处,恳请广大读者批评指正。作者为了让读者能够直接访问相关资源进行学习和了解,在书中加入了大量链接,虽然已对链接地址经过认真确认,但是可能由于网站的变化而不能访问,请予谅解。读者在阅读本书的过程中若有疑问,也欢迎与作者联系,电子邮箱是:SecLab@163.com。

编者 OYXaStSVe/R4R/wkRfiDROyWi5vvpktNUX+xHAVRp6WlCR9ZJKGPfsD32436CVpZ

点击中间区域
呼出菜单
上一章
目录
下一章
×