用实际危害说话:评定产品安全性的新指标
对产品或应用的安全性做出科学的评判是一项很困难的事。相关机构一般的做法,只是会根据操作系统和热门应用程序披露的漏洞个数,来衡量其安全性。
评定安全性的老办法:只根据漏洞个数
通常来说,复杂的环境可能导致不同的结果。来自马里兰大学的研究人员,在本周于瑞典召开的《攻击、渗透与防御研究》的专题讨论会中,发表了这次的研究成果,他们希望引入一组新的、基于真实环境下收集的漏洞利用的数据指标。 他们在报告中写道,《不一样的漏洞:在真实环境下研究漏洞和攻击》,其中提出了另一种概念。安全研究人员以前之所以过去把漏洞的个数当作评估系统和应用程序安全性的最好的方法,是因为大多数漏洞并没有被实际利用过,攻击条件也是一种不准确的指标,因为用户经常往操作系统里安装应用程序,或者更改里面的配置。
“现有的安全指标,如一个产品的漏洞数量,或是其理论上的攻击条件,并没有考虑到以上这些影响因素。”
团队的研究人员–Kartik Nayak, Daniel Marino, Petros Efstathopoulos和Tudor Dumitras在他们的报告中陈述道。
细数新定指标
对此,研究人员提出了两个新的评估指标:一个可以衡量漏洞是否得到利用,而另一个则可以衡量漏洞的利用频率。
新定指标相关内容为:
1.从一批可靠的数据来源中,我们收集到了真实环境下实施利用的漏洞,其中的来源包括国家漏洞库、供应商的IPS以及反病毒
签名库。
2.漏洞利用率指的是在一定时段内利用的时候,产品漏洞被捕获的那部分的利用率。(比如在产品某版本发布的头几个月内)
3.攻击当量:计算某产品在特殊时间段被攻击的频繁程度。
4.攻击条件:特定时间段内符合攻击条件的区域,实质上这反映了主机上漏洞利用的数量。
真实环境下的研究
研究人员实验中使用的一些数据来源,其中包括国家漏洞库,以及来自六千三百多万主机上的反病毒和入侵防护数据。他们检查了每个版本的Windows,从Winxp到Win7,以及新版本的Adobe Reader,Office和IE浏览器,最后得出结论:这些程序已披露的漏洞,在单独进行攻击时的利用率在35%以下。但是当综合利用各产品漏洞时,其比例下降到了15%,而随着新版产品的发布,该比例还在下降。 举个例子,ASLR和DEP的展示将Win7放到了Windows产品历史中前所未有的高度。同样的情形也在Adobe Reader的介绍沙盒时重演。 研究人员表示,踏出实验室在真实环境里进行研究是非常有必要的。
准确率的提升
“因为漏洞计数和攻击条件能预估出攻击者成功的几率。虽然这种方法不一定非常准确,但我们还是转而专注于在该领域进行突破,”研究人员写道。“结合现有的指标,加上进行安全漏洞和攻击行为对真实环境的影响的考量,可以对网络攻击的风险做出更准确的评估。” 研究人员称,新指标可以帮助系统或网络管理员获取一个更加准确的风险评估,若有漏洞可以提前获得修补。
FreeBuf:原文描述有些复杂,译文中加入了一些改动和注释,但大意不变,希望能让读者更方便理解。
[参考信息来源threatpost.com,译/FreeBuf实习小编dawner,转载请注明来自FreeBuf.COM]
- matplotlib的基本用法(四)——设置legend图例
- TensorFlow深度学习笔记 文本与序列的深度模型
- 究竟哪里安全?加拿大VS中国治安大数据起底!意料之中还是之外?
- muduo网络库学习之EventLoop(四):EventLoopThread 类、EventLoopThreadPool 类
- 从小程序游戏开放可以看出,微信已经开始转移小程序战场了
- 17年AI在游戏中完胜人类,AlphaGo的下一个目标是什么?DeepMind有一个45年超越人类计划
- PHP常用的正则表达式
- ASP.NET Core管道深度剖析(3):管道是如何处理HTTP请求的?
- 浅析负载均衡的6种算法,Ngnix的5种算法
- 字符串的学习
- 【Scikit-Learn 中文文档】内核岭回归 - 监督学习 - 用户指南 | ApacheCN
- 可视化(番外篇)——在Eclipse RCP中玩转OpenGL
- 养良好C语言编程风格,编优质C语言代码,这才是C语言的开始
- IBM让《星球大战》中的各种黑科技变成现实
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 双指针算法练习(一)
- 一般是面试的热身题——LeetCode题目21:合并两个有序链表
- LeetCode题目22:括号生成
- OpenGL ES 3.0 | 着色器编译器
- LeetCode题目23:合并K个排序链表
- LeetCode题目24:两两交换链表中的节点
- 最难链表题——LeetCode题目25:K 个一组翻转链表
- LeetCode题目26:删除排序数组中的重复项
- PCA算法原理及实现
- LeetCode题目27:移出元素
- LeetCode题目28:实现strStr()
- LeetCode题目29:两数相除
- LeetCode题目30:串联所有单词的子串
- LeetCode题目31:下一个排列
- LeetCode题目33:搜索旋转排序数组