二进制安全
文章平均质量分 90
二进制安全
网络安全研发随想
这个作者很懒,什么都没留下…
展开
-
afl-fuzz技术白皮书
通过在编译期间instrument一些指令来捕获branch (edge) coverage和运行时分支执行计数。原创 2016-03-10 15:37:53 · 24067 阅读 · 4 评论 -
american fuzzy lop 介绍
Fuzzing是漏洞挖掘领域最有效的方法之一,可以用来发现大量的远程代码执行和提权的漏洞。然而,fuzzing优势相对肤浅和盲目的。随机变异使得我们很难实现达到测试程序特定的代码路径。这就使得测试的代码覆盖率很低。原创 2016-03-08 17:36:33 · 5844 阅读 · 0 评论 -
调试器工作原理--CPU软件断点/硬件断点/单步执行标识
断点和单步执行是两个经常使用的调试功能,也是调试器的核心功能。断点是调试器的最常用技术之一。其基本思想是在某一个位置设置一个陷阱,当CPU执行到此位置时,中断到调试器中,让调试者分析和调试,之后恢复执行。单步执行是最早的调试方式之一。就是让应用程序按照某一个步骤单位一步一步执行。一般的做法是,先使用断点功能将程序中断到感兴趣的位置,然后再单步执行关键的代码。原创 2020-12-30 14:09:05 · 5622 阅读 · 0 评论 -
二进制漏洞利用原理--栈溢出
函数的局部变量在栈中一个挨着一个排列。如果这些局部变量中有数组之类的缓冲区,并且程序中存在数组越界的缺陷,那么越界的数组元素就有可能破坏栈中相邻变量的值,甚至破坏栈帧中所保存的EBP值、返回地址等重要数据。原创 2020-12-28 14:32:06 · 777 阅读 · 1 评论 -
android全系统动态二进制分析--CopperDroid
CopperDroid通过直接监测System call,不但可以判断操作系统的一些动作(比如进程创建、文件创建),还可以判断进程内部的动作(比如短信发送,这种行为和android的对象有关),最终产生详细的、并且有意义的,有语义的行为信息。原创 2016-05-03 00:08:44 · 2108 阅读 · 0 评论 -
动态污点分析隐式流--动静结合的解决方法
我们知道,对于动态污点分析来说,检测所有的信息流动是不可能的。因为污点只沿着实际执行的路径流动,特别地,动态污点分析会漏报一些implicit flows(控制流)。 一个想法是采用动静结合的方法,解决隐式流造成的误报。原创 2016-05-15 11:04:29 · 4411 阅读 · 0 评论 -
动态污点分析——隐式流造成的漏报和误报
污点分析面临 2 个问题:污染过度(overtainting)和污染缺失(undertainting)。 其中,污染过度是将一个与污点输入无依赖关系的数据变量标记为污点属性,即产生误报。 而污染缺失则是在污点传播过程中遗漏了与污点输入有依赖关系的程序变量标记为无污点属性,即产生了漏报。 其中控制依赖关系(隐式流)是常见的造成漏报和误报的原因。原创 2016-04-11 22:17:22 · 3272 阅读 · 0 评论 -
全系统动态污点分析-概要
全系统污点分析需要完成以下几点: 1. 标记某个来自I/O device的数据为污点 2. 可以监视全系统的执行,知道哪一块代码在传播了污点数据。原创 2016-04-03 16:58:44 · 4357 阅读 · 1 评论 -
如何逃过taint droid的跟踪
Dynamic anti-taint技术最先由Cavallaro在2008年提出。 我们试图通过在android下执行一些anti-taint的攻击。翻译 2016-04-10 11:40:33 · 1170 阅读 · 0 评论 -
打造一个实际的全系统污点分析系统--Towards Practical Taint Tracking
性能低和污点爆炸,导致全系统污点分析很难实际应用。PTT打造一个实际的全系统污点分析系统。原创 2016-04-13 00:39:03 · 2051 阅读 · 0 评论 -
Intel Pin架构
使用Pin进行instrumentationPin提供的API可以让我们观察一个进程的状态,比如:内存、寄存器和控制流。Pin还提供了一些更改程序行为的机制,比如:允许重写程序的寄存器和内存。原创 2016-03-18 10:44:34 · 5988 阅读 · 3 评论 -
DynamoRIO工作原理
DynamoRIO是一个进程级别的emulation软件,工作在应用和操作系统之间。通过code caching, linking和 trace building提高了emulation的效率。原创 2016-03-03 18:07:31 · 10108 阅读 · 0 评论 -
TEMU:动态分析组件
TEMU:动态分析组件 TEMU是一个基于全系统仿真器QEMU开发的全系统的动态二进制分析平台。在这个仿真器上运行一个完整的系统(包括操作系统和应用程序),并对相关二进制代码的执行进行细粒度的观察。转载 2016-03-02 15:08:41 · 2941 阅读 · 0 评论 -
qemu a fast and portable dynamic translator——大致翻译
QEMU是一套由Fabrice Bellard所编写的以GPL许可证分发源码的machine emulator。可以在不同的主机(X86,PowerPC,ARM,Sparc)上对不同的CPU(比如x86,PowerPC,ARM,Sparc)进行仿真。翻译 2016-03-02 14:38:57 · 1214 阅读 · 0 评论 -
利用dynamoRIO实现codeCoverage
通过dynamoRIO收集程序执行流信息原创 2015-12-18 16:49:29 · 1381 阅读 · 0 评论 -
利用Pin实现CodeCoverage
给定一个输入,运行一个二进制程序时,通过pin可以捕获到程序的一个执行流。原创 2015-12-18 16:54:38 · 1190 阅读 · 0 评论