Download presentation
Presentation is loading. Please wait.
1
黑客反向工程导论 中国科技大学计算机系
2
课程说明 1.教材和参考文献 (1) 黑客反汇编揭秘(第2版),卡巴斯基, 俄Kris Kaspersky著,谭明金等译
(2) SQL 注入攻击与防御, Justin Clarke等著,黄晓磊等翻译 (3) 各种相关文献或学术文章 (4) 2.考试或考查 一次正式课堂汇报(ppt报告20页左右,不超过20分钟,60%) 平时发言 和 报告 和 考勤 40%。
3
什么是黑客? 黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。 今天黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙-Cracker (“骇客”)。
4
初级黑客的学习和常见动作 一、看文章,收集资料 二、实战训练 三、自己制作动画与写文章
黑客术语,灰鸽子配置与使用,网站木马制作,网站入侵, 木马特征码修改等.
5
技术型黑客常用工具 黑客领域是专业知识要求极高的行当。具有C/C++编程语言,汇编语言和机器硬件等知识,熟悉Windows等操作系统。
黑客是辛勤劳作代名词,需要为自己收集必要的黑客工具。但如此众多工具,该如何选择,怎样才能不迷失方向?
6
0. VC高级语言调试器 查看二进制程序. 执行,跟踪和调试. 反汇编. 高级语言与汇编语言对应关系. 其他功能.
7
1. 调试器 SoftIce: Windows平台下的最好的调试工具之一,是具有高级命令接口的交互式工具,并被并入到DriverStudio 框架, DriverStudio 3.2 是其最后一版。 OllyDbg: 便捷的面向黑客的应用程序级调试器,支持插件机制,自动确定打包程序的原始入口位置。
10
2. 反汇编器 IDA Pro 是非常适合专业人员的反汇编器。 编译多种文件格式. 支持多处理器类型.
轻松处理Java 和.NET 虚拟机字节码. 支持宏,插件和脚本语言. 识别库函数名. 支持MS-DOS,Windows和Linux.
13
3. 反编译器 定义:反编译指将二进制程序代码翻译为类似于C 语言的源代码的过程。 1)Delphi 对应的有DeDe 2)VB的反编译器,VB Rezq, VBDE 3)Spices Decompiler 4) DECLER—C语言
15
4. 十六进制编辑器 定义:将二进制程序文件按指定地址显示为十六进制数和正确的字节。 增强型:反汇编,汇编,计算器以及正则搜索函数,甚至于加解密。 HIEW: 最流行的。 WinHEX: 商用编辑器 HD Editor:类似于HIEW
19
5. 解包器 定义:大多数程序倾向于以打包的形式出现,直接反汇编不行;增加了反调试的机制。 打包器基本上是针对特定版本,通用的解包器很难开发。 Peid: 分析保护程序所使用的保护器或者打包器,维护一个由各种签名组成的海量数据库。
20
6. 转储器 定义:保存正在运行程序的转储内容是实施解包所采取的一种通用方法。几乎可以破除所有打包器和绝大多数保护器。 ProcDump: 较早开发的很笨拙。 PE Tools: 较好的工具。
22
7. 资源编辑器
23
8. 窥测器(Spy) 定义:Windows 消息窥测器 和 应用编程接口(API) 窥测器。
24
9. 监视器(Monitor) 定义:揭示程序访问了那些文件和注册库分支
26
10. 修正器(Monitor) 定义:从二进制程序文件中提取源代码的过程,虽然有很多困难,但仍有存在的价值。
27
11. 受保护光盘复制器
28
调试器与仿真器的仿真 定义:一个程序或设备模仿另外一个程序或设备的能力。 请参阅相关章节。
29
常用汇编指令---任务 1. 传送类指令如MOV, LEA.
2. 运算类指令ADD,SUB,ADC,SBC,MUL,DIV,INC,DEC,IMUL,IDIV等. 3. 压栈类PUSH, POP等. 4. 转移控制类指令 JMP, JNZ, JZ, JNC,JC等. 5. 调用返回类指令CALL, RET. 6. 栈指针SP, 堆,程序记数器PC, 空间分配函数等. 8. 寄存器概念, 如AX, EAX, …, 标志寄存器等
30
网络黑客可以攻击的范围 目前,网络安全已不再 是军方和政府要害部门 的需求。实际上,所有 的网络应用环境包括银 行、电子交易、公共电
信载体和互联/专用网络 都有网络安全的需求。
31
网络安全问题的根源 风险难以消除 网络系统的bug 外部的攻击 Ø 开放的网络环境 越来越多的基于网络的应用
企业的业务要求网络连接的不间断性 网络系统的bug Ø 来自内部的安全隐患 错误的实现、错误的安全配置 有限的防御措施 糟糕的管理和培训 外部的攻击
32
网络黑客 黑客(Hacker) 一种黑客对于任何计算机操作系统奥秘都有强烈兴趣的人。“黑客”大都是程序员,他们具有操作系统和编程语言方面的高级知识,知道系统中的漏洞及其原因所在;他们不断追求更深的知识,并公开他们的发现,与其他分享;并且从来没有破坏数据的企图。 另一种黑客怀着不良企图,闯入甚至破坏远程机器系统完整性的人。“入侵者”利用获得的非法访问权,破坏重要数据,拒绝合法用户服务请求,或为了自己的目的制造麻烦。“入侵者”很容易识别,因为他们的目的是恶意的。 两者之间最主要的不同是:前者创造新东西,后者破坏东西。
33
网络安全体系结构 —网络安全定义 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续、可靠、正常地运行,网络服务不中断。 网络安全从其本质上来讲就是网络上的信息安全,涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关理论和技术
34
网络安全体系结构 —网络安全的基本属性 Ø完整性 Integrity Ø可用性 Availability
网络安全体系结构 —网络安全的基本属性 Ø完整性 Integrity 数据完整性,未被未授权篡改或者损坏 系统完整性,系统未被非法操纵,按既定的目标运行 Ø可用性 Availability 即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况 服务的连续性,即具有按要求顺序使用的特性 Ø保密性 Confidentiality • 信息的机密性,对于未授权的个体而言,信息不可用
35
网络安全体系结构 —网络安全的其它属性 个体身份的认证,适用于用户、进程、系统等 授权机构可以随时控制信息的机密性
网络安全体系结构 —网络安全的其它属性 真实性 authenticity 个体身份的认证,适用于用户、进程、系统等 可控性 Controllability 授权机构可以随时控制信息的机密性 可靠性 Reliability 行为和结果的可靠性、一致性 不可否认性 Non-repudiation 要求无论发送方还是接收方都不能抵赖所进行的传输
36
网络安全体系结构 —网络安全问题 网络系统自身的安全缺陷
网络安全体系结构 —网络安全问题 网络系统自身的安全缺陷 软件bug存在于服务器后台程序(Daemons), 客户程序, 操作系统, 网络协议栈。 数据库管理系统安全的脆弱性 由于数据管理系统(DBMS)对数据库的管理是建立在分级管理的概念上 ,因此,DBMS的安全也是可想而知。另外,DBMS的安全必须与操作系统的安全配套,这无疑是一个先天的不足之处。 操作系统的脆弱性 (1)操作系统体系结构本身是不安全的一种因素,操作系统程序可以动态连接,I/O程序与系统服务可以打补丁升级,因此可被黑客利用,也是病毒的温床。 (2)操作系统可以创建进程,即使在网络的节点上同样也可以进行远程进程的创建与激活,更令人不安的是被创建的进程具有可以继续创建过程的权力,可以在远端服务器上安装间谍程序。 (3)守护进程Daemon具有操作系统核心层软件同等权力,会被黑客利用。 (4)网络操作系统提供的远程过程调用(RPC)服务以及它所安排的无口令入口也是黑客的通道。
37
网络安全体系结构 —网络安全问题 远程访问使得各种攻击无需到现场就能得手 网络的开放性
网络安全体系结构 —网络安全问题 网络的开放性 INTERNET的美妙之处在于你和每个人都能互相连接, INTERNET的可怕 之处在于每个人都能和你互相连接 基于公开的协议—协议安全的脆弱性 TCP/IP协议以及FTP、 、NFS等都包含着许多影响网络安全的 因素,存在许多漏洞。黑客通常采用Sock、TCP预测或使用远程访问 (RPC)进行直接扫描等方法对防火墙进行攻击。 远程访问使得各种攻击无需到现场就能得手 连接基于主机上的实体彼此信任的原则
38
网络安全体系结构 —网络安全问题 攻击分类: 如:traffic analysis 如: 被动攻击:网络信息被非法窃听或截取。
网络安全体系结构 —网络安全问题 攻击分类: 被动攻击:网络信息被非法窃听或截取。 如:traffic analysis 主动攻击:网络信息或网络本身被恶意篡改或破坏。 如: modification of message denial of service
39
网络安全体系结构 —网络安全问题 中断威胁 使信息系统毁坏或不能使用的攻击,破坏可用性(availability)。
网络安全体系结构 —网络安全问题 中断威胁 使信息系统毁坏或不能使用的攻击,破坏可用性(availability)。 如硬盘等一块硬件的毁坏,通信线路的切断,文件管理系统的瘫痪等。 信息源 信息目的地
40
网络安全体系结构 —网络安全问题 窃听威胁 一般情况下,大多数网络通信都以一种不安全的“明文”形式进行,攻击者只要获取数据通信路径,就可以“窃听”或“解读”明文数据。破坏保密性 非授权方可以是一个人,一个程序,一台微机。 这种攻击包括搭线窃听,文件或程序的不正当拷贝。 信息源 信息目的地
41
网络安全体系结构 —网络安全问题 篡改威胁 一个非授权方获取传输的信息并篡改后再传输。这是对完整性(integrity)的攻击。
网络安全体系结构 —网络安全问题 篡改威胁 一个非授权方获取传输的信息并篡改后再传输。这是对完整性(integrity)的攻击。 这些攻击包括改变数据文件,改变程序使之不能正确执行,修改信件内容等。 信息源 信息目的地
42
网络安全体系结构 —网络安全问题 伪造威胁 一个非授权方将伪造的客体插入系统中,破坏真实性(authenticity)。
网络安全体系结构 —网络安全问题 伪造威胁 一个非授权方将伪造的客体插入系统中,破坏真实性(authenticity)。 包括网络中插入假信件,或者在文件中追加记录等。 信息源 信息目的地
43
网络安全体系结构 —网络安全问题 一个实体假装成另外一个实体。 在鉴别过程中,获取有效鉴别序列,其后以冒名重播的方式获得部分特权。
网络安全体系结构 —网络安全问题 冒充攻击 一个实体假装成另外一个实体。 在鉴别过程中,获取有效鉴别序列,其后以冒名重播的方式获得部分特权。 重放攻击 获取有效数据段以重播的方式获取对方信任。 在远程登录时如果一个人的口令不改变,则容易被第三者获取,并用于冒名重放。
44
网络安全体系结构 —网络安全问题 拒绝服务攻击 旨在破坏设备的正常运行和管理,而不是窃取信息。 这种攻击往往有针对性或特定目标。
网络安全体系结构 —网络安全问题 拒绝服务攻击 旨在破坏设备的正常运行和管理,而不是窃取信息。 这种攻击往往有针对性或特定目标。 往往采用IP欺骗隐瞒自己的真实地址,非法侵入目标网络 向某个应用系统或网络服务系统发送非法指令,使得系统出现异常行为或异常终止。 向某台主机或整个网络发送数据洪流,使得设备或系统因不堪过载重负而瘫痪。
45
网络安全体系结构 —网络安全问题 分布式 DOS (DDOS): 多方同步攻击 例如:C和远程终端同步攻击A A C B SYN SYN
网络安全体系结构 —网络安全问题 分布式 DOS (DDOS): 多方同步攻击 例如:C和远程终端同步攻击A A C SYN SYN SYN SYN SYN B SYN SYN
46
网络安全体系结构 —网络安全问题 应用层攻击(Application Layer Attack)
网络安全体系结构 —网络安全问题 应用层攻击(Application Layer Attack) 应用层攻击直接将目标对准应用服务系统,应用层攻击者往往就是设计该应用系统的程序员。 应用层攻击是指攻击者故意在服务器操作系统或应用系统中制造一个后门,以便可绕过正常的访问控制。特洛依木马就是一个非常典型的应用攻击程序
47
网络安全体系结构 —网络安全问题 攻击者不需要太多技术 攻击工具的不断完善 更多的目标:Linux、Windows 团队协作 工作量不对称
网络安全体系结构 —网络安全问题 攻击者不需要太多技术 攻击工具的不断完善 更多的目标:Linux、Windows 团队协作 工作量不对称 攻击方:夜深人静, 攻其弱点 防守方:24*7*365, 全面防护 信息不对称 攻击方:通过网络扫描、探测、 踩点对攻击目标全面了解 防守方:对攻击方一无所知 后果不对称 攻击方:任务失败,极少受到损失 防守方:安全策略被破坏,利益受损
48
网络安全体系结构 —网络安全的相关法律问题
网络安全体系结构 —网络安全的相关法律问题 Ø我国基本立法与条例 • 中华人民共和国刑法 • 商标法( ) • 专利法( ) • 保守国家秘密法( ) • 反不正当竞争法( ) • 计算机软件保护条例( ) • 计算机信息系统安全保护条例( ) • 商用密码管理条例(1999.l0.7) • 互联网信息服务管理办法( )
49
网络安全体系结构 —安全机制 从本质上讲,所有这些技术都用到一个共同的基础,即加密与认证。因此,加密与认证是网络安全技术的核心,要深入研究网络安全技术就必须研究加密与认证技术。
Similar presentations