《密码与安全新技术专题》第11周作业

《密码与安全新技术专题》第11周作业

课程:《密码与安全新技术专题》

班级: 1892
姓名: 杨晨曦
学号:20189208
上课教师:王志强
上课日期:2019年5月7日

一、本次讲座的学习总结

1. 引言

安全漏洞:缺陷、不足、未授权的情况;
安全漏洞是网络攻击和防御的关键点;
安全事件的根本原因在于安全漏洞;
漏洞挖掘:找漏洞
漏洞利用:出发漏洞,攻、证
漏洞防御:修复、提前防御

2. 常见漏洞挖掘技术

  • 手工测试
    • 凭经验检验脆弱点
    • 无规律可循 不可大规模
  • 补丁对比
    • 文本(男定位,输出难理解)
    • 汇编指令(易理解,输出范围大,难定位)
    • 优点:发现速度快
    • 缺点:已知漏洞
    • 常见工具:PatchDiff2、bindiff
  • 程序分析
    • 包括静态和动态
    • 不运行程序,扫描代码
    • 优点:覆盖率100%,自动化程度高
    • 缺点:漏报和误报(RICE,程序分析问题不可判定)
  • 二进制审核
    • 定义:源代码不可得,逆向获取二进制代码
    • 缺点:逆向导致信息丢失,理解困难,甚至逻辑错误
    • 工具:IDA Pro、Ollydbg、UltraEdit、Hex Workshop、WinHex
  • 模糊测试
    • 定义:通过向被测目标输入大量的机型数据并检测其异常来发现漏洞
    • 关键:测试用例构造、自动化
    • 优点:无需源码、误报低、自动化程度高
    • 缺点:覆盖率低
    • 工具:Peach、Sulley、Autodafe、SPIKE

3. 漏洞挖掘示例

  • bash漏洞:远程在系统上执行任意代码 危害大、范围广。
  • 路由器协议漏洞挖掘
    • 系统架构
    • 实验结果
      (1)向161端口发送大量畸形SNMP get/set 请求报文,畸形的数据包中包含长格式化字符串“%s...”的SNMPv1 GetRequest报文Cisco路由器和华为路由器的进程Agent出现CPU使用率异常。
      (2)当远程发送SNMP空数据包时,Cisco路由器和华为路由器的CPU使用率出现异常,但远小于100%,发生“轻度拒绝服务”
      (3)当远程发送一个畸形ASN.1/BER编码(超长字符串)的SNMP数据包时,wireshark捕获并解析数据包导致栈溢出、空指针引用并崩溃。
      (4)当向SNMP协议端口远程发送一个使用“/x”等字符构造的畸形UDP数据包,科来网络分析系统7.2.1及以前版本均会因边界检查不严而导致崩溃
  • NFC漏洞挖掘
    • 定义:近距离的双向高频无线通信技术;
    • 特点:距离短一次只能和一台设备连接、硬件安全模块加密、保密性安全性好
    • 目标选择:NFC手机系统和应用
    • 结果:
      (1)NFC拒绝服务,影响Android4.4以下支持NFC的所有版本。
      (2)打开手电筒,华为、小米等定制系统设计缺陷,在启动com.android.systemui的包时导致MIUI系统在触碰该标签时自动打开系统手电筒。
      (3)打开蓝牙:使用系统版本为Android4.1.3以下等多个版本的NFC手机触碰蓝牙配对标签,导致蓝牙被自动打开。
      (4)打开WiFi:逻辑漏洞,MIUI系统5.3.0等多个版本,受i触碰包含WiFi连接报文的标签后,系统WiFi会被自动打开。
      (5)应用程序拒绝服务:报文解析错误。
      (6)屏幕亮度漏洞:设计缺陷,NFC手机触碰标签可以将屏幕亮度设置在0-255的任意值,突破亮度限制0-100

二、学习中遇到的问题及解决

  • 问题1:边界检查是什么?
  • 问题1解决方案:边界检查在程序设计中是指在使用某一个变量前,检查该变量是否处在一个特定范围之内。最常见的是数组的下标检查,防止下标超出数组范围而覆盖其他数据。若是边界检查未能有效发现错误,最常见的结果是程序出现异常并终止运行。

三、本次讲座的学习感悟、思考等)

漏洞挖掘是安全圈的一个核心之一,但是随着各大厂商安全意识的增强,以及各类waf的出现。一些像sql注入,文件上传,命令执行这些漏洞也不是那么好挖了。而面对大的厂商,就像各种src,资产丰富,业务庞大。但是漏洞挖掘有很多工具可以使用 。

四、漏洞挖掘最新研究现状

1. Software Vulnerability Analysis and Discovery Using Machine-Learning and Data-Mining Techniques: A Survey

软件安全漏洞是计算机安全领域的关键问题之一。 由于他们的潜在的高严重性影响,在过去几十年中已经提出了许多不同的方法来减轻影响软件漏洞的损害。 机器学习和数据挖掘技术也属于其中解决这个问题的方法很多。 在本文中对许多不同的内容进行了广泛的回顾适用于利用机器学习和数据挖掘技术的软件漏洞分析和发现领。 我们回顾了这个领域的不同类别的作品,讨论了两个优点和缺点,并指出挑战和该领域的一些未知领域.

2. Do Bugs Foreshadow Vulnerabilities? A Study of the Chromium Project

由于开发人员面临着不断增加的安全软件压力,研究人员正在建立一种理解安全敏感的错误(即漏洞)。对最小化软件库的研究大大增加了我们的理解通过对bug的实证研究来提高软件质量。然而,具体的漏洞与漏洞不同:它们代表着滥用功能,而不是错误或功能不足,通常与传统的,非安全性错误相关联。在在这项研究中,我们对Chromium进行了深入分析项目以经验检查错误之间的关系和漏洞。我们在发布后挖掘了374,686个错误和703个错误五个Chromium版本的漏洞,跨越六年发展。使用逻辑回归分析,我们检查了如何各种类型的预发布错误(例如稳定性,兼容性,等)与释放后漏洞相关联。虽然我们发现预释放之间存在统计学上显着的相关性错误和发布后的漏洞,我们也发现协议很弱。功能数量,SLOC和数量通常,预发布安全漏洞更紧密地联系在一起发布后漏洞比我们的任何非安全漏洞都要多错误类别。在另外的分析中,我们发现了这些文件缺陷密度最高的文件与文件不相交脆弱性密度最高。这些结果表明存在错误保证,漏洞是经验上不同的群体需要针对漏洞进行更多研究.

3. Automatic Detection and Correction of Web Application Vulnerabilities using Data Mining to Predict False Positives

Web应用程序安全性是当今的一个重要问题互联网。这种状态的一个主要原因是许多程序员对安全编码没有足够的了解,所以他们留下了漏洞的应用程序。一种方法解决这个问题就是用源代码静态分析来查找这些错误,但众所周知这些工具报告许多错误积极的努力,纠正应用程序的任务。本文探讨了混合方法的使用以较少的误报检测漏洞。初步之后使用污点分析标记候选漏洞的步骤,我们的方法使用数据挖掘来预测假的存在阳性。这种方法在两种截然相反的方法之间进行权衡:人类对知识进行编码关于漏洞(用于污点分析)与自动对比获得这些知识(机器学习,数据矿业)。鉴于这种更精确的检测形式,我们通过在源代码中插入修复来进行自动代码校正。该方法在WAP工具1中实现并且进行了大量开放的实验评估源PHP应用程序。

4. Using Social Network Analysis for Mining Collaboration Data in a Defect Tracking System for Risk and Vulnerability Analysis

开源软件项目的特点是自我或组织和动态,世界各地的志愿者主要由自我激励(而不一定是一般的补偿)驱动,为软件产品做出贡献和合作。与近源或专有相反软件,组织结构和任务分配在开源项目设置中是非结构化的。软件项目经理执行风险,威胁和漏洞分析,以获得对组织结构的见解降低风险或降低风险。例如,这很重要让项目经理了解关键问题员工,核心团队,主题专家,分组,领导者和沟通桥梁。软件存储库(如缺陷跟踪系统,版本控制系统和邮件列表)包含大量有价值的信息,可以通过挖掘来实际解决有用的软件工程任务。在本文中,我们提出了一个矿井缺陷跟踪系统的系统方法,软件项目中的威胁和漏洞分析。 从缺陷跟踪系统中获取协作网络并应用社交网络分析技术进行调查为风险和脆弱性分析而导出的网络。我们对错误报告进行实证分析Mozilla Firefox项目的数据并呈现结果我们的分析。我们展示了重要的信息关于风险和脆弱性可以从静态记录保存中发现网络分析技术软件档案,如错误跟踪系统。

5. Beyond Heuristics: Learning to Classify Vulnerabilities and Predict Exploits

对现代系统管理的安全要求是巨大的,并且越来越严重。这些要求中最重要的是,管理员必须监控持续不断披露的软件漏洞,这些漏洞可能以某种方式危及其系统。此类漏洞包括缓冲区溢出错误,未正确验证的输入以及其他意外的攻击模式。 2008年,披露了超过7,400个新漏洞 - 每周超过100个漏洞。虽然没有企业受到所有企业的影响在这些披露中,管理员通常会在他们管理的软件系统中面临许多出色的漏洞。可以通过补丁,重新配置等来解决漏洞问题
解决方法;然而,这些行为可能会导致停工或不可预见的副作用。因此,系统管理员的一个关键问题是优先考虑哪些漏洞。从记录过去漏洞的可公开获取的数据库中,我们展示了如何使用分类器来预测漏洞是否以及何时被利用。作为输入,我们的分类器操作高度的特征向量,我们从现有漏洞披露报告中的文本字段,时间戳,交叉引用和其他条目中提取。与基于专家知识和静态公式的当前行业标准的heuris tics相比,我们的分类器更准确地预测了个体漏洞是否以及多久可能被利用。

参考资料

-Software Vulnerability Analysis and Discovery Using Machine-Learning and Data-Mining Techniques: A Survey

posted @ 2019-05-22 23:03  假的课代表  阅读(212)  评论(0编辑  收藏  举报