当前位置: www.89677.com > 互联网 > 正文

渗透测试,还在看着你

时间:2019-11-17 04:34来源:互联网
《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)》 基本信息 原书名:Gray Hat Hacking: The Ethical Hacker's Handbook, Third Edition 作者: [美]Shon Harris Allen Harper [作译

图片 1

《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)》
基本信息
原书名:Gray Hat Hacking: The Ethical Hacker's Handbook, Third Edition
作者: [美]Shon Harris Allen Harper [作译者介绍]
译者: 杨明军 韩智文 程文俊
丛书名: 安全技术经典译丛
出版社:清华大学出版社
ISBN:9787302301509
上架时间:2012-10-17
出版日期:2012 年11月
开本:16开
页码:1
版次:1-1
所属分类: 计算机 > 安全 > 网络安全/防火墙/黑客
图片 2
更多关于 》》》《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版) 》
内容简介
书籍
计算机书籍
  运用最新策略揭示当今最具破坏力的攻击
  《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)》在上一版的基础上做了全面更新,新增了9章内容。本书内容丰富,讲解透彻,浓墨重彩地描述最新漏洞、修复方法以及合法的公开途径,详细介绍恶意软件分析、渗透测试、scada、voip和web安全等主题,分析黑客们如何定位系统、破坏保护方案、编写恶意代码以及利用windows和linux系统的缺陷。通过本书的学习,您将可以借助最新技术查找和修复安全缺陷,从而能够得心应手地阻止恶意网络攻击。
  《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)》主要内容
  使用backtrack和metasploit来模拟漏洞攻击
  分析潜入、社交工程和内部攻击技术
  模拟构建用来发起栈缓冲区溢出攻击的perl、python和ruby脚本
  理解并阻止adobe、office和多媒体文件中的恶意内容
  检测和阻止客户端、web服务器、voip和scada攻击
  介绍针对windows和linux软件的逆向工程、模糊处理及反编译
  讨论sql注入、跨站脚本和伪造攻击
  使用蜜罐和沙箱技术来捕获恶意软件和加壳软件
目录
灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术(第3版)》
第ⅰ部分 “合乎道德的揭秘行为” 简介 1
第1章 正义黑客的道德规范 3
1.1 理解敌方策略的意义 3
1.2 认识安全领域的灰色区域 7
1.3 本书与正义黑客类图书的关系 8
1.3.1 漏洞评估 8
1.3.2 渗透测试 9
1.4 关于黑客类图书和课程的争议 12
1.4.1 工具的双重性 13
1.4.2 识别攻击 14
1.4.3 模拟攻击 15
1.5 攻击者最喜欢利用的漏洞 15
第2章 合乎道德的正常揭秘行为 19
2.1 各方看待问题的不同角度 20
2.2 cert目前采取的工作流程 21
2.3 完全揭秘策略—rainforest puppy policy 23
2.4 internet安全组织 24
2.4.1 发现漏洞 25
2.4.2 通知 25

一张图告诉你全球政府黑客的地理位置

导读曾几何时,间谍们想尽办法隐藏他们踪迹,比如使用层层混淆技术、代理服务器等,所以要想搜集他们的网上情报几乎是不可能的事情,相比较于间谍,受害者的地理位置比较容易发现。

图片 3

一张地图勾勒所有政府黑客信息

本周,一个自称为Digital Freedom Alliance的安全研究团队发布了一个软件项目,能够统计并在地图上勾画出政府黑客对记者、积极分子、律师和NGO(非政府组织)的攻击。该项目的代码存储在Github上,从公共资源处搜集关于政府恶意软件感染的数据情况,比如从多伦多大学的公民实验室、TargetedThreats.net和安全公司那里搜集数据,然后将这些数据用地图的形式呈现出来,并且还可以根据攻击的日期、攻击类型、恶意软件家族、C&C服务器地理位置分别呈现出来。
图片 4

去年,当公民实验室的安全研究员Claudio Guarnieri在德国采德尼克Chaos Communications Camp大会上做了一个关于安全研究员为什么需要多方面的协作才能对抗政府对积极分子和记者的数字镇压。“我们经常会觉得缺少一个导火索,没办法让大众了解到正在发生什么事情,以及政府是怎样雇佣技术人员来镇压质疑声音的。如果成功的话,就基本上可以解释每个地区发生事情的来龙去脉了。”

通过绘图发现,被攻击次数最多的国家是印度,多达145次。并且大部分的攻击源头为中国政府,主要是针对印度Dharamsala市中藏身的西藏流亡者和藏独分子。排在第二位的国家是叙利亚,残酷的独裁统治者Bashar Al-Assad像反对其统治地位的组织发动恶意软件攻击,使得整个国家陷入了一场血腥的内战之中。
图片 5

朝鲜黑客藏身沈阳?

2014年年底的索尼影视事件中,各媒体和情报机构一路从表面的攻击信息追查到了各国黑客的“历史”,其中被挖的最深的数朝鲜黑客。朝鲜121情报局成立于20世纪90年代,从2005年开始,其中的大部分黑客就慢慢迁移至中国境内,并被赋予不同的正当身份。将情报机构黑客迁移至中国沈阳的原因有二:一,利用中国的网络基础设施;二,沈阳离朝鲜较近,利用国外的位置隐藏行踪比较安全。
图片 6

除了跟踪受害者之外, Digital Freedom Alliance的地图还展示了出售情报技术的公司的地理位置,以及工具代理商的地理位置,以便找出目标间谍活动幕后的供应链关系图。Guarnieri解释道这些数据大多来自于一些监视跟踪项目,比如BuggedPlanet.info 和维基解密的间谍文件。

拥有监视机构最多的国家是谁?毫无疑问是美国,它对监视厂商的定义非常宽松:不仅包含了地图上标出的恶意软件的开发商,还包含一些监视技术,像数据搜集工具和网络过滤软件。


原文来自:

转载地址:

导读 曾几何时,间谍们想尽办法隐藏他们踪迹,比如使用层层混淆技术、代理服务器等,所以要想...

由德国“混乱电脑俱乐部”(CCC)牵头,数家公民权利组织3日联合向联邦总检察官递交诉状,指联邦政府及安全机构为“棱镜门”事件从犯,协助外国安全机构窃听本国公民信息。  诉状的具体对象为总理默克尔、内政部长德迈齐埃及其前任、联邦情报局、宪法保卫局以及国防军情报机构。诉状表示,德国政府与美国国家安全局合作窃取公民的信息,从事了被法律禁止的秘密间谍活动,侵犯了公民的隐私权。  “混乱电脑俱乐部”发言人对媒体表示,外国安全机构的窃听行为涉及到每个德国公民,尽管德国法律规定严禁这种行为,并且对违法者有严厉的刑法约束,然而这些法律条款对美、英两国的安全机构却完全不起作用,本国政府并没有依法进行彻底调查。  德国政府在谈到“棱镜门”事件时一直强调,政府并不占有涉及“棱镜门”事件的第一手资料。“混乱电脑俱乐部”因此要求斯诺登前往德国作证。“棱镜门”事件曝光之后,该国在野党也曾要求斯诺登前往国会作证,然而默克尔不愿因此影响德美之间的泛大西洋联盟关系,拒绝了在野党的这一要求。点击进入下一页点击进入下一页   鉴于“联邦情报局以及德国政府对违法情报活动积极配合,并且对他们提供帮助”,上述组织因此联合要求联邦总检察官接手调查“棱镜门”事件。  “混乱电脑俱乐部”表示,联邦总检察官已接收了诉状,但尚未启动调查程式。

渗透测试,还在看着你。(导读 / John Brockman)2011 年 10 月 9 日,《法兰克福汇报》发行人之一弗兰克 · 席尔马赫 [1] 用整个《汇报周日版》的篇幅刊载了系列文章,揭露了一起德国的黑客事件 [2] ——

.2.4.3 验证 27
2.4.4 解决 29
2.4.5 发布 30
2.5 争议仍将存在 30
2.6 案例分析 34
2.6.1 正当揭秘过程的优缺点 35
2.6.2 供应商更加关注 38
2.7 接下来应该做什么 38
第ⅱ部分 渗透测试及工具 41
第3章 社会工程攻击 43
3.1 社会工程攻击原理 43
3.2 实施社会工程攻击 44
3.3 渗透测试中常用到的攻击手段 46
3.3.1 好心人 47
3.3.2 会议室 51
3.3.3 加入公司 53
3.4 准备好进行面对面的攻击 54
3.5 防御社会工程攻击 56
第4章 潜入攻击 57
4.1 潜入攻击如此重要的原因 57
4.2 实施潜入攻击 58
4.2.1 侦察 58
4.2.2 思想准备 60
4.3 进入目标建筑物的常用方法 60
4.3.1 吸烟区入口 61
4.3.2 人工检查点 62
4.3.3 锁住的门 64
4.3.4 物理方式开锁 66
4.3.5 进入目标之后 69
4.4 防御潜入攻击 69
第5章 内部攻击 71
5.1 模拟内部攻击的重要性 71
5.2 实施内部攻击 72
5.2.1 工具和准备工作 72
5.2.2 了解情况 72
5.2.3 获得本地管理员权限 73
5.2.4 禁用防病毒软件 76
5.2.5 使用cain 77
5.3 防御内部攻击 83
第6章 使用backtrack linux发行 85
6.1 backtrack简介 85
6.2 将backtrack安装到dvd或优盘 86
6.3 直接在虚拟机中使用back track iso映像文件 87
6.3.1 使用virtualbox创建backtrack虚拟机 88
6.3.2 引导backtrack livedvd 系统 88
6.3.3 探索backtrack x窗口环境 89
6.3.4 启动网络服务 90
6.4 永久性更改backtrack90
6.4.1 将backtrack完整地安装在硬盘或者优盘中 91
6.4.2 新建一个包含永久性更改信息的iso文件 92
6.4.3 使用自定义文件自动保存和恢复更改 94
6.5 研究backtrack引导菜单 95
6.6 更新backtrack 97
第7章 使用metasploit 99
7.1 metasploit简介 99
7.2 获取metasploit 99
7.3 使用metasploit控制台加载攻击工具 100
7.4 使用metasploit攻击客户端漏洞 105
7.5 使用metasploit meterpreter进行渗透测试 107
7.5.1 使用meterpreter进行键盘记录 110
7.5.2 使用meterpreter以不同的已登录用户身份运行代码 110
7.5.3 使用meterpreter的hashdump命令和metasploit的psexec命令以及共享口令登录 112
7.6 metasploit的自动化与脚本化 113
7.7 更进一步探讨metasploit 115
第8章 渗透测试管理 117
8.1 制定渗透测试计划 117
8.1.1 渗透测试的类型 117
8.1.2 渗透测试的范围 118
8.1.3 渗透测试的位置 118
8.1.4 渗透测试小组成员构成 118
8.1.5 方法和标准 118
8.1.6 渗透测试的各个阶段 119
8.1.7 渗透测试计划 120
8.2 签署渗透测试协议 121
8.2.1 工作声明 121
8.2.2 “保释信” 121
8.3 实施渗透测试 122
8.3.1 测试启动会议 122
8.3.2 渗透测试中的资源访问 122
8.3.3 测试预期值管理 123
8.3.4 测试问题管理 123
8.3.5 欲速则不达 123
8.3.6 外部和内部协同 123
8.4 在渗透测试中进行信息共享 124
8.5 生成渗透测试结果报告 128
8.5.1 报告格式 128
8.5.2 报告摘要 128
第ⅲ部分 漏洞攻击 129
第 9 章 编程技能 131
9.1 c编程语言 131
9.1.1 c语言基本结构 131
9.1.2 程序范例 135
9.1.3 使用gcc进行编译 136
9.2 计算机内存 137
9.2.1 随机存取存储器(ram) 137
9.2.2 字节序 137
9.2.3 内存分段 138
9.2.4 内存中的程序 138
9.2.5缓冲区 139
9.2.6内存中的字符串 139
9.2.7 指针 139
9.2.8 内存知识小结 140
9.3 intel处理器 141
9.3.1 寄存器 141
9.4 汇编语言基础 142
9.4.1 机器指令、汇编语言与 c语言 142
9.4.2 at&t与nasm 142
9.4.3 寻址模式 144
9.4.4 汇编文件结构 145
9.4.5 汇编过程 146
9.5 使用gdb进行调试 146
9.5.1 gdb基础 146
9.5.2 使用gdb进行反汇编 148
9.6 python编程技能 149
9.6.1 获取python 149
9.6.2 python中的hello world程序 149
9.6.3 python对象 150
9.6.4 字符串 150
9.6.5 数字 151
9.6.6 列表 152
9.6.7 字典 153
9.6.8 python文件操作 154
9.6.9 python套接字编程 155
第10章 基本的linux漏洞攻击 157
10.1 栈操作 157
10.1.1 函数调用过程 158
10.2 缓冲区溢出 159
10.2.1 meet.c溢出 160
10.2.2 缓冲区溢出的后果 163
10.3 本地缓冲区溢出漏洞攻击 164
10.3.1 漏洞攻击组成部分 165
10.3.2 在命令行上进行栈溢出漏洞攻击 167
10.3.3 使用通用漏洞攻击代码进行栈溢出漏洞攻击 168
10.3.4 对小缓冲区进行漏洞攻击 170
10.4 漏洞攻击开发过程 173
10.4.1 控制eip 173
10.4.2 确定偏移 173
10.4.3 确定攻击途径 176
10.4.4 构建漏洞攻击三明治 176
10.4.5 测试漏洞攻击 177
第11章 高级linux漏洞攻击 179
11.1 格式化字符串漏洞攻击 179
11.1.1 问题描述 179
11.1.2 从任意内存读取 183
11.1.3 写入任意内存 184
11.1.4 利用.dtors获得根特权级 186
11.2 内存保护机制 189
11.2.1 编译器改进 190
11.2.2 内核补丁和脚本 193
11.2.3“返回到libc”漏洞攻击 194
11.2.4 综合比较 202
第12章 shellcode策略 203
12.1 用户空间shellcode 203
12.1.1 系统调用 203
12.1.2 基本shellcode 204
12.1.3 端口绑定shellcode 205
12.1.4 反向shellcode 206
12.1.5 查找套接字shellcode 207
12.1.6 命令执行代码 208
12.1.7 文件传输代码 208
12.1.8 多级shellcode 209
12.1.9 系统调用代理shellcode 209
12.1.10 进程注入shellcode 210
12.2 其他shellcode考虑因素 211
12.2.1 shellcode编码 211
12.2.2 自我破坏shellcode 212
12.2.3 反汇编shellcode 213
12.3 内核空间shellcode 214
12.3.1 内核空间考虑因素 214
第13章 编写linux shellcode 217
13.1 基本的linux shellcode 217
13.1.1 系统调用 217
13.1.2 使用c进行系统调用 218
13.1.3 使用汇编语言进行系统调用 219
13.1.4 系统调用exit 219
13.1.5 系统调用setreuid 221
13.1.6 利用execve实现创建shell的shellcode 222
13.2 实现端口绑定shellcode 226
13.2.1 linux套接字编程 226
13.2.2 采用汇编语言编程建立一个套接字 228
13.2.3 测试shellcode 231
13.3 实现反向连接shellcode 234
13.3.1 反向连接c语言编程 234
13.3.2 反向连接汇编程序 235
13.4 shellcode编码 237
13.4.1 简单的xor编码 237
13.4.2 编码后shellcode的结构 238
13.4.3 jmp/call xor解码器示例 238
13.4.4 fnstenv xor示例 239
13.4.5 将代码组合起来 241
13.5 利用metasploit自动生成shellcode 244
13.5.1 利用metasploit生成shellcode 244
13.5.2 利用metasploit对shellcode进行编码 245
第14章 windows漏洞攻击 247
14.1 windows程序编译与调试 247
14.1.1 在windows上进行编译 247
14.1.2 在windows上用ollydbg进行调试 249
14.2 编写windows漏洞攻击程序 253
14.2.1 漏洞攻击程序开发过程回顾 254
14.2.2 prosshd服务器 254
14.2.3 控制eip 255
14.2.4 确定偏移 257
14.2.5 确定攻击途径 258
14.2.6 构建攻击三明治 261
14.2.7 根据需要调试漏洞攻击程序 262
14.3 理解seh 264
14.3.1 seh的实现 264
14.4 理解windows内存保护(xp sp3、vista、7和server 2008) 266
14.4.1 基于栈的缓冲区溢出检测(/gs) 266
14.4.2 safeseh 268
14.4.3 sehop 268
14.4.4 堆保护 268
14.4.5 dep 268
14.4.6 aslr 269
14.5 绕开windows内存保护 270
14.5.1 绕开/gs 270
14.5.2 绕开safeseh 271
14.5.3 绕开aslr 272
14.2.4 绕开dep272
14.5.5 绕开sehop 278
14.5.6 内存保护绕开方法小结 285
第15章 content-type攻击原理与检测 287
15.1 content-type攻击原理 287
15.2 现今可被攻击的文件格式 289
15.3 pdf文件格式简介 290
15.4 恶意pdf漏洞攻击分析 293
15.5 恶意pdf文件检测工具 296
15.5.1 pdfid 296
15.5.2 pdf-parser.py 300
15.6 content-type攻击防御测试工具 303
15.7 content-type攻击防御方法 304
15.7.1 安装所有的安全更新 304
15.7.2 在adobe reader中禁用javascript 305
15.7.3 针对微软office应用程序和adobe reader启用dep 305
第16章 web应用程序安全漏洞307
16.1 最流行的web应用程序安全漏洞概述 307
16.1.1 注入漏洞 307
16.1.2 跨站脚本漏洞 308
16.1.3 owasp十大隐患中的其他内容 308
16.2 sql注入漏洞攻击 308
16.2.1 sql数据库与语句 310
16.2.2 测试web应用程序,搜寻sql注入漏洞 312
16.3 跨站脚本漏洞攻击 317
16.3.1 “脚本”的含义 317
16.3.2 跨站脚本的含义 318
第17章 oip攻击 323
17.1 voip的含义 323
17.2 voip使用的协议 324
17.2.1 sip 324
17.2.2 megaco h.248 325
17.2.3 h.323 325
17.2.4 tls和dtls 326
17.2.5 srtp 327
17.2.6 zrtp 327
17.3 voip攻击类型 327
17.3.1 枚举 328
17.3.2 sip口令破解 328
17.3.3 窃听与分组捕获 329
17.3.4 拒绝服务 329
17.4 如何防范voip攻击 335
第18章 scada攻击 337
18.1 scada的含义 337
18.2 scada使用的协议 338
18.2.1 opc 338
18.2.2 iccp 338
18.2.3 modbus 338
18.2.4 dnp3 339
18.3 scada fuzzing测试 340
18.3.1 使用autodafé进行scada fuzzing测试 340
18.3.2 使用tftp daemon fuzzer进行scada fuzzing测试 346
18.4 stuxnet恶意软件(网络恐怖主义新浪潮) 349
18.5 防范scada攻击 349
第ⅳ部分 漏洞分析 351
第19章 被动分析 353
19.1 道德的逆向工程 353
19.2 使用逆向工程的原因 354
19.2.1 逆向工程注意事项 354
19.3 源代码分析 355
19.3.1 源代码审计工具 355
19.3.2 源代码审计工具的实用性 357
19.3.3 手工源代码审计 359
19.3.4 自动化源代码分析 363
19.4 二进制分析 365
19.4.1 二进制代码的手工审计 365
19.4.2 自动化的二进制分析工具 376
第20章 使用ida pro进行高级静态分析 381
20.1 静态分析难点 381
20.1.1 剥离的二进制文件 381
20.1.2 静态链接程序和flair 383
20.1.3 数据结构分析 389
20.1.4 已编译的c++代码的诡异之处 393
20.2 扩展ida pro 396
20.2.1 idc脚本编程 396
20.2.2 ida pro插件模块及ida pro sdk 398
20.2.3 构建ida pro插件 400
20.2.4 ida pro加载器及处理器模块 402
第21章 高级逆向工程技术 405
21.1 软件攻击的目的 405
21.2 软件开发过程概述 406
21.3 检测工具 407
21.3.1 调试器 407
21.3.2 代码覆盖分析工具 409
21.3.3 统计分析工具 410
21.3.4 流程分析工具 410
21.3.5 内存使用监视工具 412
21.4 模糊测试 416
21.5 定制的模糊测试工具和技术 417
21.5.1 一个简单的url模糊测试工具 417
21.5.2 对未知协议进行模糊测试 420
21.5.3 spike 421
21.5.4 spike静态内容原语 421
21.5.5 spike proxy 424
21.5.6 sharefuzz 424
第22章 客户端浏览器的漏洞攻击 427
22.1 客户端软件漏洞的重要性 427
22.1.1 客户端漏洞可以规避防火墙保护 427
22.1.2 客户端应用程序经常在管理权限下运行 428
22.1.3 客户端漏洞易于针对特定人群或机构目标 428
22.2 internet explorer的安全概念 429
22.2.1 activex控件 429
22.2.2 internet explorer安全区域 430
22.3 客户端漏洞攻击的历史与发展趋势 431
22.3.1 客户端漏洞的流行 431
22.3.2 历史上针对客户端攻击的著名漏洞431
22.4 挖掘基于浏览器的新漏洞 437
22.4.1 mangleme 437
22.4.2 mozilla安全团队的模糊测试工具 440
22.4.3 axenum 441
22.4.4 axfuzz 446
22.4.5 axman 446
22.5 可利用的堆喷射技术 451
22.5.1 internetexploiter 451
22.6 防范客户端漏洞攻击 452
22.6.1 同步更新安全补丁 452
22.6.2 获取最新信息 453
22.6.3 在缩减权限下运行internet应用 453
第23章 攻击windows访问控制模型 455
23.1 攻击访问控制机制的理由 455
23.1.1 多数人不理解访问控制机制 455
23.1.2 访问控制漏洞易于攻击 456
23.1.3 访问控制漏洞数量巨大 456
23.2 windows访问控制的工作机制 456
23.2.1 安全标识符 456
23.2.2 访问令牌 457
23.2.3 安全描述符 460
23.2.4 访问检查 463
23.3 访问控制配置分析工具 465
23.3.1 转储进程令牌 466
23.3.2 转储安全描述符 468
23.4 特殊sid、特殊访问权限和“禁止访问”问题 469
23.4.1 特殊的sid469
23.4.2 特殊访问权限 471
23.4.3 “禁止访问”的原理 472
23.5 访问控制引起的提权漏洞 477
23.6 各种对象类型的攻击模式 478
23.6.1 服务攻击 478
23.6.2 windows注册表dacl攻击 484
23.6.3 目录dacl攻击 488
23.6.4 文件dacl攻击 493
23.7 其他对象类型的枚举方法 497
23.7.1 共享内存段 497
23.7.2 命名管道 498
23.7.3 进程 499
23.7.4 其他已命名的内核对象(信号量、互斥锁、事件、设备) 500
第24章 智能模糊测试框架sulley 503
24.1 协议分析 503
24.2 sulley模糊测试框架 504
24.2.1 安装sulley 505
24.2.2 强大的模糊测试工具 505
24.2.3 块结构 507
24.2.4 监视进程中的错误 511
24.2.5 监视网络流量 512
24.2.6 控制vmware 512
24.2.7 综述 513
24.2.8 崩溃事件的事后分析 515
24.2.9 网络使用分析 516
24.2.10 进一步研究 517
第25章 漏洞的可利用性和漏洞攻击程序 519
25.1 漏洞的可利用性 519
25.1.1 通过调试分析可利用性 520
25.1.2 初始分析 520
25.2 理解漏洞攻击问题 524
25.2.1 先决条件和后置条件 524
25.2.2 可重复性 525
25.3 构造漏洞攻击程序有效载荷的有关考虑 533
25.3.1 漏洞攻击程序有效载荷的协议元素 533
25.3.2 缓冲区的方向 534
25.3.3 自毁式shellcode 534
25.4 对问题进行归档 535
25.4.1 背景知识 535
25.4.2 环境 536
25.4.3 研究结果 536
第26章 关闭漏洞:缓解问题 537
26.1 各种缓解方案 537
26.1.1 端口碰撞技术 537
26.1.2 迁移 538
26.2 打补丁 539
26.2.1 对源代码打补丁的注意事项 539
26.2.2 给二进制程序打补丁的注意事项 541
26.2.3 二进制变异 545
26.2.4 第三方打补丁方案 549
第ⅴ部分 恶意软件分析 551
第27章 收集恶意软件和初步分析 553
27.1 恶意软件 553
27.1.1 恶意软件类型 553
27.1.2 恶意软件的防护技术 554
27.2 蜜网技术的最新发展趋势 555
27.2.1 蜜罐 555
27.2.2 蜜网 555
27.2.3 为什么要使用蜜罐 555
27.2.4 蜜罐的局限性 556
27.2.5 低交互性蜜罐 556
27.2.6 高交互性蜜罐 557
27.2.7 蜜网的类型 557
27.2.8 规避vmware检测技术 559
27.3 捕捉恶意软件:设置陷阱 561
27.3.1 vmware宿主机设置 561
27.3.2 vmware客户机设置 561
27.3.3 使用nepenthes进行捕获 562
27.4 恶意软件的初步分析 563
27.4.1 静态分析 563
27.4.2 动态分析 565
27.4.3 norman sandbox技术 569
第28章 破解恶意软件 573
28.1 恶意软件的发展趋势 573
28.1.1 嵌入的组件 573
28.1.2 加密的使用 574
28.1.3 用户空间隐藏技术 574
28.1.4 rootkit技术的应用574
28.1.5 持久化措施 575
28.2 对恶意软件进行去混淆处理 575
28.2.1 加壳程序基础 576
28.2.2 对二进制文件进行 脱壳处理 577
28.3 对恶意软件进行逆向工程 584
28.3.1 恶意软件的设置阶段 584
28.3.2 恶意软件的运行阶段 584
28.3.3 自动化的恶意软件分析 585

由计算机黑客 逆向工程 的大量恶意软件源代码,实际上是由德国政府非法植入用户的计算机系统之中的,所谓 “国家木马程序” 软件。(编注:对于一个软件的逆向工程,指的是通过该软件存储在计算机上的机器码,反推出它的源代码。通常,机器码指 101010 这样的二进制代码,源代码就是汇编语言。)报道称: “这一发现令人发指,这种木马能够(通过电脑)读取我们的所思所想,并且能够远程遥控我们的电脑。”

本图书信息来源:中国互动出版网

这类键盘记录木马,也就是所谓的 “远程控制工具软件”(remote administration tool, RAT)并非新生事物。而本次德国政府木马事件的非同寻常之处在于,一家中右翼的全国性报纸在德国黑客群体的协助之下,抓了政府的现行,发现了政府正在监视、甚至是控制本国公民的铁证。

不仅仅是 “监控我们的思想”,更有甚者,如今我们正越来越多地依靠电子设备记录思想,政府机构也就越来越有可能利用电子设备来代替我们思想。在这个世界里,越来越多的摄像头与我们朝夕相伴,电子邮件也终生可以查找得到,我们还能继续忍受这样的生活吗? 我们都是 越来越烫的热水中的青蛙 , 而席尔马赫的文章正是唤醒我们的当头棒喝。

法律即代码

(文 / 弗兰克 · 席尔马赫)所谓的 “Staatstrojaner”(即 “国家木马”,德语中给政府开发的恶意软件起的雅号),其自毁功能显然失效了,因而被欧洲黑客组织 “混沌计算机俱乐部”(Chaos Computer Club,CCC)发现、分析并逆向工程了。如果该组织的分析准确无误的话,那么这次发现是非常值得人们警惕的:政府的监视软件不仅具备不合法的功能,同时自身也是漏洞百出,任何懂得加密的人都能将其破解并远程控制(来加以利用)。

以这种方式获得的证据在庭审中具备合法性吗?而且,更重要的是:CCC 组织已向我们展示,任何人只要知道了被感染电脑的 IP 地址,就可以向其中安装伪造的 “证据” 而不留一丝痕迹,让受害者百口莫辩,这究竟意味着什么?在汉堡石荷州北方银行(HSH Nordbank AG)一案中,私人侦探就在一台工作电脑中植入了未成年人色情图片,这已宣告了一种新型的损毁名誉手法的问世。

图片 7

但是此事还有更深远的影响:计算机不仅仅是通讯工具,它还是一种思考的工具。任何人在写作时——无论是电子邮件还是数字化的内心独白——他的电脑屏幕图像都会被每秒种采集数次(发送到美国,再传回德国), 连人的思维也被追踪了 。正在发生的这一现实令人毛骨悚然。在这个 海盗党 已经登堂入室的现在 [3] ,这篇 CCC 组织的分析报告将彻底改变社会政治格局。

因为,对于我们当前的思想体系而言,这绝非微不足道的小事。讽刺的是,事情之所以还不至于完全乱套,原因却是政府还算可信。德国的法官和检察官尚能坚持原则;对于复杂软件这个课题,有时他们了解得并不比普罗大众更多。而从德国宪法法院到 CCC 组织中的黑客,几乎所有人都一致认为,可以运用数字侦查技术来防范严重的犯罪行为——但是必须依法而为。

然而这并不是说就可以放任政府机构为所欲为。正相反,就目前所知,这种木马几乎无所不能。其功能的限制仅仅在于使用者激活或不激活哪一项。但是,这一控制选项是隐藏的——说明开发者明白他们自己在干坏事。可是还有多少人知情呢?还有多少人了解了这些机器代码的功能所在呢?

这已不再是一个我们的制度能否坚守道德和宪法原则的问题,而是谁有权力凌驾于数字社会之上的问题。从金融市场到社交网站、再到政府机构, 哪里的数字系统成为控制工具,哪里就会浮现出这个问题。 许多年前,美国法学博士劳伦斯 · 莱斯格(Lawrence Lessig)提出了著名的论断: “代码即法律。” 他的意思是在现代社会中,程序编写者成了管理者。

数字时代为我们带来了可能是印刷术发明以来最伟大的空前解放,与此同时它也严重地威胁着自由的概念本身。

在数字化的社会中,谁来决定伦理价值判断?是全体公民,还是程序员和他们的承包商?这是民主制度中最新的权力斗争,而从手头这个案例来看,权力正在渐渐落入编码控制者手中。德国情报部门所掌握的互联网侦测技术,已经在更新一层的意义上对德国的警察部队和执法机构产生影响。

即使是公安机关自身都随时会被情报机构置于监视之下,况且前者相对后者还受到更大的牵制——警察局获得的证据是必须呈上法庭的。

谁有权力控制编程者?谁负责发包编程工作?万一那些只有承包商和程序员才搞得懂的软件已然侵犯了宪法赋予公民的权力,谁还能相信政府能够遵守宪法?所有这些疑虑尚无解答。互联网不仅仅为社会结构和产业结构带来了变革;我们看到它对政治制度也正在产生同样的影响。

公民个体之自由完全仰赖于法律与代码之间的平衡。

如今,既然海盗党已经登上政坛,那么我们就有希望看到(法律保护个人的数字权力)成为一项现实政治的任务。我们必须要明白,未来的新世界并不总是美丽闪亮的,也有可能正孕育着一头怪兽。

《汇报周日版》公布了德国这一 “国家木马程序” 中用以执行扩展程序的汇编语言核心片段 (这里是链接) 。 代码,正在成为一种新的法律象征。

【注释】

[1] 本文作者弗兰克 · 席尔马赫(Von Frank Schirrmacher)是德国最重要的日报之一《法兰克福汇报》的文学版主编。他 25 岁进入《法兰克福汇报》当记者,29 岁执掌该报文艺副刊,力主将文艺编辑部单独迁往柏林(报社所在地为法兰克福),随后创办了《汇报周日版》,获得巨大成功,后为德国各大日报竞相仿效。34 岁那年,席尔马赫跻身最高领导层,成为这家闻名全球的报社的 5 位发行人之一(《法兰克福汇报》不设主编之职)。
[2] 事件概况:欧洲黑客组织 “混沌计算机俱乐部”(CCC)对德国警方用于合法监听的恶意程序进行了分析和逆向工程。恶意程序是被人匿名交给 CCC 的。该程序的发现以及分析表明,警方的间谍程序不仅能获取数据,还具有远程控制或后门功能,可以上传和执行任意的程序。间谍程序被称为 “Quellen-TKÜ”,在目标电脑被感染之后,它能激活电脑上的麦克风和摄像头,给浏览器截图,获得电子邮件等信息。CCC 在分析后认为,政府机构对 IT 系统的秘密渗透必须停止。
[3]
  • 德国海盗党是一个参照 瑞典盗版党 的模式于 2006 年 9 月 10 日在柏林成立的德国政党,是 海盗党国际 的成员,属于国际海盗党运动的一部份。2011 年 9 月 19 日,德国海盗党获得将近 9% 的得票率,首次进入柏林州议会。
  • 瑞典盗版党(瑞典文:Piratpartiet)是瑞典的一个政党,专门关注保护如版权、专利等知识产权问题。该组织支持互联网上档案互相分享合法性,他们认为现时的版权制度已经过时,不应无止境地限制知识的发放。此外,瑞典盗版党亦关注包括私人财产及个人资料在内的隐私保护,尤其是在互联网之内。
  • 海盗党国际(Pirate Parties International,PPI)是海盗党的国际政党组织,于 2010 年在比利时布鲁塞尔正式创立。PPI 的目标是提升意识、散布及透过协调统一党派运动,资讯分享及协助成立新的海盗党。

原文来自《法兰克福汇报 - 周日版》2011 年 10 月 9 日评论文章 Code is Law

本文编译自该报道的英文译文。

导读: John Brockman
英译: Helen E. Carter
图片: The New York Times

鸣谢 :本文在编辑过程中得到了 @天蓝提琴 的帮助,特此致谢。

更多推荐阅读

  • 袁隆平,如何影响了我们的生活
  • 升级大脑,向人类 3.0 进发
  • 器官买卖可以合法化吗?

果壳科技视点微博: http://t.sina.com.cn/guokrsciblog

编辑:互联网 本文来源:渗透测试,还在看着你

关键词: