《软件安全》徐国胜,张淼,徐国爱编著|(epub+azw3+mobi+pdf)电子书下载

图书名称:《软件安全》

【作 者】徐国胜,张淼,徐国爱编著
【丛书名】网络空间安全专业规划教材
【页 数】 330
【出版社】 北京:北京邮电大学出版社 , 2020.01
【ISBN号】978-7-5635-5965-7
【分 类】软件开发-安全技术-高等学校-教材
【参考文献】 徐国胜,张淼,徐国爱编著. 软件安全. 北京:北京邮电大学出版社, 2020.01.

图书封面:

图书目录:

《软件安全》内容提要:

本书内容共分为10章。第1章为软件安全概述。第2、3、4章对软件漏洞概念、典型的软件漏洞和软件漏洞的挖掘与利用进行了详细的介绍与分析。第5、6、7章则对恶意代码进行概述、并分析了恶意代码的机理以及防范技术。第8章介绍了软件攻击与防御的一般技术。第9章介绍了软件分析技术。第10章介绍了一般软件防护技术。本书可以作为普通高等学校网络空间安全、信息安全等专业本科软件安全课程教材,亦可以供其他专业学生和科技人员参考。

《软件安全》内容试读

第1章

软件安全概述

本章从软件与软件安全的概念入手,介绍软件安全的背景信息和面临的安全威胁情况。

1.1软件与软件安全

软件,简单来说是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和支撑软件。系统软件为计算机使用提供最基本的功能,例如操作系统就是系统软件。应用软件是为了某种特定的用途而被开发的软件,它可以是一个特定的程序,比如一个计算器功能软件。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。还可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。支撑软件是协助用户开发软件的工具性软件,例如Java开发中的JDK套件。随着智能手机的逐渐普及,手机应用种类越来越多,功能越来越复杂,运行在手机上的应用也是软件中重要的一部分。

软件安全是指采用工程的方法使得软件在敌对攻击的情况下仍能够继续正常工作。随着近年来软件数量的增长和软件功能越来越复杂,黑客们频繁利用软件的漏洞或直接使用恶意软件进行窃取用户隐私、破坏用户系统等违法活动,软件安全问题关系到社会的政治、军事、文化等各个领域的稳定和安全,是国家重点关注的问题。

1.2软件安全威胁

在软件开发中的不同阶段,会遇到不同的安全威胁。在软件代码编写阶段,不注意一些安全编码规范,将应用的敏感信息不加密就写在发布版本易于被黑客读取的文件中,会导致该软件安全威胁增加。在软件编译阶段,也会存在安全威胁,而且这些威胁往往都是很难避免的,例如,Android开发中最终编译生成的smali格式文件存在固有的代码注入风险,这一般是通过签名校验等方式避险。在软件签名发布阶段,会遇到黑客试图绕过软件签名检查,从而在修改软件源码后该软件仍能正常使用的问题,例如,在Android开发中旧版本的签名方式因为未能对所有软件文件进行校验,导致黑客可以通过修改未被校验到的文件使恶意dx文件注人的问题(这个漏洞名为Janus)。另外在不同平台上开发软件或者使用不同语言开发软件可能会给软件带来不同的安全威胁,这与开发环境及开发流程相关,如上述例子中Android系统出现的Janus漏洞在Windows系统中就不存在。

软件安全

软件安全威胁来自软件自身和外界两个方面,其中来自软件自身是指软件具有的漏洞和缺陷会被不法分子利用,使软件用户受到权益损害;来自外界是指黑客会通过编写恶意代码并诱导用户安装运行等方式,直接威胁到软件安全。

在漏洞方面,2016年,国家信息安全漏洞共享平台(CNVD)共收录通用软硬件漏洞

10822个,较2015年增长33.9%。2012一2016年CNVD收录的漏洞数量对比如图1.1

所示。

12000个

10822

10000个

9163

7854

8080

8000个

6824

6000个

4146

4000个

2440

2607

2394

2909

2000个

0

2012年

2013年

2014年

2015年

2016年

●收录漏洞数量一●一高危漏洞数量

图1.12012一2016年CNVD收录的漏洞数量对比

由图1.1可知,CNVD收录的漏洞数量近年来总体上呈上升态势,而且收录的高危漏洞

数量总体上也呈上升态势。由此可见,近年来软件漏洞仍有增多趋势,这也无形中给软件安全带来了更多的潜在威胁。

根据CNCERT/CC(国家互联网应急中心)提供的数据,2016年约9.7万个木马和僵尸网

络控制服务器控制了我国境内约1699万台主机。控制服务器数量较2015年下降8%,近5

年来总体保持平稳向好发展。图1.2是CNCERT统计的2012一2016年木马和僵尸网络控制

端数量对比图。

400000个

360263

350000个

300000个

250000个

189369

200000个

150000个

104230

105056

96670

100000个

50000个

0

2012年

2013年

2014年

2015年

2016年

图1.22012一2016年木马和僵尸网络控制端数量对比

CNCERT/CC监测发现,2016年在传统PC端,捕获敲诈勒索类恶意程序样本约1.9万

个,数量创近年来新高。对敲诈勒索软件攻击对象分析发现,勒索软件已逐渐由针对个人终端

2

第1章软件安全概述

设备延伸至企业用户。

另外在移动互联网方面,CNCERT/CC发现移动互联网恶意程序下载链接近67万条,较

2015年增长近1.2倍,涉及的传播源域名约22万个,IP地址约3万个,恶意程序传播次数达

1.24亿次。CNCERT通过自主捕获和厂商交换获得的移动互联网恶意程序数量约205万

个,较2015年增长39.0%,通过恶意程序行为分析发现,以诱骗欺诈、恶意扣费、锁屏勒索等攫取经济利益为目的的应用程序骤增,占恶意程序总数的59.6%,较2015年增长了近3倍。近7年来移动互联网恶意程序捕获数量呈持续高速增长趋势。2005一2016年移动互联网恶意程序数量走势如图1.3所示。

2500000个

2053501

2000000个

1477450

1500000个

951059

1000000个

702861。

500000个

162981

52

6711020841616646249

0

2005年006年2007年008年2009年2010年2011年2012年013年014年20152016年

图1.32005一2016年移动互联网恶意程序数量走势

可见近年来高速增长的移动互联网恶意程序数量,使移动互联网应用的软件安全面临更多的威胁和挑战。

由于互联网传统边界的消失,各种数据遍布终端、网络、手机和云上,加上互联网黑色产业链的利益驱动,数据泄露威胁日益加剧,例如,美国大选候选人希拉里的邮件泄露,直接影响到美国大选的进程;2016年我国免疫规划系统网络被恶意入侵,20万儿童信息被窃取并在网上公开售卖。

随着智能可穿戴设备、智能家居、智能路由器等终端设备和网络设备的迅速发展和普及利用,针对物联网智能设备的网络攻击事件比例也呈上升趋势。根据CNCERT/CC对Mirai(Miri是一款典型的利用物联网智能设备漏洞进行入侵渗透以实现对设备控制的恶意代码)僵尸网络进行抽样监测数据表明,截至2016年年底,共发现2526台控制服务器控制约125.4万台物联网智能设备,对互联网的稳定运行形成严重的潜在安全威胁。

3

第2章

软件漏洞

本章分别从软件漏洞的概念、漏洞产生原因、漏洞的分类和漏洞的利用方式几个方面全面介绍软件漏洞的基本情况。

2.1漏洞的概念

2.1.1经典安全事件

2003年8月11日爆发的W32.Blaster..Worm蠕虫病毒很好地例证了软件中的安全缺陷是如何让我们变得易受攻击的。Blaster可以在毫无用户参与的情况下感染任何一台连接到互联网上未打补丁的计算机系统。微软提供的数据显示,至少有800万个Windows系统被该蠕虫病毒感染,Blaster的主要破坏力在于使用户无法正常使用自己的机器,并且能够渗透整个局域网,感染的用户必须设法删除该蠕虫并且升级系统才能正常工作。

Blaster蠕虫病毒作恶前后的一系列事件揭示了软件厂商、安全研究人员、发布漏洞利用代码者以及恶意攻击者之间错综复杂的关系。

首先,LSD(Last Stage of Delirium)研究小组发现了RPC(可用于通过TCP/IP交换信

息)中存在一个缓冲区溢出漏洞,成因在于对“畸形”信息的错误处理。该漏洞影响监听RPC

端口的一个分布式组件对象模型(DCOM)接口,后者处理客户机发送给服务器的对象激活请

求,对该漏洞的成功利用允许攻击者在受感染的系统上以本地权限执行任意的代码。

在这种情况下,LSD小组遵循了负责任的披露原则,在公开该漏洞前与软件厂商进行了

合作,寻求解决问题的办法。2003年7月16日,微软发布了微软安全公告MS03-026,LSD发

布了一个特别报告,CERT/CC则发布了一个漏洞说明VU#568148,详细描述了该漏洞,并

提供相应的补丁和应急方案的信息。第二天,CERT/CC还发布了名为“Buffer Overflow in

Microsoft RPC”(微软RPC缓冲区溢出)的CERT公告CA-2003-16。

9天后,也就是7月25日,一个名为Xfocus的安全研究小组发布了该漏洞的利用代码。

Xfocus自称是“一个在1998年创立于中国的非营利和自由技术组织,致力于研究和展示网络服务和通信安全方面的弱点”。实质上,Xfocus对微软提供的补丁程序进行了逆向工程,研究了该漏洞的原理,并且开发了相应的攻击该漏洞的方法,并将其公之于众。

HD Moore(Metasploit项目的创始人)改进了Xfocus的代码,使其可以对更多版本的操

作系统生效。很快就有漏洞利用工具发布了,使得黑客可以通过IRC网络发送命令。8月2

日就已经发现了这些攻击的蛛丝马迹。

4

第2章软件漏洞

由于DefCon黑客大会将于8月2日至3日召开,因此大家普遍预计将会有针对该漏洞的蠕虫病毒发布(并不是说参加DefCon的人会这么做,而是由于该大会会引起人们对黑客技术的关注)。美国国土安全部(Department of Homeland Security,DHS)于8月1日发布了一个预警,联邦计算机事故响应中心(Federal Computer Incident Response Center,FedCIRC)、美国国家通信系统(National Communications System,NCS)以及美国国家基础设施保护中心(National Infrastructure Protection Center,NIPC)也在对漏洞利用行为积极进行监测。8月11日,也就是补丁程序发布后的第26天,Blaster蠕虫病毒首次被发现在互联网上传播。24小时后,Blaster感染了336000台计算机。截至8月14日,Blaster已经感染了超过100万台计算机,在高峰期,它每小时感染100000个系统。

Blaster的爆发并不令人惊讶。在Blaster利用的漏洞被公布前的一个月,CERT/CC的主管Richard Pethia于2003年6月25日在主题为“网络安全、科学、研究和发展”的美国国土安全小组委员会的特委会会议上明确表示:

当今理应关注互联网的安全问题。与互联网有关的漏洞将用户置于危险的境地。适应于组织内部的大型机和小型的、规划良好的网络的安全措施,对互联网不再有效,因为这是一个复杂的、动态的互联网络世界,没有明确的边界,没有中央控制。安全问题通常没有得到很好地理解,在许多开发者、厂商、网络管理者乃至消费者心目中,这个问题很少得到足够的重视。

根据评估,Blaster蠕虫病毒所造成的经济损失至少达5.25亿美元。这个数字是综合了生产效率的损失、浪费的工时、损失的销售额以及额外消耗的网络带宽等统计出来的。看上去

Blaster的危害已经非常大了,可实际上它很容易造成更大的破坏一例如,它删除被感染计算机上的文件。基于一个使用了简单破坏模型的参数化“最坏”分析,Weaver和Paxsonl估计

一个攻击被广泛使用的微软Windows服务并且携带某种高破坏性功能(例如,破坏主硬盘控

制器、覆写CMOS RAM或擦除闪存等)的最可怕的蠕虫病毒,可能造成多达500亿美元乃至

更大的直接经济损失!

2.1.2漏洞的定义

通过上面的典型事件,可以看到漏洞是计算机系统在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷和不足。漏洞一旦被发现,攻击者就可利用这个漏洞获得计算机系统

的额外权限,在未授权的情况下访问或破坏系统,从而危害计算机系统安全。RFC2828将漏

洞定义为“系统设计、实现或操作和管理中存在的缺陷或弱点,能被利用而违背系统的安全策略”。

漏洞的危害是巨大的,下面我们给出漏洞危害的一些分类。

(1)对系统的威胁

软件漏洞能影响到大范围的软硬件设备,包括操作系统本身及其支撑软件,网络客户端和服务器软件,网络路由器和安全防火墙等,下面逐一分析其可能对系统形成的典型威胁。

(2)非法获取访问权限

当一个用户试图访问系统资源时,系统必须先进行验证,决定是否允许用户访问该系统。进而,访问控制功能决定是否允许该用户具体的访问请求。

访问权限,是访问控制的访问规则,用来区别不同访问者对不同资源的访问权限。在各类操作系统中,系统通常会创建不同级别的用户,不同级别的用户则拥有不同的访问权限。例如,在Windows系统中,通常有System、Administrators、Power Users、Users、Guests等用户

5

软件安全

组权限划分,不同用户组的用户拥有的权限大小不一,同时系统中的各类程序也是运行在特定的用户上下文环境下,具备与用户权限对应的权限。

(3)权限提升

权限提升,是指攻击者通过攻击某些有缺陷的系统程序,把当前较低的账户权限提升到更高级别的用户权限。由于管理员权限较大,通常将获得管理员权限看作是一种特殊的权限提升。

(4)拒绝服务

拒绝服务(Denial--of-Service,DoS)攻击的目的是使计算机软件或系统无法正常工作,无法提供正常的服务。根据存在漏洞的应用程序的应用场景,可简单划分为本地拒绝服务漏洞和远程拒绝服务漏洞,前者可导致运行在本地系统中的应用程序无法正常工作或异常退出,甚至可使得操作系统蓝屏关机;后者可使得攻击者通过发送特定的网络数据给应用程序,使得提供服务的程序异常或退出,从而使服务器无法提供正常的服务。

(5)恶意软件植入

当恶意软件发现漏洞、明确攻击目标之后,将通过特定方式将攻击代码植人到目标中。目

前的植入方式可以分为两类:主动植入与被动植入。主动植入,如冲击波蠕虫病毒利用MS03

026公告中的RPCSS服务的漏洞将攻击代码植人远程目标系统。而被动植入,则是指恶意软

件将攻击代码植入到目标主机时需要借助于用户的操作。如攻击者物理接触目标并植入、攻击者入侵后手工植入、用户自己下载,用户访问被挂马的网站、定向传播含有漏洞利用代码的文档文件等。这种植入方式通常和社会工程学的攻击方法相结合,诱使用户触发漏洞。

(6)数据丢失或泄漏

数据丢失或泄露是指数据被破坏、删除或者被非法读取。根据不同的漏洞类型,可以将数据丢失或泄漏分为三类。第一类是由于对文件的访问权限设置错误而导致受限文件被非法读取;第二类常见于Wb应用程序,由于没有充分验证用户的输入,导致文件被非法读取;第三类主要是系统漏洞,导致服务器信息泄漏。

漏洞带来的损失也是巨大的,当前网络犯罪进一步商品化。从窃取目标数据到新的“欺诈即服务”模式,欺诈者正在不断进化,他们沟通的方式也在改变。

由商品化的恶意软件引起的外部代理攻击的容易性几乎使得任何类型的服务的任何提供商都易受攻击。勒索软件泛滥只是一个例子,甚至这些攻击已经被简化为一种“欺诈即服务”产品。

然而,对于一些喜欢追逐但却不确定如何处理这些攻击所捕获数据的网络犯罪分子来说,现在有一个解决方案。黑市!黑市不再仅仅是销售被盗信用卡的店面。任何类型的凭证或账户都可以在这里找到。电子商务、电子邮件和社交媒体账户的价格一般在2~10美元。甚至有医疗记录和患者病历等最不可能获得的数据类型也可以购买到。当前网络犯罪分子出售、

交流和交流信息的方式也在发生变化。最近,RSA发现了广泛使用开放式论坛,特别是社交

媒体,被网络犯罪分子利用来进行交流,并成为网络犯罪的一个全球庇护所。

在为期6个月的研究中,RSA在全球发现了500多个欺诈专用社交媒体组织,估计共有

约22万名成员。仅在Facebook上就发现了超过60%,即大约13.3万名会员。在社交媒体上公开分享的信息类型包括实时损害的财务信息,例如带有个人身份信息和授权码的信用卡号码,网络犯罪教程,恶意软件和黑客工具,以及现金和支出服务。除了单一的企业观点之外,追踪全球性、跨行业、跨渠道和跨设备的网络犯罪发展对于识别和面对新的威胁和攻击的组织65

···试读结束···

阅读剩余
THE END