OD: Vulnerability Detection

终于看完第二篇漏洞利用原理高级篇,内容虽然看懂了,但深入理解不够,这部分内容以后还要不断强化。

第三篇是漏洞挖掘技术,篇首的话中,提到程序的不可计算性(图灵机的停机问题)、希伯尔数学纲领的失败,结尾说:由于程序的不可计算性,故无法从理论上用数学方法彻底消灭程序中的所有逻辑缺陷,很有启发性。

成为有效的攻击者或者安全专家,不仅需要精通漏洞利用技术,还要掌握漏洞挖掘技术。

工业界目前普遍采用的是 Fuzz 测试,Fuzz 测试最早由 Barton Miller、Lars Fredriksen、Bryan So 在一次偶然的情况下想到,这种方法能 crash 大多数程序,很少误报,能迅速找到漏洞,缺点是无法保证找到所有漏洞。

Fuzz 测试与基于功能性的测试不同,主要目的是 crash、break、destory,是一种自动化的 rough attack,其畸形数据往往可以触发缓冲区溢出,但却不能成功利用,故为 rough。测试员要实时捕捉异常、崩溃和寄存器信息,进行可利用性判断。

攻击者热衷于使用工具,而研究者偏向于对源码进行分析审计,直接在程序的逻辑上寻找漏洞。静态代码分析技术的缺点的误报多。这方面的方法和理论很多,如数据流分析、类型验证系统、边界检查系统、状态机系统,这些都可以追溯到 1976 年 ACM Computing Surveys 上的那篇 Data Flow Analysis in Software Reliability。

以下是一些通过审计源码来检测漏洞的产品:

* Fortify,在编译阶段扫描若干种安全风险。
* Rough Auditing Tool for Security(RATS),用于分析 C/C++ 的语法树,寻找存在安全问题的函数调用。
* BEAM(Bugs Errors And Mistakes),IBM 研发的静态代码分析工具,使用数据流方法分析源码的所有可执行路径。
* SLAM,使用先进算法,用于检测驱动中的 bug,被 Microsoft 所使用,已经成功检测出一些驱动中的漏洞。
* Flaw Finder,David Wheeler 用 Python 开发的代码分析工具,免费。
* Prexis,可审计多种语言的源码,审计的漏洞类型超过 30 种。

动态测试技术

SPIKE

这是一款非常著名的 Protocol Fuzz 开源 Linux 工具,针对网络协议,作者是 Immunity 公司的创始人 Dave Aitel,他引入了基于数据块的理论,将数据的基本单位看成块(block),并实现了一套强大的 API 和数据结构用于定义和构造精确的 Fuzz 用例,避免盲目发送数据,大大提高了测试用例的准确度。Dave Aitel 在 XCON 2006 上演示了如何用 SPIKE 对 Windows 的 RPC 调用进行 Fuzz:将 OllyDbg 的所有异常监听选项打开,并 attack 到目标程序上,然后开始发送畸形数据,如果引起了目标进程出错或者崩溃,就需要去调试看看有没有发现漏洞。许多商用 Fuzz 工具采用 SPIDE 的数据快变异测试的思路。

beSTORM

由 Beyond Security 安全公司设计开发的,运行在 Windows 下,是一款全能开安全审计程序,利用模糊测试技术实现针对多种不同网络协议的安全测试。采用分体设计,自动化测试部分为一个独立程序,实时监视部分为另一个独立程序。

时间: 2024-10-12 21:05:58

OD: Vulnerability Detection的相关文章

20145309 《网络对抗技术》信息搜集与漏洞扫描

实践过程记录 DNS IP注册信息的查询 whois域名注册信息查询 whois域名注册信息查询 加上www时,查询的信息为域名注册信息,不能查到子域名(baidu.com)的注册信息 注册的信息:注册人.组织.地址.城市.地区.电话.邮件等. nslookup,dig域名查询 nslookup,dig域名查询 IP2Location 地理位置查询 搜索引擎进行信息搜集 搜索特定类型文件 路由探测 tracert路由探测 基本的扫描技术(以及nmap) 主机发现 其中发现另一虚拟机win xpe

Nmap扫描原理与用法

Nmap扫描原理与用法 2012年6月16日 1     Nmap介绍 Nmap扫描原理与用法PDF:下载地址 Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由Fyodor在1997年开始创建的.随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一.最新版的Nmap6.0在2012年5月21日发布,详情请参见:www.nmap.or

Nmap使用指南(1)

Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Network Mapper的简称.Nmap最初是由Fyodor在1997年开始创建的.随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之 一.最新版的Nmap6.0在2012年5月21日发布,详情请参见:www.nmap.org. 端口扫描: 常见端口与对应服务: 80 http 443 https 53 dns 25 smtp 22

[转]Adventures in Xen exploitation

Source:https://www.nccgroup.com/en/blog/2015/02/adventures-in-xen-exploitation/ ? tl;dr This post is about my experience trying to exploit the Xen SYSRET bug (CVE-2012-0217). This issue was patched in June 2012 and was disclosed in Xen Security Advis

基于Python3的漏洞检测工具 ( Python3 插件式框架 )

[TOC] Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based on Python3. 基于Python3的简单版漏洞检测框架 -- lance 可以自定义poc或exp插件,可以指定要加载的poc或exp. 代码已经上传到Github : https://github.com/b4zinga/lance screenshot requirements pyt

Python3漏洞扫描工具 ( Python3 插件式框架 )

目录 Python3 漏洞检测工具 -- lance screenshot requirements 关键代码 usage documents README Guide Change Log TODO list Any advice or sugggestions 目录结构 Python3 漏洞检测工具 -- lance lance, a simple version of the vulnerability detection framework based on Python3. 基于Pyt

Nmap扫描原理(下)

转自:https://blog.csdn.net/qq_34398519/article/details/89055999 3     Nmap高级用法 3.1    防火墙/IDS规避 防火墙与IDS规避为用于绕开防火墙与IDS(入侵检测系统)的检测与屏蔽,以便能够更加详细地发现目标主机的状况. Nmap提供了多种规避技巧,通常可以从两个方面考虑规避方式:数据包的变换(Packet Change)与时序变换(Timing Change). 3.1.1    规避原理 3.1.1.1    分片

OD: Memory Attach Technology - Exception

看到第六章了:形形色色的内存攻击技术 异常处理结构体 S.E.H Structure Exception Handler S.E.H 是 Windows 处理异常的重要数据结构.每个 S.E.H 为 8 字节:包含 S.E.H 链表指针和异常处理函数句柄(两个 DWORD). 1. S.E.H 存放在系统栈中,栈中一般会同时存放多个 S.E.H 2. 线程初始化时,会自动向栈中安装一个 S.E.H,作为线程默认的异常处理. 3. 如果程序源码中使用了 __try{}__except{} 或者 a

OD: Heap Overflow

Windows 堆溢出 MS 没有完全公开 Windows 的堆管理细节,目前对 Windows 堆的了解主要基于技术狂热者.黑客.安全专家.逆向工程师等的个人研究成果. 目前 Windows NT4/2000 SP4 上的堆管理策略基本(与攻击相关的数据结构和算法)研究清楚. 堆溢出的重要研究者: Halvar Flake:2002 年 Blach Hat 上首次挑战 Windows 的堆溢出,揭秘了堆中一些重要的 Data Structure 和算法.演讲"Third Generation