数据驱动攻击(Data Driven Attack)是通过向某个活动中的服务发送数据,以产生非预期结果来进行的攻击。
定义
数据驱动的攻击是一种通过协议而不是实现它的服务器传输数据的攻击,因此,传统防火墙对此类攻击的防范措施有限。从攻击过程来看,攻击者会构造恶意数据以期达到预定非法目的,从攻击结果来看,数据驱动攻击一般会造成数据遭到非法访问或数据非法篡改。数据驱动攻击分为缓冲区溢出攻击、格式化字符串攻击、输入验证攻击、同步漏洞攻击、信任漏洞攻击等。
主要攻击类型
1. 缓冲区溢出攻击
缓冲区溢出攻击的原理是向程序缓冲区写入超出其边界的内容,造成缓冲区的溢出,使得程序转而执行其他攻击者指定的代码,通常是为攻击者打开远程连接的ShellCode,以达到攻击目标。近年来著名的蠕虫如Code-Red、SQL.Slammer、Blaster 和Sasser 等,都是通过缓冲区溢出攻击获得系统权限后进行传播。
2.同步漏洞攻击
这种方法主要是利用程序在处理同步操作时的缺陷,如竞争状态。信号处理等问题,以获取更高权限的访问。发掘信任漏洞攻击则利用程序滥设的信任关系获取访问权的一种方法,著名的有Win32 平台下互为映像的本地和域Administrator 凭证、LSA 密码(Local SecurityAuthority)和Unix 平台下SUID 权限的滥用和X Window 系统的xhost 认证机制等。
3.格式化字符串攻击
这种方法主要是利用由于格式化函数的微妙程序设计错误造成的安全漏洞,通过传递精心编制的含有格式化指令的文本字符串,以使目标程序执行任意命令。输入验证攻击针对程序未能对输入进行有效的验证的安全漏洞,使得攻击者能够让程序执行指定的命令。