当前位置:文档之家› 网络攻击技术与手段

网络攻击技术与手段


缓冲区溢出的根源
冯·诺依曼机具有如下基本特点:
计算机由运算器、控制器、存储器、输入 设备和输出设备五部分组成。
…… 程序和数据放在同一存储器中,由指令组
成的程序可以修改。(数据 、指令混存 )
John von Neumann
C/C++不对越界检查,为溢出提供了方便之门
20
五、缓冲区溢出攻击
32
5.4 连接性带来的高风险
多样化的互联方式带来更多的安全隐患。 手机的无线连接方式如:
GSM/短信
• 通话、短信窃听
Wi-Fi
• Wi-Fi钓鱼
GPRS/CDMA/3G/4G
• 手机木马
蓝牙
• 窃取通讯录
GPS
• 窃取地理位置
……
33
5.5 漏洞是如何挖掘出来的
计算机系统在硬件、软件、协议的设计、具体实现及 安全策略配置上存在的缺陷或不足。
程序员眼中的“漏洞”
“漏洞”的书面表达
22
漏洞的定义
漏洞——遗漏的缺口
包含以下要素: 漏洞是信息系统本身的弱点或者缺陷,大部分是 无意产生的; 漏洞存在于一定的环境中; 漏洞具有可利用性,一旦被攻击者利用会给信息 系统安全带来威胁和损失。
控制与扩散
手段:木马、rootkit, 局域网渗透工具,特定 的窃取工具 目标:长期控制目标, 扩大控制的目标群
3
二、信息收集
三观论
宏观:网络系统信息 中观:网络管理信息 微观:网络节点信息
安全最短板
薄弱环节信息分析 人往往是最短板
动态平衡性
寻找制衡因素 打破均势
4
二、信息收集
主动信息收集 对目标的直接探测活动—扫描
信息收集 Company公司
域名/IP地址 操作系统类型
端口 应用程序类型 防火墙、入侵检测、防病毒
人员状况
6
三、网络攻击的分类
分类
主动攻击 被动攻击
技术
SQL注入 跨站脚本 缓冲区溢出
嗅探 会话劫持等等
发展
更高的攻击成功率 社会工程学
挖漏洞不需源代码 活跃的地下交换行为
无漏洞攻击
7
三、网络攻击的分类 攻击方法
趋势杀毒软件曝严重漏洞,允许黑客远程执行任意命令,并可窃取用 户使用其杀毒软件中内置的密码管理器所保存的密码。
开源VPN漏洞,2014年OpenSSL“心脏出血”漏洞。 国内有251个VPN系统和725个邮件系统同样存在漏洞。
51
五、缓冲区溢出攻击
1988 Morris蠕虫-fingerd缓冲区溢出攻击
43
手机漏洞问题
操作系统漏洞
2016年5月,使用高通芯片的安卓2.3、4.3、4.4和5.0系统 被曝在远程后门;
2016年5月,英情报机构GCHQ称发现IOS 9.3的两个漏洞, 一个可用于执行任意代码,一个可用于DDOS攻击;
2015年9月,安卓5.0被曝存在锁屏绕过漏洞,IOS 6、7、9 版本中也存在类似漏洞;
12
四、口令攻击
手工猜测 字典攻击 组合攻击 暴力穷举
13
四、口令攻击
欺骗攻击 嗅探
14
四、口令攻击
主机A
?Username FTP服务器
student
User:leader
?Password
Password:Tmd%32
Tmd%32
在FTP服务器上必然保存有用户的口令信息
手机漏洞问题
APP漏洞 2014年对11类热门安卓APP进行漏洞扫描,97%存在 问题,每个APP的平均漏洞数量高达40个; 2015年10月,多款热门APP存在wormhole漏洞,攻 击者可远程安装、启动任意应用程序。
46
手机漏洞问题
47
智能电视被攻击
2013年8月,三星智能电视存在安全漏洞,可被远程安装 rootkit,并通过摄像头监控用户。
被动信息收集 互联网注册服务 域名系统 搜索引擎 • Santy.a利用Google搜索引擎搜索 • Goo
二、信息收集
踩点 某超市 *路*号 建筑类型 入口/出口 门窗类型 保安及周边安全 人员状况
Bug 漏洞
被修改后的文件
38
File Fuzzing
自动生成待测文件
39
File Fuzzing
自动测试所有修改的文档文件 Word程序自带有安全模式保护功能
修改Word程序的权限,阻止安全模式的启动
40
静态分析
静态分析主要是找: 不正确的函数调用及返回状态 未进行边界检查或边界检查不正确的函数调用 可能造成缓冲区溢出的函数、外部调用函数、
例 栈溢出
int main(int argc, char* argv[]) {
char name[16]; strcpy(name,argv[1]); printf(“%s\n”,name); return 0; }
28
栈溢出原理分析
栈顶 name数组
……
ebp 返回地址
29
内存低端 内存高端
溢出利用原理分析
int main(int argc, char* argv[] )
{
char name[16];
strcNpya(mnaem数e,a组rgv[1]); 16
printf(“%s\n”,name);
return 预0; 留
8
}
空间
注入点:命令行参数 28字节
ebp 返回地址
溢出点:偏移28字节处来自30溢出利用步骤共享内存函数以及函数指针等
41
静态分析
42
动态测试
动态分析需要在调试器中运行目标程序,通过观 察执行过程中程序的运行状态、内存使用状况以 及寄存器的值等以发现漏洞。 代码流分析:通过设置断点动态跟踪目标程序代 码流,以检测有缺陷的函数调用及其参数。 数据流分析:通过构造特殊数据触发潜在错误。
混合使用大小写字母、数字、特殊符号 增加每一位口令的取值范围,依据上述规则的8位口令 其可能值总数为
(10+26+26+32)8 6*1015
18
五、缓冲区溢出攻击
若拷贝的数据长度超出了程序为其分配的内存 空间,这些数据就会覆盖程序为其它数据分配 的内存空间,形成所谓的缓冲区溢出。
19
主动攻击 主动发起对目标的攻击
被动攻击 诱骗目标,期待目标上当
8
三、网络攻击的分类
口令攻击 漏洞攻击 Phishing & Pharming DDoS 蠕虫 木马 SQL Injection 跨站脚本 ARP欺骗、IP欺骗、DNS欺骗 社会工程学 勒索 ……
9
三、网络攻击的分类
控制与扩散
木马
隐蔽性 高效性 功能性
除痕
Anti-forensic 避免追踪
渗透
扩大影响 星火燎原 长期控制
10
四、口令攻击
The first thing and the last thing of the network security.
11
四、口令攻击
远程口令猜测 被动攻击 本地口令
(1)在那里注入“溢出”数据?
注入恶意数据
(2)数据要多长才能覆盖返回地址? 溢出缓冲区
(3)使用什么内容覆盖返回地址?
控制流重定向
(4)执行什么样的攻击代码?
执行有效载荷
31
5.4 复杂性带来的问题
Windows 2000大约21,000,000行代码 Windows XP 大约 40,000,000 行代码 Windows 7 大约 50,000,000 行代码 Windows 10?
1996 Aleph One, Smashing the Stack for Fun and Profit, Phrack 49
1998 Dildog: 提出利用栈指针的方法完成跳转 The Tao of Windows Buffer Overflows
1999 Dark Spyrit: 提出使用系统核心DLL中的Jmp ESP指令 完成跳转, Phrack 55 M. Conover: 基于堆的缓冲区溢出教程
23
为什么会存在漏洞
来自设计的缺陷 违背了安全编程原则 代码的复杂性增加了可能性 连接性带来了更高的风险
24
来自设计的缺陷
系统、协议、程序设计时的问题 技术局限性 知识缺陷 考虑不周全
如LAN Manager协议 口令每7位分组 每组分别加密 降低了解密的难度
漏洞挖掘是指采用一定的技术方法主动地发现、分析和 利用信息系统中未知漏洞的过程。
漏洞发现:利用各种技术手段来寻找和触发软件或系统 中隐藏的脆弱性问题,并能够在可构建的环境下重现该 问题。
漏洞分析:对漏洞产生的原因、漏洞对软件或系统的影 响进行分析的过程。
漏洞利用:针对已有漏洞采用一系列技术手段,以改变 系统原有的状态,达到非授权访问或破坏系统等目的。
网络攻击的技术与手段
目录
1 网络攻击的一般过程 2 信息收集 3 网络攻击的分类 4 口令攻击 5 缓冲区溢出攻击 6 Web攻击 7 网络钓鱼 8 DDoS攻击 9 勒索攻击
2
一、网络攻击的一般过程
收集信息
手段:扫描、分析 目标:用户信息,喜好 系统信息,防护措施
发动攻击
手段:主动、被动攻击 目标:获得对方主机控 制权、帐号口令
2015年7月,安卓Stagefright框架被曝存在安全漏洞,全球 95%、约9.5亿部安卓手机受到攻击威胁。
相关主题