第十章 安全脆弱性分析
认识黑客( Hacker)
黑客一词,源于英文 Hacker,原指热心于
计算机技术,水平高超的电脑专家,尤其
是程序设计人员。
黑客:通常是试图闯入计算机并试图造成
破坏的人。
黑客:黑客不仅仅是在 Internet上找麻烦的
单独的个体,事实上,他们是网上一个活
跃的团体。每个团体的成员有不同的命名。
黑客命名( 1)
飞客, phreak”
? – 早期攻击电话网的青少年,研究各种盗打电话而不用
付费的技术。
黑客, Hacker”
? – 一个给予喜欢发现和解决技术挑战、攻击计算机网络
系统的精通计算机技能的人的称号,与闯入计算机网
络系统目的在于破坏和偷窃信息的骇客不同。
骇客, Cracker”
? – 一个闯入计算机系统和网络试图破坏和偷窃个人信息
的个体,与没有兴趣做破坏只是对技术上的挑战感兴
趣的黑客相对应。
黑客命名( 2)
快客, Whacker”
? – 从事黑客活动但没有黑客技能的人,
whacker是穿透系统的人中,在技术和能力上
最不复杂的一类。
武士, Samurai”
? – 被他人雇佣的帮助他人提高网络安全的黑客,
武士通常被公司付给薪金来攻击网络。
幼虫, Lara”
? – 一个崇拜真正黑客的初级黑客
黑客命名( 3)
欲望蜜蜂, Wannabee”
? – 处于幼虫的初始阶段的黑客的称呼,他们急于掌握入
侵技术,但由于他们没有经验,因此即使没有恶意也
可能造成很大危险
黑边黑客( Dark-Side)
? – 是指由于种种原因放弃黑客的道德信念而恶意攻击的
黑客
半仙, Ddmigod”
? – 一个具有多年经验在黑客团体具有世界级声誉的黑客。
黑客道德准则和行为特征
美国学者史蒂夫 ·利维在, 黑客电脑史, 中指出的
,黑客道德准则,
? ( 1)通往电脑的路不止一条
? ( 2)所有的信息都应当是免费和共享的
? ( 3)一定要打破电脑集权
? ( 4)在电脑上创造的是艺术和美
? ( 5)计算机将使生活更加美好
行为特征,
? – 热衷挑战、崇尚自由、主张信息共享、反叛精神、破
坏心理
网络入侵与攻击
网络入侵
? – 以窃用网络资源为主要目的,更多的还含有
黑客的虚荣心成分。
网络攻击
? – 以干扰破坏网络服务为主要目的。
界限不明显,从技术上看网络入侵是网络
攻击的一种。
10.1 安全威胁分析
何时算入侵和攻击?
? 广义
? 狭义
目的
? 善意
? 恶意
入侵的目的
执行进程
获取文件和数据
获取超级用户权限
进行非授权操作
破坏系统可用性
篡改信息
披露信息
网络攻击的步骤
1 信息收集,获取目标系统的信息,操作系
统的类型和版本,主要提供的服务和服务
进程的类型和版本,网络拓扑结构
2 获得对系统的访问权力
3 获得系统超级用户的权力。利用( 2)的
权力和系统的漏洞,可以修改文件,运行
任何程序,留下下次入侵的缺口,或破坏
整个系统
4 消除入侵痕迹
入侵者可利用的弱点
① 网络传输和协议的漏洞
? 攻击者利用网络传输时对协议的信任以及网络传输的
漏洞进入系统。
② 系统的漏洞
? 攻击者可以利用系统内部或服务进程的 BUG和配置错
误进行攻击。
③ 管理的漏洞
? 攻击者可以利用各种方式从系统管理员和用户那里诱
骗或套取可用于非法进入的系统信息,包括口令、用
户名等。
信息收集
信息收集技术也是一把双刃剑
? – 黑客在攻击之前需要收集信息,才能实施有
效的攻击
? – 管理员用信息收集技术来发现系统的弱点
攻击者需要的信息
域名
经过网络可以到达的 IP地址
每个主机上运行的 TCP和 UDP服务
系统体系结构
访问控制机制
系统信息(用户名和用户组名、系统标识、路由
表,SNMP信息等)
其他信息,如模拟 /数字电话号码、鉴别机制等
……
信息收集步骤
① 找到初始信息
② 找到网络的地址范围
③ 找到活动的机器
④ 找到开放端口和入口点
⑤ 弄清操作系统
⑥ 针对特定应用和服务的漏洞扫描
公开信息
从目标机构的网页入手
? – 也许会泄露一些信息:机构的位置、联系人电话姓名
和电子邮件地址、所用安全机制及策略、网络拓扑结

新闻报道、出版发行物
? – 例如,XX公司采用 XX系统,…
? – XX公司发生安全事件(多次)
新闻组或论坛
? – 管理人员在新闻组或者论坛上的求助信息也会泄漏信

这样的信息可以合法地获取
非网络技术的探查手段
社会工程
? – 通过一些公开的信息,获取支持人员的信任
? – 假冒网管人员,骗取员工的信任 (安装木马、
修改口令等 )
查电话簿、手册 (指南 )
? – 在信息发达的社会中,只要存在,就没有找
不到的
通过搜索引擎可以获取到大量的信息
? – 搜索引擎提供的信息的有效性 (google)
扫描工具
扫描内容
扫描内容包括,
远程服务类型、操作系统类型及版本,
各种弱口令漏洞、后门、应用服务漏洞、
网络设备漏洞、拒绝服务漏洞等二十几个
大类。
对于多数已知漏洞,给出了相应的漏洞描
述、解决方案及详细描述链接
10.1.2 安全威胁分析
威胁来源 —(外部 )
? 自然灾害,意外事故
? 计算机病毒
? 使用不当
? 黑客的行为
? 外部 \内部泄密
? 电子谍报
? 信息战
威胁来源 —(内部 )
? 操作系统本身的缺陷
? 数据库管理系统本身存在的安全脆弱性
? 管理员缺乏安全意识
? 协议中的缺陷
? 应用系统缺陷
2 攻击分类
口令攻击
? 第一道防线
拒绝服务攻击
? 定义:通过某些手段使得目标系统或者网络不
能提供正常的服务
? DoS攻击主要是利用了 TCP/IP 协议中存在的设
计缺陷和操作系统及网络设备的网络协议栈存
在的实现缺陷。
? 难以防范,有些 DoS可以通过管理的手段防止
Ping of Death
原理:直接利用 ping包,即 ICMP Echo包,
有些系统在收到大量比最大包还要长的数
据包,会挂起或者死机
受影响的系统:许多操作系统受影响
攻击做法
? – 直接利用 ping工具,发送超大的 ping数据包
防止措施
? – 打补丁:现在所有的标准 TCP/IP实现都已实现对付
超大尺寸的包,并且大多数防火墙能够自动过滤这些
攻击
? – 防火墙阻止这样的 ping包
利用型攻击
? 特洛伊木马,有客户端和服务器端两个执行程序,
服务器端程序植入被攻击系统,黑客操纵客户端
? 缓冲区溢出
Void sub(char *str)
{
char buf[16];
strcpy(buf,str)
return;
}
Void main()
{
char large_str[256];
int i;
for(i<0;i<255;i++)
large_str=‘A’;
sub(large_str)
}
子程序 sub()为字符串
分配了 16个字节的内
存空间,而主程序调
用 sub的时候却要求将
256个字符赋给 buf,
子程序的堆栈将被
AAAAAA… 所覆盖。
缓冲区溢出
缓冲区:程序运行期间,在内存中分配的
一个连续的区域,用于保存包括字符数组
在内的各种数据类型
溢出:所填充的数据超出了原有缓冲区的
边界,并非法占据了另一段内存区域。
缓冲区溢出:由于填充数据越界而导致程
序原有流程的改变,黑客借此精心构造填
充数据,让程序转而执行特殊的代码,最
终获得系统的控制权。
假消息攻击
电子邮件欺骗
IP欺骗
Web欺骗
DNS欺骗
在不同的网络环境中可能出现的攻
击行为
在 Internet上
在局域网上
本地
离线
在 Internet上
协作攻击,Internet允许全世界范围的连接,这
很容易使来自全世界的人们在一个攻击中进行合
作参与。
欺骗:欺骗是一种模仿或采取不是自己身份的行
为。
转播:是攻击者通过第三方的机器转播或反射他
的通信,这样攻击就好象来自第三方的机器而不
是他。
特洛伊木马或病毒:特洛伊木马的常见用途是安
装后门。
嗅探流量:观察网络上所有流量的被动攻
击。
广播:攻击者发送一个信息包到广播地址,
以达到产生大量流量的目的。
文件访问:通过找到用户标识和口令,可
以对文件进行访问。
远程控制:通过安装木马实现对机器的远
程控制。
在局域网上
本地
旁侧偷看
未上锁的终端
被写下的口令
拔掉机器电源
本地登录
离线
下载口令文件
下载加密的文本
复制大量的数据
10.2 安全扫描技术
使用特定的工具对系统脆弱点进行评估,
并且提供安全分析报告
警告存在的漏洞,发现新漏洞
10.2.2 安全扫描的内容
本地扫描器
? 可在系统上创建任意进程
? 可以检查安全补丁
? 察看系统配置文件
远程扫描器
? 检查网络和分布式系统的安全漏洞,通过发送
专门构造的数据包来检测目标系统
? 本地扫描和远程扫描相辅相成,综合应用
安全扫描工具的选择
升级
扩充
具有局限性
安全扫描技术
全开扫描
半开扫描
秘密扫描
全开扫描
直接同目标主机建立完整的 TCP/IP3次握手
的过程
精确,但是容易被检测到
Client ? SYN
Server ? SYN|ACK
Client ? ACK
如果端口未开放
Client ? SYN
Server ? RST|ACK
半开扫描
Client ? SYN
Server ? SYN|ACK
Client ? RST
如果端口未开放
Client ? SYN
Server ? RST|ACK
可以绕开基本的检测,但是需要权限
秘密扫描
Client ? SYN|ACK
Server ? RST
根据 server是否有应答,来猜测 server的短
口是否打开,误报高