首页资源分类应用技术射频与通信技术 > 计算机网络安全

计算机网络安全

已有 451217个资源

下载专区

上传者其他资源

    文档信息举报收藏

    标    签:网络安全

    分    享:

    文档简介

    主要内容包括计算机网络安全的概况、常见的网络攻击技术、防火墙技术、VPN技术、

    公钥基础结构(PKI)技术、入侵检测系统与入侵防御系统、数据安全、网络操作系统的安全性、计算机病毒及其防范9个部分。 

    文档预览

    www.plcworld.cn 21 世纪全国高职高专计算机系列实用规划教材 计算机网络安全技术 主编 副主编 参编 主审 王其良 吴冬燕 顾桢 宣仲良 高敬瑜 范荣真 曾瑶辉 www.plcworld.cn 前言 计算机网络成为当前社会发展的重要推动力。社会经济发展、国防信息建设以及与人 们生活息息相关的各行各业,对计算机网络的依赖程度都不断增大。计算机网络给人们带 来便利的同时,也带来了保证信息安全的巨大挑战。如何使信息不受黑客的入侵,如何 保证计算机网络不间断地工作并提供正常的服务,是各个组织信息化建设必须考虑的重要 问题。 本书着重于从实训与应用的角度介绍计算机网络安全,使读者了解一般网络安全的基 础理论及技术原理,从实训中认识、理解什么是网络安全,并掌握常用的安全应用技术。 全书共 9 章,第 1 章主要介绍计算机网络安全的相关概念,计算机网络的安全体系结构。 第 2 章主要介绍计算机操作系统的安全基础与防范措施,包括:操作系统的安全机制及安 全级别、操作系统安全技术。第 3 章主要介绍信息加密与公钥架构(Public Key Infrastructure, PKI)技术,包括:加密体系;单钥加密和双钥加密算法;链路、节点、端到端加密;公钥 架构。第 4 章主要介绍数字签名与 CA 认证技术,掌握个人数字凭证的申请、颁发和使用。 第 5 章主要介绍防火墙技术,包括:防火墙体系结构、包过滤防火墙和应用代理防火墙, 以及防火墙的应用。第 6 章主要介绍计算机病毒防范技术,包括:计算机病毒的工作原理 和分类,计算机病毒的检测和防范技术,各种防治病毒的软件的使用。第 7 章主要介绍网 络黑客的攻击与防范,包括:黑客常用的各种攻击工具及攻击步骤、各种常用的防黑客的 方法与工具的使用。第 8 章主要介绍因特网中 Web 服务器的安全性,包括 FTP、电子邮 件及 Web 可能的攻击技术及其安全保护措施。第 9 章主要介绍电子商务的安全性,包括电 子商务的安全需求分析、电子商务采取的安全措施。本书涉及的内容操作性比较强,在学 习时,可多安排学生的实训操作课时,加强实训的监督,并要求学生认真写好实训报告。 对书中一些理论如需要进一步加深的,应该指导学生参阅相应的参考书。建议本课程的教 学时间为 64 学时,其中 32 学时用于授课,32 学时用于实训。第 1 章安排 2 学时,第 2 章、 第 3 章、第 4 章分别安排 6 学时,第 5 章、第 6 章、第 8 章、第 9 章分别安排 8 学时,第 7 章安排 12 学时。 本书由王其良,高敬瑜任主编,吴冬燕,范荣真任副主编,顾桢任参编。王其良编写 第 1 章以及第 8 章,范荣真编写第 2 章、第 5 章、第 9 章,高敬瑜编写第 3 章、第 4 章, 吴冬燕编写第 6 章,顾桢编写第 7 章。本书由苏州职业大学计算机工程系宣仲良主任,保 险职业学院信息系曾瑶辉主任担任主审,他们对本书的修改提出了宝贵的意见,在此表示 衷心的感谢! 本书是北京大学出版社组织的 21 世纪全国高职高专计算机系列实用规划教材之一,在 取材上突出培养和强化学生的实践能力与应用能力,加强了实训内容的编写,在理论上取 精而且简单明了。本书特别突出了各项技术的应用性,希望能贴近高职高专学生的学习特 www.plcworld.cn ·VI· 计算机网络安全技术 点,从而激发起学习兴趣,在实践中提高其对计算机网络安全的应对与控制能力。 网络安全是一门涉及计算机科学、通信技术、密码技术、应用数学等多门学科的交叉 学科,同时在应用上,网络安全技术和产品发展很快,因此这本书的编写思想是,理论讲 解简洁化,应用实例新颖化,操作步骤详细化,以实训引导学生理解理论,从而达到应用 的目的。当然,在采用本书做实验时,也可根据具体情况采用熟悉的实例。 由于编写水平及时间所限,书中难免有疏漏之处,恳请广大读者和专家批评指正。 编者 2006 年 2 月 ·VI· www.plcworld.cn 目录 第 1 章 网络安全概述 .................................... 1 1.1 网络安全的重要性.......................................... 1 1.2 网络安全现状分析 ................................ 2 1.3 网络不安全的主要因素......................... 3 1.3.1 互联网具有的不安全性............. 3 1.3.2 操作系统存在的安全问题......... 3 1.3.3 数据的安全问题......................... 4 1.3.4 传输线路的安全问题................. 4 1.3.5 网络安全管理问题..................... 4 1.4 网络安全的主要威胁............................. 4 1.4.1 人为的疏忽 ................................ 5 1.4.2 人为的恶意攻击......................... 5 1.4.3 网络软件的漏洞......................... 6 1.4.4 非授权访问 ................................ 6 1.4.5 信息泄漏或丢失......................... 6 1.4.6 破坏数据完整性......................... 6 1.5 计算机网络安全的定义......................... 6 1.6 网络信息安全特征与保护技术............. 7 1.6.1 信息安全特征............................. 7 1.6.2 信息安全保护技术..................... 7 1.7 网络信息安全机制 ................................ 8 1.8 网络安全威胁的发展趋势................... 10 小结 ............................................................... 12 习题 ............................................................... 12 第 2 章 操作系统安全配置 ......................... 13 2.1 操作系统的安全问题........................... 13 2.1.1 操作系统安全概念................... 13 2.1.2 计算机操作系统安全评估....... 14 2.1.3 国内的安全操作系统评估....... 14 2.1.4 操作系统的安全配置............... 17 2.1.5 操作系统的安全漏洞............... 17 2.2 操作系统安全配置实验....................... 18 2.2.1 用户安全配置........................... 18 1 2.2.2 密码安全配置........................... 24 2.2.3 系统安全配置........................... 26 2.2.4 服务安全配置........................... 30 2.2.5 注册表配置............................... 33 2.2.6 数据恢复软件........................... 37 小结 ............................................................... 40 习题 ............................................................... 40 第 3 章 信息加密技术 .................................. 41 3.1 概述 ...................................................... 41 3.1.1 数据加密技术........................... 42 3.1.2 数据加密算法........................... 42 3.1.3 数据加密技术的发展............... 43 3.2 数据加密标准 DES 与 IDEA............... 43 3.2.1 数据加密标准 DES 思想 ......... 43 3.2.2 IDEA 算法 ................................ 45 3.3 公开密钥算法....................................... 45 3.3.1 RSA 公开密钥密码系统 .......... 46 3.3.2 RSA 的实用性 .......................... 48 3.3.3 RSA 的实用考虑 ..................... 48 3.4 计算机网络的加密技术....................... 49 3.4.1 链路加密................................... 50 3.4.2 节点加密................................... 50 3.4.3 端到端加密............................... 51 3.5 密钥管理与交换技术........................... 55 3.5.1 密钥的管理问题....................... 55 3.5.2 Diffie-Hellman 密钥交换 技术........................................... 56 3.5.3 RSA 密钥交换技术 .................. 56 3.6 密码分析与攻击................................... 57 3.6.1 基于密文的攻击....................... 58 3.6.2 基于明文的密码攻击............... 58 3.6.3 中间人攻击............................... 59 3.7 信息加密解密应用试验....................... 59 www.plcworld.cn ·VIII· 计算机网络安全技术 3.7.1 高强度文件夹加密大师 9000 软件的使用 .............................. 59 3.7.2 日月精华——文件加密软件 的使用 ...................................... 62 3.7.3 A-Lock 邮件加密软件 的使用 ...................................... 63 3.7.4 “我的地盘 ”磁盘加密软件 的使用 ...................................... 64 3.7.5 建设部密钥管理流程............... 66 小结 ............................................................... 70 习题 ............................................................... 70 第 4 章 数字签名与 CA 认证技术 ............. 71 4.1 数字签名原理、种类与方法............... 71 4.1.1 数字签名原理........................... 71 4.1.2 数字签名的种类....................... 72 4.1.3 数字签名的技术实现方法....... 74 4.2 鉴别技术与方法 .................................. 77 4.2.1 鉴别的概念 .............................. 77 4.2.2 数据完整性鉴别....................... 78 4.3 数字凭证 .............................................. 78 4.3.1 CA 认证与数字凭证 ................ 78 4.3.2 个人数字凭证的申请、颁发 和使用 ...................................... 83 4.4 认证产品及应用 .................................. 85 4.4.1 通用认证中心........................... 85 4.4.2 eCertCA / PKI........................... 86 4.4.3 Kerberos 认证........................... 86 4.5 数字签名与 CA 认证实验 ................... 88 4.5.1 ChinaTCP 个人控件数字签 名系统 1.00 软件的使用.......... 88 4.5.2 在中国数字认证网上练习申 请数字证书 .............................. 93 小结 ............................................................... 98 习题 ............................................................... 98 第 5 章 防火墙技术与配置 ......................... 99 5.1 网络防火墙概述 .................................. 99 5.1.1 网络防火墙基本概念............... 99 5.1.2 网络防火墙的目的与作用 ..... 100 5.2 防火墙的类型..................................... 100 5.2.1 包过滤型防火墙..................... 100 5.2.2 IP 级包过滤型防火墙 ............ 100 5.2.3 代理服务器型防火墙............. 102 5.2.4 其他类型的防火墙................. 103 5.3 防火墙设计的安全要求与准则 ......... 104 5.4 防火墙安全体系结构......................... 105 5.4.1 过滤路由器防火墙结构 ......... 105 5.4.2 双宿主主机防火墙结构 ......... 105 5.4.3 主机过滤型防火墙结构 ......... 106 5.4.4 子网过滤型防火墙结构 ......... 107 5.4.5 吊带式防火墙结构................. 107 5.4.6 典型的防火墙结构................. 108 5.5 创建防火墙步骤................................. 109 5.5.1 制定安全策略......................... 109 5.5.2 搭建安全体系结构................. 109 5.5.3 制定规则次序......................... 110 5.5.4 落实规则集............................. 110 5.5.5 注意更换控制......................... 110 5.5.6 做好审计工作......................... 111 5.6 防火墙配置实验................................. 111 5.6.1 Cisco PIX 防火墙的升级 和初始配置............................. 111 5.6.2 Cisco PIX 防火墙网络地 址翻译(NAT)配置 .................. 116 5.6.3 Cisco PIX 防火墙外部访 问内部配置............................. 122 5.6.4 费尔个人防火墙配置与 管理......................................... 126 小结 ............................................................. 132 习题 ............................................................. 132 第 6 章 网络病毒与防治............................ 133 6.1 计算机病毒概述................................. 133 6.1.1 计算机病毒基本概念............. 133 6.1.2 计算机病毒的历史................. 133 6.2 计算机病毒的特征及传播方式 ......... 135 6.2.1 计算机病毒的特征................. 135 ·VIII· www.plcworld.cn 目 6.2.2 病毒的传播方式......................137 6.3 计算机病毒的分类 .............................137 6.4 计算机病毒的破坏行为及防御..........139 6.4.1 计算机病毒的破坏行为..........139 6.4.2 计算机病毒的防御..................139 6.5 杀毒软件的安装与配置实验..............140 6.5.1 瑞星杀毒软件的安装与 配置 .........................................140 6.5.2 卡巴斯基(Kaspersky)杀 毒软件的安装和配置..............148 6.6 病毒的查杀实验 .................................154 6.6.1 尼姆达(Nimda)病毒的查杀 ....154 6.6.2 冲击波(Worm.Blaster)病毒 的查杀 .....................................157 6.6.3 红色代码(Code Red)病毒 的查杀 .....................................159 6.6.4 FunLove 病毒的查杀 ..............161 6.6.5 CIH 病毒的查杀......................163 6.6.6 求职信(Klez)病毒的查杀........165 6.6.7 红色终结符(RedLof)病毒 的查杀 .....................................166 小结 ..............................................................168 习题 ..............................................................168 第 7 章 黑客的攻击与防范 ........................169 7.1 网络黑客概述 .....................................169 7.2 黑客攻击的目的及步骤......................170 7.2.1 黑客攻击的目的......................170 7.2.2 黑客攻击的步骤......................170 7.3 常用的黑客攻击方法..........................172 7.3.1 端口扫描 .................................172 7.3.2 口令破解 .................................175 7.3.3 特洛伊木马 .............................178 7.3.4 缓冲区溢出攻击......................185 7.3.5 拒绝服务攻击..........................188 7.3.6 网络监听 .................................193 7.4 攻击实例 .............................................195 7.4.1 网络监听实例..........................195 7.4.2 口令破解实例..........................200 录 ·IX· 7.5 防黑措施 ............................................ 204 7.6 常用攻击和防御软件的应用实验 ..... 206 7.6.1 “冰河”使用说明................. 206 7.6.2 RegRun 的使用说明............... 214 小结 ............................................................. 218 习题 ............................................................. 218 第 8 章 Web 服务的安全性 ........................ 220 8.1 Web 服务的安全概述 ........................ 220 8.1.1 网络服务概念......................... 220 8.1.2 Web 服务的安全威胁 ............ 220 8.1.3 防御措施................................. 223 8.2 Web 服务中的 IE 安全 ...................... 224 8.3 Web 服务的安全实验 ........................ 229 8.3.1 FTP 服务的安全..................... 229 8.3.2 E-mail 服务的安全 ................. 233 小结 ............................................................. 250 习题 ............................................................. 251 第 9 章 电子商务的安全性 ....................... 252 9.1 电子商务的安全需求......................... 252 9.1.1 电子商务安全的概念............. 252 9.1.2 电子商务的安全问题............. 253 9.1.3 电子商务的安全需求............. 254 9.1.4 电子商务的安全体系............. 255 9.2 电子商务的安全措施......................... 255 9.3 电子商务安全技术协议..................... 256 9.3.1 SSL——提供网上购物安全 的协议..................................... 256 9.3.2 SET——提供安全的电子商 务数据交换............................. 257 9.4 基于 SSL 协议网站的构建 ................ 262 9.4.1 证书服务的安装与管理 ......... 262 9.4.2 生成 Web 服务器数字证书 申请文件................................. 265 9.4.3 申请 Web 服务器数字证书 ... 271 9.4.4 颁发 Web 服务器数字证书 ... 273 9.4.5 获取 Web 服务器的 数字证书................................. 274 ·IX· www.plcworld.cn ·X· 计算机网络安全技术 9.4.6 安装 Web 服务器数字证书 ....274 9.4.7 在 Web 服务器上设置 SSL ....278 9.4.8 浏览器的 SSL 配置.................280 9.4.9 申请浏览器数字证书..............280 9.4.10 颁发浏览器数字证书............282 9.4.11 获取及安装浏览器 数字证书 ...............................282 9.4.12 浏览器数字证书的管理 ....... 283 9.4.13 在浏览器上设置 SSL ........... 285 9.4.14 访问 SSL 站点...................... 286 9.5 浦发银行移动证书的申请................. 286 小结 ............................................................. 296 习题 ............................................................. 296 参考文献 ............................................................ 298 ·X· www.plcworld.cn 内容简介 本书全面介绍了计算机网络安全的基础知识。全书共 9 章,包括:网络安全概述、操作系统安全、信 息加密技术、数字签名与 CA 认证技术、防火墙技术与配置、网络病毒与防治、黑客攻击与防范、Web 服 务安全、电子商务网络安全。 本书主要以网络安全技术实训为主,以操作应用软件来引导学生学习,可供计算机专业学生使用,也 可供对网络安全技术感兴趣的读者参考使用。 图书在版编目(CIP)数据 计算机网络安全技术/王其良,高敬瑜主编. —北京:北京大学出版社,2006.8 (21 世纪全国高职高专计算机系列实用规划教材) ISBN 7-301-10887-7 Ⅰ. 计… Ⅱ. ①王… ②高… Ⅲ. 计算机网络—安全技术—高等学校:技术学校—教材 Ⅳ. TP393.08 中国版本图书馆 CIP 数据核字(2006)第 078396 号 书 名:计算机网络安全技术 著作责任者:王其良 高敬瑜 主编 责 任 编 辑:刘 丽 标 准 书 号:ISBN 7-301-10887-7/TP·0887 出 版 者:北京大学出版社 地 址:北京市海淀区成府路 205 号 100871 网 址:http://www.pup.cn http://www.pup6.com 电 话:邮购部 62752015 发行部 62750672 编辑部 62750667 出版部 62754962 电 子 信 箱:pup_6@163.com 印 刷 者: 发 行 者:北京大学出版社 经 销 者:新华书店 787 毫米×1092 毫米 16 开本 19.75 印张 450 千字 2006 年 8 月第 1 版 2006 年 8 月第 1 次印刷 定 价:28.00 元 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。 版权所有,侵权必究 举报电话:010-62752024 电子邮箱:fd@pup. pku. edu. cn www.plcworld.cn 21 世纪全国高职高专计算机系列实用规划教材 专家编审委员会 主 任 刘瑞挺 副主任 (按拼音顺序排名) 陈玉国 崔锁镇 高文志 韩希义 黄晓敏 魏 峥 谢一风 张文学 委 员 (按拼音顺序排名) 安志远 丁亚明 杜兆将 高爱国 高春玲 郭鲜凤 韩最蛟 郝金镇 黄贻彬 季昌武 姜 力 李晓桓 连卫民 刘德军 刘德仁 刘辉珞 栾昌海 罗 毅 慕东周 彭 勇 齐彦力 沈凤池 陶 洪 王春红 闻红军 武凤翔 武俊生 徐 红 徐洪祥 徐受容 许文宪 严仲兴 杨 武 易永红 于巧娥 袁体芳 张 昕 赵 敬 赵润林 周朋红 訾 波 www.plcworld.cn 21 世纪全国高职高专计算机系列实用规划教材 联合编写学校名单(按拼音顺序排名) 1 安徽水利水电职业技术学院 2 保险职业学院 3 北华航天工业学院 4 长春汽车工业高等专科学院 5 长春职业技术学院 6 长沙电力职业技术学院 7 长沙商贸旅游职业技术学院 8 长沙通信职业技术学院 9 常州机械职业技术学院 10 常州信息职业技术学院 11 成都东软信息技术职业学院 12 大连水产学院职业技术学院 13 东营职业学院 14 福建交通职业技术学院 15 广东白云学院 16 广东机电职业技术学院 17 广东科学技术职业学院 18 广东省高级技师学院 19 广西工业职业技术学院 20 贵阳学院 21 贵州航天职业技术学院 22 河南商业高等专科学校 23 黑龙江信息技术职业学院 24 湖北交通职业技术学院 25 湖北教育学院 26 湖北经济学院 27 湖北生态工程职业技术学院 28 湖南工程职业技术学院 29 湖南铁道职业技术学院 30 湖南铁路科技职业技术学院 31 华北水利水电学院职业技术学院 32 吉林电子信息职业技术学院 33 济南铁道职业技术学院 34 济南职业学院 35 济宁职业技术学院 36 江苏经贸职业技术学院 37 江西工业职业技术学院 38 江西交通职业技术学院 39 江西生物科技职业学院 40 江西师范大学职业技术学院 41 江西信息应用职业技术学院 42 晋中高级职业技术学院 43 晋中学院 44 昆明冶金高等专科学校 45 莱芜职业技术学院 46 廊坊职业技术学院 www.plcworld.cn 47 辽东学院 48 辽宁机电职业技术学院 49 辽宁省交通高等专科学校 50 辽阳职业技术学院 51 聊城市教育局电教中心 52 聊城职业技能鉴定中心 53 聊城职业技术学院 54 洛阳大学 55 绵阳职业技术学院 56 宁波职业技术学院 57 日照职业技术学院 58 山东电力高等专科学校 59 山东交通职业学院 60 山东经贸职业学院 61 山东理工大学职业技术师范学院 62 山东商业职业技术学院 63 山东潍坊科技学院 64 山东信息职业技术学院 65 山东英才职业技术学院 66 山西大学工程学院 67 山西经济管理干部学院 68 山西青年管理干部学院 69 陕西邮电职业技术学院 70 石家庄计算机职业学院 71 石家庄职业技术学院 72 四川天一学院 73 四川托普信息技术职业学院 74 四川宜宾职业技术学院 75 苏州工业园区职业技术学院 76 苏州工业职业技术学院 77 苏州职业大学 78 太原城市职业技术学院 79 太原大学 80 太原师范学院 81 潍坊学院 82 潍坊职业学院 83 无锡商业职业技术学院 84 武汉铁路职业技术学院 85 西安航空技术高等专科学校 86 徐州工业职业技术学院 87 运城学院 88 浙江工商职业技术学院 89 浙江金融职业技术学院 90 浙江商业职业技术学院 91 浙江水利水电专科学校 92 郑州牧业工程高等专科学校 93 中共四川省委党校四川行政学院 94 中华女子学院山东分院 95 中州大学 96 重庆电子职业技术学院 97 珠海城市职业技术学院 98 淄博职业学院 www.plcworld.cn 信息技术的职业化教育 (代丛书序) 刘瑞挺/文 北京大学出版社第六事业部组编了一套《21 世纪全国高职高专计算机系列实用规划教 材》。为此,制订了详细的编写目的、丛书特色、内容要求和风格规范。在内容上强调面向 职业、项目驱动、注重实例、培养能力;在风格上力求文字精练、图表丰富、脉络清晰、 版式明快。 一、组编过程 2004 年 10 月,第六事业部开始策划这套丛书,分派编辑深入各地职业院校,了解教 学第一线的情况,物色经验丰富的作者。2005 年 1 月 15 日在济南召开了“北大出版社高 职高专计算机规划教材研讨会”。来自 13 个省、41 所院校的 70 多位教师汇聚一堂,共同 商讨未来高职高专计算机教材建设的思路和方法,并对规划教材进行了讨论与分工。2005 年 6 月 13 日在苏州又召开了“高职高专计算机教材大纲和初稿审定会”。编审委员会委员 和 45 个选题的主、参编,共 52 位教师参加了会议。审稿会分为公共基础课、计算机软件 技术专业、计算机网络技术专业、计算机应用技术专业 4 个小组对稿件逐一进行审核。力 争编写出一套高质量的、符合职业教育特点的精品教材。 二、知识结构 职业生涯的成功与人们的知识结构有关。以著名侦探福尔摩斯为例,作家柯南道尔在 “血字的研究”中,对其知识结构描述如下: ‹ 文学知识——无; ‹ 哲学知识——无; ‹ 政治学知识——浅薄; ‹ 植物学知识——不全面。对于药物制剂和鸦片却知之甚详。对毒剂有一般了解, 而对于实用园艺却一无所知; ‹ 化学知识——精深; ‹ 地质学知识——偏于应用,但也有限。他一眼就能分辨出不同的土质。根据裤子 上泥点的颜色和坚实程度就能说明是在伦敦什么地方溅上的; ‹ 解剖学知识——准确,却不系统; ‹ 惊险小说知识——很渊博。似乎对近一个世纪发生的一切恐怖事件都深知底细; ‹ 法律知识——熟悉英国法律,并能充分实用; ‹ 其他——提琴拉得很好,精于拳术、剑术。 事实上,我国唐朝名臣狄仁杰,大宋提刑官宋慈,都有类似的知识结构。审视我们自己, 每人的知识结构都是按自己的职业而建构的。因此,我们必须面向职场需要来设计教材。 www.plcworld.cn II 三、职业门类 我国的职业门类分为 18 个大类:农林牧渔、交通运输、生化与制药、地矿与测绘、材 料与能源、土建水利、制造、电气信息、环保与安全、轻纺与食品、财经、医药卫生、旅 游、公共事业、文化教育、艺术设计传媒、公安、法律。 每个职业大类又分为二级类,例如电气信息大类又分为 5 个二级类:计算机、电子信 息、通信、智能控制、电气技术。因此,18 个大类共有 75 个二级类。 在二级类的下面,又有不同的专业。75 个二级类共有 590 种专业。俗话说:“三百六 十行,行行出状元”,现代职业仍在不断涌现。 四、IT 能力领域 通常信息技术分为 11 个能力领域:规划的能力、分析与设计 IT 解决方案的能力、构 建 IT 方案的能力、测试 IT 方案的能力、实施 IT 方案的能力、支持 IT 方案的能力、应用 IT 方案的能力、团队合作能力、文档编写能力、项目管理能力以及其他能力。 每个能力领域下面又包含若干个能力单元,11 个能力领域共有 328 个能力单元。例如, 应用 IT 方案能力领域就包括 12 个能力单元。它们是操作计算机硬件的能力、操作计算软 件包的能力、维护设备与耗材的能力、使用计算软件包设计机构文档的能力、集成商务计 算软件包的能力、操作文字处理软件的能力、操作电子表格应用软件的能力、操作数据库 应用软件的能力、连接到互联网的能力、制作多媒体网页的能力、应用基本的计算机技术 处理数据的能力、使用特定的企业系统以满足用户需求的能力。 显然,不同的职业对 IT 能力有不同的要求。 五、规划梦想 于是我们建立了一个职业门类与信息技术的平面图,以职业门类为横坐标、以信息技 术为纵坐标。每个点都是一个函数,即 IT(Professional),而不是 IT+Professional 单纯的相 加。针对不同的职业,编写它所需要的信息技术教材,这是我们永恒的主题。 这样组合起来,就会有 IT((328)*(Pro(590))),这将是一个非常庞大的数字。组织这么 多的特色教材,真的只能是一个梦想,而且过犹不及。能做到 IT((11)*(Pro(75)))也就很不 容易了。 因此,我们既要在宏观上把握职业门类的大而全,也要在微观上选择信息技术的少而精。 六、精选内容 在计算机科学中,有一个统计规律,称为 90/10 局部性原理(Locality Rule):即程序执行 的 90%代码,只用了 10%的指令。这就是说,频繁使用的指令只有 10%,它们足以完成 90% 的日常任务。 事实上,我们经常使用的语言文字也只有总量的 10%,却可以完成 90%的交流任务。 同理,我们只要掌握了信息技术中 10%频繁使用的内容,就能处理 90%的职业化任务。 有人把它改为 80/20 局部性原理,似乎适应的范围更广些。这个规律为编写符合职业 教育需要的精品教材指明了方向:坚持少而精,反对多而杂。 www.plcworld.cn III 七、职业本领 以计算机为核心、贴近职场需要的信息技术已经成为大多数人就业的关键本领。职业教 育的目标之一就是培养学生过硬的 IT 从业本领,而且这个本领必须上升到职业化的高度。 职场需要的信息技术不仅是会使用键盘、录入汉字,而且还要提高效率、改善质量、 降低成本。例如,两位学生都会用 Office 软件,但他们的工作效率、完成质量、消耗成本 可能有天壤之别。领导喜欢谁?这是不言而喻的。因此,除了道德品质、工作态度外,必 须通过严格的行业规范和个人行为规范,进行职业化训练才能养成正确的职.业.习.惯.。 我们肩负着艰巨的历史使命。我国人口众多,劳动力供大于求的矛盾将长期存在。发 展和改革职业教育,是我国全面建设小康社会进程中一项艰巨而光荣的任务,关系到千家 万户人民群众的切身利益。职业教育和高技能人才在社会主义现代化建设中有特殊的作用。 我们一定要兢兢业业、不辱使命,把这套高职高专教材编写好,为我国职业教育的发展贡 献一份力量。 刘瑞挺教授 曾任中国计算机学会教育培训委员会副主任、教育部理科计算机科学教 学指导委员会委员、全国计算机等级考试委员会委员。目前担任的社会职务有:全国高等 院校计算机基础教育研究会副会长、全国计算机应用技术证书考试委员会副主任、北京市 计算机教育培训中心副理事长。 www.plcworld.cn 第 1 章 网络安全概述 本章要点 z 网络安全的概念、现状分析 z 网络不安全的主要因素及其造成的主要威胁 z 网络信息安全特征与保护技术的简述 z 保护网络信息安全采用的技术机制 z 网络安全威胁及相应对抗技术的发展趋势 1.1 网络安全的重要性 安全性是互联网技术中最关键也最容易被忽视的问题。许多组织都建立了庞大的网络 体系,但在多年的使用中从未考虑过安全问题,直到网络安全受到威胁,才不得不采取安 全措施。随着计算机网络的广泛使用和网络之间数据传输量的急剧增长,网络安全的重要 性愈加突出。 1994 年末,俄罗斯黑客弗拉基米尔·利文伙同朋友在圣彼得堡的一家小软件公司的联 网计算机上,向美国花旗银行进行了一连串恶性攻击,以电子转账方式,从花旗银行在纽 约的计算机主机里窃取了 180 万美元。 1996 年 8 月 17 日,美国司法部的网络服务器遭到黑客入侵,美国司法部主页被篡改, 还留下大量攻击美国司法政策的文字,此事在当时成为轰动一时的新闻。 1996 年 2 月,刚开通不久的 Chinanet 网站就受到了攻击,且攻击得逞。1997 年初,北 京某 ISP 运营商被黑客成功侵入,并在清华大学“水木清华”BBS 的“黑客与解密”论坛 张贴如何免费通过该 ISP 进入 Internet 的文章。 据不完全统计,我国的网络安全问题近年来呈逐年上升趋势,1998 年公安部有关部门 受理网络犯罪案件仅 80 多起,1999 年增至 400 多起,2000 年剧增为 2700 多起,2001 年 增加到 4500 多起,比 2000 年上升约 70%,2002 年又上升到 6600 多起,而且仅 2003 年上 半年就有 4800 多起,比同期上升 77.1%。 有关黑客威胁的报道已经屡见不鲜,而内部工作人员的疏忽甚至有意充当间谍对网络 安全已构成更大的威胁。内部工作人员能较多地接触内部信息,工作中的任何大意都可能 给信息安全带来威胁。无论是有意的攻击,还是无意的误操作,都会给系统带来不可估量 的损失。虽然目前大多数的攻击者只是恶作剧似地使用篡改网站主页、拒绝服务等攻击, 但当攻击者的技术达到某个层次后,他们就可以窃听网络上的信息,窃取用户密码、数据 库等信息,还可以篡改数据库内容,伪造用户身份,否认自己的签名。更有甚者,可以删 除数据库内容,摧毁网络结点,释放计算机病毒等。 综上所述,网络必须有足够强大的安全措施。无论是局域网还是广域网,无论是单位 www.plcworld.cn ·2· 计算机网络安全技术 还是个人,网络安全的目标是全方位地防范各种威胁以确保网络信息的保密性、完整性和 可用性。 1.2 网络安全现状分析 20 世纪 90 年代初,英、法、德、荷 4 国针对传统的 TCSEC(Trusted Computer System Evaluation Criteria)准则只考虑保密性的局限性,联合提出了包括保密性、完整性、可用性 概念的“信息技术安全评价准则 (nSFC) ”,但是该准则中并没有给出综合解决上述问题 的理论模型和方案。近年来 6 国 7 方(美国国家安全局和国家技术标准研究所、加拿大、英 国、法国、德国、荷兰)共同提出了“信息技术安全评价通用准则”,该准则综合了国际上 已有的评审准则和技术标准的精华,给出了框架和原则要求。 然而,作为取代 TCSEC 用于系统安全评测的国际标准,它仍然缺少综合解决信息的多 种安全属性的理论模型依据。更重要的是,他们的高安全级别的产品对我国是封锁禁售的。 作为信息安全的重要内容,安全协议的形式化方法分析始于 20 世纪 80 年代初,目前 主要有基于状态机、模态逻辑和代数工具的 3 种分析方法,但仍有局限性和漏洞,处于发 展提高阶段。 由于在广泛应用的因特网上,黑客入侵事件不断发生,不良信息在网上大量传播,所 以网络安全监控管理理论和机制的研究就备受重视。黑客入侵手段的研究分析、系统脆弱 性检测技术、报警技术、信息内容分级标识机制、智能化信息内容分析等研究成果已经成 为众多安全工具软件的基础。 从已有的研究结果可以看出,现在的网络系统中存在着许多设计缺陷和情报机构有意 埋伏的安全陷阱。例如在 CPU 芯片中,发达国家利用现有技术条件,可以加入无线发射接 收功能,在操作系统、数据库管理系统或应用程序中能够预先安置从事情报搜集、受控激 发的破坏程序。通过这些功能,可以接收特殊病毒;接收来自网络或空间的指令来触发 CPU 的自杀程序;搜集和发送敏感信息;通过特殊指令在加密操作中将部分明文隐藏在网络协 议层中传输等。而且,通过唯一识别 CPU 的序列号,可以主动、准确地识别、跟踪或攻击 一个使用该芯片的计算机系统,根据预先的设定搜集敏感信息或进行定向破坏。 作为信息安全关键技术的密码学近年来空前活跃。美、欧、亚各洲频繁举行密码学和 信息安全学术会议。1976 年美国学者提出的公开密钥密码体制克服了网络信息系统密钥管 理的困难,同时解决了数字签名问题,并可用于身份认证,它是当前研究的热点。目前处 于研究和发展阶段的电子商务的安全性是人们普遍关注的焦点,它带动了认证理论、密钥 管理等方面的研究。随着计算机运算速度的不断提高,各种密码算法面临着新的密码体制, 如量子密码、DNA 密码、混沌理论等的挑战。1977 年美国颁布使用的国家数据加密标准 越来越不能满足安全需要,美国正在征集 21 世纪使用的新数据加密标准。 我国信息安全研究经历了通信保密及计算机数据保护两个发展阶段,现正进入网络信 息安全的研究阶段。虽然通过学习、吸收、消化 TCSEC 的原则进行了安全操作系统、多级 安全数据库的研制,但由于系统安全内核受控于人,以及国外产品的不断更新升级,所以 基于具体产品的增强安全功能的成果很难保证没有漏洞,也很难得到推广应用。现在虽然 在学习借鉴国外技术的基础上,国内一些部门也开发研制了一些防火墙、安全路由器、安全 ·2· www.plcworld.cn 第 1 章 网络安全概述 ·3· 网关、黑客入侵检测、系统脆弱性扫描软件等,但是,这些产品安全技术的完善性、规范化 和实用性还存在许多不足。特别是在多平台的兼容性、多协议的适应性、多接口的满足性方 面与国际水平相比存在很大差距,而且,理论基础和自主的技术手段也需要发展和强化。 总的来说,我国的网络信息安全研究起步晚,与技术先进国家相比有差距,特别是在 系统安全和安全协议方面的工作与国外差距较大。在我国研究和建立创新性安全理论及系 列算法,仍是一项艰巨的任务。然而我国的网络信息安全研究已具备了一定的基础和条件, 尤其是在密码学研究方面积累较多,基础较好,可以期待取得实质性进展。 1.3 网络不安全的主要因素 计算机网络安全的脆弱性是伴随计算机网络一同产生的,换句话说,安全脆弱是计算 机网络与生俱来的致命弱点。在网络建设中,网络特性决定了不可能无条件、无限制地提 高其安全性能。要使网络方便快捷,又要保证安全,这是一个非常棘手的“两难选择”,而 网络安全只能在“两难选择”所允许的范围中寻找支撑点。因此,可以说任何一个计算机网 络都不是绝对安全的。 1.3.1 互联网具有的不安全性 最初,互联网仅用于科研和学术组织内,它的技术基础存在不安全性。现在互联网是 对全世界所有国家开放的网络,任何团体或个人都可以在网上方便地传送和获取各种各样 的信息,具有开放性、国际性和自由性的特征,这就对网络安全提出了挑战。互联网的不 安全性主要表现在如下方面。 (1) 网络互联技术是全开放的,使得网络所面临的破坏和攻击来自各方面。可能来自 物理传输线路的攻击,也可能来自对网络通信协议的攻击,以及对软件和硬件设施的攻击。 (2) 网络的国际性意味着网络的攻击不仅来自本地网络的用户,而且可以来自互联网 上的任何一台机器,也就是说,网络安全面临的是国际化的挑战。 (3) 网络的自由性意味着最初网络对用户的使用并没有提供任何的技术约束,用户可 以自由地访问网络,自由地使用和发布各种类型的信息。 另外,互联网使用的基础协议 TCP/IP(传输控制协议/网际协议),FTP(文件传送协议)、 E-mail(电子邮件)、RPC(远程进程调用),以及 NFS(网络文件系统)等不仅是公开的,而且 都存在许多安全漏洞。 1.3.2 操作系统存在的安全问题 操作系统软件自身的不安全性,以及系统设计时的疏忽或考虑不周而留下的“破绽”, 都给网络安全留下了许多隐患。 操作系统的体系结构造成的不安全性是计算机系统不安全的根本原因之一。操作系统的 程序是可以动态链接的,例如:I/O 的驱动程序和系统服务,这些程序和服务可以通过打“补 丁”的方式进行动态链接,许多 UNIX 操作系统的版本升级也都是采用打补丁的方式进行的。 这种动态链接的方法容易被黑客所利用,并且也是计算机病毒产生的环境。另外,操 作系统的一些功能也会带来不安全因素,例如支持在网络上传输可以执行的文件映像、网 络加载程序等。 ·3· www.plcworld.cn ·4· 计算机网络安全技术 操作系统不安全的另一原因在于它可以创建进程,支持进程的远程创建与激活,支持 被创建的进程继承创建进程的权限,这些机制提供了在远端服务器上安装“间谍”软件的 条件。若将间谍软件以打补丁的方式“打”在一个合法的用户上,尤其“打”在一个特权 用户上,黑客或间谍软件就可以使系统进程与作业的监视程序都监测不到它的存在。 操作系统的无口令入口以及隐蔽通道(原是为系统开发人员提供的便捷入口)也是黑客 入侵的通道。 1.3.3 数据的安全问题 在网络中,数据是存放在数据库中的,供不同的用户共享。然而,数据库存在许多不 安全因素。例如:授权用户超出了访问权限进行数据的更改活动;非法用户绕过安全内核 窃取信息资源等。对于数据库的安全而言,就是要保证数据的安全可靠和正确有效,即确 保数据的安全性、完整性和并发控制。数据的安全性就是防止数据库被故意地破坏和非法 地存取;数据的完整性是防止数据库中存在不符合语义的数据,以及防止由于错误信息的 输入、输出而造成无效操作和错误结果;并发控制就是在多个用户程序并行存取数据时, 保证数据库的一致性。 1.3.4 传输线路的安全问题 尽管在光缆、同轴电缆、微波、卫星通信中窃听其中指定一路的信息是很困难的,但 是从安全的角度来说,没有绝对安全的通信线路。 1.3.5 网络安全管理问题 网络系统缺少安全管理人员,缺少安全管理的技术规范,缺少定期的安全测试与检查, 缺少安全监控,是网络最大的安全问题之一。 1.4 网络安全的主要威胁 网络系统的安全威胁主要表现在主机可能会受到非法入侵者的攻击,网络中的敏感数 据有可能泄露或被修改,从内部网向公共网传送的信息可能被他人窃听或篡改等。表 1-1 列出典型的网络安全威胁。 影响计算机网络安全的因素很多,如有意的或无意的、人为的或非人为的等,外来黑 客对网络系统资源的非法使用更是影响计算机网络安全的重要因素。归结起来,网络安全 的威胁主要有以下几个方面。 表 1-1 典型的网络安全威胁 威胁 窃听 重传 伪造 篡改 描述 网络中传输的敏感信息被窃听 攻击者事先获得部分或全部信息,以后将此信息发送给接收者 攻击者将伪造的信息发送给接收者 攻击者对合法用户之间的通信信息进行修改、删除、插入,再发送给接收者 ·4· www.plcworld.cn 第 1 章 网络安全概述 ·5· 威胁 非授权访问 拒绝服务攻击 行为否认 旁路控制 电磁/射频截获 人员疏忽 续表 描述 通过假冒、身份攻击、系统漏洞等手段获取系统访问权,从而使非法用户进 入网络系统读取、删除、修改、插入信息等 攻击者通过某种方法使系统响应减慢甚至瘫痪,阻止合法用户获得服务 通信实体否认已经发生的行为 攻击者发掘系统的缺陷或安全脆弱性 攻击者从电子或机电设备所发出的无线射频或其他电磁辐射中提取信息 已授权人为了利益或由于粗心将信息泄漏给未授权人 1.4.1 人为的疏忽 人为的疏忽包括:失误、失职、误操作等。例如操作员安全配置不当所造成的安全漏 洞,用户安全意识不强,用户密码选择不慎,用户将自己的账户随意转借给他人或与他人 共享等都会对网络安全构成威胁。 1.4.2 人为的恶意攻击 这是计算机网络所面临的最大威胁,敌人的攻击和计算机犯罪就属于这一类。此类攻 击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完 整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译 以获得重要机密信息。这两种攻击均对计算机网络造成极大的危害,并导致机密数据的泄 漏。人为恶意攻击具有下述特性。 1. 智能性 从事恶意攻击的人员大都具有相当高的专业技术和熟练的操作技能。他们的文化程度 高,在攻击前都经过了周密预谋和精心策划。 2. 严重性 涉及到金融资产的网络信息系统被恶意攻击,往往会由于资金损失巨大,而使金融机 构、企业蒙受重大损失,甚至破产,同时也给社会稳定带来动荡。如美国资产融资公司计 算机欺诈案涉及金额达亿美元之巨,犯罪影响惊动全美。在我国也发生过数起计算机盗窃 案,金额从数万到数百万人民币不等,给相关部门带来了严重的损失。 3. 隐蔽性 人为恶意攻击的隐蔽性很强,不易引起怀疑,作案的技术难度大。一般情况下,其犯 罪的证据存在于软件的数据和信息资料之中,若无专业知识很难获取侦破证据。而且作案 人可以很容易地毁灭证据,计算机犯罪的现场也不像传统犯罪现场那样明显。 4. 多样性 随着计算机互联网的迅速发展,网络信息系统中的恶意攻击也随之发展变化。由于经 济利益的强烈诱惑,近年来,各种恶意攻击主要集中于电子商务和电子金融领域。攻击手 ·5· www.plcworld.cn ·6· 计算机网络安全技术 段日新月异,新的攻击目标包括偷税漏税,利用自动结算系统洗钱以及在网络上进行赢利 性的商业间谍活动等。 1.4.3 网络软件的漏洞 网络软件不可能无缺陷和漏洞,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标。曾 经出现过的黑客攻入网络内部的事件大多是由于安全措施不完善导致的。另外,软件的隐 秘通道都是软件公司的设计编程人员为了自己方便而设置的,一般不为外人所知,但一旦 隐秘通道被探知,后果将不堪设想,这样的软件不能保证网络安全。 1.4.4 非授权访问 没有预先经过同意,就使用网络或计算机资源被视为非授权访问,如对网络设备及资 源进行非正常使用,擅自扩大权限或越权访问信息等。主要包括:假冒、身份攻击、非法 用户进入网络系统进行违法操作,合法用户以未授权方式进行操作等。 1.4.5 信息泄漏或丢失 信息泄漏或丢失指敏感数据被有意或无意地泄漏出去或者丢失,通常包括:在传输中 丢失或泄漏,例如黑客们利用电磁泄漏或搭线窃听等方式截获机密信息,或通过对信息流 向、流量、通信频度和长度等参数的分析,进而获取有用信息。 1.4.6 破坏数据完整性 破坏数据完整性是指以非法手段窃得对数据的使用权,删除、修改、插入或重发某些 重要信息,恶意添加、修改数据,以干扰用户的正常使用。 1.5 计算机网络安全的定义 计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,数据的 机密性、完整性及可使用性受到保护。要做到这一点,必须保证网络系统软件、应用软件、 数据库系统具有一定的安全保护功能,并保证网络部件,如终端、调制解调器、数据链路 的功能仅仅能被那些被授权的人访问。网络的安全问题实际上包括两方面的内容,一是网 络的系统安全,二是网络的信息安全,而保护网络的信息安全是最终目的。 从广义来说,凡是涉及网络上信息的保密性、完整性、可用性、不可否认性和可控性 的相关技术和理论都是网络安全的研究领域。 网络安全的具体含义随观察者角度不同而不同。从用户(个人、企业等)的角度来说, 希望涉及个人隐私或商业利益的信息在网络上传输时受到机密性、完整性和不可否认性的 保护,避免其他人或对手利用窃听、冒充、篡改、抵赖等手段侵犯,即用户的利益和隐私 不被非法窃取和破坏。从网络运行和管理者角度说,希望其网络的访问、读写等操作受到 保护和控制,避免出现“后门”、病毒、非法存取、拒绝服务,网络资源非法占用和非法 控制等威胁,制止和防御黑客的攻击。对安全保密部门来说,希望对非法的、有害的或涉 及国家机密的信息进行过滤和防堵,避免机要信息泄露,避免对社会产生危害,避免给国 ·6· www.plcworld.cn 第 1 章 网络安全概述 ·7· 家造成损失。从社会教育和意识形态角度来讲,网络上不健康的内容会对社会的稳定和人 类的发展造成威胁,必须对其进行控制。 1.6 网络信息安全特征与保护技术 1.6.1 信息安全特征 保证信息安全,最根本的就是保证信息安全的基本特征发挥作用。因此,下面先介绍 信息安全的 5 大特征。 1. 完整性 指信息在传输、交换、存储和处理过程保持非修改、非破坏和非丢失的特性,即保持 信息原样性,使信息能正确生成、存储、传输,这是最基本的安全特征。 2. 保密性 指信息按给定要求不泄漏给非授权的个人、实体或过程,或提供其利用的特性,即杜 绝有用信息泄漏给非授权个人或实体,强调有用信息只被授权对象使用的特征。 3. 可用性 指网络信息可被授权实体正确访问,并按要求能正常使用或在非正常情况下能恢复使 用的特征,即在系统运行时能正确存取所需信息,当系统遭受攻击或破坏时,能迅速恢复 并能投入使用。可用性是衡量网络信息系统面向用户的一种安全性能。 4. 不可否认性 指通信双方在信息交互过程中,确信参与者本身,以及参与者所提供的信息的真实同 一性,即所有参与者都不可能否认或抵赖本人的真实身份,以及提供信息的原样性和完成 的操作与承诺。 5. 可控性 指对流通在网络系统中的信息传播及具体内容能够实现有效控制的特性,即网络系统 中的任何信息要在一定传输范围和存放空间内可控。除了采用常规的传播站点和传播内容 监控这种形式外,最典型的如密码的托管政策,当加密算法交由第三方管理时,必须严格 按规定可控执行。 1.6.2 信息安全保护技术 网络信息安全强调的是通过技术和管理手段,能够实现和保护消息在公用网络信息系 统中传输、交换和存储流通的保密性、完整性、可用性、真实性和不可抵赖性。因此,当 前采用的网络信息安全保护技术主要有两种:主动防御技术和被动防御技术。 1. 主动防御保护技术 主动防御保护技术一般采用数据加密、身份鉴别、存取控制、权限设置和虚拟专用网 ·7· www.plcworld.cn ·8· 计算机网络安全技术 络等技术来实现。 (1) 数据加密。密码技术被公认为是保护网络信息安全的最实用方法。对数据最有效 的保护就是加密,因为加密的方式可用不同手段来实现。 (2) 身份鉴别。身份鉴别强调一致性验证,验证要与一致性证明相匹配。通常,身份 鉴别包括验证依据、验证系统和安全要求。 (3) 存取控制。存取控制表征主体对客体具有规定权限操作的能力。存取控制的内容 包括:人员限制、访问权限设置、数据标识、控制类型和风险分析等。它是内部网络信息 安全的重要方面。 (4) 权限设置。规定合法用户访问网络信息资源的资格范围,即反映能对资源进行何 种操作。 (5) 虚拟专用网技术。使用虚拟专用网或虚拟局域网。虚拟网技术就是在公网基础上 进行逻辑分割而虚拟构建的一种特殊通信环境,使其具有私有性和隐蔽性。 2. 被动防御保护技术 被动防御保护技术主要有防火墙技术、入侵检测系统、安全扫描器、口令验证、审计 跟踪、物理保护及安全管理等。 (1) 防火墙技术。防火墙是内部网与 Internet(或一般外网)间实现安全策略要求的访问 控制保护,是一种具有防范免疫功能的系统或系统组保护技术,其核心的控制思想是包过 滤技术。 (2) 入侵检测系统 (Intrusion Detection System,IDS)。是在系统中的检查位置执行入侵 检测功能的程序或硬件执行体,可对当前的系统资源和状态进行监控,检测可能的入侵行为。 (3) 安全扫描器。可自动检测远程或本地主机及网络系统的安全性漏洞点的专用功能 程序,可用于观察网络信息系统的运行情况。 (4) 口令验证。利用密码检查器中的口令验证程序查验口令集中的薄弱子口令。防止 攻击者假冒身份登入系统。 (5) 审计跟踪。对网络信息系统的运行状态进行详尽审计,并保持审计记录和日志, 帮助发现系统存在的安全弱点和入侵点,尽量降低安全风险。 (6) 物理保护与安全管理。通过制定标准、管理办法和条例,对物理实体和信息系统 加强规范管理,减少人为管理因素不力的负面影响。 1.7 网络信息安全机制 网络信息安全机制定义了实现网络信息安全服务的技术措施,包括所使用的可能方法, 主要就是利用密码算法对重要而敏感的数据进行处理。比如:数据加密的目的是保护网络 信息的保密性;数字签名和验证的目的是为了保护网络信息来源的真实性和合法性;信息 认证更是为了保护网络信息的完整性,防止数据被修改、插入和删除。因此,安全机制是 安全服务乃至整个网络信息安全系统的核心和关键。当然,一种安全服务可要求一种或数 种安全机制支持,一种安全机制也可以应用于多种安全服务。ISO 对信息系统安全体系结 构制定了开放系统互联(OSI)基本参考模型(ISO 7498)。该模型提供了以下 5 种基本的安全 ·8· www.plcworld.cn 第 1 章 网络安全概述 ·9· 服务方案。 (1) 鉴别(Authentication):包括对等实体鉴别和数据源鉴别,提供了通信对等实体和数 据源的验证。 (2) 访问控制(Access Control):为防止非授权使用系统资源提供保护。 (3) 数据保密(Data Confidendance):主要是为了保护系统之间数据交换的安全性。 (4) 数据完整性(Data Integrity):防止非法用户对正常交换数据的破坏或防止交换过程 中数据丢失。 (5) 抗否认(Non-repudiation):一是带有源证据的抗否认服务,二是带有交付证据的抗 否认服务。 为了实施 5 种可选的安全服务功能,ISO 7498-2 又具体提出如下 8 类安全机制,这 8 类 可以作为网络信息安全基本机制来操作。 1. 加密机制(Encryption Mechanisms) 加密是提供数据保密的基本方法,用加密方法和认证机制相结合,可提供数据的保密 性和完整性。加密形式可适用于不同层(除会话层以外),加密机制还包括密钥管理机制。 2. 数字签名机制(Digital Signature Mechanisms) 数字签名是解决信息安全特殊问题的一种方法,适用于通信双方发生了下列情况的安 全验证。 (1) 伪造:接收方伪造证件,谎称来自发送方。 (2) 假造:冒充用户真实身份,接收原始信息,发送虚假消息。 (3) 篡改:接收者对收到的信息进行有意篡改。 (4) 否认:发送者或接收者拒不承认操作过的事件或文件。 在网络通信中,数字签名的安全性必须具有可证实性、不可否认性、不可伪造性和不 可重用性。 3. 访问控制机制(Access Control Mechanisms) 访问控制规则是处理主体对客体访问的权限设置的合法性问题,一个主体只能访问经 过授权使用的给定客体。否则,访问控制机制的审计跟踪系统会自动拒绝访问,并给出事 件报告的跟踪审计信息。 4. 数据完整性机制(Data Integrity Mechanisms) 数据完整性主要解决数据单元的完整性和数据单元序列的完整性。 数据单元完整性:发送实体对数据单元加标记识别,作为数据本身的信息签名函数(常 用 Hash 函数等)。接收实体将预先给定的验证标记进行比较,用以辨别接收结果的数据是 否真实。 数据单元序列完整性:要求所有发送数据单元序列编号的连续性和时间标记的正确性, 以防止假冒、丢失、换包、重发、插入或修改数据序列。 5. 鉴别交换机制(Authentication Mechanisms) 鉴别交换是在通信进程中,以双方互换约定信息方式确认实体身份机制。常用方式有: ·9· www.plcworld.cn ·10· 计算机网络安全技术 口令鉴别确认、数据加密确认、通信中的“握手”协议、数字签名和公证机构辨认,以及 利用实体的特征或所有权形式辨别(如语言、指纹、身份卡识别等)。 6. 通信业务填充机制 该机制的目的是对抗非法攻击者在传输信道上监听信息以及非法进行流量和流向分 析。对抗手段可以通过保密装置在无信息传输时,连续发出伪随机序列,混淆非法者想要 得到的有用信息。 7. 路由控制机制(Routing Control Mechanisms) 在复杂的网络环境中,路由控制机制在于引导信息发送者选择代价小且安全的特殊路 径,保证数据能由源结点出发,经选择路由,安全到达目标结点。 8. 公证机制(Notarization Mechanisms) 公证机制在于解决通信的矛盾双方因事故和信用危机导致责任问题的公证仲裁,公证 机制要设立公证机构,它是各方都信任的实体。专门提供第三方的证明手段,可用于对信 息源的发送时间、目的地和信息内容、身份依据等进行公证,提供基于可信第三方的不可 抵赖服务。 为了支持系统要求和不同安全级别,ISO 7498-2 中还提出以下 5 种安全功能。 1) 可信功能(Trusted Function) 该功能能够扩充其他机制的应用范围,或增加其他安全机制的效用。 2)安全标记(Security Labels) 该功能细化安全等级,标明安全对象的敏感程度或保护级。 3) 事件控制(Event Detection) 该功能探测安全性相关的事件,包括正常与破坏事件。 4) 安全审计跟踪(Security Audit trail) 该功能独立记录审计安全系统的日志,测试控制系统信息安全反应。 5) 安全恢复(Security Recovery) 该功能反映从安全破坏状态恢复到安全运行状态。等级划分为:立即,临时,长期。 1.8 网络安全威胁的发展趋势 美国基础设施保护中心(NIPC)做了一个统计,近几年,平均每个月出现 10 种以上新的 攻击手段。深圳市安络科技有限公司(CNNS)特地组织安全专家对近 3 年的信息安全威胁, 尤其是最近出现的新攻击手段进行分析,发现基于各种攻击机制的各种现成攻击工具越来 越智能化,也越来越傻瓜化。虽然大多数的攻击手法都惊人地相似,无非是蠕虫、后门、 rootkits、DoS 和 sniffer 等,但这些手段都体现了强大的威力。攻击手段的新变种与以前出 现的相比,更加智能化,攻击目标直指互联网基础协议和操作系统。同时,黑客工具应用 起来也越来越简单,使很多新手也能轻易使用黑客工具。 病毒技术与黑客技术的结合对信息安全造成更大的威胁。近年来,流行的计算机病毒 无一例外地与网络结合,同时具有多种传播方法和攻击手段,一旦爆发即在网络上快速传 ·10· www.plcworld.cn 第 1 章 网络安全概述 ·11· 播,难以遏制,加之与黑客技术的融合,潜在的威胁和损失更巨大。从发展趋势来看,现 在的病毒已经由从前的单一传播、单种行为,变成依赖互联网传播,具有电子邮件、文件 传染等多种传播方式,融黑客、木马等多种攻击手段于一身的广义的“新病毒”。今后恶意 代码、网络安全威胁和攻击机制的发展将具有以下特点: (1) 与互联网更加紧密地结合,利用一切可以利用的方式(如邮件、局域网、远程管理、 即时通信工具等)进行传播。 (2) 所有的病毒都具有混合型特征,集文件传染、蠕虫、木马、黑客程序的特点于一 身,破坏性大大增强。 (3) 扩散极快,而且更加注重欺骗性。 (4) 利用系统漏洞将成为病毒有力的传播方式。 (5) 无线网络技术的发展使远程网络攻击的可能性加大。 (6) 各种境外情报、谍报人员将越来越多地通过信息网络渠道搜集情报和窃取资料。 (7) 各种病毒、蠕虫和后门技术越来越智能化,并呈现整合趋势,形成混合性威胁。 (8) 各种攻击技术的隐秘性增强,常规手段不能识别。 (9) 分布式计算技术用于攻击的趋势增强,威胁高强度密码的安全性。 (10) 一些政府部门的超级计算机资源将成为攻击者利用的跳板。 (11) 网络管理安全问题日益突出。 网络安全技术的发展是多维、全方位的,主要有以下几方面。 1. 物理隔离 物理隔离的思想是不安全就不联网,要绝对保证安全。在物理隔离的条件下,如果需 要进行数据交换,就如同两台完全不相连的计算机,必须通过软盘等媒介,从一台计算机 向另一台计算机复制数据,这也被形象地称为“数据摆渡”。由于两台计算机没有直接连接, 就不会有基于网络的攻击威胁。 2. 逻辑隔离 在技术上,实现逻辑隔离的方式多种多样,但主要还是采用防火墙。防火墙的发展主 要体现在性能、安全性和功能上。实际上,这三者是相互矛盾、相互制约的。功能多、安 全性好的技术,往往性能受影响;功能多也影响到系统的安全性。 3. 防御来自网络的攻击 主要是抗击 DoS(Denial of Service,拒绝服务)攻击,其技术是识别正常服务的包,将 攻击包分离出来。目前 DDoS(分布式 DoS)的攻击能力可达到 8 万以上的并发攻击,因此, 抗攻击网关的防御能力必须达到抗击 8 万以上并发的 DDoS(Distributed Denial of Service, 分布式拒绝服务)攻击。 4. 防御网络上的病毒 传统的病毒检测和杀病毒是在客户端完成的。但是这种方式存在致命的缺点,如果某 台计算机发现病毒,说明病毒已经感染了单位内部几乎所有的计算机。应在单位内部的计 算机网络和互联网的连接处设置防病毒网关,一旦出现新病毒,更新防病毒网关就可清除 ·11· www.plcworld.cn ·12· 计算机网络安全技术 每个终端的病毒。 5. 身份认证 一般认为,鉴别、授权和管理(AAA)系统是一个非常庞大的安全体系,主要用于大的 网络运营商。实际上单位内部网同样需要一套强大的 AAA 系统。根据 IDC 的报告,单位 内部的 AAA 系统是目前网络安全应用增长最快的部分。 6. 加密通信和虚拟专用网 移动办公、单位和合作伙伴之间、分支机构之间通过公用的互联网通信是必不可少的。 加密通信和虚拟专用网(VPN)有很大的需求。IPSec 已成为主流和标准,VPN 的另外一个方 向是向轻量级方向发展。 7. 入侵检测和主动防卫 互联网的发展已经暴露出易被攻击的弱点。针对黑客的攻击,有必要采用入侵检测和 主动防卫(IDS),实时交互监测和主动防卫的手段。 8. 网管、审计和取证 网络安全越完善,体系架构就越复杂,最好的方式是采用集中网络管理技术。另外, 审计和取证功能变得越来越重要。审计功能不仅可以检查安全问题,而且还可以对数据进 行系统的挖掘,从而了解内部人员使用网络的情况,了解用户的兴趣和需求等。 小结 本章对网络安全做了概述,使大家认识网络安全的重要性,了解造成网络不安全的主 要原因,构成网络安全的主要威胁,网络信息安全的特征与保护技术,技术上采用的信息 安全机制,网络安全的威胁与攻击的发展趋势,及对应的网络安全技术的发展。 习题 1. 计算机网络面临的典型安全威胁有哪些? 2. 分析计算机网络的脆弱性和安全缺陷。 3. 分析计算机网络的安全需求。 4. 简述计算机网络安全技术及其应用。 5. 简述网络安全管理的意义和主要内容。 6. 分析计算机网络安全技术的发展趋势。 ·12· www.plcworld.cn 第 2 章 操作系统安全配置 本章要点 z 操作系统的概念、安全评估 z 操作系统的用户安全设置 z 操作系统的密码安全设置 z 操作系统的系统安全设置 z 操作系统的服务安全设置 z 操作系统的注册表安全设置 2.1 操作系统的安全问题 操作系统是计算机资源的直接管理者,它和硬件打交道并为用户提供接口,是计算机 软件的基础和核心。在网络环境中,网络的安全很大程度上依赖于网络操作系统的安全性。 没有网络操作系统的安全性,就没有主机系统和网络系统的安全性。因此操作系统的安全 是整个计算机系统安全的基础,其安全问题日益引起人们的高度重视。作为用户使用计算 机和网络资源的中间界面,操作系统发挥着重要的作用。因此,操作系统本身的安全就成 了安全防护的头等大事。操作系统安全防护研究通常包括以下几方面内容。 (1) 操作系统本身提供的安全功能和安全服务,现代的操作系统本身往往要提供一定 的访问控制、认证与授权等方面的安全服务,如何对操作系统本身的安全性能进行研究和 开发使之符合选定的环境和需求。 (2) 对各种常见的操作系统,采取什么样的配置措施使之能够正确应付各种入侵。 (3) 如何保证操作系统本身所提供的网络服务得到安全配置。 2.1.1 操作系统安全概念 一般意义上,如果说一个计算机系统是安全的,那么是指该系统能够控制外部对系统 信息的访问。也就是说,只有经过授权的用户或代表该用户运行的进程才能读、写、创建 或删除信息。 操作系统内的活动都可以认为是主体对计算机系统内部所有客体的一系列操作。操作 系统中任何存有数据的东西都是客体,包括文件程序、内存、目录、队列、管道、进程间 报文、I/O 设备和物理介质等。能访问或使用客体活动的实体称为主体,一般说,用户或者 代表用户进行操作的进程都是主体。主体对客体的访问策略是通过可信计算基(TCB)来实现 的。可信计算基是系统安全的基础,正是基于该 TCB,通过安全策略的实施控制主体对空 体的存取,达到对客体的保护。 www.plcworld.cn ·14· 计算机网络安全技术 安全策略描述的是人们如何存取文件或其他信息。当安全策略被抽象成安全模型后, 人们可以通过形式货摊方法证明该模型是安全的。被证明了的模型成为人们设计系统安全 部分的坐标。安全模型精确定义了安全状态的概念访问的基本模型和保证主体对客体访问 的特殊规则。 一般所说的操作系统的安全通常包含两方面意思:一方面是操作系统在设计时通过权 限访问控制、信息加密性保护、完整性鉴定等机制实现的安全;另一方面则是操作系统在 使用中,通过一系列的配置,保证操作系统避免由于实现时的缺陷或是应用环境因素产生 的不安全因素。只有在这两方面同时努力,才能够最大可能地建立安全的操作系统。 2.1.2 计算机操作系统安全评估 计算机系统安全性评估标准是一种技术性法规。在信息安全这一特殊领域,如果没有 这一标准,那么与此相关的立法、执法就会有失偏颇,最终会给国家的信息安全带来严重 后果。由于信息安全产品和系统的安全评价事关国家的安全利益,因此许多国家都在充分 借鉴国际标准的前提下,积极制定本国的计算机安全评价认证标准。 美国可信计算机安全评估标准(TCSEC)是计算机系统安全评估的第一个正式标准,具 有划时代的意义。TCSEC 将计算机系统的安全划分为 4 个等级、8 个级别。这里仅给出等 级划分的基本特征以满足本章后续内容之需要。 (1) D 类安全等级:D 类安全等级只包括 D1 一个安全类别,安全等级最低。D1 系统只 为文件和用户提供安全保护。最普通的形式是本地操作系统,或者是一个完全没有保护的 网络。 (2) C 类安全等级:该类安全等级能够提供审慎的保护,并为用户的行动和责任提供审 计能力。C 类安全等级可划分为 C1 和 C2 两类。C1 系统通过将用户和数据分开来达到安 全的目的。C2 系统比 C1 系统加强了可调的审慎控制。在连接到网络上时,C2 系统的用户 分别对各自的行为负责,通过登录过程、安全事件和资源隔离来增强这种控制。 (3) B 类安全等级:B 类安全等级分为 B1、B2、B3 三类。B 类系统具有强制性保护功 能,强制性保护意味着如果用户没有与安全等级相连,系统就不会让用户存取对象。 (4) A 类安全等级:A 系统的安全级别最高。目前 A 类安全等级只包含 A1 一个安全类 别。其显著特征是,系统的设计者必须按照一个正式的设计规范来分析系统。对系统分析 后,设计者必须运用核对技术来确保系统符合设计规范。A1 系统必须满足:系统管理员必 须从开发者那里接收到一个安全策略的正式模型;所有的安装操作都必须由系统管理员进 行;系统管理员进行的每一步安装操作都必须有正式文档。 2.1.3 国内的安全操作系统评估 为了适应信息安全发展的需要,借鉴国际上的一系列有关标准,我国也制定了计算机信 息系统等级划分准则。我国将操作系统分成 5 个级别,分别是用户自主保护级、系统审计 保护级、安全标记保护级、结构化保护级、访问验证保护级。这 5 个级别区别见表 2-1。 ·14· www.plcworld.cn 第 2 章 操作系统安全配置 ·15· 表 2-1 操作系统 5 个级别 自主访问控制 身份鉴别 数据完整性 客体重用 审计 强制访问控制 标记 隐蔽信道分析 可信路径 可信恢复 第1级 √ √ √ 第2级 √ √ √ √ 第3级 √ √ √ √ √ √ √ 第4级 √ √ √ √ √ √ √ √ √ 第5级 √ √ √ √ √ √ √ √ √ √ 1) 自主访问控制 计算机信息系统可信计算基定义和控制系统中命名用户对命名客体的访问。实施机制 (如访问控制列表)允许命名用户以用户和(或)用户组的身份规定并控制客体的共享;阻止非 授权用户读取敏感信息,并控制访问权限扩散。自主访问控制机制根据用户指定的用户只 允许由授权用户指定对客体的访问权。 2) 身份鉴别 计算机信息系统可信计算基初始执行时,首先要求用户标识自己的身份,并使用保护 机制(如口令)来鉴别用户的身份;阻止非授权用户访问用户身份鉴别数据。通过为用户提 供唯一标识,计算机信息系统可信计算基能够使用户对自己的行为负责。计算机信息系统 可信基还具备将身份标识与该用户所有可审计行为相关联的能力。 3) 数据完整性 计算机信息系统可信计算基通过自主和强制完整性策略,阻止非授权用户修改或破坏 敏感信息。在网络环境中,使用完整性敏感标记来确信信息在传送中未受损。 4) 客体重用 在计算机输出信息系统可信计算基的空闲存储客体空间中,对客体初始指定、分配再 分配一个主体之前,撤销该客体所含信息的所有授权。当主体获得对一个已释放的客体的 访问权时,当前主体不能获得原主体活动所产生的任何信息。 5) 审计 计算机信息系统可信计算基能创建和维护受保护客体的访问审计跟踪记录,并能阻止 非授权的用户对它的访问或破坏活动。可信计算基能记录在案下述事件:使用身份鉴别机 制;将客体引入用户地址空间(如打开文件、程序初始化);删除客体;由操作员、系统管 理员或(和)系统安全管理员实施的动作以及其他与系统安全有关的事件。对于每一事件, 其审计记录包括:事件的日期和时间、用户事件类型、事件是否成功。对于身份鉴别事件, 审计记录包含来源(如终端标识符);对于客体引入用户地址空间的事件及客体删除事件, ·15· www.plcworld.cn ·16· 计算机网络安全技术 审计记录包含客体名。对不能由计算机信息系统可信计算基独立辨别的审计事件,审计机 制提供审计记录接口,可由授权主体调用。这些审计记录区别于计算机信息系统可信计算 基独立分辨的审计记录。 6) 强制访问控制 计算机信息系统可信计算基对所有主体及其所控制的客体(例如,进程、文件、段、设 备)实施强制访问控制,为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类 别的组合,它们是实施强制访问控制的事实依据。计算机信息系统可信计算基支持两种或 两种以上成分组成的安全级。计算机信息系统可信计算基控制的所有主体对客体的访问应 满足:仅当主体安全级中的等级分类高于或等于客体安全级中的等级分类,且主体安全级 非等级类别包含了客体安全级中的非等级类别,主体才能写一个客体。计算机信息系统可 信计算基使用身份和鉴别数据,鉴别用户的身份,并保证用户创建的计算机信息系统可信 计算基外部主体的安全级和授权受该用户的安全级和授权的控制。 7) 标记 计算机信息系统可信计算基应维护与主体及其控制的存储客体(例如,进程、文件、段、 设备)相关的敏感标记,这些标记是实施强制访问的基础。为了输入未加安全标记的数据, 计算机信息系统可信基向授权用户要求并接受这些数据的安全级别,且可由计算机信息系 统可信计算基审计。 8) 隐蔽信道分析 系统开发者应彻底隐蔽存储信道,并根据实际测量或工程估算确定每一个被标识信道 的最大带宽。 9) 可信路径 当连接用户时(例如,注册、更改主体安全级),计算机信息系统可信计算基提供它与 用户之间的可信通道路径。可信路径上的通信能由该用户或计算机信息系统激活,且在逻 辑上与其他路径上的通信相隔离,并能正确地加以区分。 10) 可信恢复 计算机信息系统可信计算基提供过程和机制,保证计算机信息系统失效或中断后,可 以进行不损害任何安全保护性能的恢复。 该规定中,级别从低到高,每一级都将实现上一级的所有功能,并且有所增加。第 1 级是用户自主保护级,在该级中,计算机信息系统可信计算基通过隔离用户与数据,使用 户具备自主安全保护能力。通常所说的安全操作系统,其最低级别即是第 3 级,日常所见 的操作系统,则以第 1 级和第 2 级为主。4 级以上的操作系统,与前 3 级有着很大的区别。 4 级和 5 级操作系统必须建立于一个明确定义的形式化安全策略模型之上。此外,还需要 考虑隐蔽通道。在第 4 级结构化保护级中,要求将第 3 级系统中的自主和强制访问控制扩 展到所有主体与客体。第 5 级访问验证保护级的计算机信息系统可信计算基满足访问监控 器需求。访问监控器仲裁主体对客体的全部访问,访问监控器本身必须是抗篡改的、足够 小且能够分析和测试。为了满足访问监控器需求,计算机信息系统可信计算基在构造时, 排除那些对实施安全策略来说并非必要的代码;在设计和实现时,从系统工程角度将其复 杂性降低到最小。支持安全管理员职能;提供审计机制,当发生与安全相关的事件时发出 信号;提供系统恢复机制。这种系统具有高的抗渗透能力。 ·16· www.plcworld.cn 第 2 章 操作系统安全配置 ·17· 2.1.4 操作系统的安全配置 操作系统安全配置主要是指操作系统访问控制权限的恰当设置、系统的及时更新以及 对于攻击的防范。所谓操作系统访问控制权限的恰当设置是指利用操作系统的访问控制功 能,为用户和文件系统建立恰当的访问权限控制。由于目前流行的操作系统绝大多数是用 户自主级访问控制,因此对于用户和重要文件的访问权限控制是否得当,直接影响系统的 安全稳定和信息的完整保密。不同的系统,其安全设置通常有所区别,我们将在 2.2 节重 点介绍 Windows 系统的访问权限控制。 随着利用操作系统安全缺陷进行攻击的方法的不断出现,操作系统和 TCP/IP 缺陷逐渐 成为系统安全防护的一个重要内容。在不影响正常的系统功能和网络功能的基础上,进行 安全防范,也是 2.2 节的重要内容。 随时更新操作系统,是系统安全管理的一个重要方面。及时地更新系统,会使整个系 统的安全性能、稳定性能、易用性能得到大幅度提高。 2.1.5 操作系统的安全漏洞 可以说,几乎所有的操作系统都不是十全十美的,总存在安全漏洞。比如在 Windows NT 中,安全账户管理(SAM)数据库可以被以下用户复制:Administrator 账户、Administrator 组的所有成员、备份操作员、服务器操作员以及所有具有备份特权的人员。SAM 数据库的 一个备份拷贝能够被某些工具所利用来破解口令。 又如 Windows NT 对较大的 ICMP 包是很脆弱的。如果发一条 Ping 命令,指定包的大 小为 64KB,Windows NT 的 TCP/IP 栈将不会正常工作,可使系统离线直至重新启动,结 果造成某些服务的拒绝访问。 不久前,微软推出了新款操作系统 Windows XP。我们是否可以放心地使用 Windows XP?微软在 Windows XP 的安全性方面做了许多工作,增加了许多新的安全功能,例如, Internet 连接防火墙,支持多用户的加密文件系统,改进的访问控制,对智能卡的支持等。 Windows XP 到底有多安全,它是否是一种安全的操作系统呢?Windows XP 提供了自主访 问控制保护,并具有审计主体责任和它们的初始动作的能力。从操作系统的等级来看, Windows XP 仍然是 C 级操作系统,即是一个安全等级比较低的操作系统。 另一方面,操作系统作为软件存在的许多漏洞使黑客有机可乘。例如,Windows XP 发布后,与之有关的漏洞有:通用即插即用(UPnP)拒绝服务漏洞、GDI 拒绝服务漏洞、终 端服务 IP 地址欺骗漏洞。UPnP 拒绝服务漏洞的是这样的:UPnP 服务使计算机能够发现和 使用基本的网络设备。而 Windows Me 和 Windows XP 自带 UPnP 服务不能正确地处理某 种类型的无效请求,因此产生了一个安全漏洞。该漏洞含有一个内存泄漏问题,Windows XP 系统每次接收到这样的一个请求时,就会有一小部分系统内存无法使用,如果这种情况重 复发生,就会耗尽系统资源,使性能降低,甚至完全终止。 实际上,根据目前的软件设计水平和开发工具,要想绝对避免软件漏洞是不可能的。 操作系统作为一种系统软件,在设计和开发过程中造成这样或那样的缺陷,埋下一些隐患, 使黑客有机可乘,也可以理解。可以说,软件质量决定了软件的安全性。 ·17· www.plcworld.cn ·18· 计算机网络安全技术 2.2 操作系统安全配置实验 2.2.1 用户安全配置 1. 实训目的和内容 (1) 了解操作系统用户安全配置组件。 (2) 掌握其正确配置。 2. 实训步骤 1) 新建用户 对于新建用户,要求账号便于记忆与使用,而密码则要求有一定的长度与复杂度。如 图 2.1、图 2.2 和图 2.3 所示。 图 2.1 选择新建用户 ·18· 图 2.2 输入新用户账号与密码 www.plcworld.cn 第 2 章 操作系统安全配置 ·19· 图 2.3 添加用户完成 2) 账户授权 对于不同账户,其身份不同,对于操作系统的所拥有的权限也不同。为此可以对不同 的账户进行授权,使其拥有和身份相应的权限。 具体方法为:在“计算机管理”窗口中选择“本地用户和组”项打开“用户”项,并 在右方的用户列表中右击相应用户,执行“属性”命令,在弹出的对话框中打开“隶属于” 选项卡,单击“添加”按钮,选择相应的组添加即可完成,如图 2.4、图 2.5 和图 2.6 所示。 图 2.4 打开用户属性 图 2.5 选择用户组 ·19· www.plcworld.cn ·20· 计算机网络安全技术 图 2.6 添加用户组 3) 停用 Guest 用户 在计算机管理的用户里面把 Guest 账号禁用。为了保险起见,最好给 Guest 加一个复 杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串, 然后把它作为 Guest 用户的密码输进去。并且修改 Guest 账号的属性,设置拒绝远程访问, 如图 2.7 和图 2.8 所示。 ·20· 图 2.7 修改 Guest 账号的属性 www.plcworld.cn 第 2 章 操作系统安全配置 ·21· 图 2.8 设置 Guest 账号属性 4) 系统 Administrator 账号改名 大家都知道,Windows 2000 的 Administrator 用户是不能被停用的,这意味着别人可 以一遍又一遍地尝试这个用户的密码。把 Administrator 账号改名可以有效地解决这一问题。 不要使用 Admin 之类的名字,这样的话等于没改,而尽量把它伪装成普通用户,比如 改成 luqing。具体操作时只要选中账户改名即可,如图 2.9 所示。 图 2.9 修改 Administrator 账号 5) 创建一个陷阱用户 什么是陷阱用户?即创建一个名为 Administrator 的本地用户,把它的权限设置成最低, ·21· www.plcworld.cn ·22· 计算机网络安全技术 什么事也干不了的那种,并且加上一个超过 10 位的超级复杂密码,可以将该用户隶属的 组改成 Guest 组。这样可以让那些 Hacker 们忙上一段时间,借此发现它们的入侵企图。如 图 2.10 所示。 图 2.10 创建陷阱用户 6) 把共享文件的权限从 Everyone 组改成授权用户 将共享文件的权限从 Everyone 改成“授权用户”。Everyone 在 Windows 2000 中意味 着任何有权进入网络的用户都能够获得这些共享资料。 任何时候都不要把共享文件的用户设置成 Everyone 组,包括打印共享默认的属性就是 Everyone 组,一定要进行修改。 设置某文件夹共享默认设置如图 2.11 所示。 图 2.11 默认共享权限 7) 不让系统显示上次登录的用户名 默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到 系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户 ·22· www.plcworld.cn 第 2 章 操作系统安全配置 ·23· 名。方法为:打开注册表编辑器并找到注册表项 HKEY_CURRENT\Software\Microsoft \Windows NT\CurrentVersion\Winlogon\DontDisplayLastUserName,把 REG_SZ 的键值改成 1,如图 2.12 所示。 图 2.12 修改注册表 8) 限制用户数量 去掉所有的测试账户,将共享账号作为普通部门账号等。用户组策略设置相应权限, 并且经常检查系统的账户,删除已经不使用的账户。 很多账户是黑客们入侵系统的突破口,系统的账户越多,黑客们得到用户权限的可能 性一般也就越大。对于 Windows 2000 系统的主机,如果系统账户超过 10 个,一般能找出 一两个弱口令账户,所以账户数量不要大于 10 个。 9) 多个管理员账号 虽然这点看上去和第 8 点有些矛盾,但事实上是服从以上规则的。创建一个一般用户 权限账号用来处理电子邮件及一些日常事务,创建另一个有 Administrator 权限的账户供在 需要的时候使用。因为只要登录系统以后,密码就存储在 WinLogo 进程中,当有其他用户 入侵计算机的时候就可以得到登录用户的密码,所以要尽量减少 Administrator 登录的次数 和时间。 10) 开启用户策略 开启账户策略可以有效地防止字典式攻击,设置见表 2-2。 表 2-2 开启账户策略 策略 复位账户锁定计数器 账户锁定时间 账户锁定阈值 设置 30 分钟 30 分钟 5次 设置结果如图 2.13 所示。 ·23· www.plcworld.cn ·24· 计算机网络安全技术 图 2.13 设置账户策略 当某一用户连续 5 次登录都失败后将自动锁定该账户,30 分钟之后自动复位被锁定的账户。 2.2.2 密码安全配置 1. 实训目的和内容 (1) 了解操作系统密码安全配置组件。 (2) 掌握其正确配置。 2. 实训步骤 1) 安全密码 安全的密码对于一个网络是非常重要的,但是也是最容易被忽视的。一些网络管理员 创建账号时往往用公司名、计算机名或者一些别的容易猜到的字符当用户名,然后又把这 些账户的密码设置得比较简单,比如:route 、switch 、welcome 或者与用户名相同的密码 等。这样的账户应该要求用户首次登录时更改为复杂的密码,还要注意经常更改密码。 这里给安全密码下了个定义:安全期内无法破解出来的密码就是安全密码,也就是说, 如果得到了密码文档,必须花 43 天或者更长的时间才能破解出来(密码策略是 42 天必须改 密码)。 2) 开启密码策略 这对系统安全非常重要,要使安全设置中的密码策略在默认的情况下都没有开启。需 要开启的密码策略见表 2-3。 表 2-3 开启密码策略 策略 密码必须符合复杂性要求 密码长度最小值 密码最长存留期 强制密码历史 设置 启用 6位 15 天 5次 ·24· www.plcworld.cn 第 2 章 操作系统安全配置 ·25· “密码必须符合复杂性要求”是要求设置的密码必须是数字和字母的组合;“密码长 度最小值”是要求密码长度至少为 6 位;“密码最长存留期”是要求当该密码使用超过 15 天后,就自动要求用户修改密码;“强制密码历史”是要求当前设置的密码不能和前面 5 次的密码相同。设置如图 2.14 所示。 图 2.14 设置密码策略 3) 设置屏幕保护密码 这是一个很简单也很有必要的操作。设置屏幕保护密码也是防止内部人员破坏服务器 的一个屏障。注意不要使用 OpenGL 和一些复杂的屏幕保护程序浪费系统资源,黑屏就可 以了,如图 2.15 所示。 图 2.15 设置屏幕保护密码 ·25· www.plcworld.cn ·26· 计算机网络安全技术 4) Windows 2000 中加密文件或文件夹 Windows 2000 继承了 Windows NT 4.0 的“优良传统”,你可用 Windows 2000 的加 密工具来保护文件和文件夹,以防别人偷看,如图 2.16 所示。 图 2.16 设置加密属性 2.2.3 系统安全配置 1. 实训目的和内容 (1) 了解操作系统安全配置组件。 (2) 掌握其正确配置。 2. 实训步骤 1) 使用 NTFS 格式分区 最好把服务器的所有分区都改成 NTFS 格式,NTFS 文件系统要比 FAT、FAT32 的文 件系统安全得多,如图 2.17 所示。 ·26· 图 2.17 设置磁盘管理 www.plcworld.cn 第 2 章 操作系统安全配置 ·27· 2) 运行防毒软件 杀毒软件不仅能杀掉一些著名的病毒,还能查杀大量木马和后门程序,因此要注意经 常运行程序并升级病毒库,如图 2.18 所示。 图 2.18 运行杀毒软件 3) 到微软网站下载最新的补丁程序 很多网络管理员没有访问安全站点的习惯,以至于一些漏洞都出现很久了,还放着服 务器的漏洞不补给人家当靶子用。经常访问微软和一些安全站点,下载最新的 Service Pack 和漏洞补丁,是保障服务器长久安全的唯一方法。 4) 关闭默认共享 Windows 2000 安装好以后,系统会创建一些隐藏的共享,你可以在 cmd 下输入 net share 字符查看它们,如图 2.19 所示。 图 2.19 查看隐藏默认共享 ·27· www.plcworld.cn ·28· 计算机网络安全技术 网上有很多关于 IPC 入侵的文章,都利用了默认共享链接。要禁止这些共享 ,可在“计 算机管理”窗口中选择“系统工具”项,打开“共享文件夹”下的“共享”项,在右方的 列表中选择相应的共享文件夹,右击并执行“停止共享”命令即可,如图 2.20 所示。 图 2.20 停止默认共享 常见的共享目录及它们的对应地址和说明见表 2-4。 表 2-4 共享目录及其功能 默认共享目录 C$ D$ E$ ADMIN$ IPC$ PRIN$ 路径 分区的根目录 %SYSTEMTOOT% SYSTEM32\SPOOL\DRIVERS 说明 Windows 2003 Advanced Server 版中,只有 Administrator 和 Backup Operators 级成员才可链接, Windows 2000 Server 版本 Server Operators 组也 可以链接到这些共享目录 远程管理用的共享目录。它的路径永远都指向 Windows 2003 的安装路径,比如 C:\WINNT IPC$共享提供了登录的能力 用户远程管理打印机 5) 锁住注册表 在 Windows 2000 中,只有 Administrator 和 Backup Operators 才有从网络上访问注册表 的权限。当账号的密码泄漏以后,黑客也可以在远程访问注册表,当服务器放到网络上时, 一 般 需 要 锁 定 注 册 表 。 修 改 HKEY_CURRENT_USER 下 的 子 键 : Software\Microsoft\ Windows\CurrentVersion\Policies。 把 DisableRegistryTools 值改为 0,类型为 DWORD,如图 2.21 所示。 ·28· www.plcworld.cn 第 2 章 操作系统安全配置 ·29· 图 2.21 锁定注册表 6) 禁止用户从软盘和光驱启动系统 一些第三方的工具能通过引导系统来绕过原有的安全机制。如果你的服务器对安全要 求非常高,可以考虑使用可移动软盘和光驱。当然,把机箱锁起来不失为一种好方法。 7) 利用 Windows 2000 的安全配置工具来配置安全策略 微软提供了一套基于 MMC(管理控制台)的安全配置和分析工具,利用它们你可以很方 便地配置你的服务器以满足你的要求。具体内容可参考微软主页 http://www.microsoft.com/ windows2000/techinfo/howitworks/security/sctoolset.asp。 8) 开启审核策略 安全审核是 Windows 2000 最基本的入侵检测方法。当有人对系统进行某种方式入侵 (如验证用户密码,改变账户策略和未经许可的访问等)时,都会被安全审核记录下来的。 表 2-5 为开启审核策略列表,这些审核是必须开启的,其他的可以根据需要增加。 表 2-5 开启审核策略 策略 审核系统登录事件 审核账户管理 审核登录事件 审核对象访问 审核策略更改 审核特权使用 审核系统事件 设置 成功、失败 成功、失败 成功、失败 成功 成功、失败 成功、失败 成功、失败 审核策略在默认的情况下都是没有开启的,如图 2.22 所示。 ·29· www.plcworld.cn ·30· 计算机网络安全技术 图 2.22 开启审核策略 9) 加密 Temp 文件夹 一些应用程序在安装和升级时,会把一些内容复制到 Temp 文件夹,但是当程序升级 完毕或关闭时,并不会自动清除 Temp 文件夹的内容。所以给 Temp 文件夹加密可以给文 件多一层保护。 10) 使用智能卡 密码总是使安全管理员进退两难。如果密码太简单,容易受到一些工具的攻击,如果 密码太复杂,用户为了记住密码到处乱写。因此如果条件允许,用智能卡来代替复杂的密 码是一种很好的解决方法。 11) 使用 IPSec 正如其名字的含义,IPSec 提供 IP 数据包的安全性。它提供身份验证、完整性和可选 择的机密性。发送端计算机在传输之前加密数据,而接收端计算机在收到数据之后解密数 据。利用 IPSec 可以使得系统的安全性能大大增强。 2.2.4 服务安全配置 1. 实训目的和内容 (1) 了解操作系统服务安全配置组件。 (2) 掌握其正确配置。 2. 实训步骤 1) 关闭不必要的端口 关闭端口意味着减少功能,在安全和功能上面需要做一些抉择。如果服务器安装在防 火墙的后面,风险就会少些。但是,永远不要认为你可以高枕无忧了。 用端口扫描器扫描系统已开放的端口,确定系统开放的哪些服务可能引起黑客入侵。 在系统目录中的 system32\drivers\etc\services 文件中有知名端口和服务的对照表可供参考, 如图 2.23 所示。 ·30· www.plcworld.cn 第 2 章 操作系统安全配置 ·31· 图 2.23 端口和服务对照表 具体方法为:右击“网上邻居”图标,执行“属性”命令,在出现的窗口中右击“本 地连接”执行“属性”命令,在弹出对话框中选中“Internet 协议(TCP/IP) ”项,单击“属 性”按钮,再在弹出的对话框中单击“高级”按钮,弹出“高级 TCP/IP 设置”对话框,打 开“选项”选项卡选中“TCP/IP 筛选”项,单击“属性”按钮,弹出“TCP/IP 筛选”对话 框,添加需要的 TCP、UDP 协议即可,如图 2.24 所示。 设置完毕的端口界面如图 2.25 所示。 图 2.24 设置 IP 的高级属性 图 2.25 设置 TCP/IP 筛选 ·31· www.plcworld.cn ·32· 计算机网络安全技术 2) 设置安全记录的访问权限 安全记录在默认情况下是没有保护的,把它设置成只有 Administrator 和系统账户才有 权访问,如图 2.26 所示。 图 2.26 设置安全记录的访问权限 3) 把敏感文件存放在另外的文件服务器中 虽然现在服务器的硬盘容量都很大,但是还是应该考虑是否有必要把一些重要的用户 数据(文件、数据表、项目文件等)存放在另外一个安全的服务器中,并且经常备份。 4) 禁止建立空链接 默认情况下,任何用户都可通过空链接连上服务器,进而枚举出账号,猜测密码。可 以通过修改注册表来禁止建立空链接:即把 LOCAL_MACHINE\SYSTEM\CurrentControl Set\ Control\Lsa 下的 restrictanonymous 的值改成 1 即可,如图 2.27 所示。 此外,安全和应用在很多时候是矛盾的。因此,你需要在其中找到平衡点,如果安全 原则妨碍了系统应用,那么这个安全原则也不是一个好的原则。 ·32· 图 2.27 修改注册表 www.plcworld.cn 第 2 章 操作系统安全配置 ·33· 5) 关闭不必要的服务 Windows 2000 终端服务和 IIS 服务等都可能给系统带来漏洞。为了能够在远程方便地 管理服务器,很多计算机的终端服务都是开启的,如果开启了,要确认已经正确配置了终 端服务。有些恶意的程序也能以服务方式悄悄地运行服务器上的终端服务。要留意服务上 开启的所有服务并每天检查。 Windows 2000 作为服务器可禁用的服务及其相关说明见表 2-6。 表 2-6 Windows 2000 可禁用的服务 服务名 说明 Computer Browser Task Scheduler Routing and Remote Access Removable Storage Remote Registry Service Print Spooler IPSEC Policy Agent Distributed Link Tracking Clint Com+ Event System 维护网络上计算机的最新列表及提供这个列表 允许程序在指定时间运行 在局域网及广域网环境中为企业提供路由服务 管理可移动媒体、驱动程序和库 允许远程注册表操作 将文件加载到内存中以便以后打印。要用打印机的用户不能 禁用这项服务 管理 IP 安全策略及启动 ISAKMP/Oakey(IKE)和 IP 安全驱动 程序 当文件在网络域的 NTFS 卷中移动时发送通知 提供事件的自动发布到订阅 COM 组件 2.2.5 注册表配置 1. 实训目的和内容 (1) 了解操作系统的注册表。 (2) 掌握其正确配置。 2. 实训步骤 1) 关机时清除文件 页面文件也就是高度文件,是 Windows 2000 用来存储没有装入内存的程序和数据文件 部分的隐藏文件。 某些第三方的程序可以把一些没有加密的密码存在内存中,页面文件中可能含有另外 一些敏感资料,因此要在关机的时候清除页面文件。这可以编辑注册表修改主键 HKEY_LOCAL_MACHINE 下的子键 SYSTEM\CurrentControlSet\Control\Control\SessionManage /Memory Management,把 ClearPageFileAtShutdown 的值设置成 1,如图 2.28 所示。 ·33· www.plcworld.cn ·34· 计算机网络安全技术 图 2.28 修改注册表 2) 关闭 DirectDraw C2 级安全标准对视频和内存有一定要求。关闭 DirectDraw 可能对一些需要用到 Directx 的程序有影响(比如游戏),但是对于绝大多数的商业站点是没有影响的。 这可以编辑注册表修改主键 HKEY_LOCAL_MACHINE 下的子键 SYSTEM\Current ControlSet\Control\GraphicsDrivers\DCI,将 Timeout 键值设置成 0,如图 2.29 所示。 图 2.29 修改注册表 3) 禁止判断主机类型 可利用 TTL(Time to Live,生存时间)值鉴别操作系统的类型,通过 Ping 指令能判断目 标主机类型。 许多入侵者首先会 Ping 一个主机,因为攻击某一台计算机需要判断对方的操作系统是 Windows 还是 UNIX。如果 TTL 是 128,就可以认为操作系统是 Windows 2000,如图 2.30 所示。 ·34· www.plcworld.cn 第 2 章 操作系统安全配置 ·35· 图 2.30 查看操作系统 TTL 值 从图中可以看出,TTL 值是 128,说明该主机的操作系统是 Windows 2000。表 2-7 给 出了一些常见的操作系统的 TTL 对照值。 表 2-7 常用操作系统的 TTL 值 操作系统类型 TTL 返回值 Windows 2000 Windows NT Windows 9X Solaris IRIX AIX Linux 128 107 128 or 127 252 240 247 241 or 240 修改 TTL 的值后入侵者就无法入侵计算机了。比如将操作系统的 TTL 值改为 100,修 改 主 键 HKEY_LOCAL_MACHINE 下 的 子 键 SYSTEM\CurrentControlSet\Services\Tcpip \Parameters,新建一个双字节项,如图 2.31 所示。 在键的名称中输入 defaultTTL,然后双击该键名,选中“十六进制”单选按钮,在“数 值数据”文本框中输入 100,如图 2.32 所示。 ·35· www.plcworld.cn ·36· 计算机网络安全技术 图 2.31 添加双字节项 图 2.32 修改双字节项参数 设置完毕后应重新启动计算机,再次使用 Ping 指令,发现 TTL 的值已经被修改为 100, 如图 2.33 所示。 ·36· 图 2.33 查看操作系统 TTL 值 www.plcworld.cn 第 2 章 操作系统安全配置 ·37· 4) 抵抗 DDoS 添加注册表的一些键值,可以有效地抵抗 DDoS 的攻击。在键值 HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下 增 加 响 应 的 键 及 其 说 明,见表 2-8。 表 2-8 抵抗 DDoS 攻击操作系统设置 增加的键值 键值说明 EnablePMTUDiscovery=dword:0000000 NoNameReleaseOnDemand=dword:0000000 KeepAliveTime=dword:0000000 PerformRouterDiscovery=dword:0000000 EnableICMPRedirects=dword:0000000 SynAttackProtect=dword:0000002 TcpMaxHalfopenRetried=dword:0000080 TcpMaxHalfopen=dword:0000100 IGMPLevel=dword:0000000 EnableDeadGWDetct=dword:0000000 IPEnableRouter=dword:0000001 基本设置 防止 ICMP 重定向的报文攻击 (说明 1) 防止 SYN 洪水攻击 仅在 TcpMaxHalfopenRetried 和 TcpMaxHalfopen 设置超出范围时,保护机制才会采取措施(说明 2) 不支持 IGMP 协议 (说明 3) 禁止死网关监测技术 (说明 4) 支持路由功能 (说明 5) 说明 1:该参数控制 Windows 2000 是否会改变其路由表以响应网络设备(如路由器)发 送给它的 ICMP 重定向消息,有时会被利用来干坏事。Windows 2000 中默认值为 1。表示 响应 ICMP 重定向报文。 说明 2:SYN 攻击保护包括减少 SYN-ACK 重新传输次数,以减少分配资源所保留的 时间。路由缓存项资源分配延迟,直到建立连接为止。如果 SynAttackProtect=21 则 AFD 的 连接指示一直延迟到三次握手完成为止。注意,仅在 TcpMaxHalfOpen 和 TcpMaxHalfOpenRetried 设置超出范围时,保护机制才会采取措施。 说明 3:记得 Windows 9X 下有个 bug,就是用 IGMP 使别人蓝屏,修改注册表可以修 正这个 bug。Windows 2000 虽然没这个 bug 了,但 IGMP 并不是必要的,因此照样可以去 掉。改成 0 后用 route print 将看不到那个讨厌的 224.0.0.0 项了。 说明 4:如果你设置了多个网关,那么你的机器在处理多个连接有困难时,就会自动 改用备份网关。有时候这并不是一项好主意,建议禁止死网关监测。 说明 5:把值设置为 0x1 可以使 Windows 2000 具备路由功能,由此带来不必要的问题。 2.2.6 数据恢复软件 1. 实训目的和内容 (1) 了解数据恢复软件。 ·37· www.plcworld.cn ·38· 计算机网络安全技术 (2) 掌握其使用方法。 2. 实训步骤 (1) 当数据被病毒或者入侵者破坏后,可以利用数据恢复软件找回部分被删除的数据, 在恢复软件中比较著名的有 FinalData。该软件功能强大,可以恢复被误删除和丢失的文件、 目录等。该软件的主界面如图 2.34 所示。 图 2.34 FinalData 软件主界面 (2) 例如,原来 D 盘上有一些数据文件,现在被黑客删除了,单击“文件”菜单,如 图 2.35 所示。 图 2.35 选择文件菜单 (3) 执行“打开”命令,出现当前系统的分区情况,可以选择需要恢复数据的分区, 在这里选择 D 盘,如图 2.36 所示。 (4) 选择分区后,软件对指定的分区的数据和目录进行扫描,如图 2.37 所示。 ·38· www.plcworld.cn 第 2 章 操作系统安全配置 ·39· 图 2.36 选择分区 图 2.37 软件扫描分区 (5) 扫描完成后,选择查找的扇区范围。如图 2.38 所示。 (6) 扫描的结果是在窗口左侧按目录、文件等进行分类。单击后内容出现在窗口右侧 中,图 2.39 和图 2.40 所示是已经被删除的目录和曾经被删除的文件。 图 2.38 选择查找扇区 图 2.39 查看删除的目录 图 2.40 查看删除的文件 ·39· www.plcworld.cn ·40· 计算机网络安全技术 (7) 选中某个文件或者文件夹,右击它则弹出快捷菜单,然后执行“恢复”命令,就 可恢复被删除的文件或文件夹了,如图 2.41 所示。 (8) 该软件操作简单,使用方便,功能强大,可以帮助用户恢复数据。 图 2.41 删除文件的恢复 小结 本章主要分两部分介绍了网络操作系统的安全问题。第一部分首先介绍了网络操作系 统的有关知识,并分析了国内和国外安全操作系统的评估标准。第二部分主要介绍了 Windows 2000 的安全配置,分为用户安全设置、密码安全设置、系统安全设置、服务安全 设置、注册表配置 5 个方面共 35 项,如果每一条都能得到很好的实施,则该计算机无论是 在局域网还是广域网,即使没有网络防火墙,也是比较安全的了。 习题 1.什么是操作系统的安全,主要研究什么内容? 2.简述操作系统账号密码的重要性,有几种方法可能保护密码不被破解或者盗取? 3.简述审核策略、密码策略和账户策略的含义,以及这些策略如何保护操作系统不被 入侵。 4.如何关闭不需要的端口和服务? 5.完成本章所有的配置操作。 6.以报告的形式编写 Windows 2000 配置方案。 ·40· www.plcworld.cn 第 3 章 信息加密技术 本章要点 z 传统工艺加密方法 z DES 加密算法和 RSA 加密算法 z 计算机网络的加密技术 z 几个简单加密软件的使用 3.1 概 述 信息加密技术是保障信息安全的核心技术。信息安全的技术主要包括监控、扫描、检 测、加密、认证、防攻击、防病毒以及审计等几个方面,其中加密技术是信息安全的核心 技术,已经渗透到大部分安全产品之中,并正向芯片化方向发展。通过数据加密技术可以 在一定程度上提高数据传输的安全性,保证传输数据的完整性。一个数据加密系统包括加 密算法、明文、密文以及密钥,密钥控制加密和解密过程,一个加密系统的全部安全性是 基于密钥的,而不是基于算法,所以加密系统的密钥管理是一个非常重要的问题。 数据加密过程就是通过加密系统把原始的数字数据(明文),按照加密算法变换成与明 文完全不同的数字数据(密文)的过程。 下面先学习一些名词概念。 加密系统:由算法以及所有可能的明文、密文和密钥组成。 密码算法:密码算法也叫密码(cipher),适用于加密和解密的数学函数 (通常情况下, 有两个相关的函数,一个用于加密,一个用于解密)。 明文(plaintext):未被加密的消息。 密文(ciphertext):被加密的消息。 加密(encrypt)、解密(decrypt):用某种方法伪装数据以隐藏它原貌的过程称为加密;相 反的过程叫解密。 密钥(key):密钥就是参与加密及解密算法的关键数据。没有它明文不能变成密文,密 文不能变成明文。 画图来解释一下。 加密密钥 解密密钥 | | 明文 → “加密” → 密文 → “解密” → 明文 有时候,加密密钥=解密密钥(对称加密时)。假设 E 为加密算法,D 为解密算法,P 为 明文则数据的加密解密数学表达式为:P=D(KD,E(KE,P))。 www.plcworld.cn ·42· 计算机网络安全技术 3.1.1 数据加密技术 数据加密技术主要分为数据传输加密和数据存储加密。数据传输加密技术主要是对传 输中的数据流进行加密,常用的有链路加密、节点加密和端到端加密三种方式。 (1) 链路加密是传输数据仅在物理层上的数据链路层进行加密,不考虑信源和信宿, 它用于保护通信节点间的数据。接收方是传送路径上的各台节点机,数据在每台节点机内 都要被解密和再加密,依次进行,直至到达目的地。 (2) 与链路加密类似的节点加密方法是在节点处采用一个与节点机相连的密码装置, 密文在该装置中被解密并被重新加密,明文不通过节点机,避免了链路加密节点处易受攻 击的缺点。 (3) 端到端加密是为数据从一端到另一端提供的加密方式。数据在发送端被加密,在 接收端解密,中间节点处不以明文的形式出现。端到端加密是在应用层完成的。在端到端 加密中,数据传输单位中除报头外的报文均以密文的形式贯穿于全部传输过程,只是在发 送端和接收端才有加、解密设备,而在中间任何节点报文均不解密。因此,不需要有密码 设备,同链路加密相比,可减少密码设备的数量。另一方面,数据传输单位由报头和报文 组成的,报文为要传送的数据集合,报头为路由选择信息等(因为端到端传输中要涉及到路 由选择)。在链路加密时,报文和报头两者均须加密。而在端到端加密时,由于通路上的每 一个中间节点虽不对报文解密,但为将报文传送到目的地,必须检查路由选择信息。因此, 只能加密报文,而不能对报头加密。这样就容易被某些通信分析发觉,而从中获取某些敏 感信息。链路加密对用户来说比较容易,使用的密钥较少,而端到端加密比较灵活,对用 户可见。在对链路加密中各节点安全状况不放心的情况下也可使用端到端加密方式。 3.1.2 数据加密算法 数据加密算法有很多种,密码算法标准化是信息化社会发展的必然趋势,是世界各国 保密通信领域的一个重要课题。按照发展进程来分,经历了古典密码、对称密钥密码和公 开密钥密码阶段。古典密码算法有替代加密、置换加密;对称加密算法包括 DES 和 AES; 非对称加密算法包括 RSA、背包密码、McEliece 密码、Rabin、椭圆曲线、EIGamal D_H 等。目前在数据通信中使用最普遍的算法有 DES 算法、RSA 算法和 PGP 算法等。 1.DES 加密算法 DES 是一种对二元数据进行加密的算法,数据分组长度为 64 位,密文分组长度也是 64 位,使用的密钥为 64 位,有效密钥长度为 56 位,有 8 位用于奇偶校验,解密时的过程 和加密时相似,但密钥的顺序正好相反。 DES 算法的弱点是不能提供足够的安全性,因为其密钥容量只有 56 位。由于这个原因, 后来又提出了三重 DES 或 3DES 系统,使用三个不同的密钥对数据块进行三次(或两次)加 密,该方法比进行三次普通加密快。其强度大约和 112 位的密钥强度相当。 2.RSA 算法 RSA 算法既能用于数据加密,也能用于数字签名。RSA 的理论依据为:寻找两个大素 数比较简单,而将它们的乘积分解开的过程则异常困难。在 RSA 算法中,包含两个密钥, ·42· www.plcworld.cn 第 3 章 信息加密技术 ·43· 加密密钥 PK 和解密密钥 SK,加密密钥是公开的,其加密与解密方程为:PK={e,n},SK ={d,n}。 其中 n=p×q,p∈[0,n-1],p 和 q 均为很大的素数,这两个素数是保密的。 RSA 算法的优点是密钥空间大,缺点是加密速度慢,如果 RSA 和 DES 结合使用,则 正好弥补 RSA 的缺点。即 DES 用于明文加密,RSA 用于 DES 密钥的加密。由于 DES 加 密速度快,适合加密较长的报文;而 RSA 可解决 DES 密钥分配的问题。 3.1.3 数据加密技术的发展 1.密码专用芯片集成 密码技术是信息安全的核心技术,无处不在,目前已经渗透到大部分安全产品之中, 正向芯片化方向发展。在芯片设计制造方面,目前微电子工艺已经发展到很高水平,芯片 设计的水平也很高。我国在密码专用芯片领域的研究起步落后于国外,近年来我国集成电 路产业技术的创新和自我开发能力得到了加强,微电子工业得到了发展,从而推动了密码 专用芯片的发展。加快密码专用芯片的研制将会推动我国信息安全系统的完善。 2.量子加密技术的研究 量子技术在密码学上的应用分为两类:一类是利用量子计算机对传统密码体制的分析; 另一类是利用单光子的测不准原理在光纤一级实现密钥管理和信息加密,即量子密码学。 量子计算机相当于一种传统意义上的超大规模并行计算系统,利用量子计算机可以在几秒 钟内分解 RSA 129 的公钥。根据互联网的发展,全光纤网络将是今后网络连接的发展方向, 利用量子技术可以实现传统的密码体制,在光纤一级完成密钥交换和信息加密,其安全性 是建立在 Heisenberg 的测不准原理上的,如果攻击者企图接收并检测信息发送方的信息(偏 振),则将造成量子状态的改变,这种改变对攻击者而言是不可恢复的,而对收发方则可很 容易地检测出信息是否受到攻击。目前量子加密技术仍然处于研究阶段(在我国处于领先地 位),其量子密钥分配 QKD 在光纤上的有效距离还达不到远距离光纤通信的要求。 3.2 数据加密标准 DES 与 IDEA 3.2.1 数据加密标准 DES 思想 1973 年,美国国家标准局(NBS)在认识到建立数据保护标准既明显又急迫的情况下, 开始征集联邦数据加密标准的方案。1975 年 3 月 17 日,NBS 公布了 IBM 公司提供的密码 算法,以标准建议的形式在全国范围内征求意见。经过两年多的公开讨论之后,1977 年 7 月 15 日,NBS 宣布接受这个建议,作为联邦信息处理标准 46 号数据加密标准(Data Encryption Standard),即 DES 正式颁布,供商业界和非国防性政府部门使用。 根据密钥类型不同将现代密码技术分为两类:一类是对称加密(秘密钥匙加密)系统, 另一类是公开密钥加密(非对称加密)系统。目前最著名的对称加密算法有数据加密标准 DES 和欧洲数据加密标准 IDEA 等。随后 DES 成为全世界使用最广泛的加密标准。 对称式密码是指收发双方使用相同密钥的密码,而且通信双方都必须获得这把钥匙, ·43· www.plcworld.cn ·44· 计算机网络安全技术 并保持钥匙的秘密。传统的密码都属于对称式密码。非对称式密码是指收发双方使用不同 密钥的密码,现代密码中的公共密钥密码就属于非对称式密码。 对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大 的缺点是实现密钥的秘密分发困难,在有大量用户的情况下密钥管理复杂,而且无法完成 身份认证等功能,不便于应用在网络开放的环境中。加密与解密的密钥和流程是完全相同 的,区别仅仅是加密与解密使用的子密钥序列的施加顺序刚好相反。DES 密码体制的安全 性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础。 但是,经过二十多年的使用,已经发现 DES 很多不足之处,对 DES 的破解方法也日 趋有效。AES(高级加密标准)将会替代 DES 成为新一代加密标准。 非对称加密算法的优点是能适应网络的开放性要求,密钥管理简单,并且可方便地实 现数字签名和身份认证等功能,是目前电子商务等技术的核心基础。其缺点是算法复杂, 加密数据的速度和效率较低。因此在实际应用中,通常将对称加密算法和非对称加密算法 结合使用,利用 DES 或者 IDEA 等对称加密算法来进行大容量数据的加密,而采用 RSA 等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法可以有效地提高加密 的效率并能简化对密钥的管理。 对称密码系统的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅 基于密文本身去解密信息在实践上是不可能的;第二,加密方法的安全性依赖于密钥的秘 密性,而不是算法的秘密性,因此,我们没有必要确保算法的秘密性,却需要保证密钥的 秘密性。对称加密系统的算法实现速度极快,从 AES 候选算法的测试结果看,软件实现的 速度都达到了每秒数兆或数十兆比特。对称密码系统的这些特点使其有着广泛的应用。因 为算法不需要保密,所以制造商可以开发出低成本的芯片以实现数据加密。这些芯片有着 广泛的应用,适合于大规模生产。 对称加密系统最大的问题是密钥的分发和管理非常复杂、代价高昂。比如对于具有 n 个用户的网络,需要 n(n-1)/2 个密钥,在用户群不是很大的情况下,对称加密系统是有效 的。但是对于大型网络,当用户群很大并分布很广时,密钥的分配和保存就成了大问题。 对称加密算法另一个缺点是不能实现数字签名。 通过定期在通信网络的源端和目的端同时改用新的 Key,便能更进一步提高数据的保 密性,这正是现在金融交易网络的流行做法。 公开密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。由于加密钥匙是 公开的,密钥的分配和管理就很简单,比如对于具有 n 个用户的网络,仅需要 2n 个密钥。 公开密钥加密系统还能够很容易地实现数字签名。因此,最适合于电子商务应用需要。在 实际应用中,公开密钥加密系统并没有完全取代对称密钥加密系统,这是因为公开密钥加 密系统是基于尖端的数学难题,计算非常复杂,它的安全性更高,但它的实现速度却远赶 不上对称密钥加密系统。在实际应用中可利用二者各自的优点,采用对称加密系统加密文 件,采用公开密钥加密系统加密“加密文件”的密钥(会话密钥),这就是混合加密系统, 它较好地解决了运算速度问题和密钥分配管理问题。因此,公钥密码体制通常被用来加密 关键性的、核心的机密数据,而对称密码体制通常被用来加密大量的数据。 DES 算法在 POS、ATM、磁卡及智能卡(IC 卡)、加油站、高速公路收费站等领域被广 泛应用,以此来实现关键数据的保密,如信用卡持卡人的 PIN 的加密传输,IC 卡与 POS ·44· www.plcworld.cn 第 3 章 信息加密技术 ·45· 间的双向认证、金融交易数据包的 MAC 校验等,均用到 DES 算法。 DES 算法的入口参数有三个:Key、Data 和 Mode。其中 Key 为 8 个字节共 64 位,是 DES 算法的工作密钥;Data 也为 8 个字节 64 位,是要被加密或被解密的数据;Mode 为 DES 的工作方式,有两种:加密或解密。 DES 算法是这样工作的:如 Mode 为加密,则用 Key 去把数据 Data 进行加密, 生成 Data 的密码形式(64 位)作为 DES 的输出结果;如 Mode 为解密,则用 Key 去把密码形式的 数据 Data 解密,还原为 Data 的明码形式(64 位)作为 DES 的输出结果。在通信网络的两端, 双方约定一致的 Key,在通信的源点用 Key 对核心数据进行 DES 加密,然后以密码形式在 公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的 Key 对密 码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如 PIN、MAC 等)在公共通信网中传输的安全性和可靠性。 通过定期在通信网络的源端和目的端同时改用新的 Key,便能更进一步提高数据的保 密性,这正是现在金融交易网络的流行做法。 对于详细算法的学习可以参考其他书目或者上网搜索,这里不再赘述。 3.2.2 IDEA 算法 IDEA 是一个迭代分组密码,分组长度为 64 位,密钥长度为 128 位。IDEA 密码中使 用了以下三种不同的运算。 (1) 逐位异或运算。 (2) 模 216 加运算。 (3) 模 216+1 乘运算,0 与 216 对应。 IDEA 算法是由 8 轮迭代和随后的一个输出变换组成。它将 64 位的数据分成 4 个子块, 每个 16 位,令这 4 个子块作为迭代第一轮的输出,全部共 8 轮迭代。每轮迭代都是 4 个子 块彼此间以及 16 位的子密钥进行异或,模 216 加运算,模 216+1 乘运算。除最后一轮外把 每轮迭代输出的 4 个子块的第 2 和第 3 子块互换。该算法所需要的“混淆”可通过连续使 用 3 个“不相容”的群运算于两个 16 位子块来获得,并且该算法所选择使用的 MA(乘加) 结构可提供必要的“扩散”。 3.3 公开密钥算法 公开密钥算法(Public-Key Algorithm,也叫非对称算法):作为加密的密钥不同于作为解 密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。之所 以叫做公开密钥算法,是因为加密密钥能够公开,即陌生人可以用加密密钥加密信息,但 只有用相应的解密密钥才能解密信息。 加密密钥也叫做公开密钥(Public Key,简称公钥),解密密钥叫作私人密钥(Private Key, 简称私钥)。 注意,上面说到的用公钥加密,私钥解密是应用于通信领域中的信息加密。在共享软 件加密算法中,我们常用的是用私钥加密,公钥解密,即公开密钥算法的另一用途——数 ·45· www.plcworld.cn ·46· 计算机网络安全技术 字签名。关于公开密钥算法的安全性我们引用一段话:“公开密钥算法的安全性都是基于 复杂的数学难题。根据所给予的数学难题来分类,有以下三类系统目前被认为是安全和有 效的:大整数因子分解系统(代表性的有 RSA),离散对数系统(代表性的有 DSA,ElGamal) 和椭圆曲线离散对数系统(代表性的有 ECDSA)”。 常见的公开密钥算法列示于下。 (1) RSA:能用于信息加密和数字签名。 (2) ElGamal:能用于信息加密和数字签名。 (3) DSA:能用于数字签名。 (4) ECDSA:能用于信息加密和数字签名。 公开密钥算法将成为共享软件加密算法的主流,因为它的安全性好(当然还是作者的使 用)。以 RSA 为例,当 N 的位数大于 1024 后(强素数),现在认为分解困难。 公开密钥最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥: 公开密钥 PK 和秘密密钥 SK。因此,这种体制又称为双钥或非对称密钥密码体制。 在这种体制中,PK 是公开信息,用作加密密钥,而 SK 需要由用户自己保密,用作解 密密钥。加密算法 E 和解密算法 D 也都是公开的。虽然 SK 与 PK 是成对出现,但却不能 根据 PK 计算出 SK。公开密钥算法的特点如下所述。 (1) 用加密密钥 PK 对明文 X 加密后,再用解密密钥 SK 解密,即可恢复出明文,或写 为:DSK(EPK(X))=X。 (2) 加密密钥不能用来解密,即 DPK(EPK(X)) ≠ X。 (3) 在计算机上可以容易地产生成对的 PK 和 SK。 (4) 从已知的 PK 实际上不可能推导出 SK。 (5) 加密和解密的运算可以对调,即 EPK(DSK(X))=X。 在公开密钥密码体制中,最有名的一种是 RSA 体制。它已被 ISO/TC 97 的数据加密技 术分委员会 SC 20 推荐为公开密钥数据加密标准。 3.3.1 RSA 公开密钥密码系统 1976 年,Dittie 和 Hellman 为解决密钥管理问题,在他们的奠基性的工作“密码学的 新方向”一文中,提出一种密钥交换协议,允许在不安全的媒体上通过通信双方交换信息, 安全地传送秘密密钥。在此新思想的基础上,很快出现了非对称密钥密码体制,即公钥密 码体制。在公钥体制中,加密密钥不同于解密密钥,加密密钥公之于众,谁都可以使用; 解密密钥只有解密人自己知道。它们分别称为公开密钥和秘密密钥。在迄今为止的所有公 钥密码体系中,RSA 系统是最著名、使用最多的一种。RSA 公开密钥密码系统是由 R.Rivest、 A.Shamir 和 L.Adleman 于 1977 年提出的。RSA 的取名就是来自于这三位发明者的姓的第 一个字母。 下面主要讲述 RSA 算法的基本要素。 RSA 的安全性依赖于大数分解。公开密钥和私有密钥都是两个大素数(大于 100 个十进 制位)的函数。下面描述密钥对是如何产生的。 (1) 选择两个大素数 p 和 q,计算 n = p×q,φ(n)= (p-1)×(q-1)。 (2) 随机选择和φ(n)互质的数 d,要求 d<φ(n)。 ·46· www.plcworld.cn 第 3 章 信息加密技术 ·47· (3) 利用 Euclid 算法计算 e,满足:e×d ≡ 1mod(p-1)×(q-1),即 d、e 的乘积和 1 模φ(n) 同余。 (4) 于是,数(n,e )是加密密钥,(n,d)是解密密钥。两个素数 p 和 q 不再需要,应该 丢弃,不要让任何人知道。 加密信息 m 时,首先把 m 分成等长数据块 m1,m2,…,mi,块长 s,其中 2s≤n,s 尽可能的大。对应的密文 ci= mie mod n (a) 解密时做如下计算: mi= Cid mod n (b) RSA 也可用于数字签名,方案是用(a)式签名,(b)式验证。具体操作时考虑到安全性和 m 信息量较大等因素,一般是先做 HASH 运算。 对于巨大的质数 p 和 q,计算乘积 n=p×q 非常简便,而逆运算却非常难,这是一种“单 向性”,相应的函数称为“单向函数”。任何单向函数都可以作为某一种公开密钥密码系 统的基础,而单向函数的安全性也就是这种公开密钥密码系统的安全性。 RSA 算法安全性的理论基础是大数的因子分解问题至今没有很好的算法,因而公开 e 和 n 不易求出 p、q 及 d。RSA 算法要求 p 和 q 是两个足够大的素数(例如 100 位十进制数) 且长度相差比较小。 为了说明该算法的工作过程,下面给出一个简单例子,显然在这里只能取很小的数字, 但是如上所述,为了保证安全,在实际应用上我们所用的数字要大得多。 例:选取 p=3,q=11,则 n =33,φ(n)=(p-1) ×(q-1)=20。选取 d=13(大于 p 和 q 的数, 且小于φ(n),并与φ(n)互质,即最大公约数是 1),通过 e × 13 = 1 mod 20,计算出 e =17(大 于 p 和 q,与φ(n)互质)。 假定明文为整数 M=8。则密文 C 为 C = Me mod n = 817 mod 33 = 2 251 799 813 685 248 mod 33 复原明文 M 为 =2 M = Cd mod n = 213 mod 33 = 8192 mod 33 =8 因为 e 和 d 互逆,公开密钥加密方法也允许采用这样的方式对加密信息进行“签名”, 以便接收方能确定签名不是伪造的。 假设 A 和 B 希望通过公开密钥加密方法进行数据传输,A 和 B 分别公开加密算法和相 应的密钥,但不公开解密算法和相应的密钥。A 和 B 的加密算法分别是 ECA 和 ECB,解 密算法分别是 DCA 和 DCB,ECA 和 DCA 互逆,ECB 和 DCB 互逆。 若 A 要向 B 发送明 文 P,不是简单地发送 ECB(P),而是先对 P 施以其解密算法 DCA,再用加密算法 ECB 对 结果加密后发送出去。 ·47· www.plcworld.cn ·48· 计算机网络安全技术 密文 C 为 C = ECB(DCA(P)) B 收到 C 后,先后施以其解密算法 DCB 和加密算法 ECA,得到明文 P。 ECA(DCB(C)) = ECA(DCB(ECB(DCA(P)))) = ECA(DCA(P)) /*DCB 和 ECB 相互抵消*/ /*DCA 和 ECA 相互抵消*/ =P 这样 B 就确定报文确实是从 A 发出的,因为只有当加密过程利用了 DCA 算法,用 ECA 才能获得 P,只有 A 才知道 DCA 算法,任何人,即使是 B 也不能伪造 A 的签名。 3.3.2 RSA 的实用性 在 CA 系统中,公开密钥系统主要用于对秘密密钥(在 CA 系统中称控制字——ControlWord 用于对数据码流进行加扰)的加密过程。每个用户如果想要对数据进行加密和解密, 都需要生成一对自己的密钥对(Key Pair)。密钥对中的公开密钥和非对称加密解密算法是公 开的,但私有密钥则应该由密钥的主人妥善保管。对数据信息进行加密传输的实际过程是: 发送方生成一个秘密密钥并对数据流用秘密密钥(控制字)进行加扰,然后用网络把加扰后 的数据流传输到接收方。 发送方生成一对密钥,用公开密钥对秘密密钥(控制字)进行加密,然后通过网络传输 到接收方。 接收方用自己的私有密钥(存放在接收机智能卡中)进行解密后得到秘密密钥(控制字), 然后用秘密密钥(控制字)对数据流进行解扰,得到数据流的解密形式。 因为只有接收方才拥有自己的私有密钥,所以其他人即使得到了经过加密的秘密密钥 (控制字),也因为无法进行解扰而保证了秘密密钥(控制字)的安全性,从而也保证了传输数 据流的安全性。实际上,在数据传输过程中实现了两个加密解密过程,即数据流本身的加 解扰和秘密密钥(控制字)的加密解密,这分别通过秘密密钥(控制字)和公开密钥来实现。 3.3.3 RSA 的实用考虑 RSA 公开密钥密码体制的安全性取决于从公开密钥(n,e)计算出私有密钥(n,d)的困难 程度,而后者则等同于从 n 找出它的两个质因数 p 和 q。因此,寻求有效的因数分解的算 法就是寻求击破 RSA 公开密钥密码系统的关键。 显然,选取大数 n 是保障 RSA 算法的一种有效办法,RSA 实验室认为,512 位的 n 已 不够安全,1997 年或 1998 年后应停止使用。他们建议,现在的个人应用需要用 768 位的 n, 公司要用 1024 位的 n,极其重要的场合应该用 2048 位的 n。RSA 实验室还认为,768 位的 n 可望到 2004 年仍保持安全。 不对称密钥密码体制(即公开密钥密码体制)与对称密钥密码体制相比较,确实有其不 可取代的优点,但它的运算量远大于后者,超过几百倍、几千倍甚至上万倍,要复杂得多。 在公共媒体网络上全都用公开密钥密码体制来传送机密信息是没有必要的,也是不现 实的。在计算机系统中使用对称密钥密码体制已有多年,既有比较简便可靠的、久经考验 的方法,如以 DES(数据加密标准)为代表的分块加密算法(及其扩充 DESX 和 Triple DES); ·48· www.plcworld.cn 第 3 章 信息加密技术 ·49· 也有一些新的方法发表,如由 RSA 公司的 Rivest 研制的专有算法 RC2、RC4 和 RC5 等, 其中 RC2 和 RC5 是分块加密算法,RC4 是数据流加密算法。 如果传送机密信息的网络用户双方使用某个对称密钥密码体制(例如 DES),同时使用 RSA 不对称密钥密码体制来传送 DES 的密钥,就可以综合发挥两种密码体制的优点,即 DES 的高速简便性和 RSA 密钥管理的方便和安全性。 另外,RSA 算法还有以下缺点: (1) 产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。 (2) 安全性,RSA 的安全性依赖于大数的因子分解,但并没有从理论上证明破译 RSA 的难度与大数分解难度等价,而且密码学界多数人士倾向于因子分解不是 NPC 问题。目前, 人们已能分解 140 多个十进制位的大素数,这就要求使用更长的密钥,速度更慢;另外, 目前人们正在积极寻找攻击 RSA 的方法,如选择密文攻击,一般攻击者是将某一信息做一 下伪装(Blind),让拥有私钥的实体签署。然后,经过计算就可得到它所想要的信息。实际 上,攻击利用的都是同一个弱点,即存在这样一个事实:乘幂保留了输入的乘法结构。 (XM)d = Xd ×Md mod n 前面已经提到,这个固有的问题来自于公钥密码系统的最有用的特征——每个人都能 使用公钥。但从算法上无法解决这一问题,主要措施有两条:一条是采用好的公钥协议, 保证工作过程中实体不对其他实体任意产生的信息解密,不对自己一无所知的信息签名; 另一条是绝不对陌生人送来的随机文档签名,签名时首先使用 One-Way Hash Function 对文 档做 HASH 处理,或同时使用不同的签名算法。除了利用公共函数,人们还尝试利用解密 指数或φ(n)等攻击。 (3) 速度太慢,由于 RSA 的分组长度太大,为保证安全性,n 至少也要 600 位以上, 使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术 的发展,这个长度还在增加,不利于数据格式的标准化。目前,SET(Secure Electronic Transaction)协议中要求 CA 采用 2048 位的密钥,其他实体使用 1024 位的密钥。为了速度 问题,目前人们广泛使用单、公钥密码结合使用的方法,优缺点互补:单钥密码加密速度 快,人们用它来加密较长的文件,然后用 RSA 来给文件密钥加密,极好地解决了单钥密码 的密钥分发问题。 3.4 计算机网络的加密技术 在实际应用中人们通常将常规密码和公钥密码结合在一起使用,比如:利用 DES 或者 IDEA 来加密信息,而采用 RSA 来传递会话密钥。如果按照每次加密所处理的位数来分类, 可以将加密算法分为序列密码和分组密码。前者每次只加密一位而后者则先将信息列 分组,每次处理一个组。 密码技术是网络安全最有效的技术之一。加密网络不但可以防止非授权用户的搭线窃 听和入网,而且也是对付恶意软件的有效方法之一。 一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。 ·49· www.plcworld.cn ·50· 计算机网络安全技术 3.4.1 链路加密 对于在两个相邻网络节点间的某一次通信,链路加密能为网上传输的数据提供安全保 证。对于链路加密(又称在线加密),所有消息在被传输之前进行加密,在每一个节点对接 收到的消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输。在到 达目的地之前,一条消息可能要经过许多通信链路的传输。 由于在每一个中间传输节点消息均被解密后重新进行加密,因此,包括路由信息在内 的链路上的所有数据均以密文形式出现。这样,链路加密就掩盖了被传输消息的源点与终 点。由于填充技术的使用以及填充字符在不需要传输数据的情况下就可以进行加密,这使 得消息的频率和长度特性得以掩盖,从而可以防止对通信业务进行分析。 尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。链路加密通 常用在点对点的同步或异步线路上,它要求先对在链路两端的加密设备进行同步,然后使 用一种链模式对链路上传输的数据进行加密。这就给网络的性能和可管理性带来了副作用。 在线路或信号经常不通的海外或卫星网络中,链路上的加密设备需要频繁地进行同步,带 来的后果是数据丢失或重传。另一方面,即使仅一小部分数据需要进行加密,也会使得所 有传输数据被加密。 在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式存在,因此 所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保证每一个节点的安全性 需要较高的费用,为每一个节点提供加密硬件设备和一个安全的物理环境所需要的费用由 以下几部分组成:保护节点物理安全的雇员开销,为确保安全策略和程序的正确执行而进 行审计时的费用,以及为防止安全性被破坏会带来损失而参加保险的费用。 在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的,该密钥必须 被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密系统中就成了一个问题, 因为每一个节点必须存储与其相连接的所有链路的加密密钥,这就需要对密钥进行物理传 送或者建立专用网络设施。而网络节点地理分布的广阔性使得这一过程变得复杂,同时增 加了密钥连续分配时的费用。 3.4.2 节点加密 尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似 的:两者均在通信链路上为传输的消息提供安全性;都在中间节点先对消息进行解密,然后 进行加密。因为要对所有传输的数据进行加密,所以加密过程对用户是透明的。 然而与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到 的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程是在节点上的一个安全 模块中进行的。 节点加密要求报头和路由信息以明文形式传输,以便中间节点能得到如何处理消息的 信息。因此这种方法对于防止攻击者分析通信业务是脆弱的。 ·50· www.plcworld.cn 第 3 章 信息加密技术 ·51· 3.4.3 端到端加密 端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端 加密(又称脱线加密或包加密),消息被传输时在到达终点之前不进行解密,因为消息在整 个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。 端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠,更容易设计、 实现和维护。端到端加密还避免了其他加密系统所固有的同步问题,因为每个报文包均是 独立被加密的,所以一个报文包所发生的传输错误不会影响后续的报文包。此外,从用户 对安全需求的直觉上讲,端到端加密更自然些。单个用户可能会选用这种加密方法,以便 不影响网络上的其他用户,此方法只需要源和目的节点是保密的。 端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过 的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点 与终点,因此它对于防止攻击者分析通信业务是脆弱的。 下面讲一个链路加密的实例。 先了解 Windows 网络驱动程序以及网络驱动程序接口规范(Network Driver Interface Specification,NDIS),再了解一种基于 NDIS 的网络链路加密方案。 目前的局域网基本上都采用以广播为技术基础的以太网技术,任何两个节点之间的通 信数据包,不仅被这两个节点的网卡所接收,也同时可以被处在同一以太网上的任何一个 节点的网卡所截取。因此,黑客只要接入以太网上任一节点进行侦听,就可以捕获在这个 以太网上传输的所有数据包,对其进行解包分析,从而窃取关键信息,这是以太网所固有 的安全隐患。为了对网络提供安全、可靠以及对上层应用完全透明的数据传输,可以考虑 在链路层对网络数据进行加解密,将加密模块整合进网卡驱动程序当中。这样可以使其无 缝地与其他网络设备一起工作,从而保护整个网络数据。 发送方主机将数据发送到网络上,这些数据会经过网络中每一个节点。但各节点的网 卡只将与自身 MAC 地址相匹配的数据送到上层协议进行处理,与本机 MAC 地址不匹配的 数据将被丢弃。但如果将该网卡的工作模式设置为混杂模式,则网卡将接收网络中所有流 经该节点的数据包。以上这些都是由网卡以及其驱动程序来完成的,因此在 Windows 环境 下,要对网卡接收和发送的数据进行处理,首先要了解网络驱动程序接口规范。NDIS 规范 了网络驱动程序间的标准接口,也维护着网络驱动程序的参数和状态信息,包括指向函数 的指针、句柄和链接参数块的指针,以及其他系统参数。总的来说,NDIS 本质上是一种 软件接口,它使不同的传输可以采用一种通用的方式来访问由不同厂商制造的网卡。 网络驱动程序不是直接调用操作系统的例程,而是通过 NDIS 进行系统调用,而 NDIS 驱动程序所存在的环境都是由 NDIS 库(Ndis.sys)所创建的。这个库处理网络通信中涉及许 多细节,并且输出一组由所有 NDIS 驱动程序使用的标准接口,提供一个形如 NdisXxx 的 系统函数集,使各 NDIS 驱动程序不需要直接与操作系统进行通信,为驱动开发者提供了 方便。 最初人们把 NDIS 构思为一个将局域网卡驱动程序在逻辑上同其协议实现分离的接口。 在 Windows 2000 环境下,NDIS 已发展到 5.0 版本,成为集局域网、广域网等网络标准于 一体的完整家族。 ·51· www.plcworld.cn ·52· 计算机网络安全技术 根据其作用不同,NDIS 支持下列几种网络驱动程序形式。 (1) 微端口驱动程序(Miniport Drivers)。 (2) 中间驱动程序(Intermediate Drivers)。 (3) 协议驱动程序(Protocol Drivers)。 NDIS 各层驱动程序以及它们之间的关系如图 3.1 所示。 图 3.1 NDIS 组件图 网卡驱动程序向下管理物理硬件,向上提供接口。上层可以通过该驱动向网络发送数 据,处理中断,查询驱动程序运行状态。在 Windows 环境下,网卡驱动程序也就是对应于 NDIS 的微端口驱动程序。 微端口驱动程序工作在数据链路层,是与网络接口卡(Network Interface Card,基于网 卡编程的主要控制对象)结合最紧密的一层驱动程序。它调用 NDIS 库提供的接口函数来完 成 NIC 与上层驱动程序之间的相互通信。NDIS 库导出一组函数集合(NdisXxx 函数)来封装 所有微端口需要调用的操作系统函数,而微端口也输出一组 MiniportXxx 函数供 NDIS 和上 层驱动程序调用。 1. 链路加密的设计思想 数据链路层是 OSI 系统结构中的第二层,如果采用链路加密,则网络中每条通信链路 上的加密是独立实现的。对每条链路可以使用不同的密钥,这样当某条链路受到破坏时也 不会导致其他链路上传递的加密信息被解出。 NDIS 微端口驱动位于网络链路层,是网络驱动中与网卡结合最紧密的驱动程序。因此 可以对微端口驱动程序进行改造,在驱动程序中实现对数据帧的截取,并调用加解密模块 对数据进行加解密,如图 3.2 所示。对驱动程序的改造大体可以分为两步:截取数据帧和 加解密模块的实现。 1) 截取数据帧 NDIS 库为微端口驱动程序提供了一系列接口函数。微端口驱动程序可以利用这些函数 在主机与网络之间建立联系,也可以利用这些函数来截取数据。 在发送本机数据到网卡之前,可以在微端口驱动程序中加入截取子程序截获数据帧, 并把数据帧送入加密模块进行加密,然后将加密后的密文送入网卡缓冲区中。接收数据时, 从网卡缓冲区中接收的密文被送入主机内存。密文在送往上层网络驱动程序之前被接收截 ·52· www.plcworld.cn 第 3 章 信息加密技术 ·53· 取子程序截获,并调用解密模块将其解密成明文,之后再将明文数据送交上层处理。 图 3.2 链路层加密方案设计框图 2) 加解密模块 考虑到帧长的限制,对于数据帧加密要求必须保证其明文和密文长度相等。因此在加 解密模块当中采用分组密码算法。分组密码的工作方式是将明文分成固定长度的组(块), 用同一密钥对每一块加密,输出也是固定长度的密文,本节以 DES 加解密算法为例。 考虑到软件加解密过程速度较慢,为了提高速度,直接将加解密模块嵌入到微端口驱 动程序中,这样所有对数据的处理将全部在系统底层进行,大大提高了数据处理的效率。 最后将所有模块集成在一起,编译生成网卡驱动程序 MYNE200.SYS 文件,分别安装在两 台主机中进行测试。 2. 链路加密的设计实现 1) 实现工具及环境 本方案提出在微端口驱动程序中实施加解密,因此要选用适当的工具对微端口驱动程 序进行改造。 开发驱动程序的工具有很多种,本方案采用的是 NuMega 公司的驱动程序开发工具 DriverStudio。这套软件开发工具包括 SoftICE、DriverWorks、DriverNetWorks、VtoolsD 和 DriverAgent 等多种软件工具。 现在使用的是针对 Windows 网络驱动程序的开发工具 DriverNetworks。在安装了 Windows 2000 DDK 的环境下,该工具为 NDIS 驱动程序开发者提供了一个框架,开发者可 以很方便地在已有的框架中添加程序并对程序进行编译。该工具可以生成 VC++所需的源 文件、DSP 文件以及 INF 文件,方便了驱动程序的开发和改造。 由于本方案中对数据的截取和加密主要是在发送和接收过程中进行的,因此主要介绍 在数据发送和接收过程中对数据的处理。 2) 数据的发送和截取 数据的发送由上层协议驱动发起,发送的数据信息用一个 NDIS_PACKET 包来描述。 NDIS 库提供了一些函数来提取包中的信息,并对其进行处理。 ·53· www.plcworld.cn ·54· 计算机网络安全技术 发送过程可分为两种情况。 (1) 当协议驱动程序有数据要发送时,启动传输操作,通过 NIDS 库调用微端口驱动程 序的 MYNE2000Send 函数。该函数调用的参数是一个指向 NDIS_PACKET 包(描述将要发 送的信息)的指针。驱动调用 NdisQueryPacket 函数得到包的长度和存放待发送包缓冲区的 逻辑地址。然后设置 NIC 上的寄存器将包发送出去,并返回一个发送成功的状态。 (2) 如果驱动程序不能立即发送包,则将它送到“待传输”队列中,然后由中断处理 函数 MYNE2000HandleInterrupt 来完成发送。完成发送以后,调用 NdisMSendComplete 函 数通知上层发送已经完成。 由于从上层传下来的数据包到微端口层被放在预先分配的缓冲区中。用 NDIS 提供的 相应函数,可以得到该缓冲区的首地址和数据长度。因此,可在驱动程序中加入 Send_Intercept 子程序,利用 NDIS 提供的函数得到存放数据缓冲区的相应参数。然后调用 加密模块接口函数 DES_ENCRYPT 对数据包进行加密。最后调用 CardWrite 子程序将加密 后的密文发送到网络上。 这里需要注意的是当微端口驱动程序准备发送数据包时,总是认为上层的协议驱动程 序不会发送一个太大的数据包到微端口层。因为根据 NDIS,协议驱动程序会在初始化时查 询微端口并决定包的最大长度,协议驱动只能传送大小在微端口层支持范围内的数据包。 在本方案中,数据包的最大长度不会超过 1514 字节。 3) 数据的接收和截取 数据接收是将网络上的数据帧接收到网卡缓冲区中,然后由驱动程序将缓冲区中的数 据读入内存中。 网卡接收数据时会产生一个中断,因此驱动程序接收数据首先要在中断处理过程 MYNE2000HandleInterrup 中进行。对于以太网卡,程序调用 NdisMEthReceiveIndicate 函数 将一个称为 lookahead 的数据传递给上层协议驱动,由协议驱动检查收到的数据是否符合协 议要求。lookahead 是指网卡中准备接收的数据的一部分。因为协议驱动判断微端口接收的 数据是否符合协议要求时,不需要对所有数据都进行判断,只需对一部分数据(lookahead) 进行判断。 如果协议驱动判断数据符合要求,就会调用微端口的 MYNE2000TransferData 函数, 将除 lookahead 之外的剩余数据传送到内存中,再交给上层驱动处理。当传送完毕时,调用 NdisMEthReiveIndicatecomplete 函数通知上层驱动数据已经接收完毕。如果协议驱动检查数 据不符合要求,就会终止接收过程。而已经传送到内存中的 lookahead 也会被下次接收到的 数据覆盖掉。 在接收过程中截取数据需要注意一个问题。按照 NDIS 的规定:在接收数据时,先要 调用 NdisMEthReceiveIndicate 函数将网卡缓冲区中接收的数据的一部分(lookahead)发送到 上层驱动程序,余下的数据仍在网卡缓冲区中。但是这样会把密文数据分割开,从而无法 完成对数据的解密。 因此,必须另外开辟出一块缓冲区 Prebuffer,在接收截取子程序 Receive_Intercept 中 先调用 CardRead 子程序,将网卡缓冲区中所有密文数据送入内存缓冲区 Prebuffer,同时得 到数据长度。然后调用解密模块函数 DES_DECRYPT 对密文进行解密,解密后的数据存放 在 Prebuffer 中。接下来按照原先的接收顺序,先发送一部分数据到 lookahead,交协议驱动 确认后,再将剩余数据送往上层,最后调用 Indicatecomplete 函数表示接收过程已经结束。 ·54· www.plcworld.cn 第 3 章 信息加密技术 ·55· 4) 加解密的实现 加解密实现的主要思想是将加解密算法集成到驱动程序中,本方案采用传统的 DES 加 解密算法作为示例。 数据在被送入加密模块之前已经成帧,前 14 个字节存放的是源地址、目的地址和数据 长度。发送截取函数 Send_Intercept 得到将要加密的数据长度和起始地址后,调用加密模块 的接口函数 DES_ENCRYPT,从数据的第 15 个字节开始进行加密,这样就将除地址和数 据长度之外的所有数据都进行了加密。数据进行加密之后,驱动程序调用 CardWrite 函数 将数据发送到网络中。 由于采用的是分组加密算法,密文长度和明文长度一致。这样就保证了传送的密文长 度不会超过以太网协议所规定的帧的最大长度,也就不存在因数据过长而需要对数据进行 分割的问题。 数据帧被接收到网卡缓冲区后,读入到内存当中的前 14 个字节数据为源地址、目的地 址和数据长度。这 14 个字节的信息是以明文形式存在的。解密时,接收截取子程序 Receive_Intercept 调用解密模块接口函数 DES_DECRYPT,从密文数据的第 15 个字节开始 进行解密运算。解密之后将数据存入预先分配的缓冲区 Prebuffer 中。此后,驱动程序无论 调用 NdisMEthReceiveIndicate 函数,还是调用 MYNE2000TransferData 函数,都是从缓冲 区 Prebuffer 中读取数据,而不是从网卡缓冲区中读取,直至解密过程结束。 3.5 密钥管理与交换技术 3.5.1 密钥的管理问题 密钥既然要求保密,这就涉及密钥的管理问题。任何保密都是相对的,而且是有时效 的。要管理好密钥还要注意以下几个方面。 1. 密钥的使用要注意时效和次数 如果用户可以一次又一次地使用同样的密钥与别人交换信息,那么密钥也同其他任何 密码一样存在着一定的安全性问题,虽然说用户的私钥是不对外公开的,但是也很难保证 长期不泄露。使用一个特定密钥加密的信息越多,提供给窃听者的材料也就越多,从某种 意义上来讲也就越不安全。因此,一般强调仅将一个对话密钥用于一条信息或一次对话中, 或者建立一种按时更换密钥的机制以减小密钥泄露的可能性。 2. 多密钥的管理 在大企业中,要使任意两人之间进行秘密对话,就需要每个人记住很多密钥。Kerberos 提供了一种较好的解决方案,它使密钥的管理和分发变得十分容易,虽然这种方法本身还 存在一定的缺点,但它建立了一个安全的、可信任的密钥分发中心,每个用户只要知道一 个和 KDC 进行会话的密钥就可以了。 假设用户甲想要和用户乙进行秘密通信,则用户甲先和 KDC 通信,用只有用户甲和 KDC 知道的密钥进行加密,用户甲告诉 KDC 他想和用户乙进行通信,KDC 会为用户甲和 用户乙之间的会话随机选择一个对话密钥,并生成一个标签,这个标签由 KDC 和用户乙之 ·55· www.plcworld.cn ·56· 计算机网络安全技术 间的密钥进行加密,并在用户甲和用户乙对话时,由用户甲把这个标签交给用户乙。这个 标签的作用是让用户甲确信和他交谈的是用户乙,而不是冒充者。因为这个标签是由只有 用户乙和 KDC 知道的密钥进行加密的,所以即使冒充者得到用户甲发出的标签也不可能进 行解密,只有用户乙收到后才能够进行解密,从而确定了与用户甲对话的人就是用户乙。 当 KDC 生成标签和随机会话密码时,就会把它们用只有用户甲和 KDC 知道的密钥进 行加密,然后把标签和会话密钥传给用户甲,加密的结果可以确保只有用户甲能得到这个 信息,只有用户甲能利用这个会话密钥和用户乙进行通话。同理,KDC 会把会话密码用只 有 KDC 和用户乙知道的密钥加密,并把会话密钥给用户乙。 用户甲会启动一个和用户乙的会话,并用得到的会话密钥加密自己和用户乙的会话, 还要把 KDC 传给它的标签传给用户乙以确定用户乙的身份,然后用户甲和用户乙之间就可 以用会话密钥进行安全会话了,而且为了保证安全,这个会话密钥是一次性的,这样黑客 就更难进行破解。同时由于密钥是一次性由系统自动产生的,则用户不必记很多密钥而方 便了人们的通信。 3.5.2 Diffie-Hellman 密钥交换技术 密钥交换法指明如何在客户端和服务器的数据传输中使用共享的对称密钥。 DH 算法是 W.Diffie 和 M.Hellman 提出的。此算法是最早的公钥算法。它实质是一个 通信双方进行密钥协定的协议:两个实体中的任何一个使用自己的私钥和另一实体的公钥, 得到一个对称密钥,这一对称密钥其他实体都计算不出来。DH 算法的安全性基于有限域 上计算离散对数的困难性。离散对数的研究现状表明:所使用的 DH 密钥至少需要 1 024 位, 才能保证有足够的中、长期安全。 DH 算法是用于密钥交换的最早最安全的算法之一。DH 算法的基本工作原理是:通信 双方公开或半公开交换一些准备用来生成密钥的“材料数据”,在彼此交换过密钥生成“材 料”后,两端可以各自生成出完全一样的共享密钥。在任何时候,双方都绝不交换真正的 密钥。 DH 密钥交换协议如下。 首先,Alice 和 Bob 双方约定两个大整数 n 和 g,其中 11023 内部 25 Allow 2 Out TCP 内部 25 外部 >1023 Allow 3 Out TCP 内部 >1023 外部 25 Allow 4 In TCP 外部 25 内部 >1023 Allow 5 Both * * * * * Deny 表 5-3 的规则 1、规则 2 允许内部主机接受来自外部的邮件,规则 3、规则 4 允许内部 主机向外部发送邮件,规则 5 禁止使用其他端口的协议数据包通过。 ·101· www.plcworld.cn ·102· 计算机网络安全技术 3. HTTP 处理 HTTP 是一个基于 TCP 的服务,大多数服务器使用端口 80,也可使用其他非标准端口, 客户机使用任何大于 1023 的端口。如果防火墙允许 WWW 穿越网络边界,则可定义表 5-4 所示规则。 表 5-4 规则三 Direction Type Src Port Dest Port Action 1 In TCP 外部 >1023 内部 80 Allow 2 Out 3 Out 4 In TCP 内部 80 外部 >1023 Allow TCP 内部 >1023 外部 80 Allow TCP 外部 80 内部 >1023 Allow 5 both * * * * * Deny 表 5-4 的规则 1、规则 2 允许外部主机访问本站点的 WWW 服务器,规则 3、规则 4 允许内部主机访问外部的 WWW 服务器。由于服务器可能使用非标准端口,给防火墙允许 的配置带来一些麻烦。一般实际使用的 IP 防火墙都直接对应用协议进行过滤,即管理员可 在规则中指明是否允许 HTTP 通过,而不是只关注 80 端口。 其他如 POP、FTP、Telnet、RPC、UDP、ICMP 等协议的处理过程也类似,限于篇幅 这里不再赘述。 5.2.3 代理服务器型防火墙 代理服务器型防火墙(Proxy Service Firewall)通过在主机上运行的服务程序,直接面对 特定的应用层服务,因此也称为应用型防火墙。其核心是运行于防火墙主机上的代理服务 进程,该进程代理用户完成 TCP/IP 功能,实际上是为特定网络应用而连接两个网络的网关。 对每种不同的应用(E-mail、FTP、Telnet、WWW 等)都应用一个相应的代理服务。外部网 络与内部网络之间想要建立连接,首先必须通过代理服务器的中间转换,内部网络只接受 代理服务器提出的要求,拒绝外部网络的直接请求。代理服务可以实施用户论证、详细日 志、审计跟踪和数据加密等功能和对具体协议及应用的过滤,如阻塞 Java 或 Java Script 等。 代理服务器有两个部件:一个代理服务器和一个代理客户。代理服务器是一个运行代 理服务程序的双宿主主机;而代理客户是普通客户程序(如一个 Telnet 或 FTP 客户)的特别 版本,它与代理服务器交互而并不与真正地与外部服务器相连。普通客户按照一定的步骤 提出服务请求,代理服务器依据一定的安全规则来评测代理客户的网络服务请求,然后决 定是受理还是拒绝该请求。如果代理服务器受理该请求,代理服务器就代表客户与真正的 服务器相连,并将服务器的相应响应传送给代理客户。更精细的代理服务可以对不同的主 机执行不同的安全规则,而不对所有主机执行同一个标准。 目前,市场上已经有一些优秀的代理服务软件。SOCKS 就是一个可以建立代理的工具, 这个软件可以很方便地将现存的客户/服务器应用系统转换成代理方式下的具有相同结构 的应用系统。而在 TIS FWTK(Trusted Information System Internet Firewall Toolkit)里包括了 能满足一般常用的互联网协议的代理服务器(如 Telnet、FTP、HTTP、rlogin、X.11),这些 ·102· www.plcworld.cn 第 5 章 防火墙技术与配置 ·103· 代理服务器是为与客户端的用户程序相连而设计的。 许多标准的客户与服务器程序,不管它们是商品软件还是免费软件,本身都具有代理 功能,或者支持使用像 SOCKS 这样的系统。 这种防火墙能完全控制网络信息的交换,控制会话过程,具有灵活性和安全性,但可 能影响网络的性能,对用户不透明,且对每一种服务器都要设计一个代理模块,建立对应 的网关层,实现起来比较复杂。 5.2.4 其他类型的防火墙 1. 电路层网关 电路层网关(Circuit Gateway)在网络的传输层上实施访问控制策略,是在内、外网络主 机之间建立一个虚拟电路进行通信,相当于在防火墙上直接开了个口子进行传输,不像应 用层防火墙那样能严密地控制应用层的信息。 2. 混合型防火墙 混合型防火墙(Hybrid Firewall)把包过滤和代理服务等功能结合起来,形成新的防火墙 结构,所用主机称堡垒主机,负责代理服务。各种类型的防火墙,各有其优缺点。当前的 防火墙产品,已不是单一的包过滤型或代理服务型防火墙,而是将各种安全技术结合起来, 形成一个混合的多级的防火墙系统,以提高防火墙的灵活型和安全性。如混合采用以下几 种技术:①动态包过滤;②内核透明技术;③用户认证机制;④内容和策略感知能力;⑤ 内部信息隐藏;⑥智能日志、审计和实时报警;⑦防火墙的交互操作性;⑧将各种安全技 术结合等。 3. 应用层网关 应用层网关(Application Gateway)使用专用软件转发和过滤特定的应用服务,如 Telnet 和 FTP 等服务连接。这是一种代理服务,代理服务技术适应于应用层,它由一个高层的应 用网关作为代理器,通常由专门的硬件来承担。代理服务器在接受外来的应用控制的前提 下使用内部网络提供的服务。也就是说,它只允许代理的服务通过,即只有那些被认为“可 依赖的”服务才允许通过防火墙。应用层网关有登记、日志、统计和报告等功能,并有很 好的审计功能和严格的用户认证功能,应用层网关的安全性高,但它要为每种应用提供专 门的代理服务程序。 4. 自适应代理技术 自适应代理技术(Self-Adaptive Agent Technology)是一种新颖的防火墙技术,在一定程 序上反映了防火墙目前的发展动态。该技术可以根据用户定义的安全策略,动态适应传送 中的分组流量。如果安全要求较高,则安全检查应在应用层完成,以保证代理防火墙的最 大安全性;一旦代理明确了会话的所有细节,其后的数据包就直接到达速度快得多的网络 层。该技术兼备了代理技术的安全性和其他技术的高效率。 各种防火墙的性能比较见表 5-5。 ·103· www.plcworld.cn ·104· 计算机网络安全技术 类型 性能 工作层次 效率 安全 根本机制 内部信息 高层数据理解 包过滤 网络层 最高 最低 过滤 无 无 支持应用 UDP 支持 所有 无 表 5-5 各种防火墙性能比较 应用网关 应用层 低 高 过滤 无 有 标准应用 (易扩展) 有 代理服务 应用层 最低 最高 代理 有 有 标准应用 (易扩展) 有 电路层网关 网络层 高 低 代理 有 无 所有 无 自适应代理技术 网络层或应用层 自适应 自适应 过滤成代理 有 有 标准应用 (易扩展) 有 5.3 防火墙设计的安全要求与准则 从网络的安全角度看,防火墙必须满足以下要求。 (1) 防火墙应由多个构件组成,形成一个有一定冗余度的安全系统,避免成为网络的 单失效点。 (2) 防火墙应能抵抗网络黑客的攻击,并可对网络通信进行监控和审计。这样的网络 结点称为阻塞点。 (3) 防火墙一旦失效、重启动或崩溃,则应完全阻断内、外部网络站点的连接,以免 闯入者进入。这种安全模式的控制方法是由防火墙安全机制来控制网络的接口的启动。称 这种防火墙的失效模式是“失效—安全”模式。 (4) 防火墙应提供强制认证服务,外部网络站点对内部网络的访问应经过防火墙的 认证检查,包括对网络用户和数据源的认证。它应支持 E-mail、FTP、Telnet 和 WWW 等 使用。 (5) 防火墙对内部网络应起到屏蔽作用,并且隐蔽内部网站的地址和内部网络的拓扑 结构。 在防火墙的设计中,安全策略是防火墙的灵魂和基础。通常,防火墙采用的安全策略 有如下两个基本准则。 (1) 一切未被允许的访问就是禁止的。基于该原则,防火墙要封锁所有的信息流,然 后对希望开放的服务逐步开放,这是一种非常实用的方法,可以形成一个十分安全的环境, 但其安全是以牺牲用户使用的方便为代价的,用户所能使用的服务范围受到较大的限制。 (2) 一切未被禁止的访问就是允许的。基于该准则,防火墙开放所有的信息流,然后 逐项屏蔽有害的服务。这种方法构成了一种灵活的应用环境,但很难提供可靠的安全保护, 特别是当保护的网络范围增大时。 ·104· www.plcworld.cn 第 5 章 防火墙技术与配置 ·105· 建立防火墙是在对网络的服务功能和拓扑结构仔细分析的基础上,在被保护的网络周 边,通过专用硬件、软件及管理措施的综合,对跨越网络边界的信息提供监测、控制甚至 修改的手段。 5.4 防火墙安全体系结构 网络防火墙的安全体系结构基本上分 5 种:过滤路由器结构;双宿主主机结构;主机 过滤结构;过滤子网结构;吊带式结构。 5.4.1 过滤路由器防火墙结构 在传统的路由器中增加分组过滤功能就能形成这种最简单的防火墙。这种防火墙的好 处是完全透明,但由于是在单机上实现,形成了网络中的“单失效点”。由于路由器的基 石功能是转发分组,一旦过滤机能失效,被入侵都就会形成网络直通状态,任何非法访问 都可以进入内部网络。因此这种防火墙的失效模式不是“失效—安全”型,也违反了阻塞 点原理。因此,我们认为这种防火墙尚不能提供有效的安全功能,仅在早期的因特网中应 用。过滤防火墙的基本结构如图 5.1 所示。 服务器 内部网络 包过滤路由器 网络 图 5.1 包过滤路由器防火墙结构 5.4.2 双宿主主机防火墙结构 该结构至少是具有两个接口(即两块网卡)的双宿主主机而构成。双宿主主机的一个接 口接内部网络,另一个接口接外部网络,这种主机还可以充当与这台主机相连的网络之间 的路由器,它能将一个网络的 IP 数据包在无安全控制的情况下传递给另外一个网络。但是 在将一台主机安装到防火墙结构中时,首先要使双宿主主机的这种路由功能失效。从一个 外部网络(如互联网络)来的 IP 数据包不能无条件地传给另一个网络(如内部网络)。只有双 宿主主机支持内、外网络,并与堡垒主机实施通信,而内、外网络之间不能直接通信。双 宿主主机可以提供很高程度的网络控制。如果安全规则不允许包在内、外部网络之间直传, 而发现内部网络的包有一个对应的外部数据源,这就说明系统安全机制出问题了。在有些 情况下,如果一个申请的数据类型与外部网络提供的某种服务不相符时,双宿主主机否决 ·105· www.plcworld.cn ·106· 计算机网络安全技术 申请者要求与外部网的连接。同样情况下,用包过滤系统做到这种控制是非常困难的。当 然,要充分地利用双宿主主机其他潜在的许多优点,其开发工作量是很大的。 双宿主主机只有用代理服务的方式或者用让用户直接注册到双宿主主机上的方式,才 能提供安全控制服务。另外,这种结构要求用户每次都必须在双宿主主机上注册,这样就 会使用户感到不方便。该防火墙安全结构如图 5.2 所示。 使用时,一般要求用户先注册,再通过双宿主主机访问另一边的网络,但由于代理服 务器简化了用户的访问过程,可以做到对用户透明,属于“失效—安全”型。由于该防火 墙仍是由单机组成的,没有安全冗余机制,仍是网络的“单失效点”,因此这种防火墙还 是不完善的,在现在的因特网中仍有应用。 防火墙 网络 服务器 双宿主主机 图 5.2 双宿主主机防火墙结构 5.4.3 主机过滤型防火墙结构 这种防火墙由过滤路由器和运行网关软件的堡垒主机构成。该结构提供安全保护的堡 垒主机仅与内部网络相连,而过滤路由器位于内部网络和外部网络之间,如图 5.3 所示。 服务器 包过滤路由器 防御主机代理服务器 网络 图 5.3 主机过滤型防火墙结构 该主机可完成多种代理,如 FTP、Telnet 和 WWW,还可以完成认证和交互作用,能 提供完善的因特网访问控制。这种防火墙中的堡垒主机是网络的“单失效点”,也是网络 黑客集中攻击的目标,安全保障仍不理想。一般来讲,主机过滤结构能比双宿主主机结构 提供更好的安全保护区,同时也更具有可操作性,而且这种防火墙投资少,安全功能实现 ·106· www.plcworld.cn 第 5 章 防火墙技术与配置 ·107· 和扩充容易,因而目前应用比较广泛。 5.4.4 子网过滤型防火墙结构 该防火墙是在主机过滤结构中再增加一层参数网络的安全机制,使得内部网络和外部 网络之间有两层隔断。由参数网络的内、外部路由器分别连接内部与外部网络,如图 5.4 所示。 用参数网络(DMZ)来隔离堡垒主机与内部网,就能减轻入侵者冲开堡垒主机后给内部 网络带来的破坏力。入侵者即使冲过堡垒主机也不能对内部网络进行任意操作,而只可进 行部分操作。 DMZ 私人网络 防御主机 网络 图 5.4 子网过滤型防火墙结构 在最简单的子网过滤结构中,有两台与参数网络相连的过滤路由器,一台位于参数网 络与内部网络之间,而另一台位于参数网络与外部网络之间。在这种结构下,入侵者要攻 击到内部网络就必须通过两台路由器的安全控制。即使入侵者通过了堡垒主机,它还必须 通过内部网络路由器才能抵达内部网。这样,整个网络安全机制就不会因一点被攻击而全 部瘫痪。 有些站点还可用多层参数网络加以保护,低可靠性的保护由外层参数网络提供,高可 靠性的保护由内部网络提供。这样,入侵者撞开外部路由器,到达堡垒主机后,必须再破 坏更为精致的内部路由器才可以到达内部网络系统。但是,如果在多层参数网络结构中的 每层之间使用的包过滤系统允许相同的信息可通过任意一层,那么另外的参数网络也就不 会起作用了。 这种防火墙把前一种主机的通信功能分散到多个主机组成的网络中,有的作为 FTP 服 务器,有的作为 E-mail 服务器,有的作为 WWW 服务器,有的作为 Telnet 服务器,而堡垒 主机则作为代理服务器和认证服务器置于周边网络中,以维护因特网与内部网络的连接。 这种网络防火墙配置减少入侵者闯入破坏的机会,是一种比较理想的安全防范模式。 5.4.5 吊带式防火墙结构 这种防火墙与子网过滤型防火墙结构的区别是,作为代理服务器和认证服务器的网关 ·107· www.plcworld.cn ·108· 计算机网络安全技术 主机位于周边网络中。这样,代理服务器和认证服务器是内部网络的第一道防线,内部路 由器是内部网络的第二道防线,而把因特网的公共服务(如 FTP 服务器、Telnet 服务器和 WWW 服务器及 E-mail 服务器等)置于周边网络中,也减少了内部网络的安全风险。这种 防火墙的结构如图 5.5 所示。这种结构正符合我们提出的 5 点要求,应是最安全的防范 模式。 DMZ CA 服务器 Telent 服务器 私人网络 代理服务器 网络 WWW 服务器 FTP 服务器 图 5.5 吊带式防火墙结构 实践表明,过滤路由器防火墙是最简单的安全防范措施,双宿主主机防火墙居中,主 机过滤型防火墙和子网过滤型防火墙安全措施比较理想,而吊带式防火墙安全防范措施最 好,但一般在中小型企业网中应用不广泛。 5.4.6 典型的防火墙结构 建造防火墙时,一般很少采用单一的技术,通常是使用多种解决不同问题的技术组合。 这种组合取决于网络管理中心向用户提供什么样的服务,以及网管中心能接受什么等级的 风险。采用哪种技术主要取决于经费,制冷的大小或技术人员的技术、时间因素。一般有 以下几种形式。 (1) 使用多堡垒主机。 (2) 合并内部路由器与外部路由器。 (3) 合并堡垒主机与外部路由器。 (4) 合并堡垒主机与内部路由器。 (5) 使用多台内部路由器。 (6) 使用多台外部路由器。 (7) 使用多个周边网络。 (8) 使用双重宿主主机与屏蔽子网。 如图 5.6 所示是目前典型的防火墙结构。 ·108· www.plcworld.cn 第 5 章 防火墙技术与配置 Internet 路由器 防火墙 202.100.X.X 192.168.X.X DMZ 区 Web 服务器 多媒体服务器 FTP 服务器 ·109· 数据库 应用 工作站 工作站 服务器 服务器 内部网络 图 5.6 典型防火墙结构 5.5 创建防火墙步骤 成功创建一个防火墙系统一般需要 6 个步骤:制定安全策略,搭建安全体系结构,制 定规则次序,落实规则集,注意更换控制和做好审计工作。 建立一个可靠的规则集对于实现一个成功的、安全的防火墙来说是非常关键的一步。 如果防火墙规则集配置错误,再好的防火墙也只是摆设。在安全审计中,经常能看到一个 巨资购入的防火墙由于某个规则配置的错误而将机构暴露于巨大的危险之中。 5.5.1 制定安全策略 防火墙和防火墙规则集只是安全策略的技术实现。在建立规则集之前,必须首先理解 安全策略。安全策略一般由管理人员制定,假设它包含以下 3 方面内容。 (1) 内部员工访问因特网不受限制。 (2) 因特网用户有权访问公司的 Web 服务器和 E-mail 服务器。 (3) 任何进入公用内部网络的数据必须经过安全认证和加密。 实际的安全策略要远远比这复杂。实际应用中,需要根据公司的实际情况制定详细的 安全策略。 5.5.2 搭建安全体系结构 作为一个安全管理员,需要将安全策略转化为安全体系结构。 5.51 小节的第(2)条安全策略——因特网用户有权访问公司的 Web 服务器和 E-mail 服 ·109· www.plcworld.cn ·110· 计算机网络安全技术 务器,首先为公司建立 Web 和 E-mail 服务器。由于任何人都能访问 Web 和 E-mail 服务器, 所以这些服务器是不安全的,通过把这些服务器放入 DMZ 区来实现该项策略。 5.5.3 制定规则次序 在建立规则集时,需要注意规则的次序,哪条规则放在哪条之前是非常关键的。同样 的规则以不同的次序放置,可能会完全改变防火墙的运转情况。 很多防火墙以顺序方法检查信息包,当防火墙接收到一个信息包时,它先与第 1 条规 则相比较,然后是第 2 条、第 3 条、……,当它发现一条匹配规则时,就停止检查并应用 这条规则。通常的顺序是,较特殊的规则在前,较普通的规则在后,防止在找到一个特殊 规则之前一个普通规则便被匹配。 5.5.4 落实规则集 选择好素材后就可以建立规则集。一个典型的防火墙的规则集合包括 12 个方面,下面 简单介绍。 (1) 切断默认。第 1 步需要切断数据包的默认设置。 (2) 允许内部出网。允许内部网络的任何人出网,与安全策略中所规定的一样,所有 的服务都被许可。 (3) 添加锁定。添加锁定规则,阻塞对防火墙的访问,这是所有规则集都应有的一条 标准规格,除了防火墙管理员,任何人都不能访问防火墙。 (4) 丢弃不匹配的信息包。在默认情况下,丢弃所有不能与任何规则匹配的信息包, 但这些信息包并没被记录。把它添加到规则集末尾来改变这种情况,这是每个规则集都应 有的标准规则。 (5) 丢弃并不记录。通常网络上大量被防火墙丢弃并记录的通信通话会很快将日志填 满。创立一条规则丢弃或拒绝这种通话但不记录它。 (6) 允许 DNS 访问。允许因特网用户访问内部的 DNS 服务器。 (7) 允许邮件访问。允许因特网用户和内部用户通过 SMTP 协议访问邮件服务器。 (8) 允许 Web 访问。允许因特网用户和内部用户通过 HTTP 协议访问 Web 服务器。 (9) 阻塞 DMZ。禁止内部用户公开访问 DMZ 区。 (10) 允许内部的 POP 访问。允许内部用户通过 POP 协议访问邮件服务器。 (11) 强化 DMZ 的规则。DMZ 区域应该从不启动与内部网络的连接。 (12) 允许管理员访问。允许管理员以加密方式访问司令部网络。 5.5.5 注意更换控制 当规则组织好后,应该写上注释并经常更新,注释可以帮助理解每一条规则做什么。 对规则理解得越好,错误配置的可能性越小。对那些有多重防火墙管理员的大机构来说, 建议当规则被修改时,把下列信息加入注释中,这可以帮助管理员跟踪谁修改了哪条规则 及修改的原因。 (1) 规则更改者的名字。 (2) 规则变更的日期和时间。 ·110· www.plcworld.cn 第 5 章 防火墙技术与配置 ·111· (3) 规则变更的原因。 5.5.6 做好审计工作 建立好规则集后,检测是否可以安全地工作是关键的一步。防火墙实际上是一种隔离 内外网的工具。在因特网中,很容易犯一些配置上的错误。通过建立一个可靠的、简单的 规则集,可以在防火墙之后创建一个更安全的网络环境。 需要注意的是:规则越简单越好。网络的头号敌人是错误配置,尽量保持规则集简洁 和简短,因为规则越多,就越可能犯错误,规则越少,理解和维护就越容易。一个好的准 则是最好不要超过 30 条,一旦规则超过 50 条,应会以失败而告终。 5.6 防火墙配置实验 防火墙技术是建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,越 来越多地应用于专用网络与公用网络的互联环境中,尤其是接入到因特网的网络,防火墙 技术使用最普遍。防火墙有两大类,分别为硬件防火墙与软件防火墙。本节实训主要是对 这两类防火墙的典型产品进行相应的配置。硬件防火墙选用 Cisco PIX 防火墙,主要进行防 火墙的配置方式、防火墙的升级、防火墙的基本操作、地址翻译(NAT)、对主机与资源的 过滤等实验。 而软件防火墙选用费尔个人防火墙。主要对指定的 IP 地址、应用程序、端口、站点的 禁用进行配置。要求学生能够熟练掌握以上实验,为今后进一步学习与掌握防火墙配置做 好准备。 5.6.1 Cisco PIX 防火墙的升级和初始配置 1. 实训目的 (1) 熟悉 Cisco PIX 515 防火墙的基本组成和功能,了解 Console 口和其他基本端口。 (2) 了解 Cisco PIX 515 防火墙的启动过程。 (3) 掌握通过超级终端由 Console 口登录到防火墙。 (4) 掌握 Cisco PIX 515 防火墙的初始化配置。 (5) 掌握 Cisco PIX 515 防火墙的升级。 2. 实训内容 (1) Cisco PIX 515 防火墙的基本组成和功能。 (2) Cisco PIX 515 防火墙的启动过程。 (3) 使用超级终端由 Console 口登录到防火墙。 (4) Cisco PIX 515 防火墙的初始化配置。 (5) Cisco PIX 515 防火墙的升级。 ·111· www.plcworld.cn ·112· 计算机网络安全技术 3. 实训理论基础 1) Cisco PIX 防火墙的介绍 在众多防火墙产品中,Cisco PIX 的防火墙在业界处于领先的地位,Cisco PIX 的防火 墙主要有以下 5 种型号。 (1) Cisco PIX 506——5 种型号中最小的,适用于高端的小型办公室或家庭办公室(SOHO) 机构,具有 10Mb/s 的测试吞吐量。 (2) Cisco PIX 515——适用于中小型企业和过程办公环境,具有 120Mb/s 的测试吞吐量, 能够处理 125 000 个并发会话。 (3) Cisco PIX 520——适用于大型企业和复杂的高端流量环境,具有 370Mb/s 的测试吞 吐量,能够处理 250 000 个并发会话。 (4) Cisco PIX 525——适用于企业和服务提供商,具有 370Mb/s 的测试吞吐量,能够处 理 280 000 个并发会话。 (5) Cisco PIX 535——它是 PIX 系列最新和最大的补充,适用企业和服务提供商,具有 1Gb/s 的测试吞吐量,能够处理 5 000 000 个并发会话。 2) Cisco PIX 515 防火墙 Cisco PIX 515 适合在中小型企业应用,最大可提供 128 000 个同时连接数。网络接口 卡支持以太网网卡,最大可支持到 6 个以太网网卡。其机箱上带有两个固定的 10/100Mb/s 自适应以太网网卡,并带有两个扩展槽。 Cisco PIX 515 硬件防火墙采用高性能的 Intel 处理器和嵌入式操作系统,其保护方案基 于自适应安全算法(ASA),可以确保最高的安全性。Cisco PIX 515 防火墙提供全面的防火 墙保护,对外部世界完全隐藏内部网络体系结构,加强了内部网、外部网链路和因特网之 间的安全访问。图形化的用户界面简化了配置和管理,并且可能通过电子邮件和寻呼机提 供报警和告警通知。 Cisco PIX 515 防火墙采用集成的软件和硬件平台,是一种专用的防火墙产品,采用操 作系统不是开放的 UNIX 或 Windows NT 的操作系统,而是采用了专有的、实时的 IOS, 在安全性能和数据流处理性能等方面要高于路由器防火墙或软件防火墙。 3) 相关命令 (1) nameif 命令。 nameif 命令为 PIX 防火墙上的每个接口分配一个名字,并指定它的安全级别(PIX 防火 墙的内部接口和外部接口除外,它们的名字是默认的)。 注意:在默认配置中,以太网 0 被命名为外部接口,安全级别是 0;以太网 1 被命名为内 部接口,安全级别是 100。 表 5-6 描述了 nameif 命令的选项和参数,命令语法如下所示。 nameif hardware_id if_name security_level ·112· www.plcworld.cn 第 5 章 防火墙技术与配置 ·113· 表 5-6 nameif 命令描述 nameif 命令参数/选项 hardware_id if_name security_level 描述 指定一个边界接口,以及它在 PIX 防火墙上的物理位置。PIX 防火墙可以 支持 3 种类型的接口:以太网、FDDI 和令牌环接口。根据接口在机箱上 的物理位置和接口类型,用一个字母数字型的标识符来代表一个接口。例 如,以太网接口可以被标识为 ethernet1、ethernet2、ethernet3 等;FDDI 接 口 可 以 被 标 识 为 fddi1 、 fddi2 、 fddi3 等 ; 令 牌 环 接 口 可 以 被 标 识 为 token-ring1、token-ring2、token-ring3 等。千兆以太网接口可以被标识为 gb-ethernet1、gb-ethernet2 等 为物理边界接口指定一个名字。这个名字是由用户指定的,而且必须被用 于所有未来的配置中,以提供对边界接口的引用。默认情况下,接口 e1 的名字是 inside(内部接口),接口 e0 的名字是 outside(外部接口) 为边界接口指定安全级别。输入取值范围为 1~99 的安全级别 (2) interface 命令。 interface 命令用以确定硬件类型,设置硬件速度,并启用接口。当在 PIX 防火墙上安 装一块附加的以太网接口卡时,PIX 防火墙可以自动识别这块附加的卡。表 5-7 描述了 interface 命令的选项和参数,命令语法如下所示。 interface hardware_id hardware_speed [shutdown] 对于那些有 Cisco IOS 软件使用经验的人,应该已经了解了 shutdown 选项的使用方法。 所有接口的默认状态是关闭的。例 5.1 显示了 PIX 515 接口的默认配置,以及用来启用和 关闭这些接口的命令。 【例 5.1】 启用和关闭 PIX 515 上的接口。 ! Default configuration: interface ethernet0 10baset shutdown interface ethernet1 10baset shutdown ! Enable both interfaces as 10Mb,half duplex: pixfirewall # (config) interface ethernet0 10baset pixfirewall # (config) interface ethernet1 10baset ! shut down both interfaces: pixfirewall # (config) interface thernet0 10baset shutdown pixfirewall # (config) interface thernet1 10baset shutdown interfaxce 命令参数/选项 hardware_id 表 5-7 interface 命令描述 描述 指定一个接口,以及它在 PIX 防火墙上的物理位置。这个参数的用法 与 nameif 命令中的相同 ·113· www.plcworld.cn ·114· 计算机网络安全技术 interfaxce 命令参数/选项 hardware_speed shutdown 续表 描述 确定连接速度。输入 auto,这样 PIX 防火墙就可以自动感知设备所需 的速度。 对于网络接口速度,以太网可能有的值有以下几个: z 10baset——设置 10Mb/s 以太网半双工通信 z 10full——设置 10Mb/s 以太网全双工通信 z 100basetx——设置 100Mb/s 以太网半双工通信 z 100full——设置 100Mb/s 以太网全双工通信 z auto——设置自动的以太网速度。 对于网络接口速度,千兆以太网(gb-ethernetX)可能有的值有以下几个: z 1000sxfull——设置全双工千兆以太网(默认) z 1000basesx——设置半双工千兆以太网 z 1000auto——自动协商全/半双工千兆以太网 对于网络接口速度,auto 是唯一可能的 FDDI1(fddiX)值 对于网络接口速度,Token Ring1(token-ringX)可能的值包括以下两个: z 4——设置环的速度是 4Mb/s z 16——设置环的速度是 16Mb/s 管理性地关闭这个接口 (3) ip address 命令。 PIX 防火墙上的每个接口都必须用一个 IP 地址进行配置。在配置完 IP 地址和掩码后, 通常应用 show ip 命令查看为网络接口分配了哪些地址。如果发现了一个错误,就应该用正 确的信息重新输入命令。表 5-8 描述了 ip address 命令的选项和参数,命令语法如下所示。 ip address if_name ip_address [netmask] 表 5-8 ip address 命令描述 ip address 命令参数/选项 if_name ip_address netmask 描述 描述了这个接口。这个名字是由用户指定的,而且必须被用于所有未 来的配置中,以提供对这个接口的引用 为接口分配的 IP 地址 如果没有指定网络掩码,将采用 “有类别(classful)”的网络掩码: A 类:255.0.0.0 B 类:255.255.0.0 C 类:255.255.255.0 当用 interface 命令安装一块 FDDI 或令牌环接口卡时,必须指定 FDDI 或令牌环接口 卡,因为 PIX 防火墙不能自动识别它们。 4) 管理模式 Cisco PIX 防火墙使用的命令集与 Cisco IOS 命令集很相似,但是在语法上不完全相同。 ·114· www.plcworld.cn 第 5 章 防火墙技术与配置 ·115· 当想要使用一个特定的命令时,必须处于适当的模式(对特定的命令来说),才能访问那个 特定的命令,PIX 提供了 4 种管理访问模式,见表 5-9。 表 5-9 各种管理模式的 PIX 提示符 模式 非特权模式 特权模式 配置模式 监视模式 提示符 pixfirewall> pixfirewall# pixfirewall(config t)# monitor> 进入该模式命令 登录后默认模式 在提示符 pixfirewall>下输入 enable 在提示符 pixfirewall#下输入 config terminal 4. 实训步骤 1) 观察 观察 Cisco PIX 515 防火墙的组成,了解各个端口的基本功能。 2) 通过 TFTP 下载一个 Cisco PIX 515 映像 Cisco PIX 515 从闪存或从 TFTP 服务器接收它的启动映像。本节描述 monitor 命令,用 户可以在 Cisco PIX 515 启动时发送一个 BREAK 字符或按 Esc 键以触发该命令。 (1) 在打开 Cisco PIX 515 防火墙电源和启动信息显示后,立刻发送一个 BREAK 字符 或按 Esc 键。 提示:如果使用的是 Windows 95 的超级终端,则可以同时按 Ctrl+Break 组合键以发送一 个 BREAK。 (2) 显示 moniter>prompt。 (3) 输入一个问号“?”以列表显示可用的命令。 (4) 使用接口命令以指定哪个接口可以使用 Ping 传输。如果 Cisco PIX 515 只有两个接 口,moniter 命令默认使用内部接口。 (5) 使用 address 命令指定 Cisco PIX 515 防火墙接口的 IP 地址。 (6) 使用 server 命令指定远程服务器的 IP 地址。 (7) 使用 file 命令指定 Cisco PIX 515 防火墙映像的文件名。 (8) 输入 gateway 命令以指定一个路由器网关的 IP 地址,通过该网关可以访问服务器。 (9) 使用 Ping 命令验证访问的正确性。如果这个命令失败,则表示网络不能访问服务 器。应检查网络连接,确定网络连接正常,能访问服务器后,再继续下一步的操作。 (10) 使用 TFTP 命令开始下载。 3) 配置 Cisco PIX 515 防火墙 (1) 启动控制台终端。 ① 用 Cisco PIX 515 防火墙附件箱提供的串行电缆将 PC 的串口和 Cisco PIX 515 防火 墙的控制台端口连接。 ② 执行“开始”→“程序”→“附件”→“通讯”→“超级终端”命令。 ③ 双击 Hypertrm.exe,启动超级终端。 ④ 输入连接名 PIX-515,单击“确定”按钮。 ⑤ 在“连接到”窗口选择“直接连接到串口 COM1”。 ·115· www.plcworld.cn ·116· 计算机网络安全技术 ⑥ 在 COM1 属性对话框进行以下设置并单击“确定”按钮。 比特率:9 600 b/s。 数据位:8。 奇偶校验:无。 停止位:1。 流量控制:硬件。 ⑦ 窗口将显示防火墙启动信息。 ⑧ 单击“文件”→“保存”,保存当前设置。 ⑨ 退出当前窗口。 (2) 进入 Cisco PIX 515 防火墙的配置模式。 ① 启动超级终端 Cisco PIX 515。 ② 启动消息出现后,提示正使用非授权模式。 ③ 输入 enable,按 Enter 键。 ④ 出现 password,按 Enter 键。 ⑤ 进入授权模式,输入 configure terminal,进入配置模式。 (3) 标识每个接口。可以使用 nameif 命令给每个接口命名,对于 2 接口的 Cisco PIX 515 防火墙,可以不必输入任何信息。 (4) 给内部接口定义 IP 地址。 ip address inside 192.168.1.1 255.255.255.0 (5) 配置以太网接口。 interface ethernet0 auto interface ethernet1 auto 5. 实训思考题 (1) 观察防火墙的基本结构,描述防火墙的各个接口及功能。 (2) 简述 nameif、ip address、interface 这 3 个命令。 (3) 简述防火墙的主要功能和几种类型。 (4) 简述防火墙的几种基本配置方式。 5.6.2 Cisco PIX 防火墙网络地址翻译(NAT)配置 当数据从内部经过防火墙向外发出时,可以让 PIX 防火墙来翻译所有的内部 IP 地址。 从网络安全的角度来看,如果一个特定的安全策略是只允许向外的流量,那么翻译内部地 址是一个非常安全的行为。如果在内部采用私有地址(RFC 1918),那么连接到因特网的翻 译过的地址(源地址)必须是注册地址。 如果外部的一个用户试图连接到内部,那么这个外部用户将不能成功。如果从因特网 发起一个会话,会话的目的地址是一个私有地址,那么这个会话将不能被建立,除非在 PIX 防火墙上进行配置来允许这个会话。 在 PIX 防火墙上设置地址翻译(NAT)时,可以有两种选择。内部地址可以被翻译成一 个指定的全局地址,这被称为静态地址翻译。第二种选择是在数据穿越 PIX 防火墙时,将 ·116· www.plcworld.cn 第 5 章 防火墙技术与配置 ·117· 内部地址翻译到一个全局地址池中的某个地址,这种翻译类型是动态地址翻译。 1. 实训目的 (1) 理解防火墙静态、动态地址翻译原理。 (2) 掌握相关的配置命令。 (3) 掌握静态地址翻译与动态地址翻译的配置方法。 2. 实训内容 (1) 静态地址翻译配置。 (2) 动态地址翻译配置。 3. 实训理论基础 1) 静态地址翻译 如果每次通过 PIX 防火墙建立一个向外的会话时,要求同一台主机都被翻译成相同的 地址,就需要采用静态地址翻译。它也可以用来让较低安全级别接口上的设备能够访问位 于较高安全级别接口上的 IP 地址。对于由同一个源地址创建的每条连接,PIX 防火墙为之 建立的翻译槽位都将具有相同的源 IP 地址和相同的翻译地址。 在定义 PIX 防火墙上的命令语法时,本地地址(local address)被定义为分配给内部主机 的地址(例如,在通过 PIX 的一个会话中,位于相对更被信任一侧的一台主机)。Global address(全局地址)被定义为在建立一个通过 PIX 的会话时,local address 将被翻译成的地址。 Foreign address(外部地址)被定义为一台外部主机上的 IP 地址(例如,在通过 PIX 的一个会 话中,位于不太被信任一侧的一台主机)。 表 5-10 描述了 static 命令的语法,命令如下所示。 static[(internal_if_name , external_if_name)]global_ip local_ip [netmask network_mask ] [max_conns [em_limit]] [norandomseq] 表 5-10 static 命令描述 static 命令参数/选项 internal_if_name external_if_name global_ip local_ip netmask network_mask 描述 内部网络接口名称,正在访问的较高安全级别的接口 外部网络接口名称,正在访问的较低安全级别的接口 全局 IP 地址。这个地址不要以是一个端口地址翻译 IP 地址。正在 访问的较低安全级别的接口上的 IP 地址 内部网络的本地 IP 地址。正在访问的较高安全级别的接口上的 IP 地址 在指定网络掩码之前所需的保留字 用于 global_ip 和 local_ip 的网络掩码。对于主机地址,总是采用 225.225.255.255。对于网络地址,使用适当类别的掩码或子网掩码; 例 如 , 对 于 A 类 网 络 , 使 用 255.0.0.0 。 一 个 掩 码 的 例 子 是 255.255.255.224 ·117· www.plcworld.cn ·118· 计算机网络安全技术 static 命令参数/选项 max_conns em_limit norandomseq 续表 描述 每个 IP 地址的最大连接数量,允许同时通过该静态地址翻译的连接 数量 未完成连接限制数。设置这个限制,以防止未完成连接风暴攻击。 默认是 0,这意味着不限制连接数 不对 TCP/IP 数据包的序列号进行随机化处理,如果另一台在线防火 墙也在对序列号进行随机化,结果就会扰乱数据,只有这时才使用 这个选项 2) 动态地址翻译 动态地址翻译用来将一段本地地址范围翻译成一段全局地址范围,或者一个全局地址。 将一段本地地址范围翻译成一段全局地址范围,这被称为网络地址翻译(NAT)。对于采用 NAT 的动态地址翻译,必须用 NAT 命令来定义本地主机(将要被翻译的主机)。然后必须用 global 命令定义全局地址池。根据用 nat 命令选择的 nat_id,在输出接口上选择用于地址翻 译的全局地址池。用户指定的 IP 全局地址池的数量可以多达 256 个。 3) 相关命令 (1) nat 命令 网络地址翻译(NAT)让用户能够保持内部 IP 地址(PIX 防火墙后面的那些地址)对于外 部网络是未知的。例如,当连接因特网或其他外部网络时,nat 命令需要完成的工作是,在 数据包被转发到外部网络之前,将内部未经注册的 IP 地址(这些地址不具有全球唯一性)翻 译成经过注册的、全球接受的 IP 地址。除了 nat 0 以外,nat 命令总是与 global 命令一起使 用。Nat 0 和 global 命令随后都将被详细讨论。 表 5-11 描述了 nat 命令的选项和参数,命令语法如下所示。 nat (if_name) nat_id local_ip [netmask] 表 5-11 nat 命令描述 nat 命令参数/选项 if_name nat_id local_ip netmask 描述 描述将使用全局地址的内部网络接口名字。数据通过在 global 命令中 指定的接口,离开 PIX 标识全局地址池,并使它与其相应的 global 命令相匹配 在内部网络上,分配给设备的 IP 地址,可以使用 0.0.0.0,来允许所有 的向外连接使用来自全局池中的 IP 地址进行翻译 本地 IP 地址的网络掩码 在刚开始配置 PIX 防火墙时,可以用 nat 10.0.0.0 0.0.0.0 命令,允许所有的内部主机向 外进行连接访问。Nat 10.0.0.0 0.0.0.0 命令将启用 NAT,并让所有的内部主机(被指定为 0.0.0.0)利用由相应的 global 命令所指定的全局地址对外进行访问。Nat 命令可以指定一台 主机或一段范围内的主机,这样使访问更具有选择性。在配置该命令的时候,可以用 0 代 替 0.0.0.0。用 0 代表 0.0.0.0 的例子如下所示。 ·118· www.plcworld.cn 第 5 章 防火墙技术与配置 ·119· pixfirewall # (config) nat (inside) 1 0 0 在任何需要指定 0.0.0.0 的 PIX 命令中,都可以使用这种简写方式。 (2) global 命令 当从一个被信任网络向一个不被信任的网络发送数据时,通常需要翻译源 IP 地址。PIX 采用两个命令来进行这项工作。第一个命令是 nat,它定义了将要被翻译的、被信任的源地 址。用来定义源地址将要翻译成的地址或地址范围的命令是 global。表 5-12 描述了 global 命令的选项和参数,命令语法如下所示。 global (if_name) nat_id interface | global_ip [ -global_ip ] [netmask global_mask] 当从内部网络中的一台设备上发出的外出 IP 包到达 PIX 防火墙时,源地址被提取出来 并与内部的一张现有翻译表进行比较。如果该设备的地址不在这个表中,就对它进行翻译。 为那台设备产生一个新的表项,并从全局 IP 地址池中为它分配一个全局 IP 地址。这被称 为翻译槽位(translation slot)。这个翻译过程发生后,翻译表被更新,并转发经过翻译的 IP 包在用户配置的时间限制超时之后(用 timeout xlate hh:mm:ss 命令进行配置),或者默认的 3 个小时之后,如果在这段时间内没有那个特定 IP 地址的翻译数据包,那么,这个表项就被 从表中删除,并释放全局地址,使它可以用于其他的内部设备。图 5.12 显示了 NAT。 表 5-12 global 命令描述 global 命令参数/选项 if_name nat_id interface global_ip -global_ip netmask global_mask 描述 描述将要使用全局地址的外部网络接口名字 指示全局地址池,并使它与其相应的 nat 命令相匹配 让 PIX 防火墙将由 nat 命令所指定的所有 IP 地址翻译到该指定的接口。这 被称为接口 PAT。稍后将详细讨论端口地址翻译(PAT) 单个 IP 地址,或一段全局 IP 地址范围的起始 IP 地址 一段全局 IP 地址范围 全局 IP 地址的网络掩码。如果子网是有效的,就使用子网掩码(例如, 255.255.255.128)。如果指定的地址范围与用 netmask 命令选项指定的子网 相交,这个命令将不使用全局地址池中的广播或网段地址。例如,如果使 用网络掩码 255.255.255.128,与地址范围 192.150.50.20~192.128.50.140, 那么广播地址 192.128.50.127 和网段地址 192.128.50.128 将不被包括在全局 地址池中 如果使用 nat 命令,必须对伴随的 global 命令进行配置,来定义翻译 IP 地址池。 为了删除一个全局表项,可用使用命令 no global。例如: no global [ outside ]1 192.168.1.10-192.168.1.254 netmask 255.255.0.0 注意:PIX 防火墙从全局地址池中分配地址的方式是,从由 global 命令所指定范围的低端 向高端进行分配。 PIX 防火墙采用全局地址,为内部 NAT 地址分配一个虚拟 IP 地址。在增加、改变或 删除一条 global 命令语句后,应使用 clear xlate 命令来清除所有的翻译槽位,并使全局 IP 地址在翻译表中可用。 ·119· www.plcworld.cn ·120· 计算机网络安全技术 (3) route 命令。 route 命令为接口定义一条静态路由。Route 命令语句可以具有一个具体的目的地,或 者可以产生一条默认的静态路由。表 5-13 描述了 route 命令的选项和参数,具体命令语法 如下所示。 route if_name ip_addr ess metmask gateway_ip [metric] 表 5-13 route 命令描述 route 命令参数/选项 if_name ip_address netmask gateway_ip metric 描述 描述内部或外部网络接口的名字。数据将通过这个接口离开 PIX 描述目的地(内部或外部)网络 IP 地址。用 0.0.0.0 指定默认路由(所有的 目标网络)。可以将 IP 地址 0.0.0.0 简写为 0 指定应用于 ip_address 的网络掩码。用 0.0.0.0 指定一条默认路由。可以 将网络掩码 0.0.0.0 简写为 0。设置一条默认路由是一种比较常见的情况 指定网关路由器的 IP 地址(这条路由的下一跳地址) 指定到 gateway_ip 的跳数。如果我们不能确定,就输入 1。我们的 WAN 管理员可以提供这项信息,或者我们可以用 traceroute 命令得到跳数。 如果不指定度量值(metric),默认是 1 在存储所有用 route 命令输入的路由时,这些路由都会被保存在 PIX 防火墙的配置当 中。在使用 no global 命令的例子中,所有输出的数据包都被送到 IP 地址为 192.168.1.1 的 路由器。因为只有一个内部网络 10.1.1.0 255.255.255.0,而且 PIX 被直接连接到那个网络, 所有不需要一条以上的 route 命令。如果在内部存在多个网络,那么将需要配置一条以上 的 route 命令。 4. 实训步骤 1) 静态地址翻译 (1) 根据图 5.7 所示连接网络设置。它以 192.168.50.1 为全局地址,内部主机地址为 10.0.0.10,可以定义以后的策略,实现静态地址翻译。 Internet 计算机 172.16.1.1 边界路由器 192.168.50.1 192.168.50.3 PIX 防火墙 10.0.0.3 outside Intranet ·120· 图 5.7 网络设置 www.plcworld.cn 第 5 章 防火墙技术与配置 ·121· (2) 按照下面信息配置防火墙。 nameif ethernet0 outside secutity0 nameif ethernet1 outside secutity1000 interface ethernet0 auto interface ethernet1 auto ip address outside 192.150.50.3 255.255.255.0 ip address inside 10.0.0.3 255.0.0.0 static (inside ,outside)192.168.50.101 10.0.0.10 2) 动态地址翻译 (1) 首先,根据图 5.8 所示连接网络设置。它有 IP 地址范围 192.168.50.76~192.168.50.85, PIX Firewall 的内部 IP 范围为:10.0.0.1~10.0.0.20。可以定义以后的策略。 Internet Intranet 边界路由器 192.168.50.1 192.168.50.3 PIX 防火墙 10.0.0.3 outside 图 5.8 两个 NAT 接口配置 (2) 按照下面信息配置防火墙。 nameif ethernet0 outside security0 nameif ethernet1 outside security1000 interface ethernet0 auto interface ethernet1 auto ip address outside 192.168.50.3 255.255.255.0 ip address inside 10.0.0.3 255.0.0.0 arp time out 14400 nat (inside)1 0 0 global(outside)1 192.168.50.76-192.168.50.85 global(outside)1 192.168.50.75 no rip inside default no rip inside passive no rip outside default no rip outside passive ·121· www.plcworld.cn ·122· 计算机网络安全技术 route outside 0.0.0.0 0.0.0.0 192.168.50.1 1 timeout xlate 3:00:00 conn 1:00:00 half closed 0:10:00 udp 0:02:00 timeout rpc 0:10:00 h323 0:05:00 timeout uauth 0:05:00 absolute conduit permit icmp any any no snmp-server location no snmp-server contact snmp-server community public telnet 10.0.0.100 255.255.255.255 telnet timeout 15 mtu outside 1500 mtu inside 1500 5. 实训思考题 (1) 简述静态、动态地址翻译的原理。 (2) 比较静态地址翻译与动态地址翻译的区别。 (3) 采用地址翻译有什么优点? 5.6.3 Cisco PIX 防火墙外部访问内部配置 1. 实训目的 (1) 掌握防火墙的管道功能。 (2) 掌握防火墙的访问的过滤功能。 (3) 掌握防火墙的 IP 绑定功能。 2. 实训内容 (1) 通过管道外部主机对内部指定主机的访问。 (2) 对内部主机访问因特网 上的敏感主机和资源的控制。 (3) 防火墙 IP 的绑定的实现。 3. 实训理论基础 1) 静态翻译和管道命令 虽然大多数的连接是从具有较高安全级别(内部)的接口去往具有低安全级别(外部)的 接口,但是仍然有一些情况需要允许从具有较低安全级别的接口连接到具有较高安全级别 的接口。为了满足这种需要,可以采用 conduit 命令。 何时应使用 conduit 命令的一个实例是,用 ICMP 消息测试通过 PIX 的连通性。为了允 许来自外部的回声请求(Ping)通过 PIX 防火墙,必须配置一个管道(conduit)。而且,在外部 的用户必须有一个目标 IP 地址可以使用。可以用 static 命令在 PIX 防火墙上对这些信息进 行映射。 static 命令创建了一个本地(内部)IP 地址和一个全局(外部)IP 地址之间的静态映射,使 ·122· www.plcworld.cn 第 5 章 防火墙技术与配置 ·123· 用 static 命令可以让我们为一个特定的内部 IP 地址设置一个永久的全局 IP 地址。这样就能 够为具有较低安全级别的指定接口创建一个入口,使它们可以进入具有较高安全级别的指 定接口。 通过使用 static 命令,在一个本地 IP 地址和一个全局 IP 地址之间创建了一条静态映射 之后,从外部到内部接口的连接仍然会被 PIX 防火墙的自适应安全算法(ASA)阻挡。conduit 命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口。conduit 命 令用来为 PIX 防火墙的 ASA 产生例外。 static 命令在一个本地 IP 地址和一个全局 IP 地址之间创建一个永久的映射(称为静态翻 译槽位或 xlate)。对于向外的连接,使用 static 命令来指定一个全局地址,它将总是被用于 本地主机和那个全局地址之间的翻译。对于向内的连接,应将 static 命令与 conduit 命令一 起使用,来指定对于外部网络可见的地址。 2) static 命令 static 命令在一个本地 IP 地址和一个全局 IP 地址之间,创建一个永久映射(静态翻译槽 位)。当连接到互联网时,全局 IP 地址必须是一个经过注册的 IP 地址。static 命令语句优先 于 nat 和 global 命令组。我们可以使用 show static 命令来显示 PIX 防火墙配置中的 static 命令语句。 每个接口的安全级别是由 nameif 命令设置的。当与 static 命令一起使用时,conduit 命 令允许数据流源自一个具有较低安全值的接口,通过 PIX 防火墙流向一个具有较高安全值 的接口。例如,必须配置静态和管道,来允许从外部到 DMZ 接口的入方向会话,或从外 部到内部接口的入方向会话。 3) conduit 命令 conduit 命令允许或拒绝从 PIX 防火墙外部的连接访问内部网络主机上的 TCP、UDP 和其他协议服务。conduit 语句可以被以一种非常通用的方式、或一种非常具体的方式使用。 例如,可以允许对一台特定主机的 HTTP 访问。 表 5-14 描述了 conduit 命令的参数,它的语法如下所示。 conduit permit | deny protocol global_ip global_mask[operator port[port]] foreign_ip foreign_mask [operator port [port]] 表 5-14 conduit 命令描述 命令参数 permit deny protocol 如果条件匹配,就允许访问 如果条件匹配,就拒绝访问 描述 为连接指定传输协议。可能有的文字值有 icmp、tcp、udp 或者代表一个 IP 协 议号的 0~255 范围中的一个整数。使用 IP 来指定所有的传输协议。如果指定 ICMP 协议,可以允许或拒绝到一个或多个全局 IP 地址的 ICMP 访问。在 icmp_type 变量中指定 ICMP 类型,或者在省略的情况下指定所有的 ICMP 类型 ·123· www.plcworld.cn ·124· 命令参数 global_ip global_mask foreign_ip foreign_mask Operator 计算机网络安全技术 续表 描述 先前由 global 或 static 命令定义的一个全局 IP 地址。如果 global_ip 和 global_mask 是 0.0.0.0、0.0.0.0,就可以使用 any。any 选项将 permit 或 deny 参数应用于全 局地址。 如果 global_ip 是一台主机,可以通过在 global_ip 之前指定 host 命令参数,而 省略 global_mask。例如:conduit permit tcp host 209.165.201.0 eq ftp any。 这个例子允许任何外部主机对于全局地址 209.165.201.1 进行 FIP 访问 global_ip 的网络掩码。global_mask 是一个 32 位、由 4 部分组成的点分十进制 数字,比如 255.255.255.255。在一个二进制位上使用 0,可以指定将被忽略的 二进制位置。如果需要,可以使用子网。如果我们对于 global_ip 使用 0,那么 对于 global_mask 也应使用 0;否则,应输入适用于 global_ip 的 global_mask 可以访问 global_ip 的一个外部 IP 地址(主机或网络)。对于任意主机,可以指定 0.0.0.0 或 0。如果 foreign_ip 和 foreign_mask 是 0.0.0.0、0.0.0.0,可以使用简写 的 any 选项。 如果 foreign_ip 是一台主机,可以通过在 foreign_ip 之前指定 host 命令参数,省 略 foreign_mask。例如:conduit permit tcp any eq ftp host 209.165.201.2。 这个例子允许外部主机 209.165.201.2 对于任何全局地址进行 FTP 访问 foreign_ip 的网络掩码。foreign_mask 是一个 32 位、由 4 部分组成的点分十进 制数字,比如 255.255.255.255。在一个二进制位上使用 0,可以指定将被忽略 的二进制位置。如果需要,可以使用子网。如果对于 foreign_ip 使用 0,那么对 于 foreign_mask 也应使用 0;否则,应输入适用于 foreign_ip 的 foreign_mask。 也可以指定一个子网掩码——例如,255.255.255.192 一个比较运算符,指定一个端口或端口范围。 不使用运算符和端口就相当于指定了所有的端口,例如:conduit permit tcp any any。 使用 eq 和一个端口来允许或拒绝对这个端口的访问。例如,使用 eq ftp 来允许 或拒绝只对 FTP 的访问:conduit deny tcp host 192.168.1.1 eq ftp 209.165.201.1。 使用 it 和一个端口来允许或拒绝对小于指定端口的所有端口的访问。例如,使 用 it 1025 来允许或拒绝对众所周知端口(1~1024)的访问:conduit permit tcp host 192.168.1.1 it 1025 any。 使用 gty 和一个端口来允许或拒绝对大于指定端口的所有端口的访问。例如, 使用gt 42 来允许或拒绝对端口43~65 535 的访问:conduit deny udp host 192.168.1.1 gt 42 host 209.165.201.2。 使用 neq 和一个端口来允许或拒绝除了指定端之外的所有端口的访问。例如, 使用 neq 10 来允许或拒绝对端口 1~9 和 11~65 535 的访问:conduit deny tcp host 192.168.1.1 neq 10 host 209.165.201.2 neq 42。 使用 range 和一个端口范围来允许或拒绝只对那些在范围内的端口访问。例如, 使用 range 10 1024 来允许或拒绝只对端口 10~1024 的访问,所有的其他端口 不受影响:conduit deny tcp any range 10 1024 any ·124· www.plcworld.cn 第 5 章 防火墙技术与配置 ·125· 4. 实训步骤 首先,根据图 5.9 所示连接网络设置。它有 IP 地址范围 204.31.17.128~204.31.17.191, 有 E-mail、WWW、FTP 等服务器,PIX Firewall 的内部虚 IP 范围为:192.168.3.1~ 192.168.3.25,可以定义以下策略。 22004.43.311.1.177..1177 Ou t外s id网e 220044.3.311..1177..1122 PPIIXX防防火火墙 墙 敏敏感感站站点点 22004.43.311.1.177.1.1 G地lo址ba池l Pool 204.31.17.131..165 204.31.17.11 220044..3311..1177..113301(.P.1A6T)5 204.31.17.11 204.31.17.130(PAT) Inside 内网19129.21.6186.83..32.2 19129.216.186.83..33.3 119922..116688..33..11 1 9129.21.6186.83..34.4 E-Em -ami lail FFTTPP WWWWW W HHOOSSTT 图 5.9 防火墙配置 1) 对资源主机的访问控制 对于内部的 E-mail、WWW、FTP 等服务器可以利用管道(conduit)使得外部可访问它们, 但必须限制对它们的访问,即禁止除 E-mail、WWW、FTP 以外的一切服务,以获得最大 的安全性,配置方法如下所示。 static(inside,outside)204.31.17.129 192.168.3.1 conduit permit tcp host 204.31.17.129 eq www any static(inside,outside)204.31.17.129 192.168.3.2 conduit permit tcp host 204.31.17.129 eq smtp any static(inside,outside)204.31.17.129 192.168.3.3 conduit permit tcp host 204.31.17.129 eq ftp any 2) 对因特网上的主机和资源的控制 对于因特网上的一些敏感资源,可能对出境的访问加以控制。下面进行配置以控制内 部网络对外部主机 204.31.17.11 的访问。在 PIX Firewall 上的配置如下。 outbound 10 deny 204.31.17.11 255.255.255.255 www tcp apply(inside)10 outgoing _dest 下面对内部主机 192.168.3.4 进行配置,可以禁止它使用 WWW 方式访问外部网络。其 配置如下所示。 outbound 10 deny 192.168.3.4 255.255.255.255 www tcp apply(inside)20 outgoing _src 这样就可以对内部主机到外部的访问进行完全的控制。 3) 防范内部网络的非法 IP 和 MAC 地址 由于 IP 地址可被设置更改,非法用户常篡改、盗用他人的 IP 地址和 MAC 地址,来达 到隐藏其非法访问的目的。可以使用 PIX Firewall 的 ARP 命令将内部主机的 IP 地址和它 ·125· www.plcworld.cn ·126· 计算机网络安全技术 的 MAC 地址绑定,来有效地防止篡改和盗用 IP 地址现象发生。下面要将主机的 IP 地址 192.168.3.4 与它的 MAC 地址 00e0.1e40.2a7c 绑定,可进行如下配置。 arp inside 192.168.3.4 00e0.1e40.2a7c alias wr m 5. 实训思考题 (1) 什么是管道,它有什么功能? (2) 如何实现对内部主机访问外部资源的控制? (3) IP 地址绑定有什么作用?如何绑定? 5.6.4 费尔个人防火墙配置与管理 费尔个人防火墙具有专业级的强大功能、个性化的设计理念,是个人网络安全工具的 首选。它具有对指定的应用程序进行上网监控,对系统开放的端口进行监听,并可以根据 需要对指定的端口进行作用使其不能接收或发送数据。该防火墙还可以对一些站点进行过 滤,也可以对指定的 IP 地址进行屏蔽,以保证系统的安全等功能。 1. 实训目的 (1) 掌握软件的使用与管理。 (2) 掌握对指定站点、应用程序、指定地址、指定端口的禁用实现。 (3) 掌握防火墙的各个模块的功能以及实现。 2. 实训内容 (1) 费尔防火墙的各个功能模块的作用与实现。 (2) 对指定站点、应用程序、指定地址、指定端口的禁用实现。 3. 实训步骤 1) 费尔防火墙安装 (1) 启动安装程序,进入安装界面(如图 5.10 所示),一直单击“下一步”按钮,便可以 安装费尔防火墙了。 (2) 安装完毕后,提示重新计算机才能使用防火墙,选中“是,立即重新启动计算机” 单选按钮,单击“完成”按钮重新启动计算机(如图 5.11 所示)。 ·126· 图 5.10 安装界面 图 5.11 重启界面 www.plcworld.cn 第 5 章 防火墙技术与配置 ·127· 2) 功能模块介绍 (1) 费尔人个防火墙主界面介绍。 在主界面中显示状态提示信息,了解当前防火的工作状态,也可以选择安全等级(如 图 5.12 所示)。 图 5.12 个人防火墙主界面 (2) 监控模块介绍。 有监控应用程序、网上邻居、ICMP、侦听端口、当前在线等功能(如图 5.13 所示),能 够了解有哪些应用程序正在连入网络,开放的端口情况。 图 5.13 监控模块 (3) 日志模块介绍。 可以记录应用程序、网上邻居、ICMP 的接收发送或拒绝的情况(如图 5.14 所示)。 ·127· www.plcworld.cn ·128· 计算机网络安全技术 图 5.14 日志模块 (4) 管控中心模块介绍。 对应用程序、网站、网上邻居、ICMP、时间类型、网络类型等进行管控,在这个模块 中可以让用户自己编写规则,以便更好地管理自己的网络(如图 5.15 所示)。 图 5.15 管控中心设置 (5) 系统设置介绍。 可以设置日志文件的大小,是否在启动时启动本软件,是否在启动时显示欢迎界面, 是否启动声音警报、图标警报(如图 5.16 所示)。 (6) 在线资源模块介绍。 本模块显示本软件的资源、在线升级、用户注册等功能(如图 5.17 所示)。 3) 规则设置 (1) 拒绝应用程序。 为了拒绝某些应用程序能够联到网络中去,费尔防火墙提供对应用程序的禁止,例如 禁止 IE(如图 5.18 所示),这样就不能通过 IE 访问任何网站了。 ·128· www.plcworld.cn 第 5 章 防火墙技术与配置 ·129· 图 5.16 系统设置 图 5.17 在线模块 图 5.18 设置拒绝应用程序 ·129· www.plcworld.cn ·130· 计算机网络安全技术 (2) 拒绝 139 端口。 一些默认的开放端口会引起网络上的一些攻击和病毒,有时需要禁止开放。费尔防火 提供了关闭指定端口的功能,如想禁用 139 端口,则将本地端口改成 139,远端端口为 0(0 表示所有端口),这样便可以成功拒绝 139 端口(如图 5.19 所示),防止别人通过 139 端口对 自己进行攻击。 图 5.19 设置拒绝端口 (3) 拒绝站点。 在网络中有些站点是比较危险的,所以必须拒绝去访问它和让它访问本机。如图 5.20 所示,在“站点”文本框中输入要拒绝的站点,在“动作”中选择“拒绝”项,这样便可 以成功拒绝某个站点了。 图 5.20 设置拒绝站点 (4) 拒绝 IP 段。 如图 5.21 所示,输入开始 IP 与结束 IP,便可以拒绝这个 IP 地址段的用户访问本机了。 ·130· www.plcworld.cn 第 5 章 防火墙技术与配置 ·131· 图 5.21 修改 IP 地址 (5) 日志查询。 在这里可以对日志进行管理,日志文件大小可以设定为 5MB~10MB。如图 5.22 所示。 图 5.22 日志管理 4. 实训思考题 (1) 软件防火墙与硬件防火墙的区别,及优、缺点。 (2) 个人防火墙可否实现内容的过滤? (3) 如何实现对指定站点、端口、应用程序、地址的禁用? (4) 各个功能模块的作用如何? ·131· www.plcworld.cn ·132· 计算机网络安全技术 小结 本章介绍了防火墙技术与其配置。首先理解防火墙的概念、分类、常见防火墙的系统 模型及创建防火墙的基本步骤。后一部分是有关常见防火墙的配置与管理的内容。掌握 Cisco 硬件防火墙的基本配置与应用。掌握费尔个人软件防火墙的使用与配置。 习题 1. 什么是防火墙?说明防火墙的作用与目的。 2. 解释名词:堡垒主机、双宿主主机、包过滤防火墙、参数网络和代理服务器。 3. 说明因特网防火墙的基本类型及其特点。 4. 说明智能防火墙技术的基本结构特点。 5. 了解并分析你能接触到的网络防火墙安全体系。 6. 简述创建防火墙的基本步骤及每一步的注意点。 7. 编写防火墙规则:禁止除管理员(IP 为 192.168.20.10)外任何一台计算机访问某主机 (IP 为 192.168.20.100)的终端服务(TCP 端口 3389),使用费尔防火墙实现。 8. Cisco 硬件防火墙是否还有其他功能,如何实现? 9. 设计一个有 50 台主机和一台 Web 服务器(内部和外部网络都能访问)的企业防火墙 安全系统。 ·132· www.plcworld.cn 第 6 章 网络病毒与防治 本章要点 z 了解计算机病毒的概念、特征 z 了解计算机病毒的分类、传播方式及其危害 z 掌握各种防止病毒的软件的安装和配置方法 z 掌握特定的网络病毒的查杀方法 6.1 计算机病毒概述 计算机病毒的防御对网络管理员来说是一个望而生畏的任务。特别是随着病毒越来越 高级,情况就变得更是如此。目前,几千种不同的病毒不时地对计算机和网络的安全构成 严重威胁。因此,了解和控制病毒威胁显得格外重要,任何有关网络数据完整性和安全的 讨论都应考虑到病毒。计算机网络的主要特点是资源共享。一旦共享资源感染病毒,网络 各结点间信息的频繁传输会把病毒传染到所共享的机器上,从而形成多种共享资源的交叉 感染;网络病毒的迅速传播、再生、发作将造成比单机病毒更大的危害。对于金融等系统 的敏感数据,一旦遭到破坏,后果将不堪设想。因此,网络环境下病毒的防治就显得更加 重要了。 6.1.1 计算机病毒基本概念 计算机病毒是一种具有自我复制能力的计算机程序,它不仅能够破坏计算机系统,而 且还能够传播、感染到其他的系统,它能影响计算机软件、硬件的正常运行,破坏数据的 正确与完整。 计算机病毒的来源多种多样,有的是计算机工作人员或业余爱好者纯粹为了寻开心而 制造出来的,有的则是软件公司为保护自己的产品不被非法复制而制造的报复性惩罚,因 为他们发现用病毒比用加密对付非法复制更有效且更有威胁,这种情况助长了病毒的传播。 还有一种情况就是蓄意破坏,它分为个人行为和政府行为两种。个人行为多为雇员对雇主 的报复行为,而政府行为则是有组织的战略战术手段(据说在海湾战争中,美国国防部的一 个秘密机构曾对伊拉克的通信系统进行了有计划的病毒攻击,一度使伊拉克的国防通信陷 于瘫痪)。另外有的病毒还是用于研究或实验而设计的“有用”程序,由于某种原因失去控 制扩散出实验室或研究所,从而成为危害四方的计算机病毒。 6.1.2 计算机病毒的历史 计算机病毒的概念其实起源相当早,在第一部商用计算机推出前几年,计算机的先驱 者冯·诺依曼(John Von Neumann)在他的一篇论文《复杂自动装置的理论及组识的进行》 www.plcworld.cn ·134· 计算机网络安全技术 中,已经勾勒出病毒程序的蓝图。不过在当时,绝大部分的计算机专家都无法想像会有这 种能自我繁殖的程序。 美国著名的 AT&T 贝尔实验室中,三个年轻人在工作之余,很无聊地玩起一种游戏: 彼此撰写出能够吃掉别人程序的程序来互相作战。这个叫做“磁芯大战”(core war)的游戏, 进一步将计算机病毒“感染性”的概念体现出来。 20 世纪 60 年代,出现了一种 living 软件,可以进行自我复制,当时,living 的程式思 想(自我复制)很受欢迎,从此创造病毒类型程序的挑战性开发广泛传播于学术界。 1975 年,美国科普作家约翰·布鲁勒尔(John Brunner)写了一本名为《震荡波骑士》(Shock Wave Rider)的书,该书第一次描写了在信息社会中,计算机作为正义和邪恶双方斗争的工 具的故事,成为当年最佳畅销书之一。 1977 年夏天,托马斯·捷·瑞安(Thomas.J.Ryan)的科幻小说《P-1 的春天》(The Adolescence of P-1)成为美国的畅销书,作者在这本书中描写了一种可以在计算机中互相传染的病毒, 病毒最后控制了 7000 台计算机,造成了一场灾难。虚拟科幻小说世界中的东西,在几年后 逐渐成为使用者的噩梦。 1983 年 11 月 3 日,弗雷德·科恩(Fred Cohen)博士在 UNIX 系统下研制出一种在运行过 程中可以复制自身从而引起系统死机的程序,但是这个程序并未引起一些教授的注意与认 同。科恩为了证明其理论而将这些程序以论文发表,在当时引起了不小的震撼。科恩的程 序让计算机病毒具备破坏性的概念具体成形。 伦·艾德勒曼(Len Adleman)将它命名为计算机病毒(computer viruses),并在每周一次的 计算机安全讨论会上正式提出,8 小时后专家们在 VAX11/750 计算机系统上运行,第一 个病毒实验成功,一周后又获准进行 5 个实验的演示,从而在实验上验证了计算机病毒的 存在。 1986 年初,在巴基斯坦的拉合尔(Lahore),巴锡特(Basit)和阿姆杰德(Amjad)两兄弟经 营着一家 IBMPC 及其兼容机的小商店。他们编写了 Pakistan 病毒,即 Brain。在一年内流 传到了世界各地。 到了 1987 年,第一个计算机病毒 C-BRAIN 终于诞生了(这似乎不是一件值得庆贺的 事)。一般而言,业界都公认这是真正具备完整特征的计算机病毒始祖。这个病毒程序是由 巴斯特和阿姆杰德所写的,由于当地盗拷软件的风气非常盛行,因此他们的目的主要是为 了防止他们的软件被任意盗拷。只要有人盗拷他们的软件,C-BRAIN 就会发作,将盗拷者 的硬盘剩余空间给吃掉。 这个病毒在当时并没有太大的杀伤力,但后来一些有心人士以 C-BRAIN 为蓝图,制作 出一些变形的病毒。而其他新的病毒创作也纷纷出笼,不仅有个人创作,甚至出现不少创 作集团(如 NuKE,Phalcon/Skism,VDV)。各类扫毒、防毒与杀毒软件以及专业公司也纷纷 出现。一时间,各种病毒创作与反病毒程序不断推陈出新,如同百家争鸣。 1988 年 3 月 2 日,一种苹果机的病毒发作,这天受感染的苹果机停止工作,只显示“向 所有苹果电脑的使用者宣布和平的信息”,以庆祝苹果机生日。 1988 年 11 月 2 日,美国 6000 多台计算机被病毒感染,造成因特网不能正常运行。这 是一次非常典型的计算机病毒入侵计算机网络的事件,迫使美国政府立即做出反应,国防 部成立了计算机应急行动小组。这次事件中遭受攻击的包括 5 个计算机中心和 12 个地区结 ·134· www.plcworld.cn 第 6 章 网络病毒与防治 ·135· 点,连接着政府、大学、研究所和拥有政府合同的 250 000 台计算机。这次病毒事件导致 计算机系统直接经济损失达 9600 万美元。这个病毒程序设计者是罗伯特·莫里斯(Robert Morris),当年 23 岁,是在康奈尔(Cornell)大学攻读学位的研究生。 罗伯特·莫里斯设计的病毒程序利用了系统存在的弱点。由于罗伯特·莫里斯成了入 侵 ARPANET 的最大的电子入侵者,而获准参加康奈尔大学的毕业设计,并获得哈佛大学 Aiken 中心超级用户的特权。他也因此被判 3 年缓刑,罚款 1 万美元,他还被命令进行 400 小时的新区服务。 6.2 计算机病毒的特征及传播方式 6.2.1 计算机病毒的特征 要做好反病毒技术的研究,首先要认清计算机病毒的特点和行为机理,为防范和清除 计算机病毒提供充实可靠的依据。根据对计算机病毒的产生、传染和破坏行为的分析,总 结出病毒有以下 6 个主要特点。 1. 自我复制能力 传染性是病毒的基本特征。在生物界,通过传染病毒从一个生物体扩散到另一个生物 体。在适当的条件下,它可得到大量繁殖,并使被感染的生物体表现出病症甚至死亡。同 样,计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些 情况下造成被感染的计算机工作失常甚至瘫痪。与生物病毒不同的是,计算机病毒是一段 人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它会搜寻其他符 合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目 的。只要一台计算机感染病毒,如不及时处理,那么病毒会在这台机子上迅速扩散,大量 文件(一般是可执行文件)会被感染。而被感染的文件又成了新的传染源,再与其他机器进 行数据交换或通过网络接触,病毒会继续进行传染。 正常的计算机程序一般是不会将自身的代码强行连接到其他程序上的。而病毒却能使 自身的代码强行传染到一切符合其传染条件的未受到传染的程序之上。计算机病毒可通过 各种可能的渠道,如软盘、计算机网络去传染其他的计算机。当你在一台机器上发现了病 毒时,往往曾在这台计算机上用过的软盘已感染上了病毒,而与这台机器联网的其他计 算机也许也被该病毒传染了。是否具有传染性是判别一个程序是否为计算机病毒的最重要 条件。 2. 夺取系统控制权 一般正常的程序是由用户调用,再由系统分配资源,完成用户交给的任务。其目的对 用户是可见的。而病毒具有正常程序的一切特性,它隐藏在正常程序中,当用户调用正常 程序时窃取到系统的控制权,先于正常程序执行,病毒的动作、目的对用户是未知的,是 未经用户允许的。 ·135· www.plcworld.cn ·136· 计算机网络安全技术 3. 隐蔽性 不经过代码分析,病毒程序与正常程序是不容易区别开来的。一般在没有防护措施的 情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里传染大量程序。而且受 到传染后,计算机系统通常仍能正常运行,使用户不会感到任何异常。试想,如果病毒在 传染到计算机上之后,机器马上无法正常运行,那么它本身便无法继续进行传染了。正是 由于隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散传播。计算机病毒的隐蔽性还 体现在病毒代码本身设计得非常短小,一般只有几百到几千字节,非常便于隐藏到其他程 序中或磁盘的某一特定区域内。随着病毒编写技巧的提高,病毒代码本身还进行加密或变 形,使得对计算机病毒的查找和分析更困难,容易造成漏查或错杀。 4. 破坏性 任何病毒只要侵入系统,都会对系统及应用程序产生程度不同的影响。轻者会降低计 算机工作效率,占用系统资源,重者可导致系统崩溃。计算机病毒的破坏性多种多样,若 按破坏性而粗略分类,可将病毒分为良性病毒与恶性病毒。良性病毒是指不包含立即直接 破坏的代码,只是为了表现其存在或为说明某些事件而存在,如只显示些画面或出点音乐、 无聊的语句,或者根本没有任何破坏动作,但会占用系统资源。恶性病毒是指在代码中包 含损伤、破坏计算机系统的操作,在其传染或发作时会对系统直接造成严重破坏。它的破 坏目的非常明确,如破坏数据,删除文件,加密磁盘,格式化磁盘或破坏主板等。 5. 潜伏性 大部分的病毒感染系统之后一般不会马上发作,它可长期隐藏在系统中,只有在满足 其特定条件时才启动其表现(破坏)模块,显示发作信息或进行系统破坏。这样的状态可能 保持几天,几个月甚至几年。使计算机病毒发作的触发条件主要有以下几种。 (1) 利用系统时钟提供的时间作为触发器,这种触发机制被大量病毒使用。 (2) 利用病毒体自带的计数器作为触发器。病毒利用计数器记录某种时间发生的次数, 一旦计数器达到设定值,就执行破坏操作。这些操作可以是计算机开机的次数,可以是病 毒程序被运行的次数,还可以是从开机起被运行过的程序数量。 (3) 利用计算机内执行的某些特定操作作为触发器。特定操作可以是用户按下某些特 定的组合键,可以是执行的命令,可以是对磁盘的读写。被病毒使用的触发条件多种多样, 而且往往是由多个条件组合触发。大多数病毒的组合条件是基于时间的,再辅以读写操作, 按键操作以及其他条件。 6. 不可预见性 从对病毒的检测方面来看,病毒还有不可预见性。不同种类的病毒,它们的代码相差 甚远,但有些操作是共有的(如驻内存,改中断)。有些人利用病毒的这种共性,制作了声 称可查所有病毒的程序。这种程序的确可查出一些新病毒,但由于目前软件的种类极其丰 富,且某些正常程序也使用了类似病毒的操作甚至借鉴了某些病毒的技术。使用这种方法 对病毒进行检测势必会造成较多的误报情况。而且病毒的制作技术也在不断地提高,病毒 对反病毒软件永远是超前的。 ·136· www.plcworld.cn 第 6 章 网络病毒与防治 ·137· 6.2.2 病毒的传播方式 计算机病毒的传播有如下 4 种方式。 (1) 通过不可移动的计算机硬件设备进行传播(即利用专用 ASIC 芯片和硬盘进行传 播)。这种病毒虽然极少,但破坏力却极强,目前尚没有较好的检测手段。 (2) 通过移动存储设备来传播(包括软盘、磁带等)。其中软盘是使用最广泛,移动最频 繁的存储介质,因此也成了计算机病毒寄生的“温床”。 (3) 通过网络进行传播。随着因特网的高速发展,计算机病毒也走上了高速传播之路, 现在通过网络传播已经成为计算机病毒的第一传播途径。 (4) 通过点对点通信系统和无线通道传播。 6.3 计算机病毒的分类 不同种类的病毒有着各自不同的特征,它们有的以感染文件为主,有的以感染系统引 导区为主。大多数病毒只是开个小小的玩笑,但少数病毒则危害极大(如臭名昭著 CIH 病毒), 这就要求我们采用适当的方法对病毒进行分类,以进一步满足日常操作的需要。 1. 按程序运行平台分类 病毒按程序运行平台分类可分为 DOS 病毒、Windows 病毒、Windows NT 病毒、OS/2 病毒等,它们分别发作于 DOS、Windows 9X、Windows NT、OS/2 等操作系统平台上。 2. 按传染方式分类 病毒按传染方式可分为引导型病毒、文件型病毒和混合型病毒 3 种。其中引导型病毒 主要是感染磁盘的引导区,我们在使用受感染的磁盘(无论是软盘还是硬盘)启动计算机时 它们就会首先取得系统控制权,驻留内存之后再引导系统,并伺机传染其他软盘或硬盘的 引导区,它一般不对磁盘文件进行感染;文件型病毒一般只传染磁盘上的可执行文件(COM, EXE),在用户调用染毒的可执行文件时,病毒首先被运行,然后病毒驻留内存伺机传染或 直接传染其他文件,其特点是附着于正常程序文件,成为程序文件的一个外壳或部件;混 合型病毒则兼有以上两种病毒的特点,既感染引导区又感染文件,因此扩大了这种病毒的 传染途径。 3. 按链接方式分类 病毒按链接方式可分为源码型病毒、入侵型病毒、操作系统型病毒、外壳型病毒 4 种。 其中源码病毒主要攻击高级语言编写的源程序,它会将自己插入到系统的源程序中,并随 源程序一起编译、链接成可执行文件,从而导致刚刚生成的可执行文件直接带毒,不过该 病毒较为少见,亦难以编写;入侵型病毒则是那些用自身代替正常程序中的部分模块或堆 栈区的病毒,它只攻击某些特定程序,针对性强,一般情况下也难以被发现,清除起来也 较困难;操作系统病毒则是用其自身部分加入或替代操作系统的部分功能,危害性较大; 外壳病毒主要是将自身附在正常程序的开头或结尾,相当于给正常程序加了个外壳,大部 分的文件型病毒都属于这一类。 ·137· www.plcworld.cn ·138· 计算机网络安全技术 4. 按破坏性分类 根据病毒破坏的能力可划分为以下几种。 (1) 无害型:除了传染时减少磁盘的可用空间外,对系统没有其他影响。 (2) 无危险型:这类病毒仅仅是减少内存,显示图像,发出声音及同类音响。 (3) 危险型:这类病毒在计算机系统操作中造成严重的错误。 (4) 非常危险型:这类病毒删除程序,破坏数据,清除系统内存区和操作系统中重 要的信息。 这些病毒对系统造成的危害并不是本身的算法中存在危险的调用,而是当它们传染时 会引起无法预料的和灾难性的破坏。由病毒引起其他程序产生的错误也会破坏文件和扇区, 这些病毒也按照它们引起的破坏能力划分。现在的一些无害型病毒也可能会对新版的 DOS、 Windows 和其他操作系统造成破坏。例如:在早期的病毒中,有一个 Denzuk 病毒在 360KB 磁盘上能很好地工作,不会造成任何破坏,但是在后来的高密度软盘上却能引起大量的数 据丢失。 5. 新型病毒 部分新型病毒由于其独特性而暂时无法按照前面的类型进行分类,如宏病毒、黑客软 件、电子邮件病毒等。 (1) 宏病毒主要是使用某个应用程序自带的宏编程语言编写的病毒,如感染 Word 软件 的 Word 宏病毒、感染 Excel 软件的 Excel 宏病毒和感染 Lotus Ami Pro 的宏病毒等。宏病 毒与以往的病毒有着截然不同的特点。如它感染数据文件,彻底改变了人们的“数据文件 不会传播病毒”的错误认识;宏病毒冲破了以往病毒在单一平台上传播的局限,当 Word、 Excel 这类软件在不同平台(如 Windows、Windows NT、OS/2 和 Macintosh 等)上运行时, 就可能会被宏病毒交叉感染;以往病毒是以二进制的计算机机器码形式出现的,而宏病毒 则是以人们容易阅读的源代码形式出现的,所以编写和修改宏病毒比以往的病毒更容易; 另外宏病毒还具有容易传播、隐蔽性强、危害巨大等特点。总的来说,宏病毒应该算是一 种特殊的文件型病毒,同时它应该也可以算是“按程序运行平台分类”中的一种特例。 (2) 黑客软件本身并不是一种病毒,它实质是一种通信软件,而不少别有用心的人却 利用它的独特特点来通过网络非法进入他人计算机系统(比如特洛伊木马),获取或篡改各 种数据,危害信息安全。正是由于黑客软件直接威胁广大网民的数据安全,况且具有用户 手工很难对其进行防范的独特特点,因此各大反病毒厂商纷纷将黑客软件纳入病毒范围, 利用杀毒软件将黑客从用户的计算机中驱逐出境,从而保护了用户的网络安全。 (3) 电子邮件病毒实际上并不是一类单独的病毒,它严格来说应该划入到文件型病毒 及宏病毒中去,只不过由于这种病毒采用了独特的电子邮件传播方式(其中不少种类还专门 针对电子邮件的传播方式进行了优化),因此习惯于将它们定义为电子邮件病毒。 ·138· www.plcworld.cn 第 6 章 网络病毒与防治 ·139· 6.4 计算机病毒的破坏行为及防御 6.4.1 计算机病毒的破坏行为 不同病毒有不同的破坏行为,其中有代表性的行为如下所述: (1) 攻击系统数据区:即攻击计算机硬盘的主引导扇区、Boot 扇区、FAT 表、文件目 录等内容(一般来说,攻击系统数据区的病毒是恶性病毒,受损的数据不易恢复)。 (2) 攻击文件:其表现为删除文件,修改文件名称,替换文件内容,删除部分程序代 码等。 (3) 攻击内存:内存是计算机的重要资源,也是病毒的攻击目标。其攻击方式主要有 占用大量内存,改变内存总量,禁止分配内存等。 (4) 干扰系统运行:不执行用户指令,干扰指令的运行,内部栈溢出,占用特殊数据 区,时钟倒转,自动重新启动计算机,死机等。 (5) 计算机速度下降:不少病毒在时钟中纳入了时间的循环计数,迫使计算机空转, 计算机速度明显下降。 (6) 攻击磁盘:攻击磁盘数据,不写盘,写操作变成读操作,写盘时丢字节等。 (7) 扰乱屏幕显示:字符显示错乱、跌落、环绕、倒置,光标下跌,滚屏、抖动,吃 字符等。 (8) 攻击键盘:响铃,封锁键盘,换字,抹掉缓存区字符,重复输入。 (9) 攻击扬声器:发出各种不同的声音,如演奏曲子声、警笛声、炸弹噪声、鸣叫、 咔咔声、嘀嗒声。 (10) 攻击 CMOS:对 CMOS 区进行写入操作,破坏系统 CMOS 中的数据。 (11) 干扰打印机:间断性打印,更换字符等。 6.4.2 计算机病毒的防御 1. 防毒原则 (1) 不使用盗版或来历不明的软件,特别不能使用盗版的杀毒软件。 (2) 写保护所有系统盘,绝不把用户数据写到系统盘上。 (3) 安装真正有效的防毒软件,并经常进行升级。 (4) 新购买的计算机要在使用之前首先进行病毒检查,以免机器带毒。 (5) 准备一张干净的系统引导盘,并将常用的工具软件复制到该软盘上,加以保存。 此后一旦系统受病毒侵犯,我们就可以使用该盘引导系统,然后进行检查、杀毒等操作。 (6) 对外来程序要使用尽可能多地查毒软件进行检查(包括从硬盘、软盘、局域网、因 特网、E-mail 中获得的程序),未经检查的可执行文件不能复制进硬盘,更不能使用。 (7) 尽量不要使用软盘启动计算机。 (8) 一定要将硬盘引导区和主引导扇区备份下来,并经常对重要数据进行备份,防患 于未然。 (9) 随时注意计算机的各种异常现象(如速度变慢,弹出奇怪的文件,文件尺寸发生变 ·139· www.plcworld.cn ·140· 计算机网络安全技术 化,内存减少等),一旦发现,应立即用杀毒软件仔细检查。 2. 病毒的解决办法 (1) 在解毒之前,要先备份重要的数据文件。 (2) 启动反病毒软件,并对整个硬盘进行扫描。 (3) 发现病毒后,一般应用反病毒软件清除文件中的病毒,如果可执行文件中的病毒 不能被清除,一般应将其删除,然后重新安装相应的应用程序。同时,我们还应将病毒样 本送交反病毒软件厂商的研究中心,以供详细分析。 (4) 某些病毒在 Windows 98 状态下无法完全清除(如 CIH 病毒就是如此),此时我们应 采用事先准备的干净的系统引导盘引导系统,然后在 DOS 下运行相关杀毒软件进行清除。 6.5 杀毒软件的安装与配置实验 6.5.1 瑞星杀毒软件的安装与配置 1. 实训目的 (1) 掌握瑞星杀毒软件的安装方法。 (2) 掌握瑞星杀毒软件的配置方法。 2. 实训内容 (1) 瑞星杀毒软件的安装。 (2) 瑞星杀毒软件的配置。 3. 实训理论基础 在网络环境中,计算机病毒具有如下一些新的特点:传染速度快,传染面广,传染形 式多,清除难度大,破坏性强等。 其传播方式有以下几种: (1) 病毒直接从有盘站复制到服务器中。 (2) 病毒先传染工作站,在工作站内存驻留,等运行网络盘内程序时再传染给服务器。 (3) 病毒先传染工作站,在工作站内存驻留,在病毒运行时直接通过映像路径传染服 务器。 (4) 如果远程工作站被病毒侵入,病毒也可以通过通信中数据交换进入网络服务器中。 网络病毒大致可分为 3 类:蠕虫病毒、木马和电子邮件病毒。 因特网蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停地获得网络中 存在漏洞的计算机上的部分或全部控制权来进行传播。蠕虫与普通病毒的最大不同在于它 不需要人为干预,且能够自主不断地复制和传播。 特洛伊木马是一个包含在合法程序中的非法程序。它是一种黑客程序,本身不破坏数 据,黑客利用其远程操纵受害计算机;一般的木马都有客户端和服务器端两个执行程序。 可以通过各种途径放置木马程序。 通过电子邮件感染的病毒称之为电子邮件病毒。 ·140· www.plcworld.cn 第 6 章 网络病毒与防治 ·141· 每一次网络病毒的暴发都会给社会带来巨大的损失。目前网络病毒暴发的频率越来越 快,技术越来越新,并与黑客技术相结合。尤其是近几年来,越来越多的蠕虫(如冲击波、 振荡波等)出现。对网络病毒进行深入研究,并提出一种行之有效的解决方案,为企业和政 府提供一个安全的网络环境成为亟待解决的问题。 作为网络的用户,最基本的就是能使用一种或多种杀毒软件来保护自己的数据安全和 通信安全。 4. 实训步骤 1) 瑞星杀毒软件的安装 (1) 双击安装目录中的安装图标。 (2) 进入选择安装语言对话框,选择语言单击“确定”按钮(如图 6.1 所示)。 图 6.1 选择安装语言对话框 (3) 进入安装欢迎界面对话框(如图 6.2 所示)。 图 6.2 安装欢迎界面对话框 ·141· www.plcworld.cn ·142· 计算机网络安全技术 (4) 单击“下一步”按钮,进入“最终用户许可协议”对话框(如图 6.3 所示),选中“我 接受”单选按钮。 图 6.3 “最终用户许可协议”对话框 (5) 单击“下一步”按钮,进入“检查序列号”对话框(如图 6.4 所示),输入你所拥有 的产品序列号和用户 ID。 图 6.4 “检查序列号”对话框 (6) 单击“下一步”按钮,进入“瑞星系统内存扫描”对话框(如图 6.5 所示),如果确 信内存没有病毒可以单击“跳过”按钮。 (7) 单击“下一步”按钮,进入“安装类型”对话框(如图 6.6 所示),推荐选中“全部” 单选按钮选择全部安装模式。 ·142· www.plcworld.cn 第 6 章 网络病毒与防治 ·143· 图 6.5 “瑞星系统内存扫描”对话框 图 6.6 “安装类型”对话框 (8) 单击“下一步”按钮,进入“选择安装目录”对话框(如图 6.7 所示),单击“浏览” 按钮,可以选择需要的安装路径。 图 6.7 “选择安装目录”对话框 ·143· www.plcworld.cn ·144· 计算机网络安全技术 (9) 单击“下一步”按钮,进入“选择程序组”对话框(如图 6.8 所示)。 图 6.8 “选择程序组”对话框 (10) 单击“下一步”按钮,进入“准备好安装”对话框(如图 6.9 所示)。 图 6.9 “准备好安装”对话框 (11) 单击“下一步”按钮,进入“安装过程中”对话框(如图 6.10 所示)。 ·144· 图 6.10 “安装过程中”对话框 www.plcworld.cn 第 6 章 网络病毒与防治 ·145· (12) 安装过程完成后,单击“下一步”按钮,进入“结束”对话框(如图 6.11 所示)。 图 6.11 “结束”对话框 (13) 选中“重新启动 Windows”复选框,单击“完成”按钮,重新启动机器,完成安 装,瑞星杀毒软件自动启动,弹出主界面(如图 6.12 所示)。 图 6.12 瑞星主界面 2) 瑞星杀毒软件的配置 (1) 在瑞星主界面中单击“在线升级”按钮(确定能连接因特网),弹出“智能升级正在 进行”对话框(如图 6.13 和图 6.14 所示)。 ·145· www.plcworld.cn ·146· 计算机网络安全技术 图 6.13 “智能升级正在进行”对话框 图 6.14 升级进度显示对话框 (2) 如果升级成功,弹出“瑞星杀毒软件已经成功更新”对话框,如图 6.15 所示。 图 6.15 “瑞星杀毒软件已经成功更新”对话框 (3) 在瑞星主界面中单击“详细设置”按钮,弹出“瑞星设置”窗口,如图 6.16 所示。 (4) 可以对“瑞星设置”窗口中左栏中的各项进行设置,例如单击“定时升级”按钮, 在对应的右边栏中设置定时升级的频率和时刻,以及是否自动检测最新版本(如图 6.17 所示)。 ·146· www.plcworld.cn 第 6 章 网络病毒与防治 ·147· 图 6.16 “瑞星设置”窗口 图 6.17 “定时升级”对话框 (5) 在“瑞星设置”窗口中单击“硬盘备份”按钮,可以在对应的右边栏中设置硬盘 备份的频率、日期和时刻(如图 6.18 所示)。 (6) 在“瑞星设置”窗口中单击“定制任务”按钮,可以在对应的右边栏中设置需要 定制的任务(如图 6.19 所示)。 ·147· www.plcworld.cn ·148· 计算机网络安全技术 图 6.18 “硬盘备份”对话框 图 6.19 “定制任务”对话框 5. 实训思考题 (1) 网络病毒有几种类型? (2) 瑞星杀毒软件是否能查杀所有的网络病毒? (3) 瑞星杀毒软件在扫描时是否能只扫描指定的磁盘?试说明其设置步骤。 6.5.2 卡巴斯基(Kaspersky)杀毒软件的安装和配置 1. 实训目的 (1) 掌握卡巴斯基杀毒软件的安装方法。 (2) 掌握卡巴斯基杀毒软件的配置方法。 ·148· www.plcworld.cn 第 6 章 网络病毒与防治 ·149· 2. 实训内容 (1) 卡巴斯基杀毒软件的安装。 (2) 卡巴斯基杀毒软件的配置。 3. 实训理论基础 卡巴斯基杀毒软件来源于俄罗斯,是世界上最优秀、最顶级的网络杀毒软件,查杀病 毒性能远高于同类产品。该杀毒软件具有超强的中心管理和杀毒能力,能真正实现带毒杀 毒,提供了一个广泛的抗病毒解决方案。它提供了所有类型的抗病毒防护:抗病毒扫描仪, 监控器,行为阻断和完全检验。它支持几乎所有的普通操作系统、E-mail 通路和防火墙。 卡巴斯基控制所有可能的病毒进入端口,它强大的功能和局部灵活性以及网络管理工具为 自动信息搜索,中央安装和病毒防护控制提供最大的便利和最少的时间来建构抗病毒分离 墙。卡巴斯基抗病毒软件有许多国际研究机构、中立测试实验室和 IT 出版机构的证书,确 认了其具有汇集行业最高水准的突出品质。 4. 实训步骤 1) 卡巴斯基杀毒软件的安装 (1) 下载卡巴斯基杀毒软件的反病毒单机版 5.0 版本。 (2) 双击下载目录中的卡巴斯基杀毒软件安装图标。 (3) 弹出“卡巴斯基反病毒单机版 5.0 安装”窗口(如图 6.20 所示)。 图 6.20 “卡巴斯基反病毒单机版 5.0 安装”窗口 (4) 单击“下一步”按钮,弹出“许可授权协议”对话框(如图 6.21 所示)。 ·149· www.plcworld.cn ·150· 计算机网络安全技术 图 6.21 “许可授权协议”对话框 (5) 单击“我同意”按钮,弹出“用户信息”对话框(如图 6.22 所示),输入用户名称和 单位名称。 图 6.22 “用户信息”对话框 (6) 单击“下一步”按钮,弹出“重要信息”对话框(如图 6.23 所示)。 ·150· 图 6.23 “重要信息”对话框 www.plcworld.cn 第 6 章 网络病毒与防治 ·151· (7) 单击“下一步”按钮,弹出“许可 Key 文件”对话框(如图 6.24 所示)。 图 6.24 “许可 Key 文件”对话框 (8) 单击“浏览”按钮,打开安装目录中的 Key 文件(如图 6.25 所示)。 图 6.25 选择许可文件路径 (9) 单击“打开”按钮,Key 地址栏中弹出路径(如图 6.26 所示)。 图 6.26 添加 Key 文件 ·151· www.plcworld.cn ·152· 计算机网络安全技术 (10) 单击“下一步”按钮,弹出“选择目标文件夹”对话框(如图 6.27 所示),选择需 要的安装路径。 图 6.27 “选择目标文件”对话框 (11) 单击“下一步”按钮,弹出“正在安装”对话框(如图 6.28 所示)。 图 6.28 “正在安装”对话框 (12) 安装完成,弹出“完成卡巴斯基反病毒单机版 5.0 的安装”对话框(如图 6.29 所示)。 ·152· 图 6.29 “完成卡巴斯基反病毒单机版 5.0 的安装”对话框 www.plcworld.cn 第 6 章 网络病毒与防治 ·153· (13) 单击“完成”按钮,完成安装,弹出卡巴斯基的运行界面(如图 6.30 所示)。 图 6.30 卡巴斯基的运行主界面 2) Kaspersky 杀毒软件的设置 (1) 在 Kaspersky 杀毒软件的主界面右栏单击“更新反病毒数据库”超链接(确定机器 已连接因特网),弹出更新病毒库的对话框(如图 6.31 所示)。 图 6.31 更新病毒库的对话框 (2) 更新成功后,主界面中右栏原来的信息“您的反病毒数据库已完全过期”变为“您 的反病毒数据库是最新版本”(如图 6.32 所示)。 图 6.32 病毒库更新完成后的对话框 ·153· www.plcworld.cn ·154· 计算机网络安全技术 (3) 在卡巴斯基杀毒软件的主界面单击“设置”标签,打开“设置”选项卡(如图 6.33 所示)。 图 6.33 “设置”选项卡 (4) 单击“配置实时监控”超链接。 (5) 在弹出的对话框中的“保护级别”中选择“推荐”,在“检测到染毒对象采取的 操作”中选择“禁止访问,执行推荐的处理操作”。 (6) 然后单击“确定”按钮。 (7) 选择“配置手动扫描”在“保护级别”中选择“推荐”,在“检测到染毒对象采 取的操作”中选择“执行推荐的操作” 。 (8) 然后选择“高级设置”,在“不扫描存档文件”和“扫描对象时不要询问密码” 前打上勾,然后单击“确定”按钮。 5. 实训思考题 (1) 在卡巴斯基杀毒软件单机版中如何选择部分扫描,说明步骤。 (2) 卡巴斯基杀毒软件中 Key 文件的作用是什么? 6.6 病毒的查杀实验 6.6.1 尼姆达(Nimda)病毒的查杀 1. 实训目的 (1) 掌握尼姆达病毒的查杀方法。 (2) 掌握查杀尼姆达病毒后彻底解决漏洞及手工修复的方案。 (3) 掌握清除尼姆达病毒后如何修复 Microsoft Office 运行异常问题。 ·154· www.plcworld.cn 第 6 章 网络病毒与防治 ·155· 2. 实训内容 (1) 查杀尼姆达病毒后彻底解决漏洞并手工修复。 (2) 清除尼姆达病毒后修复 Microsoft Office 运行异常问题。 3. 实训理论基础 2001 年 9 月 18 日出现一种破坏力较强的新型病毒——尼姆达(W32.Nimda.A@mm), 它在互联网上开始蔓延。 Worms.Nimda 是一个新型蠕虫,也是一个病毒,它通过 E-mail、共享网络资源、IIS 服务器传播。同时它也是一个感染本地文件的新型病毒。这个新型 W32.Nimda.A@mm 蠕 虫通过多种方式进行传播,几乎包括目前所有流行病毒的传播手段。 (1) 通过 E-mail 将自己发送出去。 (2) 搜索局域网内共享网络资源。 (3) 将病毒文件复制到没有打补丁的微软(NT/2000)IIS 服务器。 (4) 感染本地文件和远程网络共享文件。 (5) 感染浏览的网页。 该蠕虫由 JavaScript 脚本语言编写,病毒体长度为 57 344 字节,它修改在本地驱动器 上的.htm、.html.和 .asp 文件。通过这个病毒,IE 和 Outlook Express 加载产生 readme.eml 文件。该文件将尼姆达蠕虫作为一个附件包含,因此,不需要拆开或运行这个附件病毒就 被执行。由于用户收到带毒邮件时无法看到附件,这样给防范带来困难,病毒也更具隐 蔽性。 这个病毒降低系统资源,可能最后导致系统运行变慢最后宕机;它改变安全设置,在 网络中共享被感染机器的硬盘,导致泄密;它不断地发送带毒邮件。与红色代码与蓝色代 码不同的是,该病毒不仅针对服务器,还对 Windows 9X 系统进行感染和破坏。 Worms.Nimda 运行时,会搜索本地硬盘中的 Htm 和 Html 文件和 Exchange 邮箱,从中 找到 E-mail 地址,并向这些地址发邮件;搜索网络共享资源,并试图将带毒邮件放入别人 的共享目录中;利用 CodeBlue 病毒的方法攻击随机的 IP 地址,如果 IIS 服务器并未安装补 丁,就会中毒。该蠕虫用它自己的 SMTP 服务器发出邮件,同时用已经配置好的 DNS 获得 一个 E-mail 服务器的地址。 Worms.Nimda 运行时也会查找本地的 Htm/Asp 文件,将生成的带毒邮件放入这些文件 中,并加入 JavaScript 脚本。这样,每当该网页被打开时,就会自动打开染毒的 readme.eml。 Worms.Nimda 感染本地 PE 文件时有两种方法。 (1) 一种是查找所有的 Windows 应用程序(在 HKEY_LOCAL_MACHINE\ Software\ Microsoft\Windows\Currentversion\AppPaths 中),并试图感染之,但不感染 Winzip32.exe。 (2) 第二种方法是搜索所有文件,并试图感染之。被感染的文件会增大约 57KB。如果 用户游览了一个已经被感染的 Web 页时,就会被提示下载一个.eml(OutlookExpress)的电子 邮件文件,该邮件的 MIME 头是一个非正常的 MIME 头,并且它包含一个附件,即此蠕虫。 这种邮件也可能是别人通过网络共享存入你的计算机中,也可能是在别人的共享目录中, 无论如何,只要你在 Windows 的资源管理器中选中该文件,Windows 将自动预览该文件, 由于 OutlookExpress 的一个漏洞导致蠕虫自动运行,因此即使你不打开文件,也可能中毒。 ·155· www.plcworld.cn ·156· 计算机网络安全技术 当这个蠕虫执行的时候,它会在 Windows 目录下生成 Mmc.exe 文件,并将其属性改为系统、 隐藏;它会用自己覆盖 SYSTEM 目录下的 Riched20.dll,这个文件是 Microsoft Office 套件 运行的必备库,Windows 的写字板等也要用到这个动态库,任何要使用这个动态库的程序 试图启动时,都会激活它;它会将自己复制到 SYSTEM 目录下,并改名为 Load.exe,这样, 在系统每次启动时,将自动运行它;这个蠕虫会在已经感染的计算机共享所有本地硬盘, 同时,这个蠕虫会以超级管理员的权限建立一个 Guest 的访问账号,以允许别人进入本地 的系统。这个蠕虫改变 IE 的设置,让它无法显示隐藏文件和已知文件的扩展名。 4. 实训步骤 1) 查杀尼姆达病毒后彻底解决漏洞并手工修复 对于服务器采取以下方法: (1) 首先安装 IIS 补丁(此 IIS 补丁防止遭受攻击)及 IE 相应最新补丁(IE 补丁防止浏览 带毒网页时中毒)。 (2) 安全隔离,将服务器隔离,断开所有网线。 (3) 解决病毒留下的后门程序,将 IIS 服务的 Scripts 目录中 Tftp*.exe 和 Root.exe 文件 全部移除。 (4) 去掉共享,当受到尼姆达病毒的入侵后,系统中会弹出一些新的共享,如 C 盘、D 盘等的共享,应该将其共享属性去掉。 (5) 查看管理权限,另外查看一下 Administrator 组中是否加进了 Guest 用户,如果是, 请将 Guest 用户从 Administrator 组中删除。 (6) 查杀病毒,使用杀毒软件进行查杀,彻底清除尼姆达病毒。 (7) 恢复网络连接。 对于客户端采取以下方法: (1) 及时断开所有的网络连接。 (2) 热启动,结束蠕虫病毒的进程。 (3) 在系统的 Temp 文件目录下删除病毒文件。 (4) 使用干净无毒的 Riched20.dll(约 100KB)文件替换染毒的同名的 Riched20.dll 文件 (57 344B)。 (5) 将系统目录下的 Load.exe 文件(57 344 字节)以及 Windows 根目录下的 Mmc.exe 文 件彻底删除,要在各逻辑盘的根目录下查找 Admin.dll 文件,如果有则删除这些病毒文件, 并要查找文件名为 Readme.eml 的文件,也要删除它。 (6) 如果用户使用的是 Windows NT 或 Windows 2000 操作系统,那么要打开“控制面 板”,之后打开“用户和密码”,将 Administrator 组中 Guest 账号删除。 2) 清除尼姆达病毒后修复 Microsoft Office 运行异常问题 由于尼姆达病毒用自身覆盖了 SYSTEM 目录下的 Riched20.dll 文件,所以 Microsoft Word 等字处理软件运行不正常。 用户杀毒后,可以从安装盘里找到相应的文件重新复制。 Windows 98:在压缩包 Win98_35.cab 中,解开找到 Riched20.dll 复制到 SYSTEM 目录。 Windows 98SE:在压缩包 Win98_41.cab 中。 ·156· www.plcworld.cn 第 6 章 网络病毒与防治 ·157· Windows 2000:在 SYSTEM32\dllcache 目录有备份,将它复制到 SYSTEM32 目录。或 者也可以从其他未感染过病毒的机器复制这些文件。 5. 实训思考题 (1) 尼姆达病毒的 4 个传播途径是什么? (2) 尼姆达病毒通过什么途径来影响 Microsoft Office 的正常运行? 6.6.2 冲击波(Worm.Blaster)病毒的查杀 1. 实训目的 (1) 掌握冲击波病毒的发现和清除的方法。 (2) 掌握冲击波病毒的手工清除方法。 2. 实训内容 (1) 冲击波病毒的发现和清除。 (2) 冲击波病毒的手工清除。 3. 实训理论基础 冲击波病毒是利用微软公司公布的 RPC 漏洞进行传播的,只要是计算机上有 RPC 服务并 且没有打安全补丁的计算机都存在 RPC 漏洞,具体涉及的操作系统是:Windows 2000 /XP/Server 2003。冲击波病毒于 2003 年 8 月 12 日被瑞星全球反病毒监测网率先截获。该 病毒运行时会不停地利用 IP 扫描技术寻找网络上系统为 Windows 2000/ XP 的计算机, 找到后就利用 DCOM RPC 缓冲区漏洞攻击该系统,一旦攻击成功,病毒体将会被传送到 对方计算机中进行感染。该病毒感染系统后,会使计算机产生下列现象:系统资源被大量 占用,有时会弹出 RPC 服务终止的对话框,并且系统反复重启,不能收发邮件,不能正常 复制文件,无法正常浏览网页,复制、粘贴等操作受到严重影响,DNS 和 IIS 服务遭到非 法拒绝等。在 2003 年 8 月 16 日以后,该病毒还会使被攻击的系统丧失更新该漏洞补丁的 能力。 病毒详细说明如下所示: (1) 病毒运行时会将自身复制到 Window 目录下,并命名为 Msblast.exe。 (2) 病毒运行时会在系统中建立一个名为 BILLY 的互斥量,目的是保证在内存中有一 份病毒体,避免用户发现。 (3) 病毒运行时会在内存中建立一个名为 Msblast.exe 的进程,该进程就是活的病毒体。 (4) 病毒会修改注册表,在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Run 中添加以下键值:windows auto update=msblast.exe,以便每次启动系统 时,病毒都会运行。 (5) 病毒体内隐藏有一段文本信息:I just want to say LOVE YOU SAN!!Billy gates why do you make this possible ? Stop making money and fix your software!! (6) 病毒会以 20s 为间隔,每 20s 检测一次网络状态,当网络可用时,病毒会在本地的 UDP/69 端口上建立一个 Tftp 服务器,并启动一个攻击传播线程,不断地随机生成攻击地 址进行攻击,另外该病毒攻击时,会首先搜索子网的 IP 地址,以便就近攻击。 ·157· www.plcworld.cn ·158· 计算机网络安全技术 (7) 当病毒扫描到计算机后,就会向目标计算机的 TCP/135 端口发送攻击数据。 (8) 当病毒攻击成功后,便会监听目标计算机的 TCP/4444 端口作为后门,并绑定 Cmd.exe。然后蠕虫会连接到这个端口,发送 Tftp 命令,回连到发起进攻的主机,将 Msblast.exe 传到目标计算机上并运行。 (9) 当病毒攻击失败时,可能会造成没有打补丁的 Windows 系统 RPC 服务崩溃, Windows XP 系统可能会自动重启计算机。该蠕虫不能成功攻击 Windows Server 2003,但 是可以造成 Windows Server 2003 系统的 RPC 服务崩溃,默认情况下是系统反复重启。 (10) 病毒检测到当前系统月份是 8 月之后或者日期是 15 日之后,就会向微软的更新 站点 windows update.com 发动拒绝服务攻击,使微软网站的更新站点无法为用户提供服务。 4. 实训步骤 1) 冲击波病毒的发现和清除 (1) 病毒通过微软的最新 RPC 漏洞进行传播,因此用户应先给系统打上 RPC 补丁。 (2) 病毒运行时会建立一个名为 BILLY 的互斥量,使病毒自身不重复进入内存,并且 病毒在内存中建立一个名为 Msblast 的进程,用户可以用任务管理器将该病毒进程终止。 (3) 病毒运行时会将自身复制为%systemdir%\msblast.exe,用户可以手动删除该病毒文 件(%systemdir%是一个变量,它指的是操作系统安装目录中的系统目录)。 (4) 手工清除注册表的 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \Current Version\Run 项中的 windows auto update=msblast.exe 键值。 (5) 使用防火墙软件将病毒会用到 135、4444、69 等端口禁止或者使用“TCP/IP 筛选” 功能,禁止这些端口。 2) 冲击波病毒的手工清除方案 (1) DOS 环境下清除该病毒。 ① 当用户中毒出现以上现象后,用 DOS 系统启动盘启动进入 DOS 环境下,进入 C 盘的操作系统目录。 操作命令集: CD C:\Windows (或 cd C:\Winnt) ② 查找目录中的 Msblast.exe 病毒文件。 操作命令集: Dir Msblast.exe /s/p ③ 找到后进入病毒所在的子目录,然后直接将该病毒文件删除。 操作命令集: Del Msblast.exe (2) 在安全模式下清除病毒。 如果用户手头没有 DOS 启动盘,还有一种方法,就是启动系统后进入安全模式,然后 搜索 C 盘,查找 Msblast.exe 文件,找到后直接将该文件删除,然后再次正常启动计算机 即可。 手工清除了病毒体后,应上网下载相应的补丁程序,给系统打上补丁。 ·158· www.plcworld.cn 第 6 章 网络病毒与防治 ·159· 5. 实训思考题 (1) 冲击波病毒会给系统造成什么样的影响? (2) 除了上述的方式外,还有什么方法可以清除冲击波病毒,试说出其过程。 6.6.3 红色代码(Code Red)病毒的查杀 1. 实训目的 掌握红色代码病毒的发现和清除的方法。 2. 实训内容 红色代码病毒的查杀与清除。 3. 实训理论基础 红色代码病毒是一种新型网络病毒,其传播所使用的技术可以充分体现网络时代网络 安全与病毒的巧妙结合,将网络蠕虫、计算机病毒、木马程序合为一体,开创了网络病毒 传播的新路,可称之为划时代的病毒。红色代码采用了一种叫做“缓存区溢出”的黑客技 术,利用网络上使用微软 IIS 系统的服务器来进行病毒传播。这个蠕虫病毒使用服务器的 端口 80 进行传播,而这个端口正是 Web 服务器与浏览器进行信息交流的渠道。红色代码 主要有如下特征:入侵 IIS 服务器,将 WWW 英文站点改写为“Hello! Welcome to www.Worm. com! Hacked by Chinese!”。 红色代码蠕虫能够迅速传播,并造成大范围的访问速度下降甚至阻断。红色代码蠕虫 造成的破坏主要是篡改网页,对网络上的其他服务器进行攻击,被攻击的服务器又可以继 续攻击其他服务器。在每月的20 日至27 日,向特定IP 地址198.137.240.91(www.whitehouse.gov) 发动攻击。与其他病毒不同的是,红色代码病毒并不将病毒信息写入被攻击服务器的硬盘。 它只是驻留在被攻击服务器的内存中,并借助这个服务器的网络连接攻击其他的服务器。 红色代码Ⅱ是红色代码的改良版,病毒作者对病毒体做了很多优化,同样可以对红色 代码病毒可攻击的联网计算机发动进攻,它不同于以往的文件型病毒和引导型病毒,只存 在于内存,传染时不通过文件这一常规载体,直接从一台电脑内存到另一台电脑内存。但 与红色代码不同的是,这种新变型不仅只对英文系统发动攻击,还攻击其他语言的系统。 而且这种病毒还可以在遭到攻击的机器上植入“特洛伊木马”,使得被攻击的机器“后门 大开”。红色代码Ⅱ拥有极强的可扩充性,通过程序自行完成的木马植入工作,使得病毒 作者可以通过改进此程序来达到不同的破坏目的。 红色代码Ⅱ的程序流程如下:当本地 IIS 服务程序收到某个来自红色代码 II 发的请求 数据包时,由于存在漏洞,导致处理函数的堆栈溢出(overflow)。当函数返回时,原返回地 址已被病毒数据包覆盖,程序运行线跑到病毒数据包中,此时病毒被激活,并运行在 IIS 服务程序的堆栈中。病毒代码首先会判断内存中是否已注册了一个名为 CodeRed II 的 Atom(系统用于对象识别),如果已存在此对象,表示此机器已被感染,病毒进入无限休眠 状态,未感染则注册 Atom 并创建 300 个病毒线程,当判断到系统默认的语言 ID 是中华人 民共和国或中国台湾时,线程数猛增到 600 个,创建完毕后初始化病毒体内的一个随机数 发生器,此发生器产生用于病毒感染的目标电脑 IP 地址。每个病毒线程每 100ms 就会向一 ·159· www.plcworld.cn ·160· 计算机网络安全技术 随机地址的 80 端口发送一长度为 3 818 字节的病毒传染数据包。完成上述工作后病毒将系 统 目 录 下 的 Cmd.exe 文 件 分 别 复 制 到 系 统 根 目 录 \inetpub\scripts 和 系 统 根 目 录 \progra~1\common~1\system\MSADC 下,并取名为 Root.exe。然后从病毒体内释放出一个 木马程序,复制到系统根目录下,并取名为 Explorer.exe,此木马运行后会调用系统原 Explorer.exe,运行效果和正常 Explorer 程序无异,但注册表中的很多项已被修改。由于释 放木马的代码是个循环,如果目的目录下 Explorer.exe 发现被删,病毒又会释放出一个。最 后病毒休眠 24 小时(中文版为 48 小时)强行重启计算机。当病毒线程判断日期大于 2002 年 10 月时,会立刻强行重启计算机。 4. 实训步骤 (1) 断开网络,以避免重复感染和感染其他机器。 (2) 立即停止 IIS 服务。 (3) 按 Ctrl+Alt+Del 键,弹出“任务管理器” 窗口,单击“进程”标签 ,检查是否进 程中有两个 Explorer.exe。如果找到两个 Explorer.exe,说明木马已经在机器上运行了,应 当立刻杀掉木马程序;否则,说明还没有执行木马程序,可以转到第(5)步。 (4) 在“任务管理器”窗口中执行“查看” →“选定列”命令,在弹出的“选定列” 对话框中选中“线程计数”复选框,单击“确定”按钮。这时会发现显示框中增加了新的 一列“线程数”。检查两个 Explorer.exe,显示只有 1 个线程的 Explorer.exe 就是木马程序, 应当立刻结束这个进程。 (5) 重新启动系统,运行 cmd,在 cmd 窗口中运行以下命令,以删除蠕虫病毒留下的 后门。 C: CD C:\ ATTRIB -h -s -r Explorer.exe Del Explorer.exe Del C:\inetpub\scripts\Root.exe Del C:\progra~1\Common~1\System\MSADC\Root.exe D: CD D:\ Attrib -h -s -r Explorer.exe Del Explorer.exe Del D:\inetpub\scripts\Root.exe Del D:\progra~1\Common~1\System\MSADC\Root.exe 忽略其中出现的任何错误。 (6) 修改被蠕虫改动过的注册表。 ① 运行 regedit。 ② 选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ Parameters\Virtual Roots。 ③ 选择/C,选择删除,选择/D, 选择删除。 ·160· www.plcworld.cn 第 6 章 网络病毒与防治 ·161· ④ 选择/MSADC,将 217 换为 201。 ⑤ 选择/scripts,将 271 换为 201。 ⑥ 对于 Windows 2000 系统,需要打开 HKEY_LOCAL_MACHINE\Software\Microsof t\Windows NT\CurrentVersion\WinLogon。 ⑦ 将 SFCDisable 改为 0。 (7) 重新启动系统。 (8) 执行步骤(4),给系统打上补丁。 5. 实训思考题 (1) 简述红色代码病毒的感染机制。 (2) 怎样预防红色代码病毒? 6.6.4 FunLove 病毒的查杀 1. 实训目的 掌握 FunLove 病毒查杀的方法。 2. 实训内容 FunLove 病毒的查杀。 3. 实训理论基础 FunLove 是 WIN32 类型的病毒,它可以感染 Windows 9x 和 Windows NT 4.0 操作系统 的计算机,并感染所有 WIN32 类型的文件(PE 文件),如 Windows 和 Program Files 目录及 其子目录中的扩展名为.exe、.scr 和.ocx 的文件。该病毒搜索所有具有写访问的网络共享文 件夹并感染那里的所有文件,同时能够修补 Windows NT 环境的完整性检测,以便能够感 染系统文件。该病毒是驻留内存的 WIN32 病毒,该病毒既没有加密又不具有多态性。它 感染本地和网络中的 PE. EXE 文件。病毒本身就是只具有.code 部分的 PE 可执行文件。该 病毒同时能够修补 Windows NT 环境的完整性检测,以便能够感染系统文件。 病毒中有~Fun Loving Criminal~字样。该病毒没有故意的破坏性,但是由于 Windows NT 系统安全性很差,所以可能造成的破坏还是应当引起注意的。 同一个简单的添加一样,Win32/Funlove.4099 将它的代码复制到宿主文件的最后一个 扇区的结尾,然后,它修改 PE 文件头信息以显示新的扇区大小,使扇区的特征适应病毒 的需要,同时病毒修改原文件入口点的程序代码以便执行病毒代码。 当一个染毒程序被运行,病毒代码程序获得系统控制权,Win32/Funlove.4099 病毒在 系统目录下创建 flcss.exe 文件,并从染毒宿主文件的最后提取出病毒代码,将其写入该文 件中,然后 flcss.exe 被执行。 如果是在 Windows NT 的许可权限下运行,flcss.exe 会将自身像一个服务程序一样安装 到 Windows NT 机器上。它会以 flc 显示在标准的 Windows NT 服务列表中,并且被设置为 在每次启动时自动运行此服务。在 Windows 9X 下,它像一个隐含程序一样运行,在任务 列表中是不可见的。 在病毒程序第一次运行时,该病毒会按照一定的时间间隔,周期性地检测每一个驱动 ·161· www.plcworld.cn ·162· 计算机网络安全技术 器上的 EXE、SCR(屏保程序)和 OCX(ActiveX Control)文件,找到相应的文件就感染它们。 它还搜索在网络上可使用的共享资源,并感染任何有访问权限的同一类型的文件。因此, 它可以在机器间完全开放权限的共享文件上非常快地传播。该病毒检测以下文件名且不感 染它们:ALER*,AMON*,_AVP*,AVP3*,AVPM*,FPR*,NAVW*,SCAN*,SMS S*,DDHE*,DPLA*,MPLA*。 尽管该病毒对数据没有直接的破坏性,但是在 NT 下,Win32/Funlove.4099 病毒还对 ntoskrnl.exe 文 件 做 了 一 个 小 的 修 改 (patch) , 使 得 文 件 的 许 可 请 求 总 是 返 回 允 许 访 问 (access allowed),这意味着被感染机器的安全已受到了极大的威胁。只要是在被修改的机器 上,所有的用户都拥有了对每一个文件的完全控制访问权,即使是在系统中可能拥有最低权 限的 Guest,也能读取或修改所有文件,包括通常只有管理员才能访问的文件。在 Windows NT 启动时,NTLDR 将检测 ntoskrnl.exe 的完整性,所以病毒也修改 NTLDR,因此 NTLDR 将 允 许 系 统 加 载 修 改 后 的 ntoskrnl 文 件 。 这 种 修 改 只 能 在 某 些 Windows NT 服 务 包 (service packs)中起作用,但是不管当前机器的 SP 级别,病毒都会申请修改程序。在感染 FLC 病毒的 Windows NT 机器上清除病毒后,需要用备份文件对这些被修改的文件进行恢 复,或者重新安装这些文件。 如果 flcss.exe 运行在 DOS 下,病毒将显示~Fun Loving Criminal~字串,然后它试图通 过键盘控制器重新启动系统。这大概是希望被 Windows 加载,病毒可能就有另一个机会去 执行。这种尝试经常失败,而计算机则被锁。 4. 实训步骤 以 Windows 98 操作系统为例。 1) 更新杀毒软件或者下载专门的杀毒程序 (1) 更新杀毒软件。 (2) 下载 Fixfun.exe,这是 Symantec 出的一个专门清除 Funlove 病毒小工具;下载后保 存到一张空白的软盘上。上述下载和保存过程一定要在一台确认是无病毒的计算机上进行, 确保程序本身不会被染毒。 2) 去掉网络共享,重新启动计算机 3) 开启电脑进入纯 DOS 环境 开机启动电脑时,按住 Ctrl 键或在弹出 Start Windows 98…时按 F8 键,然后选择 “Command Prompt Only”。 4) 删除 Flcss.exe 假设 Windows 操作系统安装在 C:\Windows 目录下。 (1) 在 C 盘目录下进入 C:\Windows\System。 C:\>cd Windows\System (2) 查找是否有 Flcss.exe 这个文件,运行命令如下所示。 C:\Windows\System>Dir Flcss.exe (3) 如果存在 Flcss.exe,删除它,运行命令如下所示。 C:\Windows\System>Del Flcss.exe 5) 运行杀病毒程序清除病毒 ·162· www.plcworld.cn 第 6 章 网络病毒与防治 ·163· 注意:在 DOS 环境下无法查到压缩文件中的病毒。运行杀毒软件 For DOS 版程序进行查杀, 或者运行 Fixfun.exe 进行杀毒。 (1) 插入保存有 Fixfun.exe 的软盘。 (2) 运行 Fixfun.exe 进行杀毒。 对 C 盘进行杀毒: A:\>Fixfun C: 对全盘进行杀毒: A:\>Fixfun /A 6) 复查 在 Windows 环境下运行杀毒软件,检查文件类型,注意选择所有文件类型!然后对所 有分区进行检查,确认病毒已经完全清除。 5. 实训思考题 (1) FunLove 病毒对系统文件所做的修改有哪些? (2) FunLove 病毒的专杀工具还有哪些? 6.6.5 CIH 病毒的查杀 1. 实训目的 (1) 掌握检查是否感染 CIH 病毒的方法。 (2) 掌握 CIH 病毒的清除方法。 2. 实训内容 (1) 判断是否感染 CIH 病毒。 (2) CIH 病毒的清除。 3. 实训理论基础 CIH 病毒最早于 1998 年 6 月初在台湾被发现(CIH 病毒作者陈盈豪的名字已经家喻户 晓),之后便开始在全球爆发,在短短几个月内一跃进入流行病毒的前十名。该病毒通过盗 版软件(包括一些流行的游戏软件)传播,速度极快。 当 CIH 病毒发作时它会覆盖掉硬盘中的绝大多数数据,这样只能从最新的备份中恢复。 然而,该病毒还有另一种破坏方式:即试图覆盖 Flash BIOS 中的数据。一旦 Flash BIOS 被覆盖掉,那么机器将不能启动,只有将 Flash BIOS 进行重写。Flash BIOS 存在于多种类 型的 Pentium 机器中,像 Intel 430TX,在大多数机器中 Flash BIOS 通过一个跳线保护,通 常情况下,保护是关闭的。 CIH 病毒感染 Windows 可执行文件(EXE),它不感染 Word 和 Excel 文档。CIH 感染 Windows 95/98 系统,却不能感染 Windows NT 系统。 CIH 病毒采取一种特殊的方式对可执行文件进行感染,感染后的文件大小根本没有变 化,病毒代码的大小在 1KB 左右。为了获取对系统文件的调用,该病毒跟踪处理器 0 环到 3 环的跳转。 ·163· www.plcworld.cn ·164· 计算机网络安全技术 4. 实训步骤 1) 判断是否感染 CIH 病毒 方法一:搜索可执行文件中的字符串。 由于流行的 CIH 病毒版本中标识版本号的信息使用的是明文,所以可以通过搜索可执 行文件中的字符串来识别是否感染了 CIH 病毒,搜索的特征串为 CIH v 或者是 CIH v1。如 果想搜索更完全的特征字符串,可尝试 CIH v1.2 TTIT、CIH v1.3 TTIT 以及 CIH v1.4 TATUNG,不要直接搜索 CIH 特征串, 因为此特征串在很多的正常程序中也存在。 (1) 打开 “资源管理器”窗口。 (2) 执行“工具” →“查找” →“文件或文件夹”命令。 (3) 在弹出的“查找文件”对话框的“名称和位置”文本框中输入查找路径及文件名(如: *.exe)。 (4) 在“高级”中的“包含文字”文本框中输入要查找的特征字符串——CIH v。 (5) 单击“查找”按钮即可开始查找工作。如果在查找过程中显示出一大堆符合查找 特征的可执行文件,则表明此计算机上已经感染了 CIH 病毒。 方法二:在“写字板”软件的可执行程序 Notepade.exe 中搜索特征串。 在方法一中存在着一个致命的缺点,那就是:如果用户刚刚感染 CIH 病毒,那么这样 一个大面积的搜索过程实际上也是在扩大病毒的感染面。一般情况下, 推荐的方法是先运 行一下“写字板”软件,然后使用上面的方法在“写字板”软件的可执行程序 Notepade.exe 中搜索特征串,以判断是否感染了 CIH 病毒。 方法三:搜索字段。 在 Windows PE 文件中搜索 IMAGE_NT_SIGNATURE 字段,也就是 0x00004550, 其 代表的识别字符为 PE00,然后查看其前一个字节是否为 0x00,如果是,则表示程序未受 感染,如果为其他数值,则表示很可能已经感染了 CIH 病毒。 方法四:搜索值。 先搜索 IMAGE_NT_SIGNATURE 字段——PE00,接着搜索其偏移 0x28 位置处的值是 否为 55 8D 44 24 F8 33 DB 64,如果是,则表示此程序已被感染。 2) CIH 病毒的清除 (1) 保护主板的 BIOS。用户应了解自己计算机主板的 BIOS 类型,如果是不可升级型, 用户也不必惊慌,因为 CIH 病毒对这种 BIOS 的最大危害是使 CMOS 的设置返回到该主板 出厂时的设置,用户只要将 CMOS 重新设置即可。如果 BIOS 是可升级型,用户就不要轻 易地重启计算机从 C 盘引导系统,而应及时地进入 CMOS 设置程序,将系统引导盘设置为 A盘软驱,然后用 Windows 9X 的系统引导盘引导系统到 DOS 7.0,这时用户就可以对硬盘 的所有逻辑驱动器进行一次全面扫描并查杀 CIH 病毒,经扫描确认无毒后,再查找产生该 问题的原因或进行其他操作。 (2) 清除 CIH 病毒。由于 CIH 病毒不感染和破坏用户运行其他应用软件制作的各种文 件或数据库,因此用户在彻底清除硬盘所有的 CIH 病毒后,应该重新安装系统软件和应用 软件。这里有两种重新安装方法:一是在被 CIH 病毒破坏的基础上直接安装,这种方法比 较简便,但占用的磁盘空间增加;另一种是将全部重要数据进行完全备份,然后将被 CIH 病毒破坏的系统程序和应用程序删除,或者用 Format(格式化)命令将硬盘重新格式化后, ·164· www.plcworld.cn 第 6 章 网络病毒与防治 ·165· 再安装系统程序和应用程序,以便节省磁盘空间。 5. 实训思考题 简述 CIH 病毒的对系统的影响。 6.6.6 求职信(Klez)病毒的查杀 1. 实训目的 (1) 掌握求职信病毒的查杀方法。 (2) 掌握对求职信病毒文件进行恢复的方法。 2. 实训内容 (1) 求职信病毒的清除。 (2) 恢复求职信病毒感染的文件。 3. 实训理论基础 第一版求职信病毒利用微软邮件系统自动运行附件的安全漏洞,通过电子邮件传播, 传染能力极强。由于邮件中含有英文“我必须找到一份工作来供养我的父母”的信息,故 命名为“求职信”病毒。传染可执行文件,定时搜索电脑中的所有文件,耗费大量系统资 源最终造成电脑运行缓慢直至瘫痪。遇到单月 13 日时会自动发作,将所有系统文件加长一 倍,浪费大量硬盘空间。 求职信病毒的多个变种(Klez.e、Klez.f、Klez.g)后来集体出击。在原病毒的基础上增加 了更多的工作线程,可驻留系统,强行关闭用户正在进行的正常操作,删除有用文件,已 呈现恶性病毒的雏形。其中的 E 版在每个单月的 6 日暴发。Klez.e 是有史以来互联网上传 播速度最快的病毒之一。 求职信病毒的其他变种保留了以前版本的所有破坏伎俩,可破坏所有硬盘和网络盘, 增加可覆盖文件的类型。最新变体迅速在全球扩散,势头凶猛异常,导致受害用户呈几何 级数型上升。全球各反病毒机构均发出最高等级的病毒警报,所以掌握对该种病毒的查杀 方法是必需的。 它的传播方式有 4 种: (1) 第一种:通过因特网邮件,它搜索当前用户的地址簿文件中的类邮件地址的文本 内容,或随机计算邮件地址,通过 Windows 的 Socket 函数集用 SMTP 服务器发送自己这 个带毒木马,邮件文件是由木马部分形成,并且该邮件会在 Outlook Express 下自动执行, 它的主题是随机的,但以下几种情况。 Hi! Hello! How are you? Can you help me? We want peace. Where will you go? Congratulations!!! Don't cry. Look at the pretty. Some advice on your shortcoming. Free X XX Pictures. A free hot porn site. Why don't reply to me? How about have dinner with me to gether? 信的正文为: I'm sorry to do so,but it's helpless to say sorry. I want a good job,I must support my parents. ·165· www.plcworld.cn ·166· 计算机网络安全技术 Now you have seen my technical capabilities. How much my year-salary now? NO more than $5 500. What do you think of this fact?…Don't call my names,I have no hostility. Can you help me? (2) 第二种:通过网络邻居,它搜索所有的网络连接,查找共享目录,将自己的文件 放到共享目录中,并试图让远程计算机将它作为一个服务启动。 (3) 第三种:通过磁盘传播,它创建专门的线程感染磁盘,如果当前日期为单月的 13 号,将找到的文件内容进行复制。 (4) 第四种:病毒方式感染。 求职信病毒感染文件后会将原来的文件加密后保存成另外一个同名的文件,但后缀是 随机的,并将这个文件的属性改成隐藏;同时用病毒体代替原来的文件。大部分杀毒软件 对求职信病毒都采用了简单的删除方法,将病毒体直接删除,导致用户的文件丢失。 4. 实训步骤 1) 求职信病毒的清除 (1) 下载瑞星杀毒软件求职信系列病毒专杀版 RS_klez.exe。 (2) 将 RS_klez.exe 复制到硬盘,直接运行,它会自动展开并运行。在启动的时候会检 查系统进程,先将求职信的进程杀掉,然后运行杀毒程序,清除求职信病毒。 2) 恢复求职信病毒感染的文件 (1) 下载求职信文件恢复工具 RSRepair.exe。 (2) 显示隐藏文件。在“资源管理器”窗口中执行“工具” →“文件夹选项”命令, 单击“查看”标签,然后选中“显示选择所有文件和文件夹”单选按钮。 (3) 在要恢复文件的目录下查找要恢复的文件。根据求职信病毒的特点,如果有一个 文件的文件名称和要恢复的文件一样,而后缀名不同,而且是隐藏文件,那么它多半是被 求职信病毒加密保存的原始文件。 (4) 将它拖到 RSRepair.exe 中,单击“修复”按钮,选择要保存的文件名。如果这确 实是一个可以修复的被求职信加密的原始文件,文件就会被修复。否则,将弹出“这不是 被病毒感染的文件,无法修复”对话框。 5. 实训思考题 求职信病毒最显著的特征是什么? 6.6.7 红色终结符(RedLof)病毒的查杀 1. 实训目的 掌握红色终结符病毒的清除方法。 2. 实训内容 红色终结符病毒的清除。 ·166· www.plcworld.cn 第 6 章 网络病毒与防治 ·167· 3. 实训理论基础 红色终结符病毒可以在 Windows 9X、Windows 2000、Windows XP 等操作系统环境下 正常运行。它感染脚本类型的文件,运行时,全盘查找脚本类型的文件(VBS、HTM、HTML 等),如果找到,则将病毒自身加入这些文件的尾部,完成感染。该病毒还会疯狂感染文件 夹,会在感染的文件夹下产生两个文件,一个名为 Desktop.ini 的目录配置文件,一个名为 Folder.htt 的病毒体文件,当用户双击鼠标进入被感染的文件夹时,病毒就会被激活,由于 病毒每激活一次,就会在内存中复制一次,所以当用户多次进入被感染的文件夹时,病毒 就会大量进入内存,造成计算机运行速度越来越慢,而且该病毒还会随着信件模板进行网 络传播。 此病毒会有如下特征,如果用户发现计算机中有这些特征,则很有可能中了此病毒。 (1) 如果对脚本文件比较熟悉,比如说网页设计人员等,可以查找一些自己熟悉的 VBS、HTM、HTML 等类型的文件,用编辑工具查看其内容,看是否能发现可疑代码。 (2) 病毒会在感染文件夹时产生两个病毒文件:Desktop.ini 和 Folder.htt。 (3) 该病毒会使计算机运行速度变慢。 例如 Script.RedLof.Htm.e 病毒是红色终结符病毒的变种,拥有极强的变形功能。病毒 将自己的代码随机组合,全部的关键代码一律变形。感染该病毒的机器在浏览文件夹时会 变慢。对系统的破坏如下所述。 (1) 将%Windows%\Web\Folder.htt 保存到%Windows%\SYSTEM32\Setup.txt,将%Win dows%\SYSTEM32\Desktop.ini 保存到%Windows%\SYSTEM32\Inet.vxd,感染%Windows%\ Web\Folder.htt。 (2) 病毒从后向前枚举用户磁盘盘符。每次感染 5 个路径。 ① 如果当前文件夹没有 Folder.htt 或 Desktop.ini,则感染整个文件夹的 HTM、HTML、 ASP、PHP、JSP、VBS 文件。 ② 在当前文件夹添加两个隐藏文件:Folder.htt 和 Desktop.ini。Folder.htt 感染病毒。 ③ 病毒不重复感染。发现文件中包含 Execute,则认为已经感染。 (3) 对注册表做如下修改。 ① HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\Kernel 32,值为%Windows%\SYSTEM\Kernel.dll 或%Windows%\SYSTEM\Kernel32.dll。 ② 修改 HKEY_CLASSES_ROOT\.dll 和 HKEY_CLASSES_ROOT\dllfile 的系列子键。 ③ 修改 OutLook 的默认页设置,指向病毒。 4. 实训步骤 (1) 用户如果在自己的计算机中发现以上全部或部分现象,则很有可能中了红色结束 符 (Script.RedLof.htm)病毒,用户可以将病毒文件直接删除来消除病毒的影响,但如果想 彻底地清除此病毒,最好还是用杀毒软件的最新版本进行彻底清除。 (2) 用户在杀毒过程中要关闭所有窗口,禁止使用 Web 方式打开“资源管理器”或“我 的电脑”等窗口。 (3) 在 Windows 操作系统环境下,要打开文件监控功能,先查杀内存然后在查杀所有 硬盘文件。 ·167· www.plcworld.cn ·168· 计算机网络安全技术 (4) 在杀完毒之后立即重新启动计算机。 (5) 如果用户在 Windows 操作系统环境下不能完全地清除此病毒,要到纯 DOS 操作环 境下进行杀毒,将此病毒全部清除掉。 5. 实训思考题 如何来判断一台机器是否感染了红色终结符病毒? 小结 本章介绍了计算机网络病毒与防治。首先介绍了计算机病毒的基本概念、计算机病毒 的特征、计算机病毒的分类、传播方式及危害。接着介绍了两种流行杀毒软件的安装和配 置方法,随后对几个热门病毒的查杀进行介绍。计算机病毒是一种计算机程序,它不仅能 够破坏计算机系统,而且还能够传播或感染到其他系统,因此掌握几种计算机病毒的查杀 方法会有利于我们的学习和工作。 习题 1. 什么是计算机病毒? 2. 计算机病毒可以分为几类?各自的特征分别是什么? 3. 简述计算机病毒攻击的对象及其造成的危害。 4. 计算机病毒的传染方式有哪些? 5. 简述检测计算机病毒的常用方法。 6. 试分析和对比几种热门杀毒软件的优缺点。 ·168· www.plcworld.cn 第 7 章 黑客的攻击与防范 本章要点 z 了解黑客攻击的目的及攻击步骤 z 熟悉黑客常用的攻击方法 z 掌握防范黑客的措施 z 掌握黑客攻击过程,并防御黑客攻击 7.1 网络黑客概述 今天计算机已经深入人们的生活,并产生了越来越重要的影响。网络安全问题日益突 出,黑客侵扰和网络攻击现象越来越频繁,就像“幽灵”一样闯荡于网络中各个角落,对 网络安全构成威胁,造成破坏。为了维护计算机网络和信息的安全就要认真研究黑客技术, 分析黑客入侵及攻击原理,找出对策,最终维护网络的安全环境。 在人们眼中,黑客是一群专业技能超群、聪明绝顶、精力旺盛的年轻人,致力于破译 各种密码,查找各种系统漏洞,以便偷偷地、未经允许地闯入政府、企业或他人的计算机 系统窥视他人的秘密数据。那么,什么是黑客呢? 黑客,英文名为 Hacker,是指对计算机信息系统进行非授权访问的人员(《中华人民共 和国公共安全行业标准 GA 163—1997》中定义)。人们通常认为黑客是指在计算机技术上有 一定特长,并凭借自己掌握的技术知识,采用非法的手段逃过计算机网络系统的存取控制, 而获得进入计算机网络进行未授权的或非法的访问的人。 早期的黑客主要入侵程控电话系统,找出其中的漏洞,借以享受免费的电话业务。随 着计算机网络的诞生和发展,他们对网络产生了越来越浓厚的兴趣。最初他们闯入他人计 算机系统的本意不在攻击对方和造成破坏,而是凭借自己的专业技能发现其中的漏洞,进 入系统后留下一定的标记,以此来炫耀自己的能力。20 世纪 60 年代,在美国麻省理工学 院的人工智能实验室里,有一群自称为黑客的学生们以编制复杂的程序为乐趣,当初他们 并没有功利性目的。此后不久,连接多所大学计算机实验室的美国国防部实验性网络 APARNET 建成,黑客文化便通过网络传播到更多的大学乃至社会。后来,有些人利用手 中掌握的“绝技”,借鉴盗打免费电话的手法,擅自闯入他人的计算机系统,干起见不得 人的勾当。随着 APARNET 逐步发展成为因特网,黑客们的活动天地越来越广阔,人数也 越来越多,形成鱼龙混杂的局面。近年来,随着因特网在全球的飞速发展,各种恶性的非 法闯入事件更是频频发生,对世界各国计算机系统的安全构成极大的威胁,于是在人们的 心目中,黑客的形象也就被抹了黑。 黑客侵入计算机系统是否造成破坏以及破坏的程序,因其主观动机不同而有很大的差 别。的确有一些黑客纯粹出于好奇心和自我表现欲而闯入他人的计算机系统,他们可能只 www.plcworld.cn ·170· 计算机网络安全技术 是窥探一下他人的秘密或隐私,并不打算窃取任何数据和破坏系统。另有一些黑客出于某 种原因,如泄私愤、报复、抗议而侵入和篡改目标网站的内容,羞辱对方。例如 1999 年 5 月以美国为首的北约炸毁我驻南使馆后,曾有一批自称“正义的黑客”纷纷闯入白宫、美 国驻华使馆、美国国防部和美国空军等官方网站,篡改其主页,以示抗议。第三类就是恶 意的攻击和破坏,其危害性最大,所占的比例也最大。有的谋取非法的经济利益,如盗用 账号非法提取他人的银行存款,或对被攻击对象进行勒索,使个人、团体、国家遭受重大 的经济损失,还有的蓄意毁坏对方的计算机系统,为一定的政治、军事、经济目的服务。 系统中重要的程序数据可能被篡改、毁坏,甚至全部丢失,导致系统崩溃、业务瘫痪,后 果不堪设想。 7.2 黑客攻击的目的及步骤 7.2.1 黑客攻击的目的 黑客攻击的主要目的是: (1) 窃取信息。 (2) 获取口令。 (3) 控制中间站点。 (4) 获得超级用户权限。 7.2.2 黑客攻击的步骤 黑客常用的攻击步骤可以说变幻莫测,但纵观其整个攻击过程,还是有一定规律可循 的,一般可以分:攻击前奏、实施攻击、巩固控制、继续深入几个过程。下面具体了解一 下这几个过程。 1. 攻击前奏 黑客在发动攻击前了解目标的网络结构,搜集各种目标系统的信息等。 (1) 锁定目标:网络上有许多主机,黑客首先要寻找他找的站点。当然能真正标识主 机的是 IP 地址,黑客利用域名和 IP 地址就可以顺利地找到目标主机。 (2) 了解目标的网络结构:确定要攻击的目标后,黑客就会设法了解其所在的网络结 构,哪里是网关路由,哪里有防火墙、入侵检测系统(IDS),哪些主机与要攻击的目标主机 关系密切等,最简单的就是用 Tracert 命令追踪路由,也可以发一些数据包看其是否能通过 来猜测防火墙过滤规则的设定等。当然老练的黑客在干这些的时候都会利用别的计算机 来间接地探测,从而隐藏他们真实的 IP 地址。 (3) 搜集系统信息:在搜集到目标的第一批网络信息之后,黑客会对网络上的每台主 机进行全面的系统分析,以寻求该主机的安全漏洞或安全弱点。搜集系统信息的方法有开 放端口分析,利用信息服务,利用安全扫描器,社会工程。 开放端口分析,首先黑客要知道目标主机采用的是什么操作系统,什么版本,如果目标 开放Telnet 服务,那么只要是Telnet www.hackervip.com(目标主机),就会显示digitalunlx(xx.xx.xx.) ·170· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·171· (ttypl)login 这样的系统信息。接着黑客还会检查其开放端口进行服务分析,看是否有能被 利用的服务。因特网上的主机大部分都提供 WWW、E-mail、FTP、Telnet 等日常网络服务, 通常情况下 Telnet 服务的端口是 23 等,WWW 服务的端口是 80,FTP 服务的端口是 23。 (4) 利用信息服务:像 SNMP 服务、Traceroute 程序、WHOIS 服务可用来查阅网络系 统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节,Traceroute 程序 能够用该程序获得到达目标主机所要经过的网络数和路由器数,WHOIS 协议服务能提供所 有有关的 DNS 域和相关的管理参数,Finger 协议可以用 Finger 服务来获取一个指定主机上 的所有用户的详细信息(如用户注册名、电话号码、最后注册时间以及他们有没有读邮件 等)。所以如果没有特殊的需要,管理员应该关闭这些服务。 利用安全扫描器,搜集系统信息当然少不了安全扫描器。黑客会利用一些安全扫描器 来帮他们发现系统的各种漏洞,包括各种系统服务漏洞、应用软件漏洞、CGI、弱口令用 户等。 2. 实施攻击 当黑客探测到了足够的系统信息,对系统的安全弱点有了了解后就会发动攻击,当然 他们会根据不同的网络结构、不同的系统情况而采用不同的攻击手段。一般,黑客攻击的 终极目的是能够控制目标系统,窃取其中的机密文件等,但并不是每次攻击黑客都能够达 到控制目标主机的目的的,所以有时黑客也会发动拒绝服务攻击之类的干扰攻击,使系统 不能正常工作。关于黑客具体采用的一些攻击方法,在下面黑客攻击方法中有详细的介绍, 这里就不细说了。 3. 巩固控制 黑客利用种种手段进入目标主机系统并获得控制权之后,不是像大家想象的那样会马 上进行破坏活动,删除数据,篡改网页等,那是毛头小伙子们干的事情。一般入侵成功后, 黑客为了能长时间地保留和巩固他对系统的控制权,而且不被管理员发现,他会做两件事: 清除记录和留下后门。日志往往会记录一些黑客攻击的蛛丝马迹,黑客当然不会留下这些 “犯罪证据”,他会把它删了或用假日志覆盖它,为了日后可以不被觉察地再次进入系统, 黑客会更改某些系统设置,在系统中植入特洛伊木马或其他一些远程操纵程序。 4. 继续深入 用清除日志,删除复制的文件等手段来隐藏自己的踪迹之后,攻击者就开始下一步的 行动——窃取主机上的各种敏感信息,如软件资料、客户名单、财务报表、信用卡号等, 也可能是什么都不动,只是把你的系统作为他存放黑客程序或资料的仓库,也可能黑客会 利用这台已经攻陷的主机去继续他下一步的攻击,如继续入侵内部网络,或者利用这台主 机发动 DoS 攻击使网络瘫痪。 网络世界瞬息万变,黑客们各有不同,他们的攻击流程也不会完全相同,这 4 个攻击 步骤是对一般情况而言的,是绝大部分黑客在正常情况下采用的攻击步骤。 ·171· www.plcworld.cn ·172· 计算机网络安全技术 7.3 常用的黑客攻击方法 7.3.1 端口扫描 一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫 描能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫 描软件进行。手工进行扫描需要熟悉各种命令,对命令执行后的输出进行分析。用扫描软 件进行扫描时,许多扫描器软件都有分析数据的功能。通过端口扫描,可以得到许多有用 的信息,从而发现系统的安全漏洞。 下面首先介绍几个常用网络命令,对端口扫描原理进行介绍。 1. 常用的网络相关命令 1) Ping 命令的基本格式 Ping hostname 其中 hostname 是目标计算机的地址。Ping 还有许多高级使用方法,下面就有一个例子。 C:> Ping -f hostname 这条命令给目标机器发送大量的数据,从而使目标计算机忙于回应。在 Windows 95 的计算机上,使用下面的方法。 C:windowsping -l 65510 saddam_hussein′s.computer.mil 这样做了之后,目标计算机有可能会挂起来,或重新启动。由于-l 65510 产生一个巨大 的数据包。由于要求返回一个同样的数据包,会使目标计算机反应不过来。 2) Tracert 命令 用来跟踪一个消息从一台计算机到另一台计算机所走的路径,比如从你的计算机走到 其他计算机。在 DOS 环境下,命令如下所示: C:WINDOWS>tracert 202.96.102.4 Tracing route to 202.96.102.4 over a maximum of 30 hops 1 84 ms 82 ms 95 ms 202.96.101.57 2 100 ms 100 ms 95 ms 0fa1.1-rtr1-a-hz1.zj.CN.NET [202.96.101.33] 3 95 ms 90 ms 100 ms 202.101.165.1 4 90 ms 90 ms 90 ms 202.107.197.98 5 95 ms 90 ms 99 ms 202.96.102.4 6 90 ms 95 ms 100 ms 202.96.102.4 Trace complete. 左边的数字是该路由通过的计算机数目。×ms 是指向那台计算机发送消息的往返时 间,单位是 ms。由于每条消息每次的来回时间不一样,Tracert 将显示来回时间 3 次。 3) Rusers 和 Finger 这两个都是 UNIX 命令。通过这两个命令,能搜集到目标计算机上的有关用户的消息。 使用 Rusers 命令,产生的结果如下所示。 gajake snark.wizard.com:ttyp1 Nov 13 15:42 7:30 (remote) root snark.wizard.com:ttyp2 Nov 13 14:57 7:21 (remote) ·172· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·173· robo snark.wizard.com:ttyp3 Nov 15 01:04 01 (remote) 最左边的是通过远程登录的用户名,还包括上次登录时间,使用的 Shell 类型等信息。 使用 Finger 可以产生类似下面的结果。 user S00 PPP ppp-122-pm1.wiza Thu Nov 14 21:29:30 - still logged in user S15 PPP ppp-119-pm1.wiza Thu Nov 14 22:16:35 - still logged in user S04 PPP ppp-121-pm1.wiza Fri Nov 15 00:03:22 - still logged in … 这个命令能显示用户的状态。该命令是建立在客户机/服务器模型之上的。用户通过客 户端软件向服务器请求信息,服务器解释这些信息,提供给用户。在服务器上一般运行一 个叫做 Fingerd 的程序,根据服务器的机器配置,能向客户提供某些信息。如果考虑到保护 这些个人信息,有可能许多服务器不提供这个服务,或者只提供一些无关的信息。 可见,任何人都能通过在命令行里输入一个命令,就能搜集到一个域里的所有计算机 的重要信息。而且只花了 3s 时间。利用上述有用的网络命令,可以搜集到许多有用的信息, 比如一个域里的名字服务器的地址,一台计算机上的用户名,一台服务器上正在运行什么 服务,这个服务是哪个软件提供的,计算机上运行的是什么操作系统。如果知道目标计算 机上运行的操作系统和服务应用程序,就能利用已经发现的漏洞来进行攻击。 如果目标计算机的网络管理员没有及时修补这些漏洞,入侵者能轻而易举地闯入该系 统,获得管理员权限,并留下后门。如果入侵者得到目标计算机上的用户名后,能使用口 令破解软件多次试图登录目标计算机。经过尝试后,就有可能进入目标计算机。得到了用 户名,就等于得到了一半的进入权限,剩下的只是使用软件进行攻击而已。 2. 端口扫描原理 1) 扫描器的定义 扫描器是一种自动检测远程或本地主机安全弱点的程序,通过使用扫描器你可不留痕 迹地发现远程服务器的各种 TCP 端口的分配及提供的服务和它们的软件版本!这就能间接 地或直观地了解远程主机所存在的安全问题。 2) 扫描器的工作原理 扫描器通过选用远程 TCP/IP 不同的端口的服务,并记录目标给予的回答,通过这种方 法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆,是否有可 写的 FTP 目录,是否能用 Telnet,HTTP 是用 ROOT 还是一般用户在运行。) 3) 扫描器的功能 扫描器并不是一个直接的攻击网络漏洞的程序,它仅能帮助人们发现目标机的某些内 在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助人们查找目标主机的漏洞。 但它不会提供进入一个系统的详细步骤。 扫描器应该有 3 项功能:发现一个主机或网络的功能;一旦发现一台主机,发现什么 服务正运行在这台主机上的功能;通过测试这些服务,发现漏洞的功能。 编写扫描器程序必须要很多 TCP/IP 程序编写和 C、Perl 和/或 Shell 语言的知识。需要 Socket 编程的背景,一种开发客户机/服务器应用程序的方法。开发一个扫描器是一个雄心 勃勃的项目,通常能使程序员感到很满意。 ·173· www.plcworld.cn ·174· 计算机网络安全技术 4) 常用的端口扫描技术 (1) TCP connect() 扫描 这是最基本的 TCP 扫描。操作系统提供的 connect()系统调用用来与每一个感兴趣的目 标计算机的端口进行连接。如果端口处于侦听状态,那么 connect()就能成功。否则,这个 端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,不需要任何权限,系 统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线 性的方式使用单独的 connect()调用,那么将会花费相当长的时间,可以通过同时打开多个 套接字加速扫描。使用非阻塞 I/O 允许设置一个低的时间用尽周期,同时观察多个套接字。 但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的 Logs 文件会显示一连串 的连接和连接时出错的服务消息,并且能很快地使它关闭。 (2) TCP SYN 扫描 这种技术通常认为是“半开放”扫描,这是因为扫描程序不需要打开一个完全的 TCP 连接。扫描程序发送的是一个 SYN 数据包,好像准备打开一个实际的连接并等待反应一样 (参考 TCP 的三次握手建立一个 TCP 连接的过程)。一个 SYN|ACK 的返回信息表示端口处 于侦听状态。一个 RST 返回表示端口没有处于侦听态。如果收到一个 SYN|ACK,则扫描 程序必须再发送一个 RST 信号来关闭这个连接过程。这种扫描技术的优点在于一般不会在 目标计算机上留下记录。但这种方法的一个缺点是,必须要有 Root 权限才能建立自己的 SYN 数据包。 (3) TCP FIN 扫描 有的时候有可能 SYN 扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进 行监视,有的程序能检测到这些扫描。相反,FIN 数据包可能会没有任何麻烦地通过。这 种扫描方法的思想是关闭的端口会用适当的 RST 来回复 FIN 数据包。另一方面,打开的端 口会忽略对 FIN 数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口 是否打开,都回复 RST,这样,这种扫描方法就不适用了。并且这种方法在区分 UNIX 和 Windows NT 时是十分有用的。 (4) IP 段扫描 这不能算是新方法,只是其他技术的变化。它并不是直接发送 TCP 探测数据包,而是 将数据包分成两个较小的 IP 段。这样就将一个 TCP 头分成好几个数据包,从而过滤器就 很难探测到。但必须小心,一些程序在处理这些小数据包时会有些麻烦。 (5) TCP 反向 Ident 扫描 Ident 协议允许(rfc1413)看到通过 TCP 连接的任何进程的拥有者的用户名,即使这个 连接不是由这个进程开始的。举个例子,连接到 HTTP 端口,然后用 Identd 来发现服务器 是否正在以 Root 权限运行。这种方法只能在和目标端口建立了一个完整的 TCP 连接后才 能看到。 (6) FTP 返回攻击 FTP 协议的一个有趣的特点是它支持代理(proxy)FTP 连接。即入侵者可以从自己的计 算机 a.com 和目标主机 target.com 的 FTP server-PI(协议解释器)连接,建立一个控制通信连 ·174· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·175· 接。然后,请求这个 server-PI 激活一个有效的 server-DTP(数据传输进程)来给 Internet 上任 何地方发送文件。 对于一个 User-DTP,这是个推测,尽管 RFC 明确地定义请求一个服务器发送文件到 另一个服务器是可以的。但现在这个方法好像不行了。这个协议的缺点是“能用来发送不 能跟踪的邮件和新闻,给许多服务器造成打击,用尽磁盘,企图越过防火墙”。 利用它的目的是从一个代理的 FTP 服务器来扫描 TCP 端口。这样,能在一个防火墙后 面连接到一个 FTP 服务器,然后扫描端口(这些原来有可能被阻塞)。如果 FTP 服务器允许 从一个目录读写数据,就能发送任意的数据到发现的打开的端口。 对于端口扫描,这个技术是使用 PORT 命令来表示被动的 User DTP 正在目标计算机上 的某个端口侦听。然后入侵者试图用 LIST 命令列出当前目录,结果通过 Server-DTP 发送 出去。如果目标主机正在某个端口侦听,传输就会成功(产生一个 150 或 226 的回应)。否 则,会出现 425 Can't build data connection: Connection refused。然后,使用另一个 PORT 命令,尝试目标计算机上的下一个端口。这种方法的优点很明显:难以跟踪,能穿过防 火墙。主要缺点是速度很慢,有的 FTP 服务器最终能得到一些线索,关闭代理功能。 (7) UDP ICMP 端口不能到达扫描 这种方法与上面几种方法的不同之处在于使用的是 UDP 协议。由于这个协议很简单, 所以扫描变得相对比较困难。这是由于打开的端口对扫描探测并不发送一个确认,关闭的 端口也并不需要发送一个错误数据包。幸运的是,许多主机在有人向一个未打开的 UDP 端 口发送一个数据包时,会返回一个 ICMP_PORT_UNREACH 错误。这样就能发现哪个端口 是关闭的。UDP 和 ICMP 错误都不保证能到达,因此这种扫描器必须还实现在一个包看上 去是丢失的时候能重新传输的基础上。这种扫描方法是很慢的,因为 RFC 对 ICMP 错误消 息的产生速率做了规定。同样,这种扫描方法需要具有 Root 权限。 (8) UDP recvfrom()和 write() 扫描 当非 Root 用户不能直接读到端口不能到达错误时,Linux 能间接地在它们到达时通知 用户。比如,对一个关闭的端口的第二个 write()调用将失败。在非阻塞的 UDP 套接字上调 用 recvfrom()时,如果 ICMP 出错还没有到达时会返回 EAGAIN-重试。如果 ICMP 到达时, 返回 ECONNREFUSED——连接被拒绝。这就是用来查看端口是否打开的技术。 (9) ICMP echo 扫描 这并不是真正意义上的扫描。但有时通过 Ping,在判断在一个网络上的主机是否开机 时非常有用。 7.3.2 口令破解 通过破解获得系统管理员口令,进而掌握服务器的控制权是黑客的一个重要手段。破 解获得管理员口令的方法有很多,下面是 3 种最为常见的方法。 (1) 猜解简单口令:很多人使用自己或家人的生日、电话号码、房间号码、简单数字 或者身份证号码中的几位;也有的人使用自己、孩子、配偶或宠物的名字;还有的系统管 理员使用 password,甚至不设密码,这样黑客可以很容易通过猜想得到密码。 ·175· www.plcworld.cn ·176· 计算机网络安全技术 (2) 字典攻击:如果猜解简单口令攻击失败后,黑客开始试图字典攻击,即利用程序 尝试字典中的单词的每种可能组合。字典攻击可以利用重复的登录或者搜集加密的口令, 并且试图同加密后的字典中的单词匹配。黑客通常利用一个英语词典或其他语言的词典。 他们也使用附加的各类字典数据库,比如名字和常用的口令。 (3) 暴力猜解:同字典攻击类似,黑客尝试所有可能的字符组合方式。一个由 4 个小 写字母组成的口令可以在几分钟内被破解,而一个较长的由大、小写字母组成的口令,包 括数字和标点,其可能的组合达 10 万亿种。如果每秒钟可以试 100 万种组合,可以在一个 月内破解。 1. 口令破解器 口令破解器是一个程序,它能将口令解译出来,或者让口令保护失效。口令破解器一 般并不是真正地去解码,因为事实上很多加密算法是不可逆的。也就是说,光从被加密的 数据和加密算法,不可能反解出原来未加密的数据。其实大多数口令破解器是通过尝试一 个一个的单词,用知道的加密算法来加密这些单词,直到发现一个单词经过加密后的结果 和要解密的数据一样,就认为这个单词就是要找的密码了。这就是目前最有效的方法。这 种方法之所以比想象的有效得多的原因是: (1) 许多人在选择密码时,技巧性都不是很好。许多人还认为他的私人数据反正没有 放在网上,所以密码选择也比随便。其实,一个用户在一个系统里有一个账号,就是一个 通入系统的门。如果其中的一个密码不安全,则整个系统也就是不安全的。由于用户的密 码的设置往往都是一些有意义的单词,或者干脆就是用户名本身,使得破解器的尝试次数 大为降低。 (2) 许多加密算法在选择密钥时都是通过随机数算法产生的。但往往由于这个随机数 算法并不是真正意义上的随机数,从而大大降低了这个随机性,从而为解密提供了一系列 的方便。比如,本来需要尝试 1000 次,但由于上述随机性并不好,结果只需尝试 100 次甚 至 10 次就能成功。 (3) 还有一个原因是目前计算机的发展速度相当快,而且,互联网的存在使得协同进 行解密的可能性大为增加。这样强的计算能力用到解密上,可以使得破解的时间大为降低。 通过上述分析可见,从理论上来讲,任何密码都是可以破解的,只是一个时间的问题。 对于一些安全性较低的系统,速度通常很快。对于那种需要一个口令或注册码才能安装软 件的情况,口令破解会显得更为简单。这种情况你可能会经常遇到。比如安装一个微软的 软件,在安装过程中通常需要你输入一个 CD-Key,如果这个 CD-Key 是正确的,那么它就 开始安装;如果是非法的,那么就退出安装。 通常有两种方法可以使这种方式失效。一种是修改安装程序。因为这种方法的流程一 般是在安装的时候先弹出一个对话框,请求输入 CD-Key。接着程序会对输入的 CD-Key 进行运算,最后根据得到的结果决定是继续安装还是退出。现在有很多调试软件,它们提 供丰富的调试功能,如单步执行,设置断点等。一个比较好的软件是 Soft-ICE。在运行 安装程序之前,可以在调试软件里设置在系统弹出 CD-Key 输入对话框的时候停止执行。 接着就可以用调试器跟踪代码的执行,将 CD-Key 判断部分整个地跳过去,直接进入安装 程序。 ·176· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·177· 另一种方法就是算法尝试。由于安装程序要对 CD-Key 进行运算,然后判断其合法性。 因此,只要知道 CD-Key 的算法,就能轻而易举地进入。已经有人对微软的这种算法进行 了探讨,发现这些算法策略很简单。 2. 口令破解器的工作过程 要知道口令破解器是如何工作的,主要还是要知道加密算法。正如上面所说的,许多 口令破解器是对某些单词进行加密,然后再比较。候选口令产生器的作用是产生认为可能 是密码的单词。通常有好几种方法产生候选密码。一种是从一个字典里读取一个单词,这 种方法的理论根据是许多用户由于取密码有些不是很明智,比如将自己的名字,或者用户 名,或者一个好记住的单词等,所以通常都将这些单词收集到一个文件里,叫做字典。在 破解密码时,从这些字典里取出侯选密码。 另一种方法是用枚举法来产生这样的单词。通常从一个字母开始一直增加,知道破解 出密码为止。这里通常要指定组成密码的字符集,比如从 A~Z,0~9 等。为了便于协同 破解密码,常常需要为密码产生器指定产生密码的范围。 口令加密就是用一般的加密算法对从口令候选器送来的单词进行加密。通常,攻击不 同的系统,要采用不同的加密算法。加密算法有很多,通常是不可逆的。这就是为什么口 令破解器使用的是这种结构的原因。口令比较就是将从口令加密里得来的密文和要破解的 密文进行比较。如果一致,那么当前候选口令发生器中的单词就是要找的密码。如果不一 致,则口令发生器再产生下一个候选口令。 下面介绍 UNIX 的密码算法,同时给出破解的源程序。 首先看怎样在 UNIX 下得到口令文件。在标准的 UNIX 系统中,口令文件是/etc/passwd。 但是在使用 NIS(Network Information System)/YP(Yellow Pages)或 Shadow 的系统时,口令 数据可能放在别的地方。口令文件中的每一条目包含 7 个由冒号隔开的区域:用户名;加 密的 password,口令有效期;用户号码;组号码;GECOS 信息;Home 目录;Shell。 下面举个实例。 will:5fg63fhD3d5gh:9406:12:Will Spencer:/home/fsg/will:/bin/bash 这个条目包含了下面的信息。 用户名:will。 加了密的口令:5fg63fhD3d5gh。 用户号码:9406。 组号码:12。 GECOS 信息:Will Spencer。 Home 目录:/home/fsg/will。 Shell:/bin/bash。 当入侵者拿到了这个密码文件后,就开始对密码进行破解。当用户登录系统时,UNIX 将 password 的内容读入,并对这个密码进行加密,并将运算结果和口令文件中的相比较。 UNIX 口令破解器的基本结构就是前面分析的那种结构。目前较为流行的是 John 程序。 它运行在 Windows 系统下,并且能很快地破解密码。 那么,对于 Shadow 的口令怎么办呢?口令 Shadow 是指将口令文件中的加了密的口令 ·177· www.plcworld.cn ·178· 计算机网络安全技术 密文部分用一个特殊的符号表示,真正的密文放在另一个单独的文件里,一般的用户无法 读到这个文件。 现在的 NIS (Network Information System)以前也叫 YP (Yellow Pages)。NIS 的目的是允 许一个网络上的多台计算机共享配置信息,包括口令数据。NIS 的目的是提高系统的安全 性。如果使用 NIS 系统,那么口令文件相当小,看上去可能就像下面表示的。 +::0:0::: 如果要看真正的口令,需要使用命令:ypcat passwd。 在有的口令文件中,还包含一项数据——口令有效期。口令有效期的目的是促使用户 在一定的时间后更改口令,这样就能提高系统的安全性。 etc/passwd 文件中如果保存口令有效期数据的话,这个条目看上去是这样的。 will:5fg63fhD3d,M.z8:9406:12:Will Spencer:/home/fsg/will:/bin/bash 上面这个条目中,密文后面有一个逗号,逗号后面的便是口令有效期了。这里是:M.z8。 对这 4 个字符的解释如下所述。 (1) 第 1 位表示口令可以不改变而存在的最大的周数。 (2) 第 2 位表示口令在改变之前必须使用的最小的周数。 (3) 第 3 位和第 4 位表示口令上次改变的时间,以从 1970 年算起的周数。 如果将第 1 位和第 2 位设置成“. .”,表示下次登录的时候,必须改变口令。随后口 令管理程序会将口令有效期移去,这样用户以后就没有口令有效期的限制了。 如果将第 3 位和第 4 位设置成“. .”,表示下次登录时,必须改变口令。口令有效期 由前两个字符表示。 如果第 1 个字符小于第 2 个字符,就不允许用户改变口令了。只有 Root 才有权力改变 这个用户的口令。必须注意,Su 命令并不检查口令有效期。一个过期的口令可以在使用 Su 时使用,没有必须改变口令的要求。 7.3.3 特洛伊木马 特洛伊木马是一个包含在一个合法程序中的非法的程序。该非法程序被用户在不知情 的情况下执行。其名称源于古希腊的特洛伊木马神话,传说希腊人围攻特洛伊城,久久不 能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马 “丢弃”于特洛伊城,让敌人将其作为战利品拖入城内。木马内的士兵乘夜晚敌人庆祝胜 利而放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。 一般的木马程序都包括客户端和服务端两个程序,其中客户端是用于攻击者远程控制 植入木马的机器,服务器端程序即是木马程序。攻击者要通过木马攻击用户的系统,将程 序植入到用户的电脑里面。 目前木马入侵的主要途径还是先通过一定的方法把木马执行文件复制到被攻击者的电 脑系统里,利用的途径有邮件附件,下载软件等,然后通过一定的提示故意误导被攻击者 打开执行文件,比如故意谎称这个木马执行文件是朋友送的贺卡,可能在打开这个文件后 确实有贺卡的画面出现,但这时可能木马已经悄悄在后台运行了。一般的木马执行文件非 常小,大部分都是几 KB 到几十 KB,如果把木马捆绑到其他正常文件上,用户很难发现, 所以有一些网站提供的软件下载往往是捆绑了木马文件的,用户执行这些下载的文件,也 同时运行了木马。 ·178· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·179· 木马也可以通过 Script、ActiveX 及 Asp.CGI 交互脚本的方式植入,由于微软的浏览器 在执行 Script 脚本时存在一些漏洞。攻击者可以利用这些漏洞传播病毒和木马,甚至直接 对浏览者电脑进行文件操作等控制。前不久出现一个利用微软 Scripts 脚本漏洞对浏览者硬 盘进行格式化的 HTML 页面。如果攻击者有办法把木马执行文件下载到攻击主机的一个可 执行 WWW 目录夹里面,他可以通过编制 CGI 程序在攻击主机上执行木马目录。此外,木 马还可以利用系统的一些漏洞进行植入,如微软著名的 US 服务器溢出漏洞,通过一个 IISHACK 攻击程序即可使 IIS 服务器崩溃,并且同时攻击服务器,执行远程木马执行文件。 当服务端程序在被感染的机器上成功运行以后,攻击者就可以使用客户端与服务端建 立连接,并进一步控制被感染的机器。在客户端和服务端通信协议的选择上,绝大多数木 马使用的是 TCP/IP 协议,但是也有一些木马由于特殊的原因,使用 UDP 协议进行通信。 当服务端在被感染机器上运行以后,它一方面尽量把自己隐藏在计算机的某个角落里面, 以防被用户发现;同时监听某个特定的端口,等待客户端与其取得连接;另外为了下次重 启计算机时仍然能正常工作,木马程序一般会通过修改注册表或者其他的方法让自己成为 自启动程序。 1. 特洛伊木马的隐藏方式 1) 在任务栏里隐藏 这是最基本的隐藏方式。 2) 在任务管理器里隐藏 查看正在运行的进程最简单的方法就是按下 Ctrl+Alt+Del 键时出现的任务管理器。如 果你按下 Ctrl+Alt+Delete 后可以看见一个木马程序在运行,那么这肯定不是“优秀”的木 马。所以,木马会千方百计地伪装自己,使自己不出现在任务管理器里。木马发现把自己 设为 “系统服务”就可以轻松地骗过查杀它们的人。 因此,希望通过按 Ctrl+Alt+Del 键发现木马是不大现实的。 3) 端口 一台机器有 65 536 个端口,大多数木马使用的端口在 1024 以上,而且呈越来越大的 趋势;当然也有占用 1024 以下端口的木马,但这些端口是常用端口,占用这些端口可能会 造成系统不正常,这样的话,木马就会很容易暴露。也许知道一些木马占用的端口,或许 会经常扫描这些端口,但现在的木马都提供端口修改功能,没有时间扫描 65 536 个端口。 4) 隐藏通信 隐藏通信也是木马经常采用的手段之一。任何木马运行后都要和攻击者进行通信连接, 或者通过即时连接,如攻击者通过客户端直接接入被植入木马的主机,或者通过间接通信。 如通过电子邮件的方式,木马把侵入主机的敏感信息送给攻击者。现在大部分木马一般在 占领主机后,会在 1024 以上不易发现的高端口上驻留;有一些木马会选择一些常用的端口, 如 80、23;有一种非常先进的木马还可以做到在占领 80 端口后,收到正常的 HTTP 请求 仍然把它交与 Web 服务器处理,只有收到一些特殊约定的数据包后,才调用木马程序 5) 隐藏加载方式 木马加载的方式可以说千奇百怪,无奇不有。但殊途同归,都为了达到一个共同的目 的,那就是使得运行木马的服务端程序隐藏加载方式。如果木马不做任何伪装,就告诉你 ·179· www.plcworld.cn ·180· 计算机网络安全技术 这是木马,你绝不会运行它。而随着网站互动化进程的不断进步,越来越多的东西可以成 为木马的传播介质,Java Script、VBScript、ActiveX.xlm……几乎 WWW 的每一个新功能 都会导致木马的快速进化。 6) 最新隐身技术 在 Windows 9X 时代,简单地注册为系统进程就可以从任务栏中消失,可是在 Windows 2000 流行的今天,这种方法遭到了打击。注册为系统进程不仅仅能在任务栏中看到,而且可以 直接在 Services 中直接控制停止运行(木马被客户端控制)。使用隐藏窗体或控制台的方法也 不能欺骗无所不见的 Admin 大人(要知道,在 Windows NT 下,Administrator 是可以看见所 有进程的)。在研究了其他软件的长处之后,木马发现,Windows 下的中文汉化软件采用的 陷阱技术非常适合木马的使用。 这是一种更新、更隐蔽的方法。通过修改虚拟设备驱动程序(VXD)或修改动态链接库 (DLL)来加载木马。这种方法与一般方法不同,它基本上摆脱了原有的木马模式——监听端 口,而采用替代系统功能的方法(改写 VXD 或 DLL 文件),木马会将修改后的 DLL 替换系 统已知的 DLL,并对所有的函数调用进行过滤。对于常用的调用,对于一些相应的操作, 使用函数转发器直接转发给被替换的系统 DLL。实际上,这样的事先约定好的特殊情况, 一般只是使用 DLL 进行监听,一旦发现控制端的请求就激活自身,绑在一个进程上进行正 常的木马操作。这样做的好处是没有增加新的文件,不需要打开新的端口,没有新的进程, 使用常规的方法检测不到它。在往常运行时,木马几乎没有任何行动,而当木马的控制端 向被控制端发出特定的信息后,隐藏的程序就立即开始执行。 2. 特洛伊木马的工作原理 第一步:木马服务端程序的植入。 第二步:木马将入侵主机信息发送给攻击者。 木马在被植入攻击主机后,它一般会通过一定的方式把入侵主机的信息,如主机的 IP 地址、木马植入的端口等发送给攻击者,这样攻击者就可以与木马里应外合控制受攻击 主机。 第三步:木马程序启动并发挥作用。 黑客通常都是和用户的电脑中的木马程序联系,当木马程序在用户的电脑中存在的时 候,黑客就可以通过控制器端的软件来命令木马做事。这些命令是在网络上传递的,必须 要遵守 TCP/IP 协议。TCP/IP 协议规定电脑的端口有 256×256=65 536 个,从 0~65 535 号 端口,木马可以打开一个或者几个端口,黑客使用的控制器端软件就是通过木马的端口进 入用户的电脑的。 特洛伊木马要能发挥作用必须具备 3 个因素。 (1) 木马需要一种启动方式,一般在注册表启动组中。 (2) 木马需要在内存中才能发挥作用。 (3) 木马会打开特别的端口,以便黑客通过这个端口和木马联系。 3. 特洛伊木马程序的存在形式 基于 Windows 的木马程序一般采用启动时自动加载应用程序的方法,主要包括以下 几种。 ·180· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·181· (1) Win.ini:run=、load=项目中的程序名。 (2) System.ini:Shell=Explorer.exe 项后的程序名。 (3) 注册表:Run 项中的程序。 4. 特洛伊木马的特性 1) 隐蔽性 包含于正常程序中,当用户执行正常程序时启动自身,在用户难以察觉的情况下,完 成一些危害用户的操作。特洛伊木马类软件的服务器端在运行的时候应用各种手段隐藏自 己,不可能出现任何明显的标志。木马开发者早就想到了可能暴露木马踪迹的问题,把它 们隐藏起来了。例如大家所熟悉的:木马修改注册表和文件以便机器在下一次启动后仍能 载入木马程式,它不是自己生成一个启动程序,而是依附在其他程序之中。有些木马把服 务器端和正常程序绑定成一个程序的软件,叫做 Exe-binder 绑定程序,可以让人在使用绑 定程序的同时,木马也入侵了系统。甚至有个别木马程序能把它自身的 EXE 文件和服务端 的图片文件绑定,在看图片的时候,木马便侵入了系统。它的隐蔽性主要体现在以下两个 方面。 (1) 不产生图标。木马虽然在系统启动时会自动运行,但它不会在任务栏中产生一个 图标,这是容易理解的,不然的话,用户看到任务栏中出现一个来历不明的图标,会怀疑 它是木马。 (2) 木马程序自动在任务管理器中隐藏,并以系统服务的方式欺骗操作系统。 2) 自动运行性 特洛伊木马为了控制服务端,必须在系统启动时一起启动,所以必须潜入启动配置文 件中,如 Win.ini、System.ini、Winstart.bat 以及启动组等文件或注册表的启动运行项中。 3) 功能的特殊性 有些特洛伊木马不仅可以对文件进行增、删、修改等操作,而且还具有一般远程控制 软件所没有的搜索缓存中的密码,设置密码,扫描目标机器的 IP 地址,进行键盘记录,远 程注册表操作以及锁定鼠标等功能。 4) 自动恢复功能 目前很多特洛伊木马程序中的功能模块不再由单一的文件组成,而是具有多重备份, 可以相互恢复。当删除了其中的一个,其他程序又会对它进行恢复,无法斩草除根。 5) 能自动打开特别的端口 特洛伊木马程序潜入目标系统的目的主要是获取系统中有用的信息,而不是破坏对方 系统,当用户上网时能与远端客户进行通信,这样特洛伊木马程序就会用 C/S 的通信模式 把信息告诉黑客,以便黑客控制本机,或实施进一步的入侵企图。 5. 特洛伊木马种类 1) 破坏型特洛伊木马 唯一的功能就是破坏并且删除文件,可以自动地删除电脑上的 DLL、INI、EXE 文件, 造成部分软件不能正常使用或使系统崩溃,这类特洛伊木马一旦进入系统会严重威胁数据 的安全。 ·181· www.plcworld.cn ·182· 计算机网络安全技术 2) 密码发送型特洛伊木马 可以找到隐藏密码并把它们发送到指定的信箱。有人喜欢把自己的各种密码以文件的 形式存放在计算机中,认为这样方便;还有人喜欢用 Windows 提供的密码记忆功能,这样 就可以不必每次都输入密码了。许多黑客软件可以寻找到这些文件,把它们送到黑客手中。 也有些黑客软件长期潜伏,记录操作者的键盘操作,从中寻找有用的密码。 在这里提醒一下,不要认为自己在文档中加了密码而把重要的保密文件存在公用计算 机中也是安全的,那你就大错特错了。别有用心的人完全可以用穷举法暴力破译你的密码。 利用 Windows API 函数 EnumWindows 和 EnumChildWindows 对当前运行的所有程序的所 有窗口(包括控件)进行遍历,通过窗口标题查找密码输入和确认重新输入窗口,通过按钮 标题查找人们应该单击的按钮,通过 ES_PASSWORD 查找人们需要输入的密码窗口。向密 码输入窗口发送 WM_SETTEXT 消息模拟输入密码,向按钮窗口发送 WM_COMMAND 消 息模拟单击。在破解过程中,把密码保存在一个文件中,以便用下一个序列的密码再次进 行穷举或多部机器同时进行分工穷举,直到找到密码为止。此类程序在黑客网站上唾手可 得,精通程序设计的人完全可以自编程序。 3) 远程访问型特洛伊木马 最广泛的是特洛伊马,只需有人运行了服务端程序,如果客户知道了服务端的 IP 地址, 就可以实现远程控制。以下的程序可以实现观察“受害者”正在干什么,当然这个程序完 全可以用在正当事业上的,比如监视学生机的操作。 程序中用的 UDP(User Datagram Protocol,用户数据报协议)是因特网上广泛采用的通信 协议之一。与 TCP 协议不同,它是一种非连接的传输协议,没有确认机制,可靠性不如 TCP,但它的效率却比 TCP 高,用于远程屏幕监视还是比较合适的。它不区分服务器端和 客户端,只区分发送端和接收端,编程上较为简单,故选用 UDP 协议。 4) 键盘记录特洛伊木马 这种特洛伊木马是非常简单的。它们只做一件事情,就是记录受害者的键盘敲击并且 在 LOG 文件里查找密码。据笔者经验,这种特洛伊木马随着 Windows 的启动而启动。它 们有在线和离线记录这样的选项,顾名思义,它们分别记录你在线和离线状态下敲击键盘 时的按键情况。也就是说按过什么键,下木马的人都会知道,从这些按键中他很容易就会 得到你的密码等有用信息,甚至是你的信用卡账号!当然,对于这种类型的木马,邮件发 送功能也是必不可少的。 5) DoS 攻击特洛伊木马 随着 DoS 攻击越来越广泛的应用,被用作 DoS 攻击的木马也越来越流行起来。当你入 侵了一台机器,给它种上 DoS 攻击木马,那么日后这台计算机就成为你 DoS 攻击的最得力 助手了。你控制的机器数量越多,你发动 DoS 攻击取得成功的机率就越大。所以,这种木 马的危害不是体现在被感染计算机上,而是体现在攻击者可以利用它来攻击一台又一台计 算机,给网络造成很大的伤害和损失。 还有一种类似 DoS 的木马叫作邮件炸弹木马,一旦机器被感染,木马就会随机生成各 种各样主题的信件,对特定的邮箱不停地发送邮件,直到对方瘫痪,不能接受邮件为止。 ·182· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·183· 6) 代理特洛伊木马 黑客在入侵的同时掩盖自己的足迹,防止别人发现自己的身份,因此,给被控制的机 器种上代理木马,让其变成攻击者发动攻击的跳板就是代理木马最重要的任务。通过代理 木马,攻击者可以在匿名的情况下使用 Telnet、ICQ、IRC 等程序,从而隐蔽自己的踪迹。 7) FTP 特洛伊木马 这种木马可能是最简单和古老的木马了,它的唯一功能就是打开 21 端口,等待用户连 接。现在新 FTP 木马还加上了密码功能,这样,只有攻击者本人才知道正确的密码,从而 进入对方计算机。 8) 程序杀手特洛伊木马 上面的木马功能虽然形形色色,不过要在对方机器上发挥作用,还要过防木马软件这 一关才行。常见的防木马软件有 ZoneAlarm、Norton Anti-Virus 等。程序杀手木马的功能就 是关闭对方机器上运行的这类程序,让其他的木马更好地发挥作用。 9) 反弹端口型特洛伊木马 木马开发者在分析了防火墙的特性后发现:防火墙对于连入的链接往往会进行非常严 格的过滤,但是对于连出的链接却疏于防范。于是,与一般的木马相反,反弹端口型木马 的服务端 (被控制端)使用主动端口,客户端 (控制端)使用被动端口。木马定时检测控制端 的存在,发现控制端上线立即弹出端口主动联结控制端打开的主动端口;为了隐蔽起见, 控制端的被动端口一般开在 80,即使用户使用扫描软件检查端口,发现类似 TCP UserIP: 1026 ControllerIP:80ESTABLISHED 的情况,稍微疏忽一点,就会以为是自己在浏览网页。 6. 特洛伊木马的入侵 1) 集成到程序中 其实木马也是一个服务器/客户端程序,它为了不让用户轻易地把它删除,就常常集成 到程序里,一旦用户激活木马程序,木马文件就和某一应用程序捆绑在一起,上传到服务 端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安 装。如果绑定到系统文件,那么每一次 Windows 启动均会启动木马。 2) 隐藏在配置文件中 如果用户平时使用的是图形化界面的操作系统,对于那些已经不太重要的配置文件大 多数是不闻不问了,这正好给木马提供了一个藏身之处。而且利用配置文件的特殊作用, 木马很容易就能在大家的计算机中运行、发作,从而偷窥或者监视大家。不过,现在这种 方式不是很隐蔽,容易被发现,所以在 Autoexec.bat 和 Config.sys 中加载木马程序的并不多 见,但也不能因此而掉以轻心。 3) 潜伏在 Win.ini 中 木马要想达到控制或者监视计算机的目的,就必须要运行,然而没有人会在自己的计 算机中运行这个木马。当然,木马会找一个既安全又能在系统启动时自动运行的地方,于 是就会潜伏在 Win.ini 中。打开 Win.ini,在它的 windows 字段中有启动命令 load=和 run=, 在 一 般 情 况 下 = 后 面 是 空 白 的 , 如 果 有 后 跟 程 序 , 比 方 说 是 这 个 样 子 , run=c : \windows\file.exe load=c:\windows\file.exe,这个 file.exe 很可能是木马。 ·183· www.plcworld.cn ·184· 计算机网络安全技术 4) 伪装在普通文件中 这个方法出现得比较晚,不过现在很流行,不熟练的 Windows 操作者很容易上当。具 体方法是把可执行文件伪装成图片或文本——在程序中把图标改成 Windows 的默认图片图 标,再把文件名改为*.jpg.exe,由于 Windows98 默认设置是“不显示已知的文件后缀名”, 文件将会显示为*.jpg,不注意的人一单击这个图标就中木马了(可见黑客在程序中嵌一张图 片就更完美了)。 5) 内置到注册表中 注册表由于比较复杂,木马常常喜欢藏在这里,检查一下有什么程序在其下, HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion 下所有以 run 开头 的键值;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion 下所有以 run 开头的键值;HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion 下所有以 run 开头的键值。 6) 在 System.ini 中藏身 Windows 安装目录下的 System.ini 也是木马喜欢隐蔽的地方。打开这个文件看看,如 果在该文件的 boot 字段中,有 shell=Explorer.exe file.exe 这样的内容,这里的 file.exe 就是 木马服务端程序!另外,在 System.ini 中的 386Enh 字段,要注意检查在此段内的“driver= 路径\程序名”,这里也有可能被木马所利用。再有,在 System.ini 中的 mic、drivers、drivers32 这 3 个字段,这些字段也是起到加载驱动程序的作用,但也是隐藏木马程序的好场所。 7) 隐形于启动组中 有时木马会自动加载到系统中,因为一旦木马加载到系统中很难被删除。因此启动组 也是木马可以藏身的好地方,因为这里的确是自动加载运行的好场所。启动组对应的文件 夹为:C:\windows\start menu\programs\startup。在注册表中的位置:HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders 下的 Startup=C:\windows\ start menu\programs\startup”。要注意经常检查启动组。 8) 隐蔽在 Winstart.bat 中 Winstart.bat 也是一个能自动被 Windows 加载运行的文件,它多数情况下为应用程序及 Windows 自动生成,在执行了 Win.com 并加载了多数驱动程序之后开始执行(这一点可通过 启动时按 F8 键再选择逐步跟踪启动过程的启动方式得知)。由于 Autoexec.bat 的功能可以 由 Winstart.bat 代替完成,因此木马完全可以像在 Autoexec.bat 中那样被加载运行,危险由 此而来。 9) 捆绑在启动文件中 即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,将制作好的带 有木马启动命令的同名文件上传到服务端覆盖这些同名文件,这样就可以达到启动木马的 目的了。 10) 设置在超链接中 木马的主人在网页上放置恶意代码,引诱用户单击,其结果不言而喻,因此不要随便 点击网页上的超链接。 ·184· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·185· 7.3.4 缓冲区溢出攻击 1. 缓冲溢出攻击的原理 缓冲区是程序运行的时候机器内存中的一个连续块,它保存了给定类型的数据,随着 动态分配变量会出现问题。大多数时候为了不占用太多的内存,一个有动态分配变量的程 序在程序运行时才决定给它们分配多少内存。这样下去的话,如果说要给程序在动态分配 缓冲区放入超长的数据,它就会溢出了。 缓冲区溢出是非常普遍和危险的漏洞,在各种操作系统、应用软件中广泛存在。产生 缓冲区溢出的根本原因在于,将一个超过缓冲区长度的字符串复制到缓冲区,就会溢出。 造成两种后果,一是过长的字符串覆盖了相邻的存储单元,引起程序运行失败,严重的可 引起死机、系统重新启动等;二是利用这种漏洞可以执行任意指令,甚至可以取得系统特 权,使用一类精心编写的程序,可以很轻易地取得系统的超级用户权限。 缓冲溢出攻击指的是一种系统攻击的手段,通过往程序的缓冲区写入超出其长度的内 容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其他指令,以达到攻击的 目的。据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的 80%以上。 一个程序在内存中通常分为程序段、数据段和堆栈 3 部分。程序段里放着程序的机器 码和只读数据。数据段存放程序中的静态数据,堆栈存放动态数据。在内存中,它们的位 置如图 7.1 所示。 内存低端 内存高端 程序段 数据段 堆栈 图 7.1 数据在内存中的存放位置 堆栈的一个特性就是后进先出(LIFO),即先进入堆栈的对象会在最后出来,进入堆栈 的最后一个对象会第一个出来。堆栈的两个最重要的操作就是入栈和出栈。入栈操作把对 象放入堆栈的顶端;出栈操作实现的是一个逆向过程,把顶端的对象取出来。 在内存中,对象是一块连续的内存段。一般来说,堆栈的上面有更低的内存地址,在 入栈操作中堆栈向内存的低端发展。有一个寄存器叫做堆栈指针(SP)。SP 存放的是堆栈的 顶端地址。入栈和出栈操作都要修改 SP 的值,使得 SP 常常指向堆栈的顶端。除了 SP 寄 存器,系统还设计一个寄存器叫做基址寄存器(LB)。LB 寄存器用来存放堆栈中一个固定的 地址。由于入栈和出栈操作不会修改 LB 的值,所以可以通过 LB 指向的位置读取堆栈中的 参数。 当程序中发生函数调用时,计算机做如下操作:先把参数压入堆栈,保存指令寄存器 (IP)中的内容作为返回地址(RET),再把当前的基址寄存器(LB)压入堆栈保存,然后把当前 的堆栈指针(SP)复制到 LB,作为新的基地址,最后为本地变量留出一定的空间,把 SP 减 去适当的数值。 缓冲区是内存中存放数据的地方。在程序试图将数据放到机器内存中的某一个位置的 ·185· www.plcworld.cn ·186· 计算机网络安全技术 时候,因为没有足够的空间就会发生缓冲区溢出。而人为的溢出则是有一定企图的,黑客 写一个超过缓冲区长度的字符串,然后植入到缓冲区。缓冲区溢出成为远程攻击的主要手 段,其原因在于缓冲区溢出漏洞给予了黑客所想要的一切:植入并且执行攻击代码。被植 入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。 大多数造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。 2. 缓冲区溢出攻击的方法 缓冲区溢出攻击的目的在于扰乱具有某些特权的运行程序的运行。这样可以让黑客取 得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,在 UNIX 中黑客攻击 Root 程序,然后执行类似 exec(sh)的执行代码来获得 Root 的 Shell。为了 达到这个目的,黑客必须在程序的地址空间里安排适当的代码或通过适当的初始化寄存器 和存储器,让程序跳转到安排好的地址空间执行。 在被攻击程序地址空间安排攻击代码有两种方法可以实现。 1) 植入法 黑客向被攻击的程序输入一个字符串,程序会把这个字符串放到缓冲区里。这个字符 串包含的数据是可以在这个被攻击的硬件平台上运行的指令序列。在这里黑客用被攻击程 序的缓冲区来存入攻击代码。具体的方式有以下两种差别。 (1) 攻击者不必为达到此目的而溢出任何缓冲区。可以找到足够的空间来放置攻击 代码。 (2) 缓冲区可以设在任何地方:堆栈(自动变量)、堆(动态分配、静态数据区、已被初 始化或者未被初始化的数据)。 2) 利用已经存在的代码 有时候,攻击者想要的代码已经在被攻击的程序中了,攻击者所要做的只是对代码传 递一些参数,然后使程序跳转到我们的目标。例如攻击代码要求执行 exec(/bin/sh),而在 libc 库中的代码执行 exec(arg),其中 arg 是一个指向字符串的指针参数,那么攻击者只要把传 入的参数指针改为指向/bin/sh,然后调转到 libc 库中的相应的指令序列即可。 在控制程序转移到攻击代码方面,主要是寻求改变程序的执行流程,使之跳转到攻击 代码。最基本的就是溢出一个没有边界检查或者存在其他弱点的缓冲区,这样就扰乱了程 序的正常执行顺序。通过溢出一个缓冲区,黑客可以改写相邻的程序空间而直接跳过系统 的检查。这类程序的程序空间突破和内在空间定位不同,控制程序转移到攻击代码的方法 可以分为以下几种。 1) 激活记录(Activitation Records) 每当一个函数调用发生时,调用者会在堆栈中留下一个激活记录,它包含了函数结束 时返回的地址。攻击者通过溢出这些自动变量,使这个返回地址指向攻击代码,通过改变 程序的返回地址,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地 址。这类的缓冲区溢出被称为 Stack smashing attack,是目前常用的缓冲区溢出攻击方式。 2) 函数指针(Function Pointers) void(* foo)()声明了一个返回值为 viod 函数指针的变量 foo。函数指针可以用来定位任 ·186· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·187· 何地址空间,所以攻击者只需在任何空间内的函数指针附近找到一个能够溢出的缓冲区, 然后溢出这个缓冲区来改变函数指针。在某一时刻,当程序通过函数指针转到被溢出的缓 冲区后,继续按当前缓冲区的程序流程执行,就使黑客的攻击意图实现了!它的一个攻击 范例就是在 Linux 系统下的 Superprobe 程序。 3) 长跳转缓冲区(Longimpbuffers) 在 C 语言中包含了一个简单的检验/恢复系统,称为 setjmp/longjmp。意思是在检验点 设定 setjmp(buffer),用 longjmp(buffer)来恢复检验点。然而,如果攻击者能够进入缓冲区 的空间,那么 longjmp(buffer)实际上是跳转到攻击者的代码。像函数指针一样,longjmp 缓 冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。一个典型 的例子就是 perl 5.003,攻击者首先进入用来恢复缓冲区溢出的 longjmp 缓冲区,然后诱导 进入恢复模式,这样就使 PERL 的解释器跳转到攻击代码上了。 最简单和常见的缓冲区溢出攻击类型就是在一个字符串里综合了代码植入和激活记 录。攻击者定位一个可供溢出的自动变量,然后向程序传递一个很大字符串,在引发缓冲 区溢出改变激活记录的同时植入了代码。因为 C 语言在习惯上只为用户和参数开辟很小的 缓冲区,因此这种漏洞攻击的实例很多。 代码植入和缓冲区溢出不一定要在一次动作内完成。攻击者可以在一个缓冲区内放置 代码,这时不能溢出缓冲区。然后攻击者通过溢出另外一个缓冲区来转移程序的指针。这 种方法一般用来解决可供溢出的缓冲区不够大(不能放下全部的代码)的问题。如果攻击者 试图使用已经常驻的代码而不是从外部植入代码,则他们通常必须把代码作为参数。例如 库函数中的部分代码段会执行 xexc(something),其中 something 就是参数。攻击者使用缓冲 区溢出改变程序的参数,然后利用另一个缓冲区溢出使程序指针指向 libc 中的特定代码段。 3. 缓冲区溢出攻击的防范技术 缓冲区溢出是由于软件的开发者在编写软件时缺乏全面的考虑,对一些函数参数的长 度及范围没有过细的限制。当程序做成软件产品以后,用户即使发现了其中存在漏洞也无 能为力,他们一方面可以关闭软件受影响部分的功能,另一方面可以向软件的发行商求助, 索取补丁程序。这就要求软件的作者编写补丁程序来完善软件,以提高自己的服务质量。 作为软件的开发者为了尽量避免亡羊补牢的事情发生,应在编写源代码时多方面考虑,仔 细设计。目前有 4 种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响。 1) 编写正确的代码 编写正确的代码是一件耗时的工作,如 C 语言,虽然语法灵活,功能强大,代码的执 行性能较好,但是太过灵活则非常容易出错。尽管花了很多时间去完善程序的完整性和安 全性,但是具有安全漏洞的程序依旧容易出现。因此人们研究了一些方法和工具来帮助经 验不足的程序员编写安全正确的程序。最简单的方法就是用 GREP 来搜源代码中容易产生 漏洞的库的调用,比如对 strcpy 和 sprintf 的调用,这两个函数都没有检查输入参数的长度。 为了应对在编程时会忽略这些问题,人们开发了一些高级的查错工具,利用这些工具 的目的是人为随机地产生缓冲区溢出来寻找代码的安全漏洞。还有一些静态分析工具用于 检测缓冲区溢出的存在。这些工具可以帮助程序员开发更安全的程序,但是由于 C 语言的 ·187· www.plcworld.cn ·188· 计算机网络安全技术 特点,这些工具只能用来减少缓冲区溢出的可能,不可能找出所有的缓冲区溢出漏洞。 2) 非执行的缓冲区 通过使被攻击程序的数据段地址空间不可执行,从而使得黑客不可能执行被攻击程序 输入缓冲区的代码,这种技术被称为非执行的缓冲区技术。 非执行堆栈的保护可以有效地对付把代码植入自动变量的缓冲区溢出攻击,而对于其 他形式的攻击则没有效果。通过引用一个驻留程序的指针,就可以跳过这种保护措施,其 他的攻击可以把代码植入堆栈或者静态数据段中来跳过保护。 3) 数组边界检查 黑客可以通过植入代码引起缓冲区溢出,也可以通过一些方法来扰乱程序的执行流程。 但是可以通过对非执行的缓冲区保护、数组边界检查来完全防止缓冲区溢出的产生和攻击。 这样只要数组不能溢出,溢出攻击也就无从谈起。为了实现数组边界检查,所有的对数组 的读写操作都应当被检查以确保对数组的操作在正确的范围内。最直接的方法是检查所有 的数组操作,不过这样可能会降低程序的运行效率。 4) 程序指针完整性检查 程序指针完整性检查和边界检查相似,它在程序指针被引用之前首先检测到它的改变。 即使一个黑客成功地改变了程序的指针,由于系统事先检测到了指针的改变,这个指针将 不会被使用。与数组边界检查相比,这种方法不能解决所有的缓冲区溢出问题,不过采用 一些其他的缓冲区溢出方法就可以避免这种检测。但是这种方法在性能上有很大的优势, 而且兼容性较好。 7.3.5 拒绝服务攻击 1. 拒绝服务攻击原理 几乎从因特网诞生以来拒绝服务攻击就伴随着因特网的发展一直存在,并也在不断地 发展和升级。2000 年 2 月,YaHoo、亚马逊等受到拒绝服务攻击而停止服务,近来国内多 家大型网站也受到攻击甚至有的还影响了 Web 服务的提供。人们每年都会见到很多大网站 受到拒绝服务攻击。拒绝服务即 Denial of Service,简称 DoS,由于它的不易觉察性和简易 性,因而一直是网络安全的重大隐患。它是一种技术含量低,攻击效果明显的攻击方法, 受到攻击时,服务器在长时间内不能提供服务,使得合法用户不能得到服务,特别是分布 式拒绝服务 DDoS,它的效果很明显,并且难以找到真正的攻击源,很难找到行之有效的 解决方法。 拒绝服务攻击是一种广泛的系统漏洞,黑客们正热衷于对它的研究,而无数的网络用 户将成为这种攻击的受害者。它是一种简单的破坏性攻击,通常黑客利用 TCP/IP 中的某种 漏洞,或者系统存在的某些漏洞,对目标系统发起大规模的攻击,使攻击目标失去工作能 力,使系统不可访问因而合法用户不能及时得到应得的服务或系统资源,如 CPU 处理时间 与网络带宽等。它最本质的特征是延长正常的应用服务的等待时间。 根据 TCP/IP 协议的原理,当客户端要和服务器进行通信时,会经过请求/确认的方式 进行联系,如用户登录服务器时,首先是用户传送信息要求服务器确认,服务器给予响应 ·188· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·189· 回复客户端请求,当被确认后,客户端才能正式和服务器交流信息。在拒绝服务攻击情况 下,黑客凭借虚假地址向服务器提交连接请求,当然服务器回复信息时就送到这个虚假地 址,但是服务器回传时却无法找到这个地址,根据 TCP/IP 连接原理,此时服务器会进行等 待,达到超时设置时才会断开这个连接。如果攻击者传送多个这样的请求或利用多个站点 同时传送这样的请求,那么服务器就会等待更长时间,这个过程周而复始,最终会导致服 务器资源用尽,网络带宽用完,正常的服务请求不能被服务器处理及回复而形成服务器的 拒绝服务。拒绝服务并不是服务器不接受服务,而是服务器太忙,不能及时地响应请求, 相对于客户来说就认为是服务器拒绝给予服务,严重时会造成服务器死机,甚至导致整个 网络瘫痪。 拒绝服务攻击的目的不在于闯入一个站点或更改数据,而在于使站点无法服务于合法 的请求。入侵者并不单纯为了进行拒绝服务而入侵,拒绝服务往往是为了完成其他入侵的 必需的前提。例如,在目标主机上放置了木马等恶意程序,需要让目标主机重启;为了完 成 IP 欺骗,而使被冒充的主机瘫痪;在正式入侵之前,使目标主机的日志系统不能正常工 作;还有可能是出于政治或经济上的目的而发动的拒绝服务。 2. 拒绝服务攻击分类 网络对拒绝服务攻击的抵抗力很有限,黑客可以阻止合法的用户使用网络和服务。常 见的针对网络的拒绝服务攻击方式有以下几种。 1) 死亡之 Ping 这是最简单的攻击方式,攻击者通过 Ping 命名向被攻击者发送大量超大字节的 ICMP 报文来攻击。在许多操作系统中 ICMP 数据包默认的大小为 64KB,当然用户也可以利用这 个命令发送大字节的数据包,但是发送的包超过 65 535B 就会造成服务器重组包时造成内 存分配错误,发生缓冲区溢出,严重时会使服务器崩溃而拒绝服务。 如命令:Ping-165535<目标主机的 IP 地址>. 对这类攻击的防范比较容易,可以安装防火墙拒绝对 ICMP 报文的响应,就会把这样 的数据包拦住,另外也可在操作系统里修改设置,如在 Windows 2000 中在 IP 安全策略中 设定把 ICMP 的包过滤掉就可以解决。 2) SYN Flood 在 TCP/IP 协议标准中,要完成一个 TCP 连接需要客户端和服务器端三次握手。首先 客户端发一个有 SYN 标志的包给服务器请求服务,然后服务端返回一个 SYN+1 的 ACK 响应包,客户端收到后再发一个确认包给服务端。这时,客户端与服务端建立连接成功, 这样就为以后的通信做好了准备工作。但在进行攻击时,攻击者利用假冒的 IP 地址只发伪 造的包而不接收响应,从而让服务器产生大量的“半开连接”,由于每个包服务器有一定 的等待响应时间,而且当一定时间没有收到响应时,还会多次重发。因此服务器在重发与 等待过程中形成大量的半开连接。就这样攻击者可通过多台计算机发送大量的虚假 IP 源地 址的 SYN 数据包,造成服务器 CPU 的占用过度,当达到一定量时,就形成了拒绝服务。 同时由于合法用户的请求大多被攻击包淹没,即便服务器此时没有死机,也无力再响应合 ·189· www.plcworld.cn ·190· 计算机网络安全技术 法用户的请求了。 用户可以使用 Netstat 命令来检查连接线路的目前状况,看看是否有 SYN Flood 攻击。 只要线路处于 SYN-Received 状态下,则表明系统可能正遭到攻击。 实施这种攻击的黑客无法取得系统中的任何访问权。但是对于大多数的 TCP/IP 协议栈 来说,处于 SYN-Received 状态的连接数量非常有限。对于这种攻击,可以减少服务器重发 包的次数和等待的时间,由于 SYN Flood 入侵的效果取决于服务器上保持的 SYN 半连接数 据请求量,这个值等于 SYN 入侵的频度×SYN 超时时间,所以通过缩短从接收 SYN 报文 到确定这个报文无效并丢弃该连接的时间,可以成倍地降低服务器的负荷。在 Windows 2000 中可修改注册表的相应设置来防范这种攻击。 3) land 攻击 这是利用 TCP/IP 的漏洞,发送大量的源地址与目的地址相同的数据包,从而造成服务 器解析 Land 包时占用大量的处理资源,当收到的包达到一定程度时,就会形成拒绝服务攻 击。在 Land 攻击中,一个特别制定的 SYN 包中的源地址和目的地址都被设置成某一个服 务器地址,这时将导致接受服务器向它自己的地址发送 SYN-ACK 消息,结果这个地址发 回 ACK 消息并创建一个空连接,每一个这样的连接都将保留直到超时。 对这类攻击的防范可通过防火墙解决,将那些在外部接口上入站的含有源地址是内部 地址的数据包丢掉不做处理,这就是简单的防火墙的包过滤功能,另外要打上最新的补丁。 4) Smurf 攻击 Smurf 攻击结合了 IP 欺骗和 ICMP 回复方法,使大量网络传输充斥目标系统,导致目 标系统拒绝为正常系统服务。在这种攻击中,入侵者从远程的网络地址发送 IP 广播地址的 ICMP echo 报文,当它收到此类数据包再转发出去时,该网络上所有的计算机将收到此数 据包再传回 ICMP echo 响应报文,这将使网络拥塞不通。而且,入侵者在传送 ICMP echo 报文时,使用目标主机的 IP 地址作为源地址,这样,整个网络的所有计算机在回复 ICMP echo 报文时所传回的目的地址是目标主机,造成目标主机的网络因涌入大量的 ICMP 报文 而无法使用。这种方法的可怕之处在于利用体积很小的网络数据包在很短时间里创造出大 量的数据包流。 对这种攻击,可以采取一些隔离设备,使之不能进行广播。如把网络划分成多个 VLAN, 每个 VLAN 中的广播不会传播到其他广播域中,以此来解决这样的攻击。解决本问题的主 要思路就是防止计算机以 IP 广播请求做出响应。 5) Teardrop 攻击 数据链路层的最大传输单元 MTU 限制了数据帧的最大长度,不同的网络类型都有一 个上限值。可以用 Netstat-i 命令查看这个值,以太网的 MTU 是 1 500。如果 IP 层有数据包 要传,而且数据包的长度超过了 MTU,那么 IP 层就要对数据包进行分片操作,使每一片 的长度都小于或等于 MTU。每个 IP 分片都各自发送,到达目的主机后在 IP 层重组,IP 数 据包头部中的数据能够正确完成分片的重组。若在 IP 分组中指定一个非法的偏移值,将可 能造成某些协议软件出现缓冲区覆盖,导致系统崩溃。 解决的办法就是对系统打上最新的补丁,禁止防火墙的重组碎片功能,可以在 Windows ·190· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·191· 2000 中,自定义 IP 安全策略并设置碎片检查。 6) UKP Flood 拒绝服务攻击 在 UKP Flood 攻击中,攻击者可发送大量伪造源 IP 地址的小字节 UDP 包。由于 UDP 协议是无连接性的,所以只要打开了一个 UDP 的产品并提供相关服务,那么就可针对相关 的服务进行攻击,如 QQ 就是基于 UDP 协议的,网上有些工具就可以发送大量的包对目标 进行攻击,从而让在线 QQ 因资源不足被迫下线,如果是对其他的服务进行攻击,严重时 还可能使服务器死机。 对这种攻击,建议安装具有入侵检测功能的防火墙,但防火墙只能通过避免数据报文 的回应来减少服务器的负荷,无法避免网络的拥塞。由于 UDP 具有无连接服务的本质特性, 所以也很难防范。 3. 分布式拒绝服务攻击 1) 分布式拒绝服务攻击概述 分布式拒绝服务攻击手段是在传统的 DoS 攻击基础之上产生的一类攻击方式。单一的 DoS 攻击一般采用一对一的方式,随着计算机与网络技术的发展,计算机的处理能力迅速 增长,内存大大增加,同时也出现了千兆级别的网络,这使得 DoS 攻击的效果不明显,攻 击的难度加大了,目标系统对恶意攻击包有足够的消化处理能力。假使攻击者每秒可以发 送 500 个攻击包,但目标主机与网络带宽每秒钟可以处理 2 000 个攻击,这样的攻击就不 会产生什么效果。 由于服务器性能的提高和网络带宽的增加,拒绝服务攻击的效果逐渐衰减下来,另外 黑客要减小被追查到的可能性,分布式拒绝服务攻击手段就应运而生了。它的原理很简单, 如果计算机与网络的处理能力提高了 2 倍,用一台攻击机来攻击不再起作用了,但是攻击 者使用 10 台、100 台攻击机同时攻击则后果就可想而知了,分布式拒绝服务攻击就是利用 更多的傀儡机来发起进攻,用比从前更大的规模来攻击受害者。 高速广泛连接的网络给大家带来了方便,也为分布式拒绝服务攻击创造了极为有利的 条件。在低速网络时代时,黑客占领攻击用的傀儡机时,一般会优先考虑离目标网络近的 机器,因为经过路由器的跳数少,效果好。而现在电信骨干结点之间的连接都是以 Gb/s 为 单位,大城市之间可以达到 10Gb/s 的连接,这使得攻击可以从更远的地方或者其他城市发 起,攻击者的傀儡机位置可以分布在更大的范围,选择起来更灵活了。 2) 被分布式拒绝服务攻击时的现象 (1) 被攻击主机上有大量等待的 TCP 连接。 (2) 网络中充斥着大量的无用的数据包,而且源地址都是伪造的。 (3) 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通信。 (4) 利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求, 使受害主机无法及时处理所有正常请求。 (5) 严重时会造成系统死机。 ·191· www.plcworld.cn ·192· 计算机网络安全技术 3) 分布式拒绝服务攻击的原理 (1) 通常黑客通过常规方法,例如系统服务的漏洞或管理员的配置错误等进入一些可 供支配的服务器。当然这些服务器是一些安全措施较差的小型站点以及小型企业事业单位 的服务器,由于管理水平及技术能力的因素,系统或服务程序存在漏洞而没有及时打上补 丁或是设置方面没有过多地从安全方面考虑而选择了默认设置,从而将可利用的缺陷暴露 在黑客面前。在成功侵入后,黑客照例安装一些特殊的后门程序,以便自己以后可以轻易 进入系统,随着越来越多的可利用服务器被控制,黑客就有了更大的舞台。他们可以通过 网络监听等蚕食的方法进一步扩充被侵入的服务器群。 (2) 黑客所做的第二步是在被控制的服务器上安装入侵软件。入侵软件包括入侵服务 器和入侵执行器。其中入侵服务器仅占总数的很小一部分,一般只有几台到几十台左右。 设置入侵服务器的目的是隔离网络联系,保护入侵者,使其不会在进行入侵时受到监控系 统的跟踪,同时也能更好地协调进攻。因为入侵执行器的数目太多,同时由一个系统来发 布命令会造成控制系统的网络阻塞,影响入侵的突然性和协同性。而且,流量的突然增大 也容易暴露入侵者的位置和意图。剩下的主机都被用来充当攻击执行器,执行器都是一些 相对简单的程序,它们可以连续向目标发出大量的连接请求而不做任何回答。现在已知的 能够执行这种任务的程序主要包括 Trinco、TFN(Tribe Flood Network)、Randomizer 以及它 们的一些改进版本,如 TFN 2000 等。 (3) 黑客要做的最后一步,就是从攻击控制台向各个攻击服务器发出对特定目标攻击 的命令。由于攻击主控台的位置非常灵活,而且发布命令的时间很短,所以非常隐蔽,难 以定位。一旦命令传送到服务器,主控台就可以关闭或脱离网络,以逃避追踪。接着,攻 击服务器将命令发布到各个攻击器。在攻击器接到命令后,每一个攻击器就开始向目标主 机发出大量的服务请求数据。这些数据包经过伪装已无法识别来源,而且这些数据包所请 求的服务往往要消耗较多的系统资源,如 CPU 资源或网络带宽。如果数百台甚至上千台攻 击器同时入侵一个目标,就会导致目标服务器网络和系统资源的耗尽,从而停止服务,严 重时会导致系统崩溃。另外,这样还可以阻塞目标网络的防火墙和路由器等网络设备,进 一步加重网络阻塞状况,最后使被攻击服务器根本无法为用户提供任何服务。因为黑客所 用的协议都是一些常见的协议和服务,系统管理员很难区分是恶意请求还是正常的连接请 求,从而无法有效分离出入侵数据包。 4) 分布式拒绝服务攻击的防范 到目前为止,对 DDoS 攻击的防御还是比较困难的。首先,这种攻击的特点是利用了 TCP/IP 协议的漏洞,要完全抵御 DDoS 攻击从原理上讲不太现实。就好像有 1 000 个人同 时给你家里打电话,这时候你的朋友还打得进来吗?虽然人们不能完全杜绝 DDoS,但还 是可以尽量避免它给系统带来更大的危害。 (1) 在服务上关闭不必要的服务,限制同时打开的 SYN 半连接数目,缩短 SYN 半连 接的超时时间,及时更新系统补丁。 (2) 在防火墙方面,禁止对主机的非开放服务的访问,限制同时打开的 SYN 最大连接 数,启用防火墙的防 DDoS 的属性,严格限制对外开放的服务器的向外访问以防止自己的 ·192· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·193· 服务器被当作傀儡机。 (3) 在路由器方面,使用访问控制列表(ACL)过滤,设置 SYN 数据包流量速率,升级 版本过低的操作系统,为路由器做好日志记录。 (4) ISP/ICP 要注意自己管理范围内的客户托管主机不要成为傀儡机,因为有些托管主 机的安全性较差,应和客户搞好关系,努力解决可能存在的问题。 (5) 骨干网络运营商在自己的出口路由器上进行源 IP 地址的验证,如果在自己的路由 表中没用到这个数据包源 IP 的路由,就丢掉这个包。这种方法可以阻止黑客利用依靠的源 IP 来进行分布式拒绝服务攻击。当然这样做可能会降低路由器的效率,这也是骨干运营商 非常关注的问题,所以这种做法真正实施起来还很困难。 对分布式拒绝服务的原理与应付方法的研究一直在进行中,找到一个既有效又切实可 行的方案不是一朝一夕的事情。但目前至少可以做到把自己的网络与主机维护好,首先让 自己的主机不成为被人利用的对象去攻击别人;其次,在受到攻击的时候,要尽量保存证 据,以便事后追查,一个良好的网络和系统日志是必要的。无论分布式拒绝服务攻击的防 御向何处发展,这都将是一个社会工程,需要 IT 界的同行们一起关注,通力合作。 7.3.6 网络监听 1. 网络监听的基本原理 根据 IEEE 的描述,局域网技术是“把分散在一个建筑物或相邻几个建筑物中的计算 机、终端、大容量存储器的外围设备、控制器、显示器、以及为连接其他网络而使用的网 络连接器等相互连接起来,以很高的速度进行通信的手段”。 局域网具有设备共享,信息共享,可进行高速数据通信和多媒体信息通信,分布式处 理,具有较高的兼容性和安全性等基本功能和特点。目前局域网主要用于办公室自动化和 校园教学及管理,一般可根据具体情况采用总线型、环状、树状及星状的拓扑结构。 1) 网络监听 网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的 状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使 用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断 地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台 主机、网关上或远程网的调制解调器之间等。 2) 在局域网实现监听的基本原理 对于目前很流行的以太网协议,其工作方式是:将要发送的数据包发往连接在一起的 所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的 那台主机才能接收。但是,当主机工作在监听模式下,无论数据包中的目标地址是什么, 主机都将接收(当然只能监听经过自己网络接口的那些包)。 在因特网上有很多使用以太网协议的局域网,许多主机通过电缆、集线器连在一起。 当同一网络中的两台主机通信的时候,源主机将写有目的的主机地址的数据包直接发向目 的主机。但这种数据包不能在 IP 层直接发送,必须从 TCP/IP 协议的 IP 层交给网络接口, ·193· www.plcworld.cn ·194· 计算机网络安全技术 也就是数据链路层,而网络接口是不会识别 IP 地址的,因此在网络接口数据包又增加了一 部分以太帧头的信息。在帧头中有两个域,分别为只有网络接口才能识别的源主机和目的 主机的物理地址,这是一个与 IP 地址相对应的 48 位的地址。 传输数据时,包含物理地址的帧从网络接口(网卡)发送到物理线路上,如果局域网由 一条粗缆或细缆连接而成,则数字信号在电缆上传输,能够到达线路上的每一台主机。当 使用集线器时,由集线器再发向连接在集线器上的每一条线路,数字信号也能到达连接在 集线器上的每一台主机。当数字信号到达一台主机的网络接口时,正常情况下,网络接口 读入数据帧,进行检查,如果数据帧中携带的物理地址是自己的或者是广播地址,则将数 据帧交给上层协议软件,也就是 IP 层软件,否则就将这个帧丢弃。对于每一个到达网络接 口的数据帧,都要有这个过程。 然而,当主机工作在监听模式下,所有的数据帧都将被交给上层协议软件处理。而且, 当连接在同一条电缆或集线器上的主机被逻辑地分为几个子网时,如果一台主机处于监听 模式下,它还能接收到发向与自己不在同一子网(使用了不同的掩码、IP 地址和网关)的主 机的数据包。也就是说,在同一条物理信道上传输的所有信息都可以被接收到。另外,现 在网络中使用的大部分协议都是很早设计的,许多协议的实现都是基于一种非常友好的、 通信的双方充分信任的基础之上,许多信息以明文发送。因此,如果用户的账户名和口令 等信息也以明文的方式在网上传输,而此时一个黑客或网络攻击者正在进行网络监听,只 要具有初步的网络和 TCP/IP 协议知识,便能轻易地从监听到的信息中提取出感兴趣的部 分。同理,正确使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯 罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。 2. 网络监听的简单实现 要使主机工作在监听模式下,需要向网络接口发出 I/O 控制命令,将其设置为监听模 式。在 UNIX 系统中,发送这些命令需要超级用户的权限。在 Windows 系列操作系统中则 没有这个限制。要实现网络监听,可以用相关的计算机语言和函数编写出功能强大的网络 监听程序,也可以使用一些现成的监听软件,很多黑客网站或从事网络安全管理的网站都 有这样的软件。 3. 网络监听的检测 网络监听是很难被发现的,因为运行网络监听的主机只是被动地接收在局域局上传输 的信息,不主动地与其他主机交换信息,也没有修改在网上传输的数据包。 对可能存在的网络监听的检测有以下几种。 (1) 对于怀疑运行监听程序的机器,用正确的 IP 地址和错误的物理地址 Ping,运行监 听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处理监听状态的机 器能接收,但如果他的 IPstack 不再次反向检查的话,就会响应。 (2) 向网上发大量不存在的物理地址的包,由于监听程序要分析和处理大量的数据包 而占用很多的 CPU 资源,这将导致性能下降。通过比较该机器前后的性能加以判断。这种 方法难度比较大。 ·194· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·195· (3) 使用反监听工具如 Antisniffer 等进行检测。 4. 对网络监听的防范措施 1) 从逻辑或物理上对网络分段 网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全 的一项措施。其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听 出现。 2) 以交换式集线器代替共享式集线器 对局域网的中心交换机进行网络分段后,局域网监听的危险仍然存在。这是因为网络 最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通 常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为单 播包 Unicast Packet)还是会被同一台集线器上的其他用户所监听。 因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个结点之间传送,从 而防止非法监听出现。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。但广播包和多播包内的关键信息要远远少于单播包。 3) 使用加密技术 数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技 术的缺点是影响数据传输速度以及使用一个弱加密技术比较容易被攻破。系统管理员和用 户需要在网络速度和安全性上进行折中选择。 4) 划分 VLAN 运用 VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,可以防止大部分基于 网络监听的入侵。 网络监听技术作为一种工具,总是扮演着正反两方面的角色。对于入侵者来说,最喜 欢的莫过于用户的口令,通过网络监听可以很容易地获得这些关键信息。而对于入侵检测 和追踪者来说,网络监听技术又能够在与入侵者的斗争中发挥重要的作用。鉴于目前的网 络安全现状,人们应该进一步挖掘网络监听技术的细节,从技术基础上掌握先机,才能在 与入侵者的斗争中取得胜利。 7.4 攻 击 实 例 7.4.1 网络监听实例 本实例介绍的是使用 Cain 软件进行 Sniffer,软件版本号是 Cain 2.5,Cain 2.5 主界面 如图 7.2 所示。 用 Cain 可以进行非交换环境下的 Sniffer 和交换环境下的 Sniffer。下面就分别对这两 种方法进行介绍。 ·195· www.plcworld.cn ·196· 计算机网络安全技术 1. 交换环境下的 Sniffer 首先,先设定好被监听的网卡,如图 7.3 所示,再打开 Sniffer 的开关就可以了实行 Sniffer 了,这种方法用于 Sniffer 同在 HUB 下的其他机器(包括本机)的各种通信。如果要 Sniffer 交换机另一端的机器,也就是在交换环境下进行 Sniffer 就需要使用 ARP 欺骗了,这将在 下面做详细介绍。 图 7.2 Cain 2.5 主界面 图 7.3 设定被监听的网卡 2.交换环境下的 Sniffer 这里 192.108.0.5 和 192.168.0.168 是互相信任而且已被控制的两台机器。试试能不能监 听它们之间的通信。Telnet 命令界面如图 7.4 所示,首先 Telnet 到 192.108.0.5 上去再执行 net use\\192.168.0.168\IPC$/user:administrator 命令。 ·196· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·197· 图 7.4 Telnet 命令界面 在 Cain 中是不会看到它记下这次 SMB 协议的会话,如图 7.5 所示,这说明和 192.108.0.5、192.168.0.168 是处在交换环境下的。 图 7.5 Cain 没有记录下这次会话 下面就用 ARP 欺骗来对付这种交换环境,步骤如下所述。 (1) Hosts 栏里面的机器都是至少和我们的机器相隔于一台交换机的,而且刚运行 Cain 的时候是没有必要等 Cain 扫描判断的。可以先运行 Cain 然后打开 Sniffer 过一段时间就自 然会有记录了。 (2) 在图 7.6 所示的配置栏中,使用一个虚拟的机器 IP 和 MAC 以免被发现。 ·197· www.plcworld.cn ·198· 计算机网络安全技术 图 7.6 APR 配置选项卡 (3) 然后在 ARP 栏里添加相应的设置,将 192.108.0.5 和 192.168.0.168 两台机器选中并 添加,如图 7.7 所示。添加完成的界面如图 7.8 所示。 ·198· 图 7.7 添加 ARP 信息 www.plcworld.cn 第 7 章 黑客的攻击与防范 ·199· 图 7.8 ARP 设置完成 这样,就建立了一个通过 ARP 欺骗实现的中间人交换环境,开启 Sniffer 和 ARP 欺骗 开关后,再在 Telnet 下执行 net use\\192.168.0.168\IPC$/user:administrator 命令。Cain 记录 下了 SMB 协议的会话,如图 7.9 所示。 图 7.9 Cain 记录下了 SMB 协议的会话 ·199· www.plcworld.cn ·200· 计算机网络安全技术 7.4.2 口令破解实例 破解软件 CrackFTP 的使用。CrackFTP 是一款 FTP 破解软件,可破解 FTP 用户的密码。 破解前必须先知道此 FTP 中的一个用户名。 首先介绍该软件主界面,如图 7.10 所示。 图 7.10 CrackFTP 主界面 (1) FTP Site to crack:目标 FTP 的地址(IP)。 (2) FTP Usernam:目标 FTP 用户名。 (3) FTP Port to crack:FTP 的连接端口,默认为 21。 (4) Interval connection:连接间歇(隔多少毫秒重新连接),1000=1 秒。 (5) Password list:字典的路径。 (6) Password found:找到的密码。 (7) Time to Crack it:破解所用的时间。 右边 3 个按钮功能如下所示。 (1) Crack:开始破解。 (2) Stop:停止。 (3) Exit:退出。 当各项参数都设置完毕之后,单击 Crack 按钮便开始破解,如图 7.11 所示。 ·200· 图 7.11 破解出 FTP 密码 www.plcworld.cn 第 7 章 黑客的攻击与防范 ·201· 在使用这款软件时,需要注意的一点是连接间歇,由于每个 FTP 设置了不同的连接间 歇,如果设置不当,你的 IP 会被 FTP 禁止,所以要尽量设置得大一些。 1. 缓冲区溢出实例 MS04011 溢出入侵实例。准备工具:ms04011.cab、DSScan.exe。 (1) 如图 7.12 所示,利用工具 DSScan.exe 扫描一个网段。选择 192.168.101.1~ 192.168.101.254,扫描后选择 192.168.101.220 来测试。 图 7.12 用 DSScan.exe 设置扫描网段 (2) 利用 getos.exe 判断对方的系统(如图 7.13 所示),格式为 getos.exe IP,一般 IIS 5.0 是 Windows 2000,IIS 5.1 是 Windows XP。 图 7.13 用 getos.exe 判断对方系统 ·201· www.plcworld.cn ·202· 计算机网络安全技术 (3) 利用 ms04011.exe 进行溢出。格式为:ms04011.exe 0(或者 1) IP。 如图 7.14 所示,这里用 ms04011>ms04011.exe 1 192.168.101.220。当一段时间不动了, 表示溢出正在进行。一段时间以后,就可以 Telnet 了。 图 7.14 用 ms04011.exe 进行溢出 (4) 当溢出完毕以后,再开个 CMD,Telnet 上去,如图 7.15 所示。 格式为:telnet IP 1234 (1234 是端口号)。 图 7.15 Telnet 对方机器 (5) 运行 Ipconfig,现在已经得到了一个对方的 Shell,如图 7.16 所示。 图 7.16 得到了一个对方的 Shell 2. 分布式攻击实例 独裁者 DDOS(Autocrat DDoS Client)是一款可以控制大量 Server 进行 DDoS 的工具, 支持 4 种攻击方法:SYN、LAND、FakePing 和狂怒之 Ping。因为它是一个 DDoS 工具, 所以也是以 C/S 的形式存在的,先看客户端的使用方法。 共有 Client 和 Server 两个文件,而 Server 就是服务端,如图 7.17 所示,把它上传到目 标机上运行即可,这个文件是不需要配置的,上传并运行后可直接用 IE 进行控制。 假设已经将文件上传并成功地执行了,现在用 IE 连接,连接的方法是 http://IP:8535。 其中的 Autocrat DDoS Server HTTP Attacker 就是我们 DDoS 所要用的目标机器了,控 制它进行 DDoS。就像上面提到的,它一共有 4 个模块,分别对应于 4 种攻击方法。输入 相应的 IP 和端口即可进行远程 DoS 攻击了。 ·202· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·203· 图 7.17 Server 端界面 下面来看 Client 的主界面,主机列表中是所控制的机器,服务端成功安装后可以在这 里添加目标机器。用下面的检查状态检查目标机器的情况是否正常,也可以看见相应的 4 种攻击方法的攻击情况。如果目标机无效,会将 IP 显示在无效主机的列表中,单击右上方 的“清空信息”按钮可以清除文本框中的内容,单击“检查文件”按钮则可以看到服务端 文件的情况。 信使服务可以向目标机器发送信息,4 种攻击方式可在软件的上方工具按钮处选择。 扫描主机可以对一个网段的主机进行扫描,取得实时信息。随机产生端口和 IP 可以随机帮 助做随机选择,也可以指定 IP 和端口。定时设置可以在 0s~60s 之间做设定,记得单击旁 边的按钮保存。这里的设置为:10.8.10.229。 已经设置攻击时间为 60s,如图 7.18 所示。 图 7.18 独裁者 DDoS Client 端界面 ·203· www.plcworld.cn ·204· 计算机网络安全技术 7.5 防 黑 措 施 1. 防范黑客入侵的措施 1) 安全口令 根据多个黑客软件的工作原理,参照口令破译的难易程度,以破解需要的时间为排序 指标设置口令。这里列出了常见的采用危险口令的方式:用户名(账号)作为口令;用户名(账 号)的变换形式作为口令;生日作为口令;自己的电话号码作为口令;常用的英文单词作为 口令;5 位或 5 位以下的字符作为口令。 因此,用户在设置口令时应该含有大小写字母、数字,有控制符更好;不要用 Admin、 guest、Server、生日、电话号码之类的便于猜测的字符组作为口令;并且应保守口令秘密 并经常改变口令,间隔一段时间要修改超级用户口令,另外要管好这些口令,不要把口令 记录在非管理人员能接触到的地方;应把所有的默认账户如 Administrator、guest 用户都从 系统中去掉,然后建立一个用户,赋超级用户权限来管理整个网络。在系统中如果接收到 3 个错误的口令就应断开这个账号与系统连接;应及时取消调离或停止工作的用户的账号 以及无用的账号;在验证过程中口令不要以明文方式传输,以防黑客通过网络监听。 2) 实施存取控制 存取控制规定何种主体对何种实体有何种操作权力。存取控制是内部网络安全理论的 重要方面,它包括人员权限、数据标识、权限控制、控制类型、风险分析等内容。管理人 员应管好用户权限,在不影响用户工作的情况下,尽量减小用户对服务器的权限,以免一 般用户越权操作。 3) 确保数据的安全 最好通过加密算法对数据处理过程进行加密,并采用数字签名及认证来确保数据的 安全。 4) 定期分析系统日志 一般黑客在攻击系统之前都会进行扫描,管理人员可以通过记录来进行预测,做好应 对准备。 5) 不断完善服务器系统的安全性能 很多服务器系统都被发现有不少漏洞,服务商会不断在网上发布系统的补丁。为了保 证系统的安全性,应随时关注这些信息,及时完善自己的系统。 6) 进行动态站点监控 及时发现网络遭受攻击情况并加以追踪和防范,避免对网络造成更大损失。 7) 用安全管理软件测试自己的站点 测试网络安全的最好方法是自己定期地尝试进攻自己的系统,最好能在入侵者发现安 全漏洞之前自己先发现。 请第三方评估机构或专家来完成网络安全的评估,把未来可能的风险降到最小。 8) 做好数据的备份工作 这是非常关键的一个步骤,有了完整的数据备份,当遭到攻击或系统出现故障时才可 能迅速地恢复系统。 ·204· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·205· 9) 使用防火墙 防火墙正在成为控制对网络系统进行访问的非常流行的方法。事实上,在因特网上 Web 网站中,超过 1/3 的 Web 网站都是由某种形式的防火墙加以保护的,这是对黑客防范 最严、安全性较强的一种方式,任何关键性的服务器,都建议放在防火墙之后。任何对关 键服务器的访问都必须通过代理服务器,这虽然降低了服务器的交互能力,但为了安全, 这点牺牲是值得的。 2. 防范黑客入侵的步骤 提起黑客,你也许会想到《黑客帝国》中变幻莫测的高手,其实现在功能强大且简便 易用的黑客软件数不胜数,即便是刚刚上网的初级网虫也能够利用这些现成的攻击软件变 成为颇具杀伤力的黑客大侠。不过,不要对黑客产生过分的恐惧,我们完全可以做好防范, 让黑客无从下手。 每一位电脑用户都希望计算机能拥有最安全的防护措施。对于新手来说,这些可能是 具有较高难度的。其实这并非难事,只要按照下面的步骤做,就可以给计算机穿上一件坚 固的铠甲了。 1) 第一步:选好操作系统 由于 Windows 98 的易用性很好,所以它是很多朋友上网的首选操作系统。不过 Windows 98 的很多系统缺陷都为世人所知,通过 DDoS、WinNuke 或者是 UDP Flood 之类 的攻击软件,都可以轻易让 Windows 98 给你一个蓝色的死机脸色看。目前微软公司已经停 止了对于 Windows 98 缺陷的更新升级,因此这个操作系统可以说已经被时代所抛弃,如果 不想频繁地遭遇各种恶意炸弹攻击,最好还是改换门庭,使用 Windows 2000/XP 系统。 如果已经使用了 Windows 2000/XP 系统,也不要忽视安全口令的设置,一旦别人获得 系统的超级用户密码,你的机器可就距离末日不远了。在设置口令的时候尽可能复杂,单 纯的英文或者数字很容易被暴力破解。要注意,某些系统服务功能有内建账号,应及时修 改操作系统内部账号口令的默认设置,防止别人利用默认的密码侵入系统。 2) 第二步:补丁升级 没有不透风的墙,即使采用了最新的操作系统,也不意味着你的计算机已经放进了一 个保险箱中,所以还要时刻关注微软官方站点发布的补丁程序。通常在微软公司在发现了 某些有可能影响系统安全的漏洞之后,都会在其官方网站中发布系统补丁,这时应该在第 一时间下载安装最新的补丁,及时堵住系统漏洞。比如 Windows 2000 Server 就有 SP4 补丁 包,安装之后能够大大提升计算机的安全性能;而 Windows XP 安装了 SP1 补丁之后也可 以大幅度提升系统的安全性。 另外,使用 Windows 2000/XP 过程中还需要经常查看系统日志文件,因为这个文件会 完整记录一段时间之内所有的网络活动情况,通过查看系统日志能够得知是否有人对系统 尝试攻击以及攻击的结果,便于进行针对性的弥补。 3) 第三步:关闭无用的服务 黑客对计算机发起攻击必须使计算机开放相应的端口,如果关闭了无用的端口,就大 大减少遭受攻击的风险。对于 Windows 而言,可以去除系统中的 NWLink、IPX/SPX 传输 协议,同时在 TCP/IP 协议属性里启用安全机制。如果没有诸如 ICQ、Real 在线播放之类特 ·205· www.plcworld.cn ·206· 计算机网络安全技术 别的需求,建议将所有 UDP 端口关闭。同样,在 Windows 2000/XP 中也可将打印共享、 Web 服务等用不到的服务关闭,不仅节约了更多系统资源,同时也减少了黑客入侵的机会。 4) 第四步:隐藏 IP 地址 黑客对你的计算机发起攻击之前首先要确认计算机的 IP 地址,因此,可以防止别人通 过 Ping 方式来探测服务器,或者借助代理服务器来隐藏自己的真实 IP 地址。比如可在天 网防火墙的设置栏目中选中“防止别人用 Ping 命令探测”,这样不管别人通过域名还是 IP 地址方式进行 Ping 测试都无法确认服务器是否处于开启状态,自然也就减少了黑客攻击的 机会。 5) 第五步:查找本机漏洞 但是,长时间挂在网上给别人扫描你的计算机提供了便利的条件,怎样才能有效防护 呢?首先必须知道计算机中存在的安全隐患,因此可以借助系统扫描软件来找出这些漏洞。 就拿 XScan 来说,它可以采用多线程方式对本机所有的端口进行安全漏洞检测,并且将扫 描结果以文件方式保存起来,这样就可以很轻松地找到计算机的漏洞,并且程序还会给出 一些已知漏洞的细节描述,利用程序及解决方案,就能够直接对漏洞进行修补来增强系统 安全性。 6) 第六步:防火墙软件保平安 即使全部完成了上述操作,也只是部分防护措施而已,最行之有效的网络安全防护手 段就是安装一款防火墙软件。目前这种防火墙软件很多,比如天网防火墙、Norton Internet Firewall、ZoneAlarm 等,它们不仅可以防 Ping、防止恶意连接,而且在遇到恶意攻击的时 候还会有独特的警告信息来引起你的注意,并且把所有的入侵信息记录下来,让你有案可 查。因此,为了彻底确保上网冲浪时不受外来的侵扰,还是选择一款合适的网络防火墙软 件让你在聊天的时候拥有一个好心情。不过需要提醒大家注意:安装了防火墙软件并不意 味着万事大吉,为了避免防火墙软件变成徒有虚名的马其诺防线,最好每隔一段时间在线 升级更新,这样网络防火墙软件才能更好地抵御最新的网络攻击。 真正做到了上述几方面之后,我们便构筑了一道网络防护的铜墙铁壁,任黑客手段再 高明,想要入侵你的系统也不是一件轻而易举的事情了。 7.6 常用攻击和防御软件的应用实验 实验说明:特洛伊木马是一种基于远程控制的病毒程序,该程序具有很强的隐蔽性和 危害性,它可以在并不知情的状态下控制或者监视用户的电脑。下面通过分别学习如何使 用常用的木马程序和如何使用防范木马入侵的程序,从正反两个方面来加深了解黑客入侵 的手段,使大家能够更好地保护自己的电脑不受黑客攻击。 7.6.1 “冰河”使用说明 1. 实训目的和内容 (1) 掌握木马的原理和攻击方法。 (2) 了解“冰河”的配置及使用方法。 ·206· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·207· (3) 掌握清除“冰河”的方法。 2. 实训理论基础——“冰河”木马程序简介 冰河是一个国产特洛伊木马程序,具有简单的中文使用界面,且只有少数流行的反病 毒软件、防火墙才能查出它的存在。冰河可以自动跟踪目标计算机的屏幕变化,可以完全 控制键盘及鼠标输入,即使在攻击者屏幕变化和攻击端产生同步的同时,被攻击端的一切 键盘及鼠标操作也将反映在攻击端的屏幕。它可以记录各种口令信息,包括开机口令、屏 幕保护口令、文件夹共享口令以及绝大多数在对话框中出现过的口令信息;它可以获取系 统信息;它还可以进行注册表操作,包括对注册表主键的浏览、增删、复制、重命名和对 键值的读写等所有注册表操作。“冰河”Client 主界面如图 7.19 所示。 (1) G_Server.exe:被监控端后台监控程序(运行一次即自动安装,可任意改名),在安装 前可以先通过 G_Client 的配置本地服务器程序功能进行一些特殊配置,例如是否将动态 IP 发送到指定信箱,改变监听端口,设置访问口令等)。 (2) G_Client.exe:监控端执行程序,用于监控远程计算机和配置服务器程序。 图 7.19 “冰河”Client 主界面 该软件主要用于远程监控,具体功能包括以下几方面。 (1) 自动跟踪目标机屏幕变化,同时可以完全模拟键盘及鼠标输入,即在同步被控端 屏幕变化的同时,监控端的一切键盘及鼠标操作将反映在被控端屏幕(局域网适用)。 (2) 记录各种口令信息:包括开机口令、屏保口令、各种共享资源口令及绝大多数在 对话框中出现过的口令信息,且 1.2 以上的版本中允许用户对该功能自行扩充,2.0 以上版 本还同时提供了击键记录功能。 (3) 获取系统信息:包括计算机名、注册公司、当前用户、系统路径、操作系统版本、 ·207· www.plcworld.cn ·208· 计算机网络安全技术 当前显示分辨率、物理及逻辑磁盘信息等多项系统数据。 (4) 限制系统功能:包括远程关机,远程重启计算机,锁定鼠标,锁定系统热键及锁 定注册表等多项功能限制。 (5) 远程文件操作:包括创建,上传,下载,复制,删除文件或目录,文件压缩,快 速浏览文本文件,远程打开文件(提供了 4 种不同的打开方式——正常方式、最大化、最小 化和隐藏方式)等多项文件操作功能。 (6) 注册表操作:包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注 册表操作功能。 (7) 发送信息:以 4 种常用图标向被控端发送简短信息。 (8) 点对点通信:以聊天室形式同被控端进行在线交谈。 3. 实训步骤 1) 各模块简要说明 安装好服务器端监控程序后,运行客户端程序就可以对远程计算机进行监控了,客户 端执行程序的各模块功能如图 7.20 所示。 图 7.20 “冰河”功能模块 (1) 添加主机:将被监控端 IP 地址添加至主机列表,同时设置好访问口令及端口,设 置将保存在 Operate.ini 文件中,以后不必重输。如果需要修改设置,可以重新添加该主机, 或在主界面工具栏内重新输入访问口令及端口并保存设置。 (2) 删除主机:将被监控端 IP 地址从主机列表中删除(相关设置也将同时被清除)。 (3) 自动搜索 : 搜索指定子网内安装有“冰河”的计算机 (例如欲搜索 IP 地址在 192.168.1.1~192.168.1.255 网段的计算机,应将起始域设为 192.168.1,将起始地址和终止 地址分别设为 1 和 255)。 ·208· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·209· (4) 捕获屏幕:查看被监控端屏幕(相当于执行命令控制台中的“控制类命令” →“捕获 屏幕” →查看屏幕’命令)。 (5) 屏幕控制:远程模拟鼠标及键盘输入(相当于执行命令控制台中的“控制类命令” →“捕获屏幕”→“屏幕控制”命令)。其余同执行“查看屏幕”命令。 (6) 冰河信使:点对点聊天室,也就是传说中的“二人世界”。 (7) 升级 1.2 版本:通过情人节专版的“冰河”来升级远程 1.2 版本的服务器程序。 (8) 修改远程配置:在线修改访问口令,监听端口等服务器程序设置,不需要重新上 传整个文件,修改后立即生效。 (9) 配置服务器程序:在安装前对 G_Server.exe 进行配置(例如是否将动态 IP 发送到指 定信箱,改变监听端口,设置访问口令等),如图 7.21 所示。 图 7.21 “服务器配置”界面 2) 文件管理器操作说明 文件管理器对文件操作提供了下列鼠标操作功能。 (1) 文件上传:右键单击欲上传的文件,执行“复制”命令,在目的目录中粘贴即可。 也可以在快捷菜单中执行“文件上传自”命令,并选定欲上传的文件。 (2) 文件下载:右键单击欲下载的文件,执行“复制”命令,在目的目录中粘贴即可。 也可以在选定欲下载的文件后执行“文件下载至”命令,并选定目的目录及文件名。 (3) 打开远程或本地文件:右击欲打开的文件,在快捷菜单中执行“远程打开”或“本 地打开”命令,对于可执行文件若执行了“远程打开”命令,可以进一步设置文件的运行 方式和运行参数 (运行参数可为空)。 (4) 删除文件或目录:右击欲删除的文件或目录,在快捷菜单中执行“删除”命令, 如图 7.22 所示。 ·209· www.plcworld.cn ·210· 计算机网络安全技术 (5) 新建目录:在快捷菜单中执行“新建文件夹”命令并输入目录名即可。 (6) 文件查找:选定查找路径,在快捷菜单中执行“文件查找”命令,并输入文件名 即可(支持通配符)。 (7) 复制整个目录(只限于被监控端本机):选定源目录并复制,选定目的目录并粘贴 即可。 图 7.22 执行“删除”命令 3) 命令控制台主要命令 (1) 口令类命令:系统信息及口令、历史口令、击键记录,如图 7.23 所示。 ·210· 图 7.23 口令类命令界面及展示信息 www.plcworld.cn 第 7 章 黑客的攻击与防范 ·211· (2) 控制类命令:捕获屏幕、发送信息、进程管理、窗口管理、鼠标控制、系统控制、 其他控制(如锁定注册表等),如图 7.24 所示。 图 7.24 控制类命令界面及发送信息演示 (3) 网络类命令:创建共享、删除共享、查看网络信息,如图 7.25 所示。 图 7.25 网络类命令界面 (4) 文件类命令:目录增删、文本浏览、文件查找、压缩、复制、移动、上传、下载、 删除、打开(对于可执行文件则相当于创建进程)。 ·211· www.plcworld.cn ·212· 计算机网络安全技术 (5) 注册表读写:注册表键值读写、重命名、主键浏览、读写、重命名。 (6) 设置类命令:更换墙纸、更改计算机名、读取服务器端配置、在线修改服务器 配置。 4) 使用技巧 (1) 执行“查看屏幕”命令抓取对方屏幕信息后,若希望程序自动跟踪对方的屏幕变 化,在右键弹出菜单中选中“自动跟踪”项即可。 (2) 在文件操作过程中,鼠标双击本地文件将在本地打开该文件;鼠标双击远程文件 将先下载该文件至临时目录,然后在本地打开;也可用右键菜单对远程文件做相应操作。 (3) 选中“写入注册表启动项”复选框就是把“在开机时自动启动”这一项设置写入 Windows 注册表。“关联”复选框一旦选中,会更改注册表,关联所选择的文件,默认是 TXT 文件,用户在打开 TXT 文件时会再次运行服务端起到巩固控制的效果,如图 7.26 所示。 图 7.26 如何配置以巩固“冰河”控制 (4) 在执行“网络共享创建”命令时,如果不希望其他人看到新创建的共享名,可以 在共享名后加上$符号。自己欲浏览时只要在 IE 的地址栏或执行“开始菜单”的“运行” 命令在弹出的对话框内键入“\\[机器名]\[共享名(含$符号)]”即可。 (5) 在 1.2 以后的版本中允许用户设定捕获图像的色深(1~7 级),图像将按设定保存为 2 的 N 次方种颜色(N=2 的 1~7 次方),即 1 级为单色,2 级为 16 色,3 级为 256 色,依次 类推。 (6) 在命令行状态下输入 netstat –an 命令将列出相应信息,找到所需控制远程机器的 IP。 ·212· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·213· 图 7.27 得到 IP 为 61.54.52.237 的信息 (7) 在 Client 端选择添加计算机,输入刚才得到的 IP 地址 61.54.52.237,如图 7.28 所 示,便可以对其实行控制。 图 7.28 添加计算机 (8) 可以在控制类命令中选择清除远程机器上的“冰河”,如图 7.29 所示。 ·213· www.plcworld.cn ·214· 计算机网络安全技术 图 7.29 清除远程计算机上的“冰河” 手动清除“冰河”方法表述如下。 ① 删除 C:\Windows\system 下的 Kernel32.exe 和 sy* * *plr.exe 文件。 ② 删除注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \Run 下的键值 C:\Windows\system\Kernel32.exe。 ③ 删除注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion \Runs-ervices 下的键值 C:\Windows\system\Kernel32.exe。 7.6.2 RegRun 的使用说明 1. 实训目的和内容 (1) 掌握防范黑客攻击的方法。 (2) 了解 RegRun 的配置及使用方法。 2. 实训理论基础 RegRun 是一个系统安全保护工具,功能十分强大。这个软件可以很好地控制诸如由注 册表、系统文件、下载文件或用户定义载入的自动运行程序。同时通过对系统所有进程进 行实时监测,RegRun 能够有效地检测到隐藏在系统中的木马病毒或其他来路不明的程序。 RegRun 在其他程序启动前激活它的功能,如果有变化发生则向用户发出警告。用户还可以 从系统启动时自动运行的程序中清除不愿运行的程序,通过选择启动预设方案,或调整启 动进程获得一个“清洁”的系统启动。 3. 实训步骤 木马程序一般会改变系统的启动设置、系统服务、可执行文件的关联、注册表信息等 方式来运行木马,而 RegRun 则分别对这几种方式做了严格的监控来防止系统被木马程序 攻击,如图 7.30 所示。 ·214· www.plcworld.cn 第 7 章 黑客的攻击与防范 ·215· 图 7.30 RegRun 主菜单 (1) 执行木马分析器后出现如图 7.31 所示的界面,可以选择要分析的可疑进程,并通 过分析报告来判断该进程是否对系统做出了恶意的修改、增删等操作。 图 7.31 木马分析器界面 图 7.31 中选定了 ccApp.exe 进程,图 7.32 所示为分析的结果,可以看出该程序对系统 做了哪些操作。 图 7.32 木马分析器分析结果 ·215· www.plcworld.cn ·216· 计算机网络安全技术 (2) 执行运行防卫器后出现如下配置界面,在运行防卫器中可以设置禁止运行的程序, 当一些恶意程序如木马的后门程序运行时 RegRun 就会提示警告信息,如图 7.33 所示。 图 7.33 运行防卫设置界面 在跳出警示页面后可以查看该文件的详细信息及路径,可以选择允许还是禁止程序的 运行,如图 7.34 所示,以达到防范的目的。 图 7.34 运行防卫器警告信息 (3) 执行文件保护器后 RegRun 会列出比较重要的系统文件,如图 7.35 所示,并将这 些文件保存在一个备份的目录里,RegRun 会通过比较知道这些文件是否被篡改过,如果被 改动过可以通过备份目录恢复原来的文件。 ·216· 图 7.35 文件保护器界面 www.plcworld.cn 第 7 章 黑客的攻击与防范 ·217· (4) 执行注册表追踪器后可以在菜单中增加要监控保护的软件,如图 7.36 所示。当该 软件被恶意程序试图修改时 RegRun 会发出警告以达到保护目的。 图 7.36 注册表追踪器设置界面 一般的木马程序会在系统启动时自动加载后门程序以达到攻击的目的,所以严格的监 控系统的启动设置可以有效地防范攻击。RegRun 也有比较完善的功能来监控启动设置。 图 7.37 中设置时间 1 分钟,则软件每过一分钟就检查程序的启动组选项,如果被恶意 程序修改,RegRun 会发出警告。 图 7.37 监控启动菜单设置 另外,RegRun 也有非常完善的模块来为高级用户设置启动信息,如图 7.38 所示。 上面是 RegRun 的一些基本的设置介绍,有了 RegRun 的功能强大的系统监控及保护功 能,就可以防范一般的黑客攻击。该软件还有许多其他功能,有待读者自己去使用和体会。 ·217· www.plcworld.cn ·218· 计算机网络安全技术 图 7.38 监控启动菜单详细设置 小结 本章介绍了黑客的基本概念,以及黑客攻击的目的和步骤;然后从端口扫描、口令破 解、特洛伊木马、缓冲区溢出、拒绝服务攻击、网络监听几个方面介绍了黑客常用的攻击 方法并给出了攻击实例。最后是介绍黑客软件“冰河”和防范工具 RegRun 的使用方法。 习题 1. 什么是黑客?常见的黑客技术有哪些? 2. 简述端口扫描的原理。 3. 常见的端口扫描技术有哪些?它们的特点是什么? 4. 从网络安全角度分析为什么在实际应用中要开放尽量少的端口? 5. 简述网络监听的原理。 6. 口令破译的方法有哪些?简述穷举法的原理。 7. 在实际应用中应怎样防范口令破译? 8. 简述特洛伊木马和病毒的异同。 9. 应怎样来防范特洛伊木马攻击? 10. 简述拒绝服务攻击的原理。 ·218· www.plcworld.cn 第 7 章 黑客的攻击与防范 11. 简述出现 DDoS 时可能发生的现象。 12. 简述电子邮件炸弹的原理及防范技术。 13. 简述缓冲区溢出攻击的原理及其危害。 14. 在编写软件代码时,应怎样防范可能出现的缓冲区溢出? 15. 在工作中,人们应从哪些方面来防范黑客入侵? ·219· ·219· www.plcworld.cn 第 8 章 Web 服务的安全性 本章要点 z Web 服务的概念、类型与应用 z Web 服务的安全防范及对应的技术措施 z Web 服务中受到的攻击、密码破解的方法 z 邮箱系统的管理与安全配置 8.1 Web 服务的安全概述 8.1.1 网络服务概念 随着因特网的发展,客户机/服务器结构逐渐向浏览器/服务器结构发展,Web 服务在 很短时间内成为因特网上的主要服务。Web 文本发布的特点是:简洁、生动、形象,所以 无论是单位还是个人,都更加倾向于使用 Web 来发布信息。 Web 服务是基于超文本传输协议(即 HTTP 协议)的服务,HTTP 协议是一个面向连接的 协议,在 TCP 的端口 80 上进行信息的传输。大多数 Web 服务器和浏览器都对 HTTP 协议 进行了必要的扩展,一些新的技术接口 CGI 通用网关程序、Java 小程序、ActiveX 控件、 虚拟现实等,也开始应用于 Web 服务,使 Web 文本看上去更生动、更形象,信息交互也 显得更加容易。 Web 服务在方便用户发布信息的同时,也给用户带来了不安全因素。尤其是在标准协 议基础之上扩展的某些服务,在向用户提供信息交互的同时,也使得 Web 基础又增加了新 的不安全因素。 8.1.2 Web 服务的安全威胁 Web 服务所面临的安全威胁可归纳为两种:一种是机密信息所面临的安全威胁,另一 种是 WWW 服务器和浏览器主机所面临的安全威胁。其中,前一种安全威胁是因特网上各 种服务所共有的,而后一种威胁则是由扩展 Web 服务的某些软件所带来的。这两种安全隐 患不是截然分开,而是共同存在并相互作用的,尤其是后一种安全威胁的存在,使得信息 保密更加困难。 1. 机密信息的安全威胁 通过 Web 服务传递信息时,对于机密信息需要防止搭线窃听,防止外部用户入侵主机。 如果无法保证信息仅为授权用户阅读,致使机密信息泄露,必将给被侵入方带来巨大损失。 www.plcworld.cn 第 8 章 Web 服务的安全性 ·221· 2. 主机面临的威胁 1) CGI 程序带来的威胁 CGI(Common Gateway Interface)是通用网关接口。它在服务器端与 Web 服务器相互配 合,响应远程用户的交互性请求。允许用户选择一种语言,如 C/C++、VB 等进行编程,提 供服务器端和远程浏览器之间的信息交互能力。 CGI 程序是 Web 安全漏洞的主要来源,其安全漏洞表现为以下几方面: (1) 泄露主机系统信息,帮助黑客入侵。 (2) 当服务器处理远程用户输入的某些信息(如表格)时,易被远程用户攻击。 (3) 不规范的第三方 CGI 程序,或存有恶意的客户向 Web 服务器发布的 CGI 程序,将 对 Web 服务器造成物理或逻辑上的损坏,甚至将 Web 服务器上的整个硬盘信息复制到因 特网的某一台主机上。 2) Java 小程序所带来的威胁 Java 是由美国 Sun MicroSystem 公司于 1995 年推出的一种跨平台和具有交互能力的计 算机程序语言,具有简单,面向对象,分布式,健壮,安全,结构中立,可移植,高效, 多线程和动态等优点。其中 Java 小程序为 Web 服务提供了相当好的扩展能力,并为各种 通用的浏览器,如 IE、NetScape 2.0 所支持。Java 小程序由浏览器进行解释,并在客户端 执行,因而把安全风险直接从服务器端转移到了客户端。 尽管在实现 Java 小程序时考虑了很多安全因素,但在发行后不长时间,仍在 Java 中发 现了很多安全漏洞。 在 NetScape 2.0 中的 Java 的实现中存在一些特殊的安全漏洞,例如任意执行机器指令 的能力,Java 小程序的相互竞争力,与任意的主机建立连接的能力等。 此外,Java 小程序作为协议程序在 IE、NetScape 中的实现语言,还存在着下述安全 漏洞: (1) 可以欺骗用户,将本地硬盘或连入网络的磁盘上的文件传送到因特网上的任意 主机。 (2) 能获得用户本地硬盘和任何网络盘上的目录列表。 (3) 能监视用户在某段时间内访问过的所有网页,捕捉并传送到因特网上的任意主机。 (4) 能够在未经用户允许的情况下触发 NetScape 或 Explore 发送 E-mail。 3) ASP 所带来的威胁 微软的 Internet Information Server(IIS)提供了利用 Active Server Pages(ASP)动态产生网 页的服务。一个 ASP 文件就是一个在 HTML 网页中直接含有程序代码的文件。回传一个 监视文件,会促使 IIS 运行网页中内嵌的程序代码,然后将运行结果直接回送到浏览器上。 此外,静态的 HTML 网页是按其原来的样子回传到浏览器上,而不经过任何解析处理。IE 是利用文件的扩展名来区别文件的形态。扩展名为.htm 或.html 的文件属于静态 HTML 文 件,扩展名为.asp 的文件则是一个 Active Server Pages 文件。 在所有网络安全漏洞里,很容易忽略的一个就是未经解析的文件内容或程序代码无意 中被显示出来。简单地说,就是使用者能够从网页服务器上骗取动态网页里的程序代码。 利用 Windows NT 的数据传输串行的特性存取文件是利用监视安全漏洞的最早方式。 ·221· www.plcworld.cn ·222· 计算机网络安全技术 只需利用一个简单的参数($DATA)便可看到 ASP 的原始程序。 4) Cookie 所带来的威胁 Cookie 指的是一个保存在客户机中的简单的文本文件,它与特定的 Web 文档关联在一 起,保存了该客户机访问这个 Web 文档时的信息,当客户机再次访问这个 Web 文档时这 些信息可供该文档使用。在 Documents and Settings 文件夹中任意打开一个用户,便可以看 到一个名为 Cookies 的文件夹,此文件夹中所包含的 TXT 文件就是 Cookie 文件。 由于 Cookie 可以保存在客户机上,因此它具有记录用户个人信息的功能,但不必使用 复杂的 CGI 等程序实现。 Cookie 可以制定个性化空间,用于记录站点轨迹。当用户访问一个站点时,由于费用、 带宽限制等原因,可能并不希望浏览网页所有的内容。Cookie 可根据个人喜好进行栏目设 定,实时、动态地产生用户所需的内容,从而满足了不同层次用户的需求,减少用户选择 项目的次数,更加合理地利用网页服务器的传输带宽。此外,由于 Cookie 可以保存在用户 机上,具有当用户再次访问该 Server 时读回的特性,利用这一特性可以实现很多设计功能, 如显示用户访问该网页的次数;显示用户上一次的访问时间;甚至记录用户以前在本页中 所做的选择等,从而不必研究复杂的 CGI 编程。 Cookie 在给用户带来方便的同时,也带来了一定的安全隐患。这些安全隐患在很正规 的大网站是不必担忧的,但在互联网上还是要谨慎防范的。 对 Cookie 的限制,有下述几种方法。 (1) 如果用户使用的浏览器是 IE 4.0,可右击 Internet Explore 图标执行“属性”命令, 在弹出的对话框中打开“安全”选项卡,单击“自定义级别”按钮,在弹出的对话框中选 中“禁止所有 Cookie 使用”单选按钮即可。 (2) 如果用户使用的浏览器是 IE 5.0,而 IE 5.0 有本地、可信站点、受限站点等级别之 分,所以需要分别进行上述设置。 (3) 另一种简单的方法是把 Cookie 文件夹的属性设为只读。 5) ActiveX 控件所带来的威胁 ActiveX 是微软在其组件对象模型的基础之上建立的一种理论和概念,同时也是一种新 的编程标准,可以用任何一种面向对象的语言加以实现,如 VC、VB 等,用这种规范建立 起来的 ActiveX 控件真正实现了多语言编程的无缝连接,同时,这种控件也可以嵌入到 HTML 文本中,形成一定功能的程序模块。 由于 ActiveX 控件被嵌入到 HTML 页面中,并下载到浏览器端加以执行,因此会对浏 览器造成一定程度的安全威胁。此外,在客户端的浏览器,如 IE 中插入某些 ActiveX 控件, 也会对服务器端造成意想不到的安全威胁。 从某个角度上讲,ActiveX 和 Java 很像,二者的区别在于,ActiveX 一定要存放在用户 的硬盘中才能执行,即当浏览器遇到一个不在用户系统中的 ActiveX 控件时,浏览器将其 下载到用户硬盘,并存入一个 ActiveX 控件副本。因而 ActiveX 比 Java 的安全性更差。 ActiveX 为出版商和用户提供了两个补充机制:安全性和认证。安全性让用户了解在什 么样的环境中使用某个元件是安全的。而认证为软件提供了电子包,使用户可以迅速鉴别 某个元件是否应该信任,中途是否被篡改过。 一般浏览器运行的外来应用程序或控件都是基于“沙箱”安全模式的。“沙箱”提供 ·222· www.plcworld.cn 第 8 章 Web 服务的安全性 ·223· 了一个虚拟的运行环境,限制用户访问除了该环境之外的其他任何资源,只要不超越沙箱 便是安全的。 ActiveX 能够使 Java 程序访问“沙箱”以外的对象,ActiveX 把这些“沙箱”以外的程 序和库称为“沙箱”信任的 Java 程序和库,但并不保证其安全性,因此,必须确认此程序 和库是由谁开发的。 在下载和使用 ActiveX 时必须记住以下两个危险:一个是恶意的或没有署名的 ActiveX 控件,另一个是已署名但仍是恶意的控件。采取的最佳措施是在 IE 的安全设置中将安全设 置为禁止使用任何 ActiveX 控件。具体步骤是右击 IE 图标执行“属性”命令,在弹出的对 话框中打开“安全”选项卡,单击“自定义级别”按钮,并在弹出的对话框中选择对 ActiveX 是否禁用,是否提示等。 8.1.3 防御措施 为了确保 Web 服务的安全,通常采用以下几种技术措施:在现有的网络上安装防火墙, 对需要保护的资源建立隔离区;对机密敏感的信息进行加密存储和传输;在现有网络协议 的基础上,为 C/S 通信双方提供身份认证并通过加密手段建立秘密通道;对没有安全保证 的软件实施数字签名,提供审计、追踪手段,确保一旦出现问题可立即根据审计日志进行 追查等。 1. 安装防火墙 为局域网或站点提供隔离保护,是目前普遍采用的一种安全有效的防御措施,这种方 法不仅对 Web 服务有效,对其他服务也同样有效。 防火墙是位于内部网络与因特网之间的计算机或网络设备中的一个功能模块,是按照 一定的安全策略建立起来的硬件和软件的有机结合体,其目的是为内部网络或主机提供安 全保护,控制可以从外部访问内部受保护的对象,哪个用户可以从内部网络访问因特网, 以及相互之间以哪种方式进行访问。按运行机制可以分为包过滤和代理两种。 包过滤主要是针对特定地址的主机所提供的服务,其基本原理是在网络传输的 TCP 层 截获 IP 包,查找出 IP 包的源和目的地址、源和目的端口号,以及包头中其他一些信息, 并根据一定的过滤原则,确定是否对此包进行转发。简单的包过滤在路由器上即可实现, 通常放置在路由器的后面,同时在过滤的基础上可以加入其他安全技术,如加密、认证等, 从而实现较高的安全性。 代理在应用层实现,其基本原理是对 Web 服务单独构造一个代理程序,它不允许客户 程序与服务器程序直接交互,必须通过双方代理程序才能进行信息的交互;还可以在代理 程序中实现其他的安全控制措施,如用户认证和报文加密等,从而达到更高的安全性能。 代理根据所代理的对象及所处的位置,又可分为客户端代理和服务器端代理。客户端代理 主要是保护浏览器的安全,服务器端代理则主要是保护服务器的安全。 2. 加密保护 对机密信息进行加密存储和传输是传统而有效的方法,这种方法能够有效地确保机密 信息的安全,并防止搭线窃听和黑客入侵,在基于 Web 服务的一些网络安全协议中得到了 广泛应用。 ·223· www.plcworld.cn ·224· 计算机网络安全技术 Web 服务中的传输加密一般是在应用层实现的。WWW 服务器在发送机密数据时,首 先根据接收方的 IP 地址或其他标识选取密钥,对数据进行加密运算;浏览器在接收到加密 数据后,根据 IP 包中信息的源地址或其他标识对加密数据进行解密运算,从而得到所需的 数据。在目前流行的 WWW 服务器和浏览器中,如微软公司的 IIS 服务器和 IE 浏览器,都 可以对信息进行加解密运算,同时也留有接口,使用户可以对加解密算法进行重载,构造 自己的加解密模块。此外,传输加解密也可以在 IP 层实现,对进出的所有信息进行加解密, 以确保网络层的数据安全。 8.2 Web 服务中的 IE 安全 如今互联网上的陷阱越来越多,一不小心就可能中了“埋伏”,作为最流行的浏览器 软件,IE 也成为互联网陷阱的一部分。 一些恶意网站、免费或者共享软件、垃圾邮件为了宣传自己或者其他目的,以诱人图 片或点击后有奖为诱饵,欺骗用户点击网页上隐藏的恶意程序,从而修改用户的注册表, 把 IE 篡改得面目全非。 它们经常强行篡改 IE 首页、标题栏等内容,或者将它们的链接强行添加到历史浏览记 录中而且无法删除,甚至使相关按钮变灰,无法修复。这种恶意篡改 IE,轻则强迫用户访 问某些指定的网站,重则在系统中驻留木马等恶意程序,造成系统运行缓慢,其危害程度 已超过一般的病毒和黑客行为。 本节主要讲述网页注册表被修改的解决方法。 恶意网页是将含有有害代码的 ActiveX 内嵌在网页中,当用户在不知情的情况下打开 含有有害代码的网页时,代码就会产生作用,恶意修改用户的注册表。 1. IE 默认链接首页被修改 IE 浏览器上方的标题栏被改成“欢迎访问……”,受害者众多。受到更改的注册表项 目 为 : HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explore\Main\Start Page ; HKEY_CURRENT_USER\Software\Microsoft\Internet Explore\Main\Start Page。 通过修改 Start Page 的键值,达到修改浏览者的 IE 默认链接首页的目的。可以采取下 列解决办法: (1) 在 Windows 启动后,执行“开始”→“运行”命令,在“打开”文本框中输入 regedit。 (2) 找到注册表项 HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explore\Main, 在右半部分窗口中找到串值 Start Page,将 StartPage 的键值改为 about:blank。 (3) 同样,找到注册表项 HKEY_CURRENT_USER\Software\Microsoft\InternetExplore \Main,在右半部分窗口中找到串值 Start Page,然后按第(2)步中所述方法处理。 (4) 退出注册表编辑器,重新启动计算机。 但有些时候,当 IE 的起始页变成了某些网页后,就算通过选项设置修改好了,重启以 后又会变成该网页。这是由于在系统里加了一个自运行程序,它会在系统启动时将 IE 起始 页设成他们的网页。其解决办法是:运行注册表编辑器 Regedit.exe,然后依次展开找到 ·224· www.plcworld.cn 第 8 章 Web 服务的安全性 ·225· HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current version\Run 主键,将其下 的 Registry.exe 子键删除,并删除自运行程序 C:\Program Files\Registry.exe,最后在 IE 浏 览器的选项中重新设置起始页就可以了。 2. 修改 IE 浏览器默认主页,并且锁定设置项,禁止用户更改回来 这是由于恶意网页修改了注册表中 IE 设置的一些键值(DWORD 值为 1 时为不可选), 解决方法如下所示: (1) 在 Windows 启动后,执行“开始”→“运行”命令,在“打开”文本框中输入 regedit。 (2) 展开注册表找到 HKEY_CURRENT_USER\Software\Polices\Microsoft\InternetExplore \Control Panal,在右半部分窗口中找到二进制数值 Settings、Links、SecAddsites。 (3) 将这些 DWORD 值改为 0,即可恢复功能。 (4) 退出注册表编辑器,重新启动计算机。 3. IE 标题栏被修改 在系统默认状态下,由应用程序本身来提供标题栏的信息,但也允许用户自行在上述 注册表项目中添加信息,而一些恶意网站正是利用了这一点。它们将串值 Window Title 下 的键值改为其网站名或更多的广告信息,从而达到改变浏览者 IE 标题栏的目的。 解决办法如下所示: (1) 安装“超级兔子魔法设置”软件。在 Windows 启动后,执行“开始” →“程序” →“超级兔子魔法设置” →“超级兔子 IE 修复专家”命令,打开 IE 修复程序。 (2) 单击“全面修复 IE 系统”按钮,在恢复项目的“IE 浏览器的标题与首页”复选框 前打上勾,然后再单击“下一步”按钮,如图 8.1 所示。 (3) 完成后退出超级兔子 IE 修复专家,重新启动计算机。 图 8.1 “超级兔子 IE 修复专家”窗口 ·225· www.plcworld.cn ·226· 计算机网络安全技术 4. IE 的鼠标右键菜单被修改 IE 的鼠标右键菜单多出了“欢迎访问……网站”、“用 QQ 彩信发送该图片”等的字 样,这也是常见的恶意修改。注册表的 HKEY_CURRENT_USER\Software\ Microsoft\Internet Explore\MenuExt 项下被新建了网页的广告信息,并由此在 IE 的鼠标右键菜单中出现。采 用下列方法解决: (1) 在 Windows 启动后,执行“开始”→“运行”命令,在“打开”文本框中输入 regedit, 启动注册表编辑器。 (2) 展 开 注 册 表 找 到 HKEY_CURRENT_USER\Software\Microsoft\Internet Explore \MenuExt,在键值下方找到右键菜单“用 QQ 彩信发送该图片”,如图 8.2 所示。 图 8.2 IE 的鼠标右键菜单 (3) 删除相关的恶意 IE 右键菜单即可。 5. IE 默认搜索引擎被修改 在 IE 浏览器的工具栏中有一个搜索引擎的工具按钮,可以实现网络搜索,被篡改后只 要单击那个搜索工具按钮就会链接到那个篡改网站。这是由于搜索引擎的注册表项被修改, 其解决办法表述如下: (1) 在 Windows 启动后,执行“开始”→“运行”命令,在“打开”文本框中输入 regedit。 (2) 展 开 注 册 表 找 到 HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explore \Search,找到右边的相应字符串 Customize Search 和 Search Assistant。 (3) 双击相应字符串,将 Customize Search 和 Search Assistant 的键值改为某个搜索引擎 的网址即可。例如 http://ie.search.msn.com 等搜索引擎。 6. 浏览网页后注册表被禁用 这是由于注册表下的 DWORD 值 DisableRegistryToo1s 被修改为 1 的缘故,将其键值 恢复为 0,即可恢复。其解决办法表述如下: (1) 新建一个文本文件如 reg.txt,把后缀名 txt 改为 reg,文本文件就变成了注册表文 件了。 (2) 用记事本程序打开,编辑注册表文件 reg.reg,将下面这些内容复制到文件里。 REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Polices\ System] "DisableRegistryToo1s"=dword:00000000 在 REGEDIT4 后面一定要空一行,并且 REGEDIT4 中的 T 和 4 之间一定不能有空格。 ·226· www.plcworld.cn 第 8 章 Web 服务的安全性 ·227· (3) 保存后退出。双击注册表文件 reg.reg,把注册表文件中的信息添加到系统的注册 表里,解除注册表的锁定状态。 7. 关闭恶意共享 所谓恶意共享是指用户在浏览网页后硬盘被共享,一般是在浏览了含有有害代码的 ActiveX 网页文件后在不被用户知道的情况下产生的。以下是该网页源代码中的关键部分。 在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan 下面添加键值 RWC$,在 RWC$下又分别建立键值 Flags、Type、Path,这样就把 C 盘设为 共享了,共享名为 RWC$。而且,在网络属性中还看不到硬盘被共享。如果把 Flags=dword: 00000302 改成 Flags =dword:00000402,就可看到硬盘被共享。 用户只要浏览过这类网页,硬盘就会被共享,其危害较木马程序更大。黑客完全可以 通过这种方法把用户的硬盘当作他的一个逻辑硬盘,在计算机中随意复制文件,删除文件, 给文件改名,甚至可以格式化硬盘。 要关闭这种恶意共享,首先到 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Network\LanMan 下面查看一下,如果出现 RWC$,要把它删除。然后可以 把 windows\system 下面的 VServer.vxd(MicroSoft 网络上的文件与打印机共享,虚拟设备驱 动程序)删除,再把 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD 下的 Vserver 键值删除,让木马等程序永远都不能控制本机。 运行 IE,执行 “工具”→“Internet 选项”命令,在弹出的对话框中打开“安全”选 项卡,单击“自定义级别”按钮,把安全级别由“中”改为“高”。 由于该类网页是含有有害代码的 ActiveX 网页文件,因此在 IE 设置中将 ActiveX 插件 和控件、Java 脚本等全部禁止,就可以避免被共享。具体方法是:在 IE 窗口中执行“工具” →“Internet 选项”命令,在弹出的对话框中打开“安全”选项卡,再单击“自定义级别” 按钮,就会弹出“安全设置”对话框,把其中所有 ActiveX 插件和控件以及 Java 相关全部 选择禁用即可。不过,这样可能会造成一些正常使用 ActiveX 的网站无法浏览。 由于这类网页通过修改注册表破坏系统,可以通过把注册表加锁,禁止修改注册表达 到预防的目的。加锁方法如下所述。 (1) 运行注册表编辑器 regedit.exe。 (2) 展开找到注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows \CurrentVersion \Policies\System,新建一个名为 DisableRegistryTools 的 DWORD 类型的键值项,并将其值 改为 1,即可禁止使用注册表编辑器。 其解锁方法如下所述。 用记事本新建一个文本文件 registry.txt,再将后缀名 txt 改为 reg,形成一个注册表文 件,写入以下内容。 REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ System],"DisableRegistryTools"=dword:00000000 将该文件存盘,以后要使用注册表编辑器,双击 registry.reg 即可。 ·227· www.plcworld.cn ·228· 计算机网络安全技术 8. 给网页加锁 现在专业性的网站越来越多,许多网友都在网上安了自己的“小家”。但辛辛苦苦制 作的网页如果被人拿去改头换面,肯定令人痛心,为了保护自己独创的作品,可以给自己 的网页上把“锁”。一般来说,常见的是 Javascript 密码锁。Javascript 语言可以被嵌入 HTML 的文件之中,使用它设计出交互性的网页内容。使用 Javascript 非常简单,只是一小段代码, 就可以让网页产生多样的效果。 使用 Javascript 加密最简单的结果就是让浏览者不能使用鼠标右键,当他按鼠标右键想 对图片进行保存或者复制文字的时候就会弹出一个警告窗口或是弹出收藏夹等。以下介绍 一些具体的实现方法。 1) 利用弹出窗口封锁鼠标右键 将下面这段代码放在网页 HTML 代码的<head><Head>标志中,就可以实现封锁右 键,给网页加密。 4) 禁止查看源文件 将下面这段代码放在网页的 HTML 代码的<head> 5) 用乱码显示链接、调用地址加密 利用某些函数把 URL 字符转换成 ASCⅡ码,从而达到隐藏链接页面和*.js、*.asp 等脚 本的目的。返回 ASCⅡ码 Escape(Character),ASCⅡ码为 XX 格式,XX 是十六进制,如空 格键为%20。返回字符 unEscape(string)。如: < ! --var words="%3Cframeset%20BORDER%3D%220%22%20FRAMEBORDER%3D%220%22% 20FRAMESPACING%3D%220%22%20rows%3D%22100%25%22%3E%OD%OA%20%20%3Cframe%2 0SRC%3D%22http%3A//XXX.XXX.COM/XXX/XXX/%22%20NANE%3D%22oos1%22%20"// --> 8.3 Web 服务的安全实验 8.3.1 FTP 服务的安全 1. 实训目的 (1) 掌握 FTP 服务的工作方式。 (2) 掌握 FTP 服务客户端的配置。 (3) 了解 FTP 服务中可能遭遇的密码破解。 2. 实训内容 (1) FTP 服务客户端的配置。 (2) FTP 服务的密码破解。 3. 实训理论基础 FTP 是 File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送 文件。相比 HTTP,FTP 协议要复杂得多。复杂的原因是 FTP 协议要用到两个 TCP 连接, 一个是命令链路,用来在 FTP 客户端与服务器之间传递命令;另一个是数据链路,用来上 传或下载数据。 FTP 协议有两种工作方式:PORT 方式和 PASV 方式,中文意思为主动式和被动式。 PORT(主动)方式的连接过程是:客户端向服务器的 FTP 端口(默认是 21)发送连接请求, 服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用 PORT ·229· www.plcworld.cn ·230· 计算机网络安全技术 命令告诉服务器:“我打开了 XX 端口,你过来连接我。”于是服务器从 20 端口向客户端 的 XX 端口发送连接请求,建立一条数据链路来传送数据。 PASV(被动)方式的连接过程是:客户端向服务器的 FTP 端口(默认是 21)发送连接请求, 服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用 PASV 命令告诉客户端:“我打开了 XX 端口,你过来连接我。”于是客户端向服务器的 XX 端 口发送连接请求,建立一条数据链路来传送数据。 从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就 完全不同。而 FTP 的复杂性就在于此。 4. 实训步骤 1) FTP 客户端的配置 在使用 FTP 时,要注意的是,用 PASV 方式还是 PORT 方式登录 FTP 服务器,选择权 在 FTP 客户端。 (1) 客户端只有内网 IP,没有公网 IP。 从 FTP 基础知识可知,如果用 PORT 方式,因为客户端没有公网 IP,FTP 将无法连接 客户端建立数据链路。因此,在这种情况下,客户端必须要用 PASV 方式,才能连接 FTP 服务器。大部分人登录不上,典型的错误原因就是因为客户端没有公网 IP,而使用了 IE 作为 FTP 客户端来登录(IE 默认使用 PORT 方式)。 (2) 客户端有公网 IP,但安装了防火墙。 如果用 PASV 方式登录 FTP 服务器,因为建立数据链路的时候是由客户端向服务器发 送连接请求,没有问题。反过来,如果用 PORT 方式登录 FTP 服务器,因为建立数据链路 的时候是由服务器向客户端发送连接请求,此时连接请求会被防火墙拦截。如果要用 PORT 方式登录 FTP 服务器,请在防火墙上打开 1 024 以上的高端端口。 (3) 常见的 FTP 客户端软件 PORT 方式与 PASV 方式的切换方法。 大部分 FTP 客户端默认使用 PASV 方式。IE 默认使用 PORT 方式。 在大部分 FTP 客户端的设置里,常见到的字眼都是 PASV 或“被动模式”,极少见到 PORT 或“主动模式”等字眼。因为 FTP 的登录方式只有两种:PORT 和 PASV,取消 PASV 方式,就意味着使用 PORT 方式。 ① 对 IE 客户端:执行“工具” →“Internet 选项”命令,在弹出的对话框中打开“高 级”选项卡,选中“使用被动 FTP”复选框(IE 6.0 以上才支持),如图 8.3 所示。 ② 对 CuteFTP 客户端:执行 Edit → Setting → Connection → Firewall 命令,选择 PASV Mode; 或执行 File → Site Manager 命令,在左边选中站点,再执行 Edit 命令,选择 Use PASV mode。 ③ 对 FlashGet 客户端:执行“工具” →“选项” →“代理服务器” → “直接连接” →“编辑”命令,选择“PASV 模式”。 ④ 对 FlashFXP 客户端:执行“选项” →“参数选择” →“代理/防火墙/标识”命令, 选择使用被动模式;或执行“站点管理” →“对应站点” →“选项”命令,选择使用被 动模式;或执行“快速连接” →“切换”命令,选择使用被动模式。 ⑤ 对 LeechFTP 客户端:执行 Option →Firewall →Do not Use 命令。 ·230· www.plcworld.cn 第 8 章 Web 服务的安全性 ·231· 图 8.3 IE 客户端设置 (4) 尽量不要用 IE 作为 FTP 客户端。 IE 只是个很粗糙的 FTP 客户端工具。首先,IE 6.0 以下的版本不支持 PASV 方式;其 次,IE 在登录 FTP 的时候,看不到登录信息。在登录出错的时候,无法找到错误的原因。 在测试 FTP 的时候,建议不要使用 IE。 2) FTP 口令破解实例 Brutus 是英国的 Hoobie 公司出品的一款功能很强大的密码破解工具,可以破解 HTTP、 FTP、POP3、Telnet,官方网站是:http://www.hoobie.net。这里将介绍用它来破解一个基于 HTTP 原理架构的个人 FTP 密码。FTP 站点显示如图 8.4 所示。 图 8.4 个人 FTP 站点 ·231· www.plcworld.cn ·232· 计算机网络安全技术 运行 Brutus,其界面如图 8.5 所示。 图 8.5 Brutus 运行界面 对 Brutus 运行界面中的各参数,说明如下。 (1) Target:填上要破解的 FTP 站点的 IP 或者域名,比如这里填上 169.254.43.149。 (2) Type:这里选择 HTTP。 (3) Port:设置连接端口,一般 FTP 服务都使用 21 端口,但这里是使用 HTTP 的 80 端口。 (4) Connections:线程数,这里依据网络速度而定,默认就可以了。如果设置的数字太 大,数字就会显示黄色或者红色,这样会影响结果。所以,建议不要让数字变成黄色或者 红色。 (5) Timeout:设置超时时间,依据网络速度而定,默认也可以。当然如果网速快,可 以设大一点。 (6) Use Proxy:使用代理,就是为了不让别人发现你的真实 IP。如果要使用代理,就 选中那个复选框,单击 Define 按钮,设置代理的 IP 和端口,如果要用户名和密码就输入, 否则就不要输入。这里不使用代理。 (7) HTTP options: HTTP 选项,这里默认就可以了。 (8) Use Username:使用用户名。FTP 都是要求使用用户名的,所以选中它(默认选中)。 (9) Single User:一个用户名,意思是知道 FTP 上有个用户名,比如是 Guest,要获得 Guest 的密码,那就选中它,然后 UserID 中填上这个用户名 Guest。如果不知道 FTP 的用 户名,那就只有选择一个字典去猜了,在 User File 中选择一个字典,也可以用自己的用户 名字典。 (10) Pass Mode:密码模式,这里有 3 个选择。 ·232· www.plcworld.cn 第 8 章 Web 服务的安全性 ·233· ① Word List :字典攻击,也就是一个用户名对应密码文件中的每个密码。 ② Combo List :用户名和密码同时放到一个文件中,每一行放一个用户名和一个密 码,例如有以下情况。 Guest:1 Guest:12 Guest:123 ③ Brute Force :暴力破解。选择这个之后就会出现一个 Range ,在这里设置密码的 取值范围。 (11) Start:开始扫描破解。 图 8.6 所示是破解的实际结果。 图 8.6 FTP 破解结果 5. 实训思考题 (1) 如何配置各种 FTP 客户端? (2) 如何防范 FTP 密码破解? 8.3.2 E-mail 服务的安全 1. 实训目的 (1) 掌握 E-mail 服务的工作原理。 (2) 掌握 E-mail 服务中安全证书的获取。 (3) 了解 E-mail 服务中可能遭遇的密码破解。 (4) 掌握反垃圾邮件的方法。 ·233· www.plcworld.cn ·234· 计算机网络安全技术 2. 实训内容 (1) 垃圾邮件及邮件炸弹。 (2) E-mail 服务的密码破解。 (3) 反垃圾邮件软件的使用。 3. 实训理论基础 1) 电子邮件的特性 因特网上的电子邮件与传统邮件有很多相似的地方。首先,收件人与发件人之间并不 是直接收发信件,信件在到达目的地之前要经过多重中转。例如:在传统邮件发送中,深 圳发往美国中部的一封信可能要先经深圳邮电局,再经广州邮电局,再发往美国西部的某 个邮电局,最后达到美国中部。深圳发往美国中部的一份电子邮件也可能要先到北京的一 台计算机,再到美国西部的一台计算机,然后才到美国中部。其次,传统邮件每经一个邮 电局都要盖上一个邮戳,电子邮件每经一部计算机也要在信件头留下记录。最后,普通邮 件的收信人和电子邮件的收信人都要到自己的邮箱去取信。 电子邮件除了具备普通邮件一样的特性外,它还具有普通邮件所不具备的特点。 (1) 信息类型多样 通过电子邮件,用户不仅可以发送普通的文本文字,而且可以将图形、图像和语音等 多媒体数据作为邮件发送。 (2) 快速便捷 电子邮件是以电子流传输速度进行传输,速度非常快,用户(发件人)在深圳发送给美 国的朋友(收件人),几分钟后对方就能收到。 (3) 高效灵活 利用电子邮件,用户可以一次将同一邮件发送给多个收件人。现在很多公司都可以利 用这种工具进行联机查询、网上调查等。 2) 电子邮件工作原理 (1) 电子邮件的传输 一个邮件系统的传输包含了用户代理(User Agent)、传输代理(Transfer Agent)及接受代 理(Delivery Agent)3 大部分。 用户代理是一个用户端发信和收信的程序,负责将电子邮件按照一定的标准包装,然 后送至邮件服务器,或由邮件服务器收回。 传输代理负责信件的交换和传输,将信件传送至适当的邮件主机,再由接受代理将信 件分发至不同的邮件信箱。传输代理必须要能够接受用户邮件程序送来的信件,解读收信 人的地址,根据 TCP/IP 协议将它正确无误地传递到目的地。现在一般的传输代理已采用 Sendmail 程序完成工作。电子邮件到达邮件主机后,再经接收代理 POP 协议被用户读取至 自己的主机。 在因特网电子邮件中,控制信件中转方式的协议称为 SMTP 协议。SMTP 协议是建立 在 TCP/IP 基础上比 TCP/IP 更高层的协议,它规定每一台计算机在发送(或中转)信件时怎 样找到下一个目的地,而信件在两台计算机之间的传送仍采用 TCT/IP 协议。 与普通信件的区别在于,普通信件肯定选择最近的路线走,电子邮件则总是选择最空 ·234· www.plcworld.cn 第 8 章 Web 服务的安全性 ·235· 闲的线路来走,宁肯绕远,也不等待。电子邮件的路线选择由路由器决定,路由器能自动 地侦察出哪条线路繁忙,哪条线路空闲,然后指挥电子邮件和其他附加信息顺利到达目 的地。 (2) 电子信箱系统 电子邮件系统的实现是在通信网上设立“电子信箱系统”,它实际上是一个高性能、 大容量的计算机即邮件服务器(Mail Server)。该计算机的硬盘作为信箱的存储介质,每位在 该计算机上有信箱账号的用户都被分配一定的存储空间作为其“信箱”,存储空间包含存 放所收信件、编辑信件以及信件存档 3 部分空间,每位用户都有属于自己的一个确定用户 名和用户可以自己修改口令的信箱,用户使用口令开启自己的信箱,并进行发信、读信、 编辑、转发及存档等各种操作。电子邮件的传输则是通过电子邮件简单传输协议 SMTP 来 实现的。 (3) 存储转发 电子邮件系统采用的是一种存储转发式的服务方式,属异步通信方式,这正是电子信 箱系统的核心。在这里,发送邮件意味着将邮件放到收件人的信箱中,而接收邮件则意味 着从自己的信箱中读取信件,信件在信箱之间进行传递和交换,也可以与另一个邮件系统 进行传递和交换。 电子邮件的实际发送过程如下:首先,由发送方计算机的邮件管理程序将邮件进行分 拆并封装成传输层协议(TCP)下的一个或多个 TCP 邮包,而这些 TCP 邮包又按照网络层协 议(IP)包装成 IP 邮包,并在它上面附上目的计算机的 IP 地址;然后,由电子邮件软件根据 目的计算机的 IP 地址,确定与哪一台计算机进行连接。假如连接成功,便将 IP 邮包送上 网络。至于传输过程中出现的误码等问题,TCP 邮包采用校验和技术进行处理。如果一个 邮包在传输前后的校验和不一致,则表明传输有误,必须重发。 (4) 电子邮件地址 与普通邮件一样,收发电子邮件需要地址。一般在用户申请上网时 ISP 会免费送一个 信箱,也可在网上申请,网上有很多地方提供免费的信箱。这时,就需要用户填写地址, 这个地址就是电子邮件地址,由英文、数字及其他字符(如.和—)组成,但一般不用中文(现 某些个别网站可采用中文)。 它通常分为两部分,中间以@分开,@表示英文 AT,即“在”的意思。 第一部分是账号名,由用户自己起名;第二部分代表接收邮件的计算机(即接收邮件服 务器)的域名和主机名,这不是由用户自己决定的。在电子邮件软件中设置电子邮件地址时, 要填写的接收邮件服务器的名就是这部分名称。如:xun123@163.com,其中,xun123 是账 号名,163.com 是接收邮件的计算机的域名和主机名。当然,与电子邮件地址相配的还有 密码,密码由英文和数字组成,通过密码才能收发电子邮件。 (5) 电子邮件的组成 电子邮件一般由两部分组成:邮件头(mail header)和邮件体(mail body),分别相当于普 通信件的信封和信纸。其中,邮件头包括以下几方面。 ① 发件人的电子邮箱地址(From)。 ② 收件人的电子邮箱地址(To)。 ③ 发信日期(Date)。 ·235· www.plcworld.cn ·236· 计算机网络安全技术 ④ 邮件主题(Subject)。 发信人在邮件头只需提供 To 和 Subject 两行信息,而发信日期和发信人地址信息由电 子邮件软件自动填充。在回信中,电子邮件接口程序自动产生整个头部信息。回信的头部 信息中的 To 域是原信件的 From 域。同样,原信件的 Subject 域也复制到回信中。电子邮 件软件自动填充头部是很方便的,同时也为伪造电子邮件增大了难度。 邮件体是指邮件正文(内容)。 3) 电子邮件协议 电子邮件系统所应用的传输协议包括 SMTP 和 POP3,其中,SMTP 负责邮件的发送, POP3 负责邮件的接收。 (1) SMTP (Simple MailTransfer Protocol)即简单邮件传输协议,规定由源地址到目的地 址传送邮件的规则。它属于 TCP/IP 协议族,可以帮助每台计算机在发送或中转信件时找到 下一个目的地,通过 SMTP 协议所指定的服务器,就可以把电子邮件寄到收信人的服务器 上。然而,SMTP 也有自身的局限性,它只能传输 ASCII 文本文件,但对于一些二进制数 据文件则需要进行编码后才能传输。 SMTP 设计基于以下通信模型:针对用户的邮件请求,发送 SMTP,建立与接收 SMTP 之间一个双向传送通道。接收 SMTP 可以是最终接收者也可以是中间传送者。SMTP 命令 由发送 SMTP 发出,由接收 SMTP 接收,而应答则反向传送。 用 SMTP 发送邮件的过程如下所述: ① 建立 TCP 连接。 ② 客户端发送 HE8 命令以标识发件人的身份,同时客户端发送 MAIL 命令到服务器 端,希望以 OK 作为响应,表明准备接收。 ③ 客户端发送 RCPT 命令,以标识该电子邮件的计划接收人,可以有多个 RCPT 行。 ④ 服务器端则表示是否愿意为收件人接受邮件。 ⑤ 协商结束,发送邮件,用命令 DATA 发送。 ⑥ 以.表示结束输入内容一起发送出去。 ⑦ 结束此次发送,用 QUIT 命令退出。 (2) POP3(Post Office Protocol3)即邮局协议的第 3 个版本,负责接收电子邮件。它规定 怎样将个人计算机连接到因特网的邮件服务器和下载电子邮件的电子协议。它是因特网电 子邮件的第一个离线协议标准,POP3 允许用户从服务器上把邮件存储到本地主机上,同时 删除保存在邮件服务器上的邮件。 POP3 协议的工作过程大致可分为以下 3 步: ① 授权过程。用户需要收发电子邮件时,通过网络与 ISP 提供的服务器建立 TCP 连 接,当连接成功时,服务器要求用户输入用户名和密码,如果被授权使用,POP3 服务器会 对用户的邮箱建立一个独占锁定,以方便服务器能够不受打扰地工作,同时,也是为了在 发生意外时避免邮件被删除。 ② 传输过程。成功连接后,服务器便进入传输过程,服务器首先启动无响应自动退出 计时器,如果用户在规定的时限内没有与服务器进行通信,服务器便自动和用户断开 TCP 连接,等待下一次连接。用户每当成功地和服务器通信一次,无响应自动退出计时器自动 清零。用户首先得到的是由服务器检索到的有关邮件的基本信息(比如邮件的份数),每当 ·236· www.plcworld.cn 第 8 章 Web 服务的安全性 ·237· 成功传输完一份邮件之后,服务器便对该邮件做上一个删除标记。如果整个传输过程一帆 风顺,传输完之后便直接进入更新状态。否则,提示出错,服务器保留未传输的邮件,等 待以后的存取。 ③ 更新状态。当顺利传输完邮件之后,或是因为某种原因致使传输过程中断,服务器 都将进入更新状态,在这个过程中,服务器将删除信箱中已做了删除标记的邮件。同时, 保留那些未能成功传送的电子邮件。 POP3 的命令也相对简单,见表 8-1。 表 8-1 描述 POP3 的命令 命令 USERnalTle PASSpassword QUIT STAT LISTII RETRID DELEI() NOOP UIDL[ID] RSET 描述 要求标识用户的名字 用户/服务器所要求的口令 关闭 TCP 连接 服务器返回邮箱里的报文和这些报文的总大小 显示信件个数、序号和每个信件的大小 从邮箱里取出报文 标记删除的报文 服务器返回一个有效的响应但不产生任何动作 服务器返回指定邮件的信息 去除所有报文删除标记 POP3 的应答也十分简单,仅定义了两种应答方式,文本串+OK 表示成功,-ERR 表示 失败。 4. 实训步骤 1) 电子邮件加密 收发电子邮件大概是人们在网上最普遍的传递信息的方式了,而邮件的安全问题也越 来越显得重要。为了确保重要、机密邮件的安全性,最好能够对一些重要的邮件进行加密。 以 Foxmail 为例,可以利用软件自带的加密与数字签名达到目的。 要发送签名邮件以及加密邮件,要先经过安装 CA 根证书,申请证书,收取证书序号 及密码,下载并安装自己的证书这几道手续。 如果系统中使用了防火墙则需要事先将隐私保护之类的选项设置为关闭或暂停,否则 CA 根证书可能无法安装成功。 (1) 启动 Foxmail,执行“账户”菜单下的“属性”命令,在“账户属性”对话框中单 击“安全”图标,如图 8.7 所示。 ·237· www.plcworld.cn ·238· 计算机网络安全技术 图 8.7 账户安全属性 (2) 单击“选择”按钮,弹出图 8.8 所示的网页。 图 8.8 CA 证书服务 单击“请先安装我们的 CA 根证书”超链接,完成试用 CA 证书链的安装。再单击“申 请您的证书”超链接,在网页中输入相应的项目,完毕后单击“申请”按钮即可。 (3) 当上面成功申请完成后,立即登录到刚才申请时所填写的邮箱,收取一封主题为 Foxmail CA Certificate Download 的邮件,该邮件中有业务受理号与密码。 (4) 再次返回“Foxmai1 CA 证书服务”页面,单击“下载并安装您的证书”超链接, 在显示页面中输入业务受理号和密码,进行安装,如图 8.9 所示。 ·238· www.plcworld.cn 第 8 章 Web 服务的安全性 ·239· 图 8.9 数字证书安装 (5) 将看到提示信息:“证书已成功下载,并被成功安装到 IE 浏览器中”。现在就能 够发送签名、加密的邮件了。 为了防止被他人擅自更改或假冒发件人的邮件,要发送签名邮件,首先应在 Foxmail 程序主界面中选择指定账户后,执行“账户” →“属性”命令,在弹出的对话框中单击左 侧列表的“安全”图标,其后查看右侧设置视图,单击“安全”项目中的“选择”按钮, 在弹出的“选择证书”对话框中,选择其中的证书并确认。在这里如果单击“查看证书” 按钮,则在弹出对话框中可获知证书的详细信息、路径以及有效期限等内容,其中的信任 关系选项,建议保持默认设置。然后在写邮件窗口发送即可,如图 8.10 所示。 图 8.10 使用数字证书 当收到一封加密邮件时,应该可以自信地认为该邮件未被任何人看过。Foxmail 会自动 ·239· www.plcworld.cn ·240· 计算机网络安全技术 对邮件用计算机上安装的数字标识进行解密。 2) 反垃圾电子邮件 (1) 客户端邮件过滤。 以 TOM 网的免费邮箱为例,首先在 TOM 网的主页上输入用户名与密码,进入某用户 的免费邮箱,如图 8.11 所示。 图 8.11 邮箱配置 用鼠标单击左边的“我的配置”超链接,进入邮箱设置区,单击其中的“邮件过滤” 超链接,如图 8.12 所示。 在页面中,按要求填写邮件的过滤规则即可。 图 8.12 邮件过滤 (2) Spam Buster 反垃圾邮件软件。 ·240· www.plcworld.cn 第 8 章 Web 服务的安全性 ·241· 现在互联网上充满垃圾邮件,虽然有前面的过滤器先挡了一下,可是面对过多的广告 垃圾却无能为力。这里介绍一组功能强大的垃圾邮件清除软件,来对付广告邮件。 ChoiceMail One,EmailProtect,iHateSpam,Qurb,MailWasher Pro,Matador,SpamAgent, Spam Buster,Spam Killer,SpamCatcher,SpamCop,SpamEater Pro,SpamNet,SpamSubtract Pro 等都是比较好的国外反垃圾邮件软件。Spam Buster 是广告邮件的克星,是专为解决清 除大批邮件广告而设计的。它本身不是一套信件软件,需要与常用的邮件软件配合使用。 当打开信件软件前先执行此程序来做第一层保护,Spam Buster 没有下载位于服务器端的信 件,因此处理速度非常快速,只要发现任何由系统所知的 18 229 个寄发广告信函账号所发 出的信,它自动会先将之过滤掉,其余的信函就可以透过邮件软件来阅读、回复。界面简 洁,使用方便。下面介绍其邮件账号的设置和过滤的规则。 启动 Spam Buster,单击主界面上的 Settings & Stats 按钮(设置与统计),便会弹出一个 横向工具条,如图 8.13 所示。 图 8.13 设置或统计 单击 General Settings (普通设置)图标,弹出对话框,如图 8.14 所示。 ① Mailboxes 选项卡:填入需要检查的各信箱的账户名、密码和 POP3 地址等,并可 设置默认检查对象。 ② Connection 选项卡:选定用户上网检查或收发信件。 ③ Automatic 选项卡:设定是否自动检查信箱(如设置为自动检查,有邮件时可用声音 提醒)。 ④ Start Up 选项卡:其中 Start SpamBuster in the system tray 项为设定每次启动 Windows 系统时是否自动启动 Spam Buster,并自动缩为图标停留在任务栏上。 ⑤ Activity Log 选项卡:记录用户每次检查和删除信件的过程,并将其保存到指定文 本文件中以便随时查阅、清除、统计甚至打印备案。 ⑥ Mail Program 选项卡:指定配合使用的 E-mail 收发软件,以便在清除垃圾邮件后收 到相关通知的友好来信。 ·241· www.plcworld.cn ·242· 计算机网络安全技术 图 8.14 普通设置 过滤规则决定广告邮件的过滤项目。单击 Spam Settings 图标(弹出的对话框如图 8.15 所示)来调用此项功能,该项分别有如下 10 项过滤规则。 图 8.15 Spam Settings 对话框 ① Subject 选项卡。对主题内容进行过滤规则设置,无论是单击 Insert 按钮还是 Edit 按钮,都需要在弹出的对话框中填入(或修改) 内容。 凡是符合过滤规则的 E-mail,都会在信箱检查时被标注上预定的记号。记号有两种: 一是红色对勾√,意即符合过滤规则,需要删除;二是蓝色问号?,表示可疑待定,不会被 删除,需要由用户自行判断。 ·242· www.plcworld.cn 第 8 章 Web 服务的安全性 ·243· ② Headers 选项卡。对信件头内容过滤规则的设置。进入修改或增加规则的界面,可 以对相应内容进行具体设定。 ③ Sender 选项卡。对发送者地址设置过滤规则,界面类似 Subject 选项卡。该功能还 可对域名服务器(一般电子邮件地址@后的那串字符)进行过滤设置。 ④ Size 选项卡。按信件的字节数进行过滤筛选。 ⑤ White List 选项卡。它表示“以下无论如何也不被列在可疑目标中”。因为上面的 诸多设置,被过滤的对象当然越多越有利于肃清邮件垃圾,但本不算垃圾的邮件,比如亲 朋好友或网络管理员的来信等,也难免包含有上面涉及到的字符或符合了上述筛选条件。 这时,White List 功能就显得很有必要了。其设定界面类似 Subject 选项卡。 ⑥ BlackList 选项卡。“黑名单”提供了 18 229 个已知的垃圾来源 E-mail 地址,只要 发现有来自其中之一的来信,都将被过滤掉。 ⑦ Valid Domains 选项卡。通过检查发信人(Sender)或回复(Reply to)地址的服务器名称 是否正确来进行过滤。 ⑧ Non-English 选项卡。对于那些非英文的邮件进行过滤设置。 ⑨ Spelling 选项卡。对拼写错误设置过滤检查。 ⑩ Plain Text 选项卡。设置是否将 HTML 格式的电子邮件过滤掉。 上面的设置规则虽然非常丰富,但设置不要过于全,因为规则过多,容易导致网上消 耗过多的过滤时间,毕竟我们的最终目标是提高网上效率。设置完毕后试用一下其设置是 否合适。在 Spam Buster 的主界面,单击 Check E-mail 按钮,弹出 Which mail box do you wish to check 对话框,其下拉选项自动停留在用户预定的信箱账号上,如果想检查其他的账号, 可通过下拉列表框选择别的信箱。 单击 OK 按钮即可按照预定的信箱设置开始登录并检查,如图 8.16 所示,检查过程中, 可以随时根据情况来中断操作。 图 8.16 Spam Buster 的使用 国内比较有名而且使用方便的反垃圾邮件的软件是快捷反垃圾邮件,需要注册,其界 面如图 8.17 所示。 ·243· www.plcworld.cn ·244· 计算机网络安全技术 图 8.17 快捷反垃圾邮件 该软件能自动导入 FoxMail、Outlook 等代理收发软件的账户,非常方便。单击“邮件 规则”按钮进行设置,如图 8.18 所示,由于是中文界面,比较容易操作,所以要了解具体 的设置及使用,可自己动手。 图 8.18 “快捷反垃圾邮件”邮件规则设置 3) 电子邮件炸弹 电子邮件炸弹,英文是 E-mail Bomb,它是黑客常用的攻击手段。相对于其他的攻击 手段来说,这种攻击方法简单,见效快。由于每个人的邮件信箱容量都是有限的,当庞大 的邮件垃圾(即邮件炸弹)到达信箱的时候,就会把信箱挤爆并把正常的邮件给冲掉。同时 由于它占用了大量的网络资源,常常导致网络塞车,使大量的用户不能正常地工作。 ·244· www.plcworld.cn 第 8 章 Web 服务的安全性 ·245· 下面介绍几款常见的邮件炸弹及其使用方法。 (1) 随心邮件炸弹 一个国产匿名邮件发送工具,程序本身自带 SMTP 服务器,可以直接发送到对方的邮 件地址,快速高效。其功能包括:支持发送邮件地址列表;发送次数可自定义;DNS 服务 器可自定义为高速 DNS 地址,也可以取本机的 DNS 地址;发送人的地址可随意更改,包 含@符号就行了;如果邮件地址发送失败或出错,则在邮件地址前面会加上!!!作为标识。 随心邮件炸弹的使用方法比较简单:① 在左边 E-mail 地址列表中输入对方的 E-mail 地址,一行一个地址;② 发送次数为每个邮箱的重复发送次数;③ 然后输入邮件主题与 邮件内容;④ 发送人的 E-mail 地址(可以随便输,包含@符号就行了);⑤ 单击“发送” 按钮即可,下面有状态信息显示发送进度。 图 8.19 所示是其运行界面及实例。 图 8.19 随心邮件炸弹 (2) KaBoom!v3.0 一个国外的邮件炸弹软件,可以匿名发信的邮箱炸弹。在短时间内发大量信件到同一 邮箱。启动 KaBoom! v3.0 后会出现一个界面,如图 8.20 所示,上面有 3 个按钮,现只对 MAILBOMBER 按钮说明如下。 图 8.20 KaBoom! v3.0 界面 单击 MAILBOMBER 按钮,出现图 8.21 所示的界面。 ·245· www.plcworld.cn ·246· 计算机网络安全技术 图 8.21 MailBomber 界面 对 MAILBOMBER 窗口中的各项目说明如下: ① TO:收件人的邮件地址。 ② FROM:发件人的邮件地址(匿名也可以)。 ③ SERVER:选择下拉列表中的一个邮件服务器发信, 越远越难查。 ④ PRIORITY:优先权, 有高、中、低 3 个选项。 ⑤ SUBJECT:信件标题。 ⑥ MESSAGE BODY:信件内容,可以用键盘输入;也可以单击 OPEN 按钮引入一个 文件。 ⑦ NUMBER Of MESSAGES:要寄几封信出去 (重复的次数)。 ⑧ MAIL PERPETUALLY:一直寄,直到单击 STOP 按钮为止。 ⑨ CC:信件副本要抄送的地址。 ⑩ SEND:开始发送。 ⑪ FINGER:查找邮件地址。 ⑫ SAVE TO:将信件内容存档。 ⑬ CLOSE:关闭。 (3) 邮件炸弹防范 为了更好地防范邮件炸弹,一定要提前在邮件软件中设置好防范项目。在 Outlook Express 中,打开“工具”菜单下的邮件规则中的“邮件”选项,弹出“新邮件规则”对话 框,然后在“选择规则条件”下选中“若邮件的大小大于指定的大小”复选框,这时在下 面的“规则描述”内出现“指定的大小”超链接,单击“指定的大小”超链接,在弹出的 设置大小对话框中设置邮件的大小,注意这里是以 KB 为单位的,lMB=1024KB,如果要 设置 2MB 的邮件的大小,输入 2048 即可,如图 8.22 所示。 ·246· www.plcworld.cn 第 8 章 Web 服务的安全性 ·247· 图 8.22 邮件规则设置 设置完成后,单击“确定”按钮,返回“新邮件规则”对话框,在“选择规则操作” 中选中“从服务器上删除”复选框,如图 8.23 所示。 图 8.23 邮件规则设置 以后只要用户的邮件服务器收到体积超过 2MB 的大邮件时,都会自动将其删除,从而 保证了信箱的安全。 4) 邮箱口令破解 (1) Web 邮箱密码破解 ·247· www.plcworld.cn ·248· 计算机网络安全技术 利用浏览器通过 Web 方式来收发电子邮件,不需借助邮件客户端,只要能上网就能收 发邮件,极大地方便了用户。由于用户使用不当或者 Web 邮箱系统的开发不周,有可能给 Web 邮箱的使用带来安全威胁。同样,Web 邮箱系统作为当今电子邮件系统的重要组成部 分,它的安全性也是不可忽视的。下面就以邮箱破解软件——黑雨 POP3 邮箱密码暴力破 解器为例讲解找回丢失邮件的密码。同类的软件有流光邮箱密码破解器。 黑雨 POP3 邮箱密码暴力破解器有几种密码破解算法。深度算法:这是一种很特殊的 算法,如果位数猜得准,就可以将时间缩短 30%~70%。广度算法:此算法 CPU 占用比上 面的多 2%,速度快一点,但它是一种老实的算法,现大多数类似功能的破解工具都采用它, 对短小密码(3 位以下)非常强。多线程深度算法:如果 CPU 有多线程功能的,理论上可以 提高速度 7 倍以上。 首先运行黑雨 POP3 邮箱密码暴力破解器,如图 8.24 所示,使用方法说明如下。 ① 设置密码的扫描方式。 在程序界面左边对密码扫描字符范围进行设置。如果确信密码中仅包含数字和小写字 母,那么只要选中“选取字符集”单选按钮来激活下面的可选项,然后在可选项中选中 “012…89”复选框及“abc…yz”(如果包含大写字母或其他符号,那么就将其他两个复选 框也选中)。如果确认密码是由诸如 1、6、a、c、A、Y、*、!等几个字符构成,那么可以 选中“自定字符集”单选按钮,然后在下面的文本框里输入 16acAY*!,要注意的是字符 千万不要重复。采用自定字符集方式进行破解,花费的时间相对更少。如果确认邮件密码 是由一个 TXT 文档里的字符串组成,但是并不记得是哪些字符串,那么就可以选中“字典 文件”单选按钮,然后单击下面的“打开”图标,找到文本的路径并打开,此时该保存了 邮箱密码的文件名及路径将会显示在文本框中,采用字典法破解邮件所花时间相对来说也 是很少的。 图 8.24 黑雨 POP3 邮箱密码暴力破解器 ② 密码的长度及扫描线程的设置。 ·248· www.plcworld.cn 第 8 章 Web 服务的安全性 ·249· 可以分别通过 “密码位数”及“最大线程”的调节按钮来设置扫描密码的长度及扫描 线程的大小。密码位数越大,其扫描的时间将会越长;线程数越多,其扫描速度也将越快, 但是扫描并不是很稳定。当确信密码中包含某一字串,例如包含了诸如 007、888 等之类的 字串,就可以选中“字串集”复选框,然后在其右边的文本框里分别输入所包含的字串, 这样其扫描时间会进一步减少。 ③ 扫描邮件服务器地址、端口的设置。 在“POP3 地址”的文本框里输入邮件服务器的地址。在“POP3 端口”中一般采用的 是默认端口“110”,不需改变。设置好后,单击这两个选项中间的“两台计算机连接”图 标,则可以登录到已设置的 POP3 服务器上。这样可以对服务器进行测试,此时在界面窗 口的右下角将会显示登录情况。 ④ 设置扫描邮箱名及超时设置。 在“POP3 用户名”文本框中输入邮箱的登录名,单击其右侧的被激活的按钮则可以进 行用户名是否存在的测试。在“超次”文本框中可以设置破解超时的时间,如果时间设置 过长的话则容易造成死机等现象,时间设置过短容易造成正确的密码也要出错,一般将其 设置为 200~500 之间的数值。 设置超次时间的目的是当服务器在指定时间内无任何回应时,将自动放弃等待,这样 可以防止死机。 ⑤ 选择一种破解的算法。 “黑雨”提供了 4 种破解算法,分别是:深度算法、多线程深度算法、广度算法、多 线程广度算法。当选中其中一种算法后,程序会开始破解操作,右边的窗口将会显示破解 的情况。当破解好后,将会在“POP3 密码”文本框中显示出破解的密码。图 8.25 所示是 实际破解结果。 图 8.25 黑雨 POP3 邮箱密码破解结果 (2) POP3 口令破解 E-mail Crack 是一个基于 POP3 协议的口令破解软件,它根据攻击者提供的用户名单和 ·249· www.plcworld.cn ·250· 计算机网络安全技术 口令列表文件,自动逐个尝试用户口令。该软件设计简洁,使用简单。启动汉化版的 E-mail Crack,出现 E-mail Crack 主界面,如图 8.26 所示。 图 8.26 E-mail Crack 主界面 E-mail Crack 主界面的各项参数配置如下所述: ① 服务器地址。服务器地址框中应填写准备要攻击的邮件服务器网址,一般来说就是 POP3 服务器的地址,IP 地址和域名地址都可以,但为了加快速度,建议填 IP 地址。如果 不知道 IP 地址,可查询域名服务器解析,即可获得主机的 IP 地址。 ② 用户列表文件。填写用户列表文件的名字,用户列表文件的格式是普通的文本文 件,要求一行一个用户。 ③ 密码文件列表。填写准备尝试的口令文件列表。 ④ 尝试用户名。尝试使用用户名作为口令。选定此项的话,程序在测试中会自动用用 户的账号作为口令进行试验。如果不想试用户名,可以关闭此选项,可以在试验过程中减 少一次登录试验,节省时间。 ⑤ 线程数。选择程序同时扫描的线程数目,一般对于拨号上网用户,建议设定为 20~ 30,但也有使用 60 个线程的先例,使用者可以自行决定。 5. 实训思考题 (1) 简述 E-mail 服务中安全证书的获取及使用方法。 (2) 如何对电子邮件进行过滤设置? (3) 在 Outlook 中如何进行反垃圾邮件的配置? (4) 如何防范邮件炸弹? (5) 如何找回遗忘的电子邮件密码? 小结 本章介绍了 Web 服务的安全,以及 Web 中的安全威胁。通过 Web 服务中的 IE 安全、 FTP 安全、电子邮件安全的配置及实例分析,掌握相应的防范措施,了解和使用相应的工 ·250· www.plcworld.cn 具软件。 第 8 章 Web 服务的安全性 习题 1. Web 服务中可能受到哪些安全威胁?对应的措施是什么? 2. 如何防止硬盘被恶意共享? 3. FTP 协议的两种工作方式是什么?在 IE 中如何切换? 4. 简述电子邮件的工作原理。 5. 如何进行电子邮件的反垃圾邮件活动?有什么样的措施可以采用? ·251· ·251· www.plcworld.cn 第 9 章 电子商务的安全性 本章要点 z 电子商务的安全需求 z 电子商务的 SSL、SET 协议 z 基于 SSL 协议 Web 服务器构建 z 浦发银行移动证书的申请与 WPKI 技术 9.1 电子商务的安全需求 9.1.1 电子商务安全的概念 随着因特网的飞速发展与广泛应用,电子商务的应用前景变得越来越诱人,同时它的 安全问题也变得日益严重。如何创造安全的电子商务应用环境,已经成为企业与消费者共 同关注的问题。 电子商务的核心是通过信息网络技术来传递商业信息和进行网络交易,电子商务系统 是一个计算机系统,其安全性是一个系统的概念,不仅与计算机系统结构有关,还与电子 商务应用的环境、人员素质和社会因素有关。总而言之,计算机安全的内容主要是指两个 方面:物理安全和逻辑安全。具体地说,它包括以下几个方面。 1) 电子商务系统硬件(物理)安全 硬件安全是指保护计算机系统硬件的安全,包括计算机的电器特性、防电防磁以及计 算机网络设备的安全,受到物理保护而免于破坏、丢失等,保证其自身的可靠性和为系统 提供基本安全机制。 2) 电子商务系统软件安全 软件安全是指保护软件和数据不被篡改、破坏和非法复制。系统软件安全的目标是使 计算机系统逻辑上安全,主要是使系统中信息的存取、处理和传输满足系统安全策略的要 求。根据计算机软件系统的组成,软件安全可分为操作系统安全、数据库安全、网络软件 安全、通信软件安全和应用软件安全。 3) 电子商务系统运行安全 运行安全是指保护系统能连续正常地运行。 4) 电子商务交易安全 电子商务交易安全是电子商务中同用户直接打交道的方面,它是在网络安全的基础上, 围绕商务在网络中的应用而产生的,主要是为了保障电子商务交易的顺利进行,实现电子 商务交易的私有性、完整性、可鉴别性和不可否认性等。 www.plcworld.cn 第 9 章 电子商务的安全性 ·253· 5) 电子商务安全立法 电子商务安全立法是对电子商务犯罪的约束,它是利用国家机器,通过安全立法,体 现与犯罪斗争的国家意志。 综上所述,电子商务的安全问题是一个复杂的系统问题。 9.1.2 电子商务的安全问题 电子商务的交易双方都面临着安全威胁。企业面临的安全威胁主要包括:黑客破坏电 子商务系统的安全体制,通过假冒合法用户来修改用户数据(例如用户订单);恶意的竞争 者通过各种非法的手段,获得企业的商业机密(例如客户资料),或是以他人的名义来订购 商品,刺探企业的商品信息(例如库存状况);消费者在提交商品订单后,拒不付款或否认 曾订购过该商品;黑客通过建立与企业站点相同的虚假站点,获取消费者的机密数据(例如 信用卡号)。消费者面临的安全威胁主要包括:假冒者以消费者的名义来购买商品,而消费 者被要求付款或是返还商品;消费者的机密数据(例如信用卡号)被发送给假冒的销售者, 或是数据在传输的过程中被窃听;销售商中的内部人员截留订单或货款,致使消费者在付 款后没有得到商品;黑客向商家的服务器发送大量虚假订单占用资源,致使合法的用户无 法得到正常的服务。 电子商务安全问题涉及的范围非常广泛,必须采取综合措施才能解决安全性问题。电 子商务的安全性是实施中的技术难点,解决这些问题的关键是要保障数据安全。电子商务 的安全性主要包括以下几个方面:系统的可靠性、交易的真实性、数据的安全性、数据的 完整性、交易的不可抵赖性。 1) 系统的可靠性 系统的可靠性就是电子商务系统的可靠性,它是指为防止计算机失效、程序错误、传 输错误、硬件故障、系统软件错误、计算机病毒与自然灾害等所产生的潜在威胁,通过控 制与预防等来确保系统安全可靠。电子商务系统的安全是保证数据传输与存储,以及进行 电子商务完整性检查的基础。系统的可靠性可以通过网络安全技术来实现。 2) 交易的真实性 交易的真实性是指商务活动中交易者身份的真实性,也就是要确定交易双方是真实存 在的。交易可以完成的前提条件是互相信任,确认对方的身份是否可信。商家首先会考虑 客户是不是骗子,在发货后会不会收不回货款;而客户则会考虑商家是不是黑店,在付款 后会不会收不到商品,或是收到商品的质量是否有保证。因此能方便而可靠地确认对方身 份是交易的前提。 身份认证通常采用公钥加密技术、数字签名技术、数字证书技术来实现。 3) 数据的安全性 数据的安全性是指在交易过程中数据传输的安全性,要保证信息不会泄露给非授权的 人或实体。电子商务作为一种新兴的贸易手段,信息直接代表着个人、企业或国家的商业 机密。传统的纸面贸易都是通过邮寄封装的信件,或通过可靠的通信渠道发送商业报文来 保守机密;电子商务则建立在一个较为开放的环境中,商业保密成为电子商务全面推广的 重要障碍。因此,要保证信息在传输过程中不被非法窃取,确保只有合法用户才能看到数 据。数据传输安全性的保护通过数据加密技术来实现。 ·253· www.plcworld.cn ·254· 计算机网络安全技术 4) 数据的完整性 数据的完整性是指要求数据在传输或存储过程中不会受到非法修改、删除或重放,要 确保信息的顺序完整性和内容完整性。电子商务简化了传统的贸易过程,减少了人为的干 预,但却需要维护商业信息的完整与一致。由于数据输入时的意外差错或欺诈行为,以及 数据传输过程中信息丢失、重复或传送的次序差异,都有可能导致贸易各方收到的信息不 一致。信息的完整性将影响到贸易各方的交易与经营策略,保持这种完整性是电子商务应 用的基础。数据完整性的保护通过安全散列函数与数字签名技术来实现。 5) 交易的不可抵赖性 防抵赖服务是用来保证收、发双方不能对已发送或接收的信息予以否认。一旦出现发 方对发送信息的过程予以否认,或接收方对已接收的信息进行否认时,防抵赖服务可以提 供记录,说明否认的一方是错误的。防抵赖服务对电子商务活动是非常有用的。 不可抵赖性包括: (1) 源点不可抵赖,使信息发送者事后无法否认发送了信息。 (2) 接收不可抵赖,使信息收方无法抵赖接收到了信息。 (3) 回执不可抵赖,使发送责任回执的各个环节均无法推卸其应负的责任。 在电子商务的应用环境中,通过手写签名与印章进行鉴别已不可能,就需要用其他方 法实现交易的不可抵赖。因此,电子商务交易的各方在进行数据信息传输时,必须带有自 身特有的、无法被别人复制的信息,以防发方否认曾经发送过信息,或收方否认曾经接收 到信息,确保在交易发生纠纷时可以拿出证据。交易的不可抵赖技术通过数字签名与数字 证书技术来实现。 9.1.3 电子商务的安全需求 电子商务对安全的要求主要有以下几个方面。 1) 信息的保密性 保密性服务是为防止被攻击而对网络中传输的信息进行保护。通过对所传送的信息的 安全要求不同,来为信息选择不同的保密级别。一般来说,需要保护两个用户间在一段时 间内传送的用户数据。保密性服务要防止信息在传输中被截获与分析,这就要求系统采取 必要的措施,使攻击者无法检测到信息流的源地址、目的地址与长度等特征。 2) 交易者身份的确定性 网上交易的双方很可能素昧平生,相隔千里。要使交易成功,首先要能确认对方的身 份,商家要考虑客户端是不是骗子,而客户也会担心网上的商店是不是一个黑店。因此能 方便而可靠地确认对方的身份是交易的前提。鉴别包括源点鉴别和实体鉴别,即要能准确 鉴别信息的来源,鉴别彼此通信的对等实体的身份。 3) 信息的不可否认性 交易的不可否认性是指保证发方不能否认自己发送了信息,同时收方也不能否认自己 接收到信息。在传统的纸面贸易方式中,贸易双方通过在交易合同、契约等书面文件上签 名,或是通过盖上印章来鉴别贸易伙伴,以确定合同、契约、交易的可靠性,并预防可能 的否认行为的发生,这就是人们常说的电子商务的安全性,即白纸黑字电子商务的安全性。 ·254· www.plcworld.cn 第 9 章 电子商务的安全性 ·255· 4) 信息的不可修改性 交易的文件是不可被修改的。如订购黄金,供货单位在收到订单后,发现金价大幅上 涨了,如能改动文件内容,将订购数 1 吨改为 1 克,则可大幅受益,那么订货单位可能就 会因此而蒙受损失。因此电子交易文件也要能做到不可修改,以保障交易的严肃和公正。 5) 信息的完整性 要求数据在传输或存储过程中不会受到非法的修改、删除或重放,要确保信息的顺序 完整性和内容完整性。 9.1.4 电子商务的安全体系 电子商务安全体系包括 4 个部分:服务器端、银行端、客户端与认证机构。其中,服 务器端主要包括:服务商端安全代理、数据库管理系统、审计信息管理系统、Web 服务器 系统等。银行端主要包括:银行端安全代理、数据库管理系统、审计信息管理系统、业务 系统等。服务器端与客户端、银行端进行通信,实现服务器与客户的身份认证机制,以保 证电子商务交易可以安全进行。 电子商务用户通过计算机与因特网连接,客户端除了安装有 WWW 浏览器软件之外, 还需要有客户安全代理软件。客户安全代理负责对客户的敏感信息进行加密、解密与数字 签名,使用经过加密的信息与服务商或银行进行通信,并通过服务商端、银行端安全代理 与认证中心实现用户的身份认证机制。 为了保证电子商务交易安全,认证机构是必不可少的组成部分。网上交易的买卖双方 在进行每笔交易时,都需要鉴别对方是否是可以信任的。认证中心就是为了保证电子商务 交易安全,签发数字证书并确认用户身份的机构。认证机构是电子商务中的关键,认证机 构的服务器包括 5 个部分:用户注册机构、证书管理机构、数据库系统、证书管理中心与 密钥恢复中心。 9.2 电子商务的安全措施 网络安全技术是伴随着网络的诞生而出现的,但直到 20 世纪 80 年代也未引起关注, 20 世纪 90 年代网络安全技术在国外获得了飞速的发展。近几年频繁出现的安全事故也引 起了各国计算机安全界的高度重视,计算机网络安全技术也因此出现了日新月异的变化。 安全核心系统、VPN 安全隧道、身份认证、网络底层数据加密和网络入侵主动监测等技术 得到长足的发展。这些技术可以从不同层次加强计算机网络的整体安全性。安全核心系统 在实现一个完整或较完整的安全体系的同时也能与传统网络协议保持一致,它以密码核心 系统为基础,支持不同类型的安全硬件产品,屏蔽安全硬件的变化对上层应用的影响,实 现多种网络安全协议,并在此之上提供各种安全的计算机网络应用。 我们知道,网络安全涉及多个方面,比如,报文安全性、服务器安全性以及网络访问 安全性等。网络安全的隐患是多方面的,包括计算机系统方面、通信设备方面、技术方面、 管理方面,以及内部和外部方面。大到国家经济、金融机密,小到本企业、本部门的商业 机密,都将面临网络安全的严峻考验。欺骗、窃听、病毒和非法入侵都在威胁着电子商务 ·255· www.plcworld.cn ·256· 计算机网络安全技术 的交易安全。因此,必须解决网络安全的问题,要求网络能够提供一种端到端的安全解决 方案,一个全方位的安全体系。而一个全方位的计算机网络安全体系结构包含网络的物理 安全、访问控制安全、用户安全、信息加密、安全传输和管理安全等。充分利用各种先进 的主机安全技术、身份认证技术、访问控制技术、密码技术、黑客跟踪技术,在攻击者和 受保护的资源间建立多道严密的安全防线,可以极大地提高恶意攻击的难度,并通过审核 信息量,对入侵者进行跟踪。常用的安全技术包括防火墙技术、硬件隔离技术、数据加密 技术、认证技术以及安全技术协议等。 9.3 电子商务安全技术协议 电子商务应用的核心和关键问题是交易的安全性。由于因特网本身的开放性,使得网 上交易面临着各种危险,由此提出了相应的安全控制要求。最近几年,信息技术行业与金 融行业联合制定了几种安全交易标准,它们主要包括 SET 标准和 SSL 标准等。 9.3.1 SSL——提供网上购物安全的协议 安全套接层(Secure Sockets Layer,SSL)是一种传输层技术,由 Netscape 开发,可以实 现兼容浏览器和服务器(通常是 Web 服务器)之间的安全通信。SSL 协议是目前网上购物网 站中常使用的一种安全协议。使用它在于确保信息在网际网络上流通的安全性,让浏览器 和 Web 服务器能够安全地进行沟通。简单地说,所谓 SSL 就是在和另一方通信前先讲好的 一套方法,这个方法能够在它们之间建立一个电子商务的安全性秘密信道,确保电子商务 的安全性,凡是不希望被别人看到的机密数据,都可通过这个秘密信道传送给对方,即使 通过公共线路传输,也不必担心别人的偷窥。SSL 为快速架设商业网站提供了比较可靠的 安全保障,并且成本低廉,容易架设。Microsoft 和 Netscape 的浏览器都支持 SSL,很多 Web 服务器也支持 SSL。SSL 使用的是 RSA 数字签名算法,可以支持 X.509 证书和多种保 密密钥加密算法,比如 DES 和 TripleDES。 SSL 标准主要提供了 3 种服务:数据加密服务、认证服务与数据完整性服务。首先, SSL 标准要提供数据加密服务。SSL 标准采用的是对称加密技术与公开密钥加密技术。SSL 客户机与服务器进行数据交换之前,首先需要交换 SSL 初始握手信息,在 SSL 握手时采用 加密技术进行加密,以保证数据在传输过程中不被截获与篡改。其次,SSL 标准要提供用 户身份认证服务。SSL 客户机与服务器都有各自的识别号,这些识别号使用公开密钥进行 加密。在客户机与服务器进行数据交换时, SSL 握手需要交换各自的识别号,以保证数据 被发送到正确的客户机或服务器上。最后,SSL 标准要提供数据完整性服务。它采用哈希 函数和机密共享的方法提供完整信息性的服务,在客户机与服务器之间建立安全通道,以 保证数据在传输中完整地到达目的地。 SSL 标准的工作流程主要包括以下几步:SSL 客户机向 SSL 服务器发出连接建立请求, SSL 服务器响应 SSL 客户机的请求;SSL 客户机与 SSL 服务器交换双方认可的密码,一般 采用的加密算法是 RSA 算法;检验 SSL 服务器得到的密码是否正确,并验证 SSL 客户机的 可信程度;SSL 客户机与 SSL 服务器交换结束的信息。图 9.1 所示是 SSL 标准的工作原理。 ·256· www.plcworld.cn 第 9 章 电子商务的安全性 (1) 要求进行身份认证 ·257· (2) 同意进行认证 A B (3) 互相确认身份 (4) 核查身份 确认无误 图 9.1 SSL 工作过程 在完成以上交互过程后,SSL 客户机与 SSL 服务器之间传送的信息都是加密的,收方 收到加密的信息后再将它解密。这样,即使有人在网络上窃取了加密的信息,也会因无法 解密而无法了解信息的内容。在电子商务交易过程中,由于有银行参与交易过程,客户购 买的信息首先发往商家,商家再将这些信息转发给银行,银行验证客户信息的合法性后, 通知商家付款成功,商家再通知客户购买成功,然后将商品送到客户手中。 SSL 安全协议也有它的缺点,主要有:不能自动更新证书;认证机构编码困难;浏览 器的口令具有随意性;不能自动检测证书撤销表;用户的密钥信息在服务器上是以明文方 式存储的。另外,SSL 虽然提供了信息传递过程中的安全性保障,但是信用卡的相关数据 应该是银行才能看到,然而这些数据到了商店端都被解密,客户的数据都完全暴露在商家 的面前。SSL 安全协议虽然存在着弱点,但由于它操作容易,成本低,而且又在不断改进, 所以在欧美的商业网站上的应用是较广泛的。 9.3.2 SET——提供安全的电子商务数据交换 在开放的因特网上进行电子商务,如何保证交易双方传输数据的安全成为电子商务能 否普及的最重要的问题。在电子商务的交易过程中,首先是交流信息和需求,进行磋商; 接着是交换单证;最后是电子支付。特别是电子支付涉及到资金、账户、信用卡、银行等 一系列对货币最敏感的部门,因此对安全有非常高的要求。SSL 安全协议有缺点,不足以 担此重任。1996 年提出了有重大实用价值和深远影响的安全电子交易 (Secure Electronic Transaction,SET)。SET 在保留对客户信用卡认证的前提下,又增加了对商家身份的认证, 这对于需要支付货币的交易来讲是事关重大的。由于设计合理,SET 协议得到了 IBM、 Microsoft 等许多大公司的支持,已成为事实上的工业标准。 SET 是一种以信用卡为基础的、在因特网上交易的付款协议书,是授权业务信息传输 安全的标准,它采用 RSA 密码算法,利用公钥体系对通信双方进行认证,用 DES 等标准 ·257· www.plcworld.cn ·258· 计算机网络安全技术 加密算法对信息加密传输,并用散列函数来鉴别信息的完整性。 网上信用卡交易的安全需求是:商家希望有一种简单的、符合经济效益的方法来完成 网上交易;客户希望有一种安全、方便的、能够安心地到网上购物的机制;银行以及信用 卡机构需要以现有的信用卡机制为基础的、变动较少的修改就能够在未来支持电子付款的 方式。 因此 Visa 与 MasterCard 两家信用卡组织所共同推出,并且与众多 IT 公司,如 Microsoft、 Netscape、RSA 等共同发展而成的 SET 应运而生。SET 是一种用来保护在因特网上付款交 易的开放式规范,它包含交易双方身份的确认,个人和金融信息隐密性及传输数据完整性 的保护,其规格融合了由 RSA 数据的双钥密码体制编成密码文件的技术,以保护任何开放 型网络上个人和金融信息的隐密性。SET 提供了一套既安全又方便的交易模式,并采用开 放式的结构以期支持各种信用卡的交易。在每一个交易环节中都加入电子商务的安全性认 证过程。在 SET 的交易环境中,比现实社会中多一个电子商务的安全性认证中心——电子 商务的安全性 CA 参与其中,在 SET 交易中认证是很关键的。 1. SET 的主要目标 SET 安全协议要达到的目标主要有 5 个。 (1) 信息传输的安全性:信息在因特网上安全传输,保证网上传输的数据不被外部或 内部窃取。 (2) 信息的相互隔离:订单信息和个人账号信息的隔离,当包含持卡人账号信息的订 单送到商家时,商家只能看到订货信息,而看不到持卡人的账户信息。 (3) 多方认证的解决:①要对消费者的信用卡认证;②要对网上商店进行认证;③消 费者、商店与银行之间的认证。 (4) 效仿 EDI 贸易形式,要求软件遵循相同协议和报文格式,使不同厂家开发的软件 具有兼容和互操作功能,并且可以运行在不同的硬件和操作系统平台上。 (5) 交易的实时性:所有的支付过程都是在线的。 2. SET 的交易成员 (1) 持卡人——消费者:持信用卡购买商品的人,包括个人消费者和团体消费者,按 照网上商店的表单填写,通过由发卡银行发行的信用卡进行付费。 (2) 网上商家:在网上的符合 SET 规格的电子商店,提供商品或服务,它必须是具备 相应电子货币使用的条件,从事商业交易的公司组织。 (3) 收单银行:通过支付网关处理持卡人和商店之间的交易付款问题事务。接受来自 商店端送来的交易付款数据,向发卡银行验证无误后,取得信用卡付款授权以供商店清算。 (4) 支付网关:这是由支付者或指定的第三方完成的功能。为了实现授权或支付功能, 支付网关将 SET 和现有的银行卡支付的网络系统作为接口。在因特网上,商家与支付网关 交换 SET 信息,而支付网关与支付者的财务处理系统具有一定直接连接或网络连接。 (5) 发卡银行——电子货币发行公司或兼有电子货币发行的银行:发行信用卡给持卡 人的银行机构;在交易过程开始前,发卡银行负责查验持卡人的数据,如果查验有效,整 个交易才能成立。在交易过程中负责处理电子货币的审核和支付工作。 (6) 认证中心 CA——可信赖、公正的组织:接受持卡人、商店、银行以及支付网关的 ·258· www.plcworld.cn 第 9 章 电子商务的安全性 ·259· 数字认证申请书,并管理数字证书的相关事宜,如制定核发准则,发行和注销数字证书等。 负责对交易双方的身份确认,对厂商的信誉和消费者的支付手段和支付能力进行认证。 3. SET 的技术范围 SET 的技术范围包括以下几方面。 (1) 加密算法。 (2) 证书信息和对象格式。 (3) 购买信息和对象格式。 (4) 认可信息和对象格式。 (5) 划账信息和对象格式。 (6) 对话实体之间消息的传输协议。 4. SET 软件的组件 SET 系统的动作是通过 4 个软件来完成的,包括电子钱包、商店服务器、支付网关和 认证中心软件,这 4 个软件分别存储在持卡人、网上商店、银行以及认证中心的计算机中, 相互运作来完成整个 SET 交易服务,如图 9.2 所示。 图 9.2 SET 软件系统的组成 5. SET 的认证过程 基于 SET 协议电子商务系统的业务过程可分为注册登记申请数字证书,动态认证和商 业机构的处理。下面介绍一个业务过程。 1) SET 认证之一——注册登记 一个机构如要加入到基于 SET 协议的安全电子商务系统中,必须先上网申请注册登记, 申请数字证书。 每个在认证中心进行了注册登记的用户都会得到双钥密码体制的一对密钥、一个公钥 和一个私钥。公钥用于提供对方解密和加密回馈的信息内容。私钥用于解密对方的信息和 加密发出的信息。这一对密钥在加密解密处理过程的作用如下所述。 (1) 对持卡人购买者的作用是:① 用私钥解密回函;② 用商家公钥填发订单;③ 用 ·259· www.plcworld.cn ·260· 计算机网络安全技术 银行公钥填发付款单和数字签名等。 (2) 对银行的作用是:① 用私钥解密付款及金融数据;② 用商家公钥加密购买者付 款通知。 (3) 对商家供应商的作用是:① 用私钥解密订单和付款通知;② 用购买者公钥发出 付款通知和代理银行公钥。 SET 数字证书申请工作具体的步骤如图 9.3 所示。 图 9.3 SET 数字证书申请工作具体步骤 2) SET 认证之二——动态认证 一旦注册成功,就可以在网络上从事电子商务活动了。在实际从事电子商务活动时, SET 系统的动态认证工作步骤如图 9.4 所示。 ·260· www.plcworld.cn 第 9 章 电子商务的安全性 ·261· 图 9.4 SET 系统的动态认证工作步骤 3) SET 认证之三——商业机构处理流程 商业机构的处理工作步骤如图 9.5 所示。 图 9.5 SET 系统的商业机构工作步骤 6. SET 协议的安全技术 SET 在不断地完善和发展变化。SET 有一个开放工具 SET Toolkit,任何电子商务系统 都可以利用它来处理操作过程中的安全和保密问题。其中支付(Payment)和认证(Certificate) 是 SET Toolkit 向系统开始者提供的两大主要功能。 ·261· www.plcworld.cn ·262· 计算机网络安全技术 目前的主要安全保障来自以下 3 个方面: (1) 将所有消息文本用双钥密码体制加密。 (2) 将上述密钥的公钥和私钥的字长增加到 512B~2 048B。 (3) 采用联机动态的授权(Authority)和认证检查(Certificate),以确保交易过程的安全 可靠。 上述有 3 个安全保障措施的技术基础如下所述: (1) 通过加密方式确保信息机密性。 (2) 通过数字化签名确保数据的完整性。 (3) 通过数字化签名和商家认证确保交易各方身份的真实性。 (4) 通过特殊的协议和消息形式确保动态交互式系统的可操作性。 通常网站上标明所采用的付款系统,如 SSL、SET,但这样是可靠的吗?如何可以确 切地知道某个网站是否支持 SET 交易呢? Visa 和 MasterCard 公司为了确保 SET 软件符合规范要求,在 SET 发表后,成立了 SET Secure Electronic Transaction LLC(或称 SET Co)。它对 SET 软件建立了一套测试的准则,如 测试通过后就可获得 SET 特约商标。所以,真正的 SET 网站,必须经过专门的测试和鉴别, 并给予一个 SET 特约商店的商标。检查 SET 商店的商标就成为到 SET 商店安全地购物的 重要手段。 9.4 基于 SSL 协议网站的构建 要实现电子商务的安全,电子商务的交易安全尤其重要。实现真正安全的网上购物, 必须进入应用 SSL 或 SET 的网站。SSL 是对会话的保护。SSL 所提供的安全业务有实体认 证、完整性、保密性,还可通过数字签名提供不可否认性。 下面开始介绍如何构建一个基于 SSL 协议的 Web 站点。完成环境如下所述: (1) Web 服务器:IIS 6.0,IP 地址为 192.168.20.124,计算机名为 SZY。 (2) 证书服务器:SZY 的独立根 CA,与 Web 服务器在同一台物理计算机上。 (3) 浏览器:IE 6.0,与 Web 服务器在同一物理计算机上。 9.4.1 证书服务的安装与管理 (1) 打开控制面板,单击“添加/删除程序”按钮,再单击“添加/删除 Windows 组件” 按钮,弹出图 9.6 所示的“Windows 组件向导”对话框,选中“证书服务”复选框。 (2) 弹出图 9.7 所示的提示信息对话框,提示安装证书服务后,计算机名称和域成员身 份将不可再改变,单击“是”按钮。 ·262· www.plcworld.cn 第 9 章 电子商务的安全性 ·263· 图 9.6 “Windows 组件向导”对话框 图 9.7 安装证书服务的提示信息对话框 (3) 再单击“详细信息”按钮,出现证书服务界面,安装证书服务时有两个选项。 ① 证书服务 CA 电子商务的安全性:构建 CA 的证书服务。 ② 证书服务 Web 注册支持电子商务的安全性:客户机通过 Web 页面提交数字证书申 请,获取数字证书的 Web 网站。 (4) 单击“下一步”按钮,出现图 9.8 所示的“CA 类型”对话框,有 4 种类型。 ① 企业根 CA:安装企业根 CA,如果服务器是域控制器,且安装 Active Directory, 该选项将被激活。 ② 企业从属 CA:安装企业从属 CA,如果服务器是域成员服务器,该选项将被激活。 ③ 独立根 CA:安装独立根 CA。 ④ 独立从属 CA:安装独立从属 CA。 选中“独立根 CA”单选按钮,选中“用自定义设置生成密钥对和 CA 证书”复选框表 明自定义 CA 的密钥生成算法,单击“下一步”按钮。 ·263· www.plcworld.cn ·264· 计算机网络安全技术 图 9.8 “CA 类型”对话框 (5) 出现“公钥/私钥”对话框,可以进行的设置包括以下几方面。 ① 在 CSP 列表框中选择加密服务提供程序(CSP),默认值为:Microsoft Strong Cryptographic Provider。 ② 在“散列算法”列表框中选择要使用的散列算法,默认值为 SHA-1。 (6) 设置好后,单击“下一步”按钮,出现图 9.9 所示的“CA 识别信息”对话框,输 入识别 CA 的信息,这些信息以标准的 X.500(一种网络资源名称的国际标准)格式出现在给 用户颁发的数字证书中。在“此 CA 的公用名称”可分辨名称后缀文本框中设置相关信息, 在“可分辨名称的预览”文本框中出现标准的 X.500 格式的名称,在“有效期限”下拉列表 框中选择该 CA 颁发数字证书的有效期限,可以以年、月、周或天为单位进行设置。 完成设置后单击“下一步”按钮。 ·264· 图 9.9 “CA 识别信息”对话框 www.plcworld.cn 第 9 章 电子商务的安全性 ·265· (7) 出现图 9.10 所示的“证书数据库设置”对话框,用于配置服务器上的数字证书数 据库、数据库日志和配置信息的存放位置,按照默认设置就可以。单击“下一步”按钮。 图 9.10 “证书数据库设置”对话框 (8) 出现图 9.11 所示的提示信息安装过程中必须暂时停止 IIS 服务,单击“是”按钮。 图 9.11 安装中需要暂停 IIS 服务 (9) 成功安装数字证书服务后出现完成界面,单击“完成”按钮,这样一个独立的要 CA 就构建完成。 9.4.2 生成 Web 服务器数字证书申请文件 首先要生成使用 SSL 的 Web 服务器数字证书申请文件。 (1) 在桌面上单击“开始”按钮,在弹出的菜单中执行“程序”→“管理工具”→“Internet 信息服务管理器”命令,选择相应的站点后右击它,在出现的快捷菜单中执行“属性”命 令,弹出图 9.12 所示的“默认网站属性”对话框,打开“目录安全性”选项卡,单击“安 全通信”区域中的“服务器证书”按钮。 ·265· www.plcworld.cn ·266· 计算机网络安全技术 图 9.12 “目录安全性”选项卡 (2) 出现 Web 服务器证书向导的欢迎界面,提示 Web 服务器没有安装证书,单击“下 一步”按钮。 (3) 出现图 9.13 所示的“服务器证书”对话框,有 5 种获取服务器证书的方法。 图 9.13 “服务器证书”对话框 ① 新建证书:新建立一个证书申请。 ② 分配现有证书:为站点分配一个已经存在的证书。 ③ 从密钥管理器备份文件导入证书: 从密钥备份文件导入证书。 ④ 从.pfx 文件导入证书:从一种特定的证书文件导入证书。 ⑤ 将远程服务器站点的证书复制或移动到此站点:复制或移动远程服务器站点的证书。 ·266· www.plcworld.cn 第 9 章 电子商务的安全性 ·267· 这里选中“新建证书”单选按钮,单击“下一步”按钮。 (4) 出现图 9.14 所示的“延迟或立即请求”对话框,用于选择发送证书请求的方法。 选中“现在准备证书请求,但稍后发送”单选按钮,单击“下一步”按钮。 图 9.14 “延迟或立即请求”对话框 (5) 出现图 9.15 所示的“名称和安全性设置”对话框,在“名称”文本框中输入 Web 服务器的数字证书名称,在“位长”下拉列表框中选择生成的公钥和私钥的位长,默认 1024 位,选中“选择证书的加密服务提供程序(CSP)”复选框自行选择 CSP,单击“下一 步”按钮。 注意:位越长,密钥越安全,但过长的位长将导致性能下降。可选的位长为 512、1024、 2048、4096、8192、16348(位为单位)。 图 9.15 “名称和安全性设置”对话框 (6) 弹出图 9.16 所示的“可用提供程序”对话框,在“选择提供程序”列表框中选择 ·267· www.plcworld.cn ·268· 计算机网络安全技术 一个 CSP 程序。默认有两个 CSP 程序: Microsoft DH Schannel Cryptographic Provider Microsoft RSA Schannel Cryptographic Provider 完成选择后单击“下一步”按钮。 图 9.16 “可用提供程序”对话框 (7) 弹出图 9.17 所示的“单位信息”对话框,在“单位”和“部门”文本框中按照需 要设置,单击“下一步”按钮。 ·268· www.plcworld.cn 第 9 章 电子商务的安全性 ·269· 图 9.17 “单位信息”对话框 (8) 弹出图 9.18 所示的“站点公用名称”对话框。在“公用名称”文本框中输入有效 的 DNS 域名或者 NetBIOS 名称,该名称与站点是唯一对应的,如果站点名称发生变化, 必须申请新的数字证书,完成设置后单击“下一步”按钮。 图 9.18 “站点公用名称”对话框 (9) 弹出图 9.19 所示的“地理信息”对话框,在“国家(地区)”下拉列表框中选择“CN(中 国)”,在“省/自治区”和“市县”文本框中按照需要设置,单击“下一步”按钮。 图 9.19 “地理信息”对话框 (10) 弹出图 9.20 所示“证书请求文件名”对话框。在“文件名”文本框中输入保存证 ·269· www.plcworld.cn ·270· 计算机网络安全技术 书请求的文件路径及名称,完成设置后单击“下一步”按钮。 图 9.20 “证书请求文件名”对话框 (11) 弹出图 9.21 所示的“请求文件摘要”对话框,列举了证书的设置参数,确认无误 后单击“下一步”按钮。 图 9.21 “请求文件摘要”对话框 (12) 弹出图 9.22 所示的证书请求完成对话框,单击“完成”按钮。 ·270· www.plcworld.cn 第 9 章 电子商务的安全性 ·271· 图 9.22 证书请求向导完成对话框 (13) 打开证书请求文件,如图 9.23 所示,图中所示为加密后的信息。 图 9.23 证书请求文件内容 9.4.3 申请 Web 服务器数字证书 下面就可以使用生成的 Web 服务器申请文件,通过浏览器的方式,向 CA 进行申请。 (1) 在浏览器中访问 http://192.168.20.124/certsrv,出现图 9.24 所示的证书服务页面, 单击“申请一个证书”超链接,再单击“高级证书申请”超链接。 ·271· www.plcworld.cn ·272· 计算机网络安全技术 图 9.24 证书服务页面 (2) 出现图 9.25 所示的“高级证书申请”页面,有两种高级证书申请方法。 ① 创建并向此 CA 提交一个申请:通过浏览器生成各种证书请求文件,并向 CA 提交 申请。 ② 使用 base64 编码的 CMC 或 PKCS # 10 文件提交一个证书申请,或使用 base64 编 码的 PKCS # 7 文件续订证书申请:向 CA 提交已生成的申请文件。 选择第 2 种。 图 9.25 “高级证书申请”页面 (3) 出现图 9.28 所示的提交证书申请页面,将图所示的全部文本内容复制到“保存的 申请”文本框中,单击“提交”按钮。 ·272· www.plcworld.cn 第 9 章 电子商务的安全性 ·273· 图 9.26 提交证书申请页面 (4) 出现图 9.27 所示的成功提交证书申请页面。 图 9.27 成功提交证书申请页面 9.4.4 颁发 Web 服务器数字证书 数字证书服务器的管理员可以按照 9.4.1 小节介绍的方法颁发 Web 服务器证书。实例 中颁发后的证书如图 9.28 所示。 ·273· www.plcworld.cn ·274· 计算机网络安全技术 图 9.28 颁发的 Web 服务器数字证书 9.4.5 获取 Web 服务器的数字证书 访问 http://192.168.20.124/certsrv,在出现的页面中单击“下载 CA 证书、证书链或 CRL” 超链接,出现图 9.29 所示的界面。在“CA 证书”列表框中选中“Web 服务器证书”,单 击“下载 CA 证书”超链接就可以将数字证书保存在本机上,默认的数字证书文件名为 certnew.cer。 图 9.29 下载 Web 服务器数字证书 9.4.6 安装 Web 服务器数字证书 (1) 在桌面上单击“开始”按钮,在弹出的菜单中执行“程序” →“管理工具” → “Internet 信息服务管理器”命令,选择相应的站点后右击,在出现的快捷菜单中执行“属 性”命令,弹出图 9.30 所示的“默认网站属性”对话框,打开“目录安全性”选项卡,单 击“安全通信”区域中的“服务器证书”按钮。 ·274· www.plcworld.cn 第 9 章 电子商务的安全性 ·275· 图 9.30 “默认网站属性”对话框 (2) 弹出图 9.31 所示的 Web 服务器证书向导的欢迎界面,提示 Web 服务器存在挂起 的证书请求,单击“下一步”按钮。 图 9.31 欢迎界面 (3) 弹出图 9.32 所示的“挂起的证书请求”对话框,选中“处理挂起的证书请求并安 装证书”单选按钮,单击“下一步”按钮。 ·275· www.plcworld.cn ·276· 计算机网络安全技术 图 9.32 “挂起的证书请求”对话框 (4) 弹出图 9.33 所示“处理挂起的请求”对话框,在“路径和文件名”文本框中输入 Web 服务器所在证书的完整的路径,单击“下一步”按钮。 图 9.33 “处理挂起的请求”对话框 (5) 弹出图 9.34 所示的“SSL 端口”对话框,在“此网站应该使用的 SSL 端口”文本 框中输入 SSL 端口号,默认为 443,一般无须更改。单击“下一步”按钮。 ·276· www.plcworld.cn 第 9 章 电子商务的安全性 ·277· 图 9.34 “SSL 端口”对话框 (6) 弹出图 9.35 所示的“证书摘要”对话框,显示证书文件的详细信息,确认无误后 单击“下一步”按钮。 图 9.35 “证书摘要”对话框 (7) 弹出图 9.36 所示的证书向导完成界面,提示此服务器上已经成功安装证书,单击 “完成”按钮。 ·277· www.plcworld.cn ·278· 计算机网络安全技术 图 9.36 成功安装 Web 服务器证书 9.4.7 在 Web 服务器上设置 SSL (1) 正常情况下,SSL 已经被成功地设置到 Web 服务器。图 9.37 所示为启用 SSL 后的 “默认网站属性”对话框的“目录安全性”选项卡,单击“安全通信”区域的“查看证书” 按钮可以查看安装在 Web 服务器上的服务器证书。如果没有安装证书,该按钮不能被激活。 ·278· 图 9.37 “目录安全性”选项卡 www.plcworld.cn 第 9 章 电子商务的安全性 ·279· (2) 图 9.38 所示为启用 SSL 后的“默认网站属性”对话框“网站”选项卡,在“SSL 端口”文本框中可以修改 SSL 端口设置。 图 9.38 启用 SSL 的“网站”选项卡 注意:这样 Web 站点就具备了 SSL 通信的功能。一种方法是以 http://开头的通信连接, 这样是普通的 Web 访问;一种是以 https 开头的通信连接,这是启用 SSL 安全通信 的连接。 (3) 在图 9.30 所示对话框中单击“安全通信”区域的“编辑”按钮,弹出图 9.39 所示 的“安全通信”对话框,可以对 Web 服务器和浏览器之间的通信进行进一步的设置。 “要求安全通道(SSL)”复选框:若选中,表明强制浏览器和 Web 站点只能进行 SSL 安全通信。选中“要求 128 位加密”复选框,SSL 会话密钥位长为 128,这种强度的 SSL 会话密钥的破译难度是很大的,因为可能的密钥数量为 2128=3.4×1038,如果计算机的执行 速率可以达到每 1 μ s 解密 1 000 000 个密钥也需要 5.4×1018 年。 在“客户端证书”区域有 3 种选项。 ① 忽略客户端证书:选择该选项可以允许用户不必提供客户端证书就可访问该站点。 ② 接受客户端证书:选择该选项可以允许具有客户端证书的用户进行访问,证书不是 必需的。具有客户端证书的用户可以被映射;没有客户端证书的用户可以使用其他身份。 ③ 要求客户端证书:选择该选项则仅允许具有有效客户端证书的用户进行连接,没有 有效客户端证书的用户被拒绝访问该站点。 若选中“启用客户端证书映射”复选框,表明可以将服务器配置成使用有效客户端证 书对登录用户进行身份验证。 若选中“启用证书信任列表”复选框,可编辑现在 CTL 或创建新的 CTL,CTL 是用 于特定网站的已核准的证书颁发机构列表,并且仅在网站级别可用。 ·279· www.plcworld.cn ·280· 计算机网络安全技术 图 9.39 设置 Web 服务器的“安全通信”对话框 9.4.8 浏览器的 SSL 配置 Web 服务器证书让客户机可以鉴别服务器的身份,如果服务器也需要鉴别客户机的身 份,那么需要在浏览器申请并安装数字证书。 9.4.9 申请浏览器数字证书 (1) 在浏览器中访问 http://192.168.20.124/certsrv,出现证书服务页面,单击“申请一个 证书”超链接,出现图 9.40 所示的页面,单击“Web 浏览器证书”超链接。 图 9.40 选择申请浏览器证书页面 (2) 出现图 9.41 所示的识别信息页面,在“姓名”、“电子邮件”、“公司”、“部 ·280· www.plcworld.cn 第 9 章 电子商务的安全性 ·281· 门”、“市/县”、“省”和“国家”文本框中按照自己的实际情况设置,单击“提交”按钮。 (3) 成功提交浏览器数字证书申请后的页面如图 9.42 所示。 图 9.41 申请浏览器证书的识别信息页面 图 9.42 成功提交浏览器证书申请页面 ·281· www.plcworld.cn ·282· 计算机网络安全技术 9.4.10 颁发浏览器数字证书 实例中管理员颁发的浏览器数字证书如图 9.43 所示。 图 9.43 颁发的浏览器证书页面 9.4.11 获取及安装浏览器数字证书 (1) 访问 http://192.168.20.124/certsrv,在出现的页面中单击“查看挂起的证书申请的状 态”超链接,出现图 9.44 所示的页面,单击“Web 浏览器证书”超链接。 ·282· 图 9.44 已经颁发的浏览器证书页面 www.plcworld.cn 第 9 章 电子商务的安全性 ·283· (2) 出现图 9.45 所示的界面,单击“安装此证书”超链接将在浏览器上安装数字证书。 图 9.45 安装已经颁发的浏览器证书页面 (3) 成功安装浏览数字证书后,出现图 9.46 所示的页面。 图 9.46 成功安装浏览器证书页面 9.4.12 浏览器数字证书的管理 (1) 在 IE 浏览器的菜单栏执行“工具” →“Internet”命令,弹出“Internet 选项”对 话框,打开“内容”选项卡,单击“证书”按钮,如图 9.47 所示。 (2) 出现如图 9.48 所示的“证书”对话框,打开“个人”选项卡,列举了颁发的个人 证书,表明该数字证书已经安装到浏览器上。 (3) 选中个人证书,单击“查看”按钮可以查看浏览器的数字证书,出现图 9.49 所示 的“常规”选项卡。 ·283· www.plcworld.cn ·284· 计算机网络安全技术 图 9.47 “Internet 选项”对话框的“内容”选项卡 图 9.48 “证书”对话框的“个人”选项卡 ① 在图 9.48 所示选项卡中选中个人证书,单击“导出”按钮可以将数字证书导出到 扩展名为 CER 的数字证书文件中保存。 ② 在图 9.48 所示选项卡中选中个人证书,单击“删除”按钮可以将浏览器中安装的 数字证书删除。 ·284· www.plcworld.cn 第 9 章 电子商务的安全性 ·285· 图 9.49 “常规”选项卡 ③ 在图 9.48 所示选项卡中单击“导入”按钮可以将数字证书文件安装到浏览器上。 9.4.13 在浏览器上设置 SSL 默认情况下,IE 浏览器是支持 SSL 的,不需要用户进行设置。浏览器是否启用 SSL 可 在图 9.50 所示的“Internet 选项”对话框的“高级”选项卡中进行设置。 图 9.50 “高级”选项卡 在“设置”列表框的“安全”区域下有关 SSL 的设置有两个。 ① 使用 SSL 2.0:支持 SSL 2.0 版本。 ② 使用 SSL 3.0:支持 SSL 3.0 版本。 需要将这两个选项都选上,浏览器才会启用 SSL。 ·285· www.plcworld.cn ·286· 计算机网络安全技术 9.4.14 访问 SSL 站点 访问,http://192.168.20.124/certsrv,出现如图 9.51 所示的界面。尽管网面的内容仍然 和没有启动 SSL 以前的内容一样,但网页内容的背后,所有的请示的数据已经经过数字证 书交换后产生的会话密钥进行了加密,只不过用户感觉不到 SSL 协议在后面的工作过程。 安全套接层 SSL 协议好比是在 HTTP 协议上面接了一层安全保护层,由 SSL 来完成数据的 加密和鉴别的过程。 图 9.51 基于 SSL 的 Web 访问界面 9.5 浦发银行移动证书的申请 1. 实训目的 (1) 理解移动证书的作用。 (2) 认识与了解 WPKI 技术。 (3) 熟悉创建浦发银行移动证书过程。 2. 实训内容 (1) 浦发银行 USBKey 下载安装。 (2) 浦发银行移动证书的申请。 3. 实训理论基础 1) 移动证书 移动数字证书是通过精尖加密技术将网上个人银行(专业版)数字证书存放在 USBKey ·286· www.plcworld.cn 第 9 章 电子商务的安全性 ·287· 上,实现随身携带数字证书,随时随地进行网上理财的新方式。采用移动数字证书,使网 上个人银行(专业版)的使用范围大大扩展,只要有计算机,能上网的地方(包括公共场所的 计算机)都可以放心进行转账汇款、投资理财操作,而无须担心安全问题,使用便利性得到 了极大提高。 USBKey 移动证书其实是数字签名卡的一种,而数字签名卡也是智能卡的一种。 在网络世界中,通过公开密钥进行加密的信息保证了只有特定的收件人才能读取,而 此收件人只有通过使用相应的私有密钥才能完成对此信息的解密,信息的私密性则可通过 PKI(一种框架体系)的特定程序来实行保护。PKI 技术和智能卡之间的关系在于私有密钥的 存储和第三方认证机构所颁发的数字证书的存储都可以在极为安全的智能卡上实现。 虽然现在有很多人都把私有密钥和数字证书存储在计算机的硬盘当中,但出于安全的 考虑,将私有密钥和数字证书存储在智能卡上则会更好。这样可以防止黑客通过植入病毒 程序盗取合法用户的私有密钥,伪装成为合法用户的身份在网络上进行诈骗和非法交易。 USBKey 也就担当了私有密钥的数字证书的存储器,所以也被称为是移动证书。 表 9-1 为浏览器证书与移动证书的比较。 表 9-1 浏览器证书与移动证书比较 便携性 易用性 安全性 浏览器证书 只能在下载或导入证书的计算机上使用 网银 在下载了证书的计算机上使用非常方便 保管不当,证书有被他人暗自复制的可能 移动证书 随身携带 USBKey,随时插入计算机,随 时使用 需要安装驱动程序、需要插入、USBKey 装在 USBKey 中的证书,不能被取出 2) WPKI 技术 随着移动通信和互联网技术的发展,以及各行各业对 IT 技术日渐多样化的需求增多, 用户希望能够无时无刻、在任何地点均能上网,因而无线通信技术在银行、证券、商务、 贸易、办公、教育等各方面的需求越来越多,无线通信领域的安全问题也因此引起了广泛 的重视。 无线网络安全技术在移动商务中也起着非常重要的作用,它守护着商家和客户的重要 机密,维护着商务系统的信誉和财产,同时为服务方和被服务方提供极大的方便,因此, 只有采取了必要和恰当的技术手段才能充分提高移动商务的可用性和可推广性。 目前,国际上安全加密的研究主要以有线网络为主,涉及无线网络的安全技术研究屈 指可数,国内的研究与应用也正处于探索之中。为了适应无线网络认证和加密的需要, WPKI(Wireless Public Key Infrastructure,无线公开密钥体系)渐渐发展起来,并逐渐在无线 数据业务中得到实际应用。 WPKI 是将互联网电子商务中 PKI(Public Key Infras- tructure)安全机制引入到无线网络 环境中的一套遵循既定标准的密钥及证书管理平台体系,用它来管理在移动网络环境中使 用的公开密钥和数字证书,有效地建立安全和值得信赖的无线网络环境。 WPKI 并不是一个全新的 PKI 标准,它是传统的 PKI 技术应用于无线环境的优化扩展。 它采用了优化的 ECC 椭圆曲线加密和压缩的 X.509 数字证书。它同样采用证书管理公钥, ·287· www.plcworld.cn ·288· 计算机网络安全技术 通过第三方的可信任机构——认证中心(CA)验证用户的身份,从而实现信息的安全传输。 WPKI 系统的主要功能是为基于移动网络的各类移动终端用户,以及移动数据服务提 供商的业务系统提供基于 WPKI 体系的各种安全服务,其系统架构如图 9.52 所示。 图 9.52 WPKI 体系总体架构 无线终端通过注册机构向证书中心申请数字证书,证书中心经过审核用户身份后签发 数字证书给用户,用户将证书、私钥存放在 UIM 卡中,无线终端在无线网络上进行电子商 务操作时利用数字证书保证端对端的安全。服务提供商则通过验证用户证书确定用户身份, 并提供给用户相应的服务,从而实现电子商务在无线网络上的安全运行。 类似于 PKI 系统的建设,一个完整的 WPKI 系统必须具有权威证书签发机关(CA)、数 字证书库、密钥备份及恢复系统、证书作废系统、应用接口等基本构成部分,其构建也将围 绕着这五大系统进行: (1) 证书签发机关(CA):CA 即数字证书的申请及签发机关,CA 必须具备权威性的 特征。 (2) 数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用 户的证书及公钥。 (3) 密钥备份及恢复系统:为避免用户丢失解密数据的密钥,WPKI 提供备份与恢复密 钥的机制。但密钥的备份及恢复必须由可信的机构来完成,而且密钥备份及恢复只能针对 解密密钥,签名私钥为确保其唯一性而不能够作备份。 (4) 证书作废系统:证书作废处理系统是 WPKI 的一个必备的组件。与日常生活中的 各种身份证件一样,证书有效期以内也可能需要作废,如密钥介质丢失或用户身份变更等。 (5) 应用接口:一个完整的 WPKI 必须提供良好的应用接口系统,使各种各样的应用 能够以安全、一致、可信的方式与 WPKI 交互,确保安全网络环境的完整性和易用性。 通常来说,CA 作为数字证书的签发机关,它是 WPKI 系统的核心。数字证书,又叫 ·288· www.plcworld.cn 第 9 章 电子商务的安全性 ·289· “数字身份证”、“数字 ID”,是由认证中心发放并经认证中心数字签名的,包含公开密 钥拥有者以及公开密钥相关信息的一种电子文件,可以用来证明数字证书持有者的真实身 份。它采用公开密钥体制,即利用一对互相匹配的密钥进行加密、解密。当发送一份保密 文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信 息就可以安全无误地到达目的地了。通过使用数字证书,能够保证数据传输的真实性、机 密性,数据的完整性,身份认证以及交易的不可抵赖性。 目前,国际上很多国家都在研究 WPKI 技术,美国、日本和欧洲各国都已开发出自己 的信息安全技术和产业,WPKI 领域的主流体系有如下几种: (1) WAP FORUM 制定的 WAP PKI。 (2) 日本 NTT 的 I-MODE 的安全体系。 (3) 美国 PALM 公司的安全体系。 这些组织的 WPKI 体系均具备自己完整的协议体系,并且已经在无线数据业务中得到实 际应用,国内的一些厂商也正在着手 WPKI 技术的研究和开发,目前也取得了一定程度的进展。 4. 实训步骤 1) 书面申请 到浦发银行的相应网点进行书面申请如图 9.53 所示,提交相应的材料。 图 9.53 申请材料 2) 下载与安装 (1) 进入浦发银行主页,如图 9.54 所示,单击“证书下载”链接。 ·289· www.plcworld.cn ·290· 计算机网络安全技术 图 9.54 浦发银行主页 (2) 选择证书类型,如图 9.55 所示,选择“移动证书”。 ·290· 图 9.55 选择证书类型 www.plcworld.cn 第 9 章 电子商务的安全性 (3) 选择下载内容,如图 9.56 所示。 ·291· 图 9.56 选择下载内容 (4) 下载 USBKey,如图 9.57 所示。 图 9.57 打开 USBKey ·291· www.plcworld.cn ·292· 计算机网络安全技术 (5) 安装 USBKey,打开压缩包,如图 9.58 所示。 图 9.58 打开 USBKey 压缩包 (6) 按照安装向导进行安装,如图 9.59 所示。 ·292· 图 9.59 安装向导 www.plcworld.cn 第 9 章 电子商务的安全性 (7) 标准版安装包,如图 9.60 所示。 ·293· 图 9.60 标准版安装包 (8) 选择安装路径,如图 9.61 所示。 图 9.61 选择安装路径 ·293· www.plcworld.cn ·294· 计算机网络安全技术 (9) 安装进行中的状态如图 9.62 所示。 图 9.62 安装状态 (10) 安装完成界面如图 9.63 所示。 ·294· 图 9.63 安装完成界面 www.plcworld.cn 第 9 章 电子商务的安全性 3) 浦发银行移动证书的申请 (1) 选择下载内容,选择“证书”,如图 9.64 所示。 ·295· 图 9.64 选择证书安装 (2) 输入相应内容,如图 9.65 所示。 图 9.65 输入相应内容 ·295· www.plcworld.cn ·296· 计算机网络安全技术 (3) 选择 CSP,如图 9.66 所示。 图 9.66 选择 CSP (4) 最后单击“提交”按钮完成浦发银行移动证书的申请。 小结 本章主要介绍了电子商务的安全问题,由此产生了电子商务安全需求。着重介绍了保 障电子商务安全的技术协议 SSL 与 SET,并介绍了基于 SSL 协议网站的构建过程,最后介 绍了浦发银行的移动证书的申请与 WPKI 技术。 习题 1. 什么是电子商务安全? 2. 电子商务安全体系是什么? 3. SSL 加密协议的用途是什么? 4. SSL 的工作原理与过程是什么? 5. SET 是如何保护在因特网上付款的交易安全? ·296· www.plcworld.cn 第 9 章 电子商务的安全性 6. SET 安全协议要达到的目标有哪 5 个? 7. 基于 SET 协议的电子商务系统的业务过程有哪几个? 8. 要想安全地进行网上购物,如何识别基于 SSL 的安全性商业网站? 9. 什么是移动证书,与浏览器证书有何区别? 10. 什么是 WPKI,尝试到一些 WPKI 提供商处申请无线应用证书。 ·297· ·297· www.plcworld.cn 本系列教材编写目的和教学服务 本系列教材在遍布全国的各位编写老师的共同辛勤努力下,在编委会主任刘瑞挺教授 和其他编审委员会成员的指导下,在北京大学出版社第六事业部的各位编辑刻苦努力下, 本系列教材终于与广大师生们见面了。 教材编写目的 近几年来,职业技术教育事业得以蓬勃的发展,全国各地的高等职业院校以及高等专 科学校无论是从招生人数还是学校的软、硬件设施上都达到了相当规模。随着我国经济的 高速发展,尽快提高职业技术教育的水平显得越来越重要。教育部提出:职业教育就是就 业教育,也就是说教学要直接面对就业,强调实践。不但要介绍技术,更要介绍具体应用, 注重技术与应用的结合。本套教材的主要编写思想如下。 1. 与发达国家相比,我国职业技术教育教材的发展比较缓慢并且滞后,远远跟不上职 业技术教育发展的需求。我们常常提倡职业教育的实用性,但在课堂教学中仍然使用理论 性和技术性教材进行职业实践教学。针对这种现状,急需推出一系列切合当前教育改革需 要的高质量的优秀职业技术实训型教材。 2. 本套教材总结了目前优秀计算机职业教育专家的教学思想与经验,与广大职业教育 一线老师共同探讨,最终落实到本套教材中,开发出一套适合于我国职业教育教学目标和 教学要求的教材,它是一套能切实提高学生专业动手实践能力和职业技术素质的教材。 3. 社会对学生的职业能力的要求不断提高,从而催化出了许多新型的课程结构和教学 模式。新型教学模式是必须以工作为基础的模仿学习,它是将学生置于一种逼真的模拟环 境中,呈现给学生的是具有挑战性、真实性和复杂性的问题,使学生得到较真实的锻炼。 4. 教材的结构必须按照职业能力的要求创建并组织实施新的教学模式。教学以专项能力 的培养展开,以综合能力的形成为目标。能力的培养既是教学目标,又是评估的依据和标准。 5. 本套的重点是先让学生实践,从实践中领悟、总结理论,然后再学习必要的理论, 用理论指导实践。从这一个循环的教学过程中,学生的职业能力将得到极大的提高。 教学服务 1. 提供电子教案 本系列教材绝大多数都是教程与实训二合一,每一本书都有配套的电子教案,以降低 任课老师的备课强度,此课件可以在我们网站上随时下载。 2. 提供教学资源下载 本系列教材中涉及到的实例(习题)的原始图片和其他素材或者是源代码、原始数据等 文件,都可以在我们网站上下载。 3. 提供多媒体课件和教师培训 针对某些重点课程,我们配套有相应的多媒体课件。对大批量使用本套教材的学校, 我们会免费提供多媒体课件,另外还将免费提供教师培训名额,组织使用本套教材的教师 进行相应的培训。 北京大学出版社第六事业部(http://www.pup6.com) www.plcworld.cn 参考文献 [1] 周振宇,沈建京. 网络数据的链路加密. 计算机安全,2005 年第 1 期. [2] 徐超汉. 计算机网络安全使用技术. 北京:电子工业出版社,2005. [3] 杨富国. 计算机网络安全应用基础. 北京:北京交通大学出版社,2005. [4] 钟强. 电子商务概论. 北京:清华大学出版社,2003. [5] 黄云森,林强. 电子商务基础教程. 北京:清华大学出版社,2000. [6] 李鼎,杨林. 电子商务基础. 第 2 版. 北京:首都经济贸易大学出版社,2003. [7] 党齐民,李晓聪. 电子商务与信息处理技术. 上海:上海人民出版社,2003. [8] 吴功宜,吴英. 电子商务关键技术. 北京:经济科学出版社,2002. [9] 吴英. 电子商务导论. 北京:经济科学出版社,2002. [10] 辜川毅. 计算机网络安全技术. 北京:机械工业出版社,2005. [11] 蔡立军. 计算机网络安全技术. 第 2 版. 北京:中国水利水电出版社,2005. [12] (美) James Stanger. CIW:安全专家全息教程.魏巍译. 北京:电子工业出版社,2002. [13] (美) Marcus Goncalves 著. 防火墙技术指南.孔秋林,宋书民,朱智强,徐开勇译. 北京:机械 工业出版社,2000. [14] 叶忠杰,陈月波,马云芳.计算机网络安全技术.北京:科学出版社,2003. [15] 石志国,薛为民,江俐.计算机网络安全教程.北京:清华大学出版社,2004. [16] 冯矢勇.电子商务安全. 北京:电子工业出版社,2002.

    Top_arrow
    回到顶部
    EEWORLD下载中心所有资源均来自网友分享,如有侵权,请发送举报邮件到客服邮箱bbs_service@eeworld.com.cn 或通过站内短信息或QQ:273568022联系管理员 高进,我们会尽快处理。