1.2 软件安全威胁
在软件开发中的不同阶段,会遇到不同的安全威胁。在软件代码编写阶段,不注意一些安全编码规范,将应用的敏感信息不加密就写在发布版本易于被黑客读取的文件中,会导致该软件安全威胁增加。在软件编译阶段,也会存在安全威胁,而且这些威胁往往都是很难避免的,例如,Android开发中最终编译生成的smali格式文件存在固有的代码注入风险,这一般是通过签名校验等方式避险。在软件签名发布阶段,会遇到黑客试图绕过软件签名检查,从而在修改软件源码后该软件仍能正常使用的问题,例如,在Android开发中旧版本的签名方式因为未能对所有软件文件进行校验,导致黑客可以通过修改未被校验到的文件使恶意dex文件注入的问题(这个漏洞名为Janus)。另外在不同平台上开发软件或者使用不同语言开发软件可能会给软件带来不同的安全威胁,这与开发环境及开发流程相关,如上述例子中Android系统出现的Janus漏洞在Windows系统中就不存在。
软件安全威胁来自软件自身和外界两个方面,其中来自软件自身是指软件具有的漏洞和缺陷会被不法分子利用,使软件用户受到权益损害;来自外界是指黑客会通过编写恶意代码并诱导用户安装运行等方式,直接威胁到软件安全。
在漏洞方面,2016年,国家信息安全漏洞共享平台(CNVD)共收录通用软硬件漏洞10 822个,较2015年增长33.9%。2012—2016年CNVD收录的漏洞数量对比如图1.1所示。
图1.1 2012—2016年CNVD收录的漏洞数量对比
由图1.1可知,CNVD收录的漏洞数量近年来总体上呈上升态势,而且收录的高危漏洞数量总体上也呈上升态势。由此可见,近年来软件漏洞仍有增多趋势,这也无形中给软件安全带来了更多的潜在威胁。
根据CNCERT/CC(国家互联网应急中心)提供的数据,2016年约9.7万个木马和僵尸网络控制服务器控制了我国境内约1 699万台主机。控制服务器数量较2015年下降8%,近5年来总体保持平稳向好发展。图1.2是CNCERT统计的2012—2016年木马和僵尸网络控制端数量对比图。
图1.2 2012—2016年木马和僵尸网络控制端数量对比
CNCERT/CC监测发现,2016年在传统PC端,捕获敲诈勒索类恶意程序样本约1.9万个,数量创近年来新高。对敲诈勒索软件攻击对象分析发现,勒索软件已逐渐由针对个人终端设备延伸至企业用户。
另外在移动互联网方面,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所示。
图1.3 2005—2016年移动互联网恶意程序数量走势
可见近年来高速增长的移动互联网恶意程序数量,使移动互联网应用的软件安全面临更多的威胁和挑战。
由于互联网传统边界的消失,各种数据遍布终端、网络、手机和云上,加上互联网黑色产业链的利益驱动,数据泄露威胁日益加剧,例如,美国大选候选人希拉里的邮件泄露,直接影响到美国大选的进程;2016年我国免疫规划系统网络被恶意入侵,20万儿童信息被窃取并在网上公开售卖。
随着智能可穿戴设备、智能家居、智能路由器等终端设备和网络设备的迅速发展和普及利用,针对物联网智能设备的网络攻击事件比例也呈上升趋势。根据CNCERT/CC对Mirai(Mirai是一款典型的利用物联网智能设备漏洞进行入侵渗透以实现对设备控制的恶意代码)僵尸网络进行抽样监测数据表明,截至2016年年底,共发现2 526台控制服务器控制约125.4万台物联网智能设备,对互联网的稳定运行形成严重的潜在安全威胁。