72
网网网网网网网 网网网网Web 网网Mail 网网 网网 网网网 网网网网网网网网网网 http://www.icst.pku.edu.cn/ InfoSecCourse

网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

  • Upload
    amelia

  • View
    225

  • Download
    1

Embed Size (px)

DESCRIPTION

网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒. 潘爱民,北京大学计算机研究所 http://www.icst.pku.edu.cn/InfoSecCourse. 内 容. Web Security Web 会话和 cookie Server-side security Client-side security Mail Security S/MIME PGP 病毒 分析几个病毒的原理. Web 结构. client/server 结构,属于瘦客户类型的 Browser/Server, 客户为浏览器,服务器为 Web Server - PowerPoint PPT Presentation

Citation preview

Page 1: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

网络与信息安全应用安全: Web 安全、 Mail 安全、病毒

潘爱民,北京大学计算机研究所

http://www.icst.pku.edu.cn/InfoSecCourse

Page 2: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

内 容 Web Security

Web 会话和 cookie Server-side security Client-side security

Mail Security S/MIME PGP

病毒 分析几个病毒的原理

Page 3: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web 结构 client/server 结构,属于瘦客户类型的

Browser/Server, 客户为浏览器,服务器为 Web Server 通常是多层 ( 或三层 ) 结构中的第一层 在 Web 应用中, Web Server 后面常常与数据库打交道

B/S 之间的通讯协议: HTTP HTTP 位于 TCP 之上,默认的端口为 80 客户发出对页面的请求,服务器送回这些页面

动态页面和静态页面 Web 页面的表述和交互能力

各种标记、超链接,… 交互功能:表单、脚本 交互能力的扩展: Java Applet, ActiveX, …

Page 4: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web 安全性 协议本身的安全性支持

身份认证: Basic Authentication, Digest Access Authentication 保密性: TLS(Transport Layer Security)

实现上的安全性 服务器端安全性

Web pages 的访问控制机制 可用性:防止拒绝服务 抵御各种网络攻击

客户端安全性 个人信息的保护 防止执行恶意代码

Web Proxy Server Man-In-The-Middle

Page 5: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web 认证 Basic Authentication [RFC 2617]

口令直接明文传输 隐患: sniffer 、中间代理、假冒的服务器

Digest Access Authentication [RFC 2617] Challenge-Response, 不传输口令 重放攻击、中间人攻击 服务器端的口令管理策略

TLS ,基于 PKI 的认证 单向或者双向的身份认证 要求服务器提供证书,客户端证书可选 同时也可以提供保密性服务

一种双向认证模式 单向 TLS 认证 + 客户提供名字 / 口令

Microsoft passport

Page 6: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

TLS 回顾协议栈

记录协议

握手协议

Page 7: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web 会话 从 TCP 到 HTTP 层缺少直接的会话层支持 Web 会话支持

HTTP 1.1 增加了 Persistent Connections 支持,但是不能用于提供Web 会话的功能

目前使用的会话技术 Cookie ,用 cookie 作为 permit ticket 用 url 记录会话 用表单中的隐藏元素记录会话

会话安全:劫持一个 Web 会话 建立会话可能需要验证用户的信息——认证 一旦会话被劫持,则 Web 用户的安全性不复存在 安全性涉及到

客户如何提供会话建立所需要的信息,以及会话标识信息 服务器如何管理会话

Page 8: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Cookie 技术 Cookie 通常是少量的与状态有关的信息,它是服务

器保存在客户端的信息 Cookie 的动机

客户在浏览多个页面的时候,提供事务 (transaction) 的功能,为服务器提供状态管理 比如说,可以针对每个用户实现购物篮 实现授权策略,客户不用为每个页面输入“用户名 / 口

令” 但是,实际上, cookie 很容易被滥用

在提供个性化服务的时候,往往要收集一些涉及隐私的信息

每个 cookie 都有一定的 URL 范围 客户发送这个范围内的 URL 请求都要提供这个 cookie

Page 9: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Cookie 规范 Set-cookie 语法,在 HTTP 应答头中

Set-Cookie: NAME=VALUE; expires=DATE; path=PATH; domain=DOMAIN_NAME; secure

例如:Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday, 09-Nov-99 23:12:40 GMT

Cookie 语法,在 HTTP 请求头中 Cookie: NAME1=OPAQUE_STRING1;

NAME2=OPAQUE_STRING2 ... 例如:

Cookie: CUSTOMER=WILE_E_COYOTE

Page 10: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

利用 cookie完成一个 transaction顾客名字

购物篮

购物方法

Page 11: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Cookie 被滥用 Cookies 中往往会记录一些涉及用户隐私的信息,比

如用户的名字, email地址等 如果客户关闭了 cookie 的功能,则许多网站的功能

不能正常工作 Cookie 被滥用的一个例子

DoubleClick公司案例 利用 cookie来收集个人的喜好 为广告客户提供广告发布服务

个人喜好信息不能被滥用 有些国家规定这些信息不能被公开,或者被销售等

Page 12: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web 服务器端安全性 服务器发布信息,提供服务

静态信息,各种 HTML 页面 动态信息,利用脚本或者各种扩展引擎响应客户的请求

安全性 目录安全性

只有指定范围的文件才可以被访问 例如,禁止 URL 中出现“ ..”

Cgi 文件的安全性,此目录禁止通过Web读写 检查每一个 cgi 文件,不要保留有漏洞的 cgi 文件,特别是系统预装

的一些 cgi示例文件,这些文件往往为了说明功能,而忽略了安全性的考虑

要求认证:由于协商的原因,要注意安全性最低的认证协议 授权机制:保护好口令的安全存储,以及客户信息的保存 日志:打开系统中对于 Web 服务的日志功能,以及 Web 服务的日志记录

Page 13: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

针对 Web Server 的常见攻击 从 Web 服务中获取信息

Web 页面中的注解信息,或者一些扩展特性 返回的应答头有时也会暴露信息

针对 Web Server 的各种攻击手法 比如说 IIS 的 UNICODE漏洞 有些脚本代码或者 cgi程序的漏洞 缓冲区溢出 输入验证攻击 拒绝服务攻击

Page 14: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

服务器端的安全防护 有些应用使用 SSL/TLS ,为 Web Service申请一个证书 Web Server 往往是网络攻击的入口点

为了提供 Web Service ,必须要开放端口和一些目录,还要接受各种正常的连接请求

防火墙对 Web Server 的保护是有限的 为了安全,请

及时打上 Web Server软件厂商提供的补丁程序 特别是一些主流的服务软件,比如 MS 的 IIS

控制目录和文件的权限 Web 应用开发人员注意

在服务端的运行代码中,对于来自客户端的输入一定要进行验证

防止缓冲区溢出

Page 15: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web Server Log File Format

Common Log Format

Extended Common Log Format

remotehost rfc931 authuser [date] "request" status bytes

151.99.190.27 - - [01/Jan/1997:13:07:21 -

0600] "GET /~bacuslab/celsheet.html

HTTP/1.0" 200 13276

remotehost rfc931 authuser [date] "request" status bytes "referer" "user_agent"

bacuslab.pr.mcs.net

- jvb  [01/Jan/

1997:12:57:45 -0600]

"GET /~bacuslab/ HTTP/1.0" 304  0  "http://

www.mcs.net/" "Mozilla/2.0GoldB1

(Win95; I)"

Page 16: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

服务器端的日志记录 在日志记录中,许多信息涉及用户的隐私信息

最重要的是 referer ,这项很受争议 服务商可以用来跟踪客户的点击行为

许多网站对日志记录进行分析,以便提供个性化的 Web 服务 有些国家有法律规定:这些日志以及分析结果不能公开,也不允许买卖

有些 Web Server 实现的版本收集到的信息会更多,甚至包括 email地址 你每天收到烦人的垃圾邮件吗?

Page 17: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Web 客户端的安全性 客户端安全性涉及到

Cookie 的设置,保护用户的隐私 PKI设置,确定哪些是可信任的 CA 对可执行代码的限制,包括 JavaApplet , ActiveX

control 如果你的机器是多个人合用的,则

Web 页面的缓存区域,将会留下用户最近访问过的页面 历史记录 口令自动保存和提示 ……

客户浏览器的安全设置真的安全吗 我们有必要了解这些安全性

Page 18: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

ActiveX control 的安全性 下载 ActiveX control

通过数字签名来识别 control 的受信任程度 验证数字签名, PKI 中的可信任根 CA

安装和注册 ActiveX control 已经在调用 ActiveX control 的代码了 并且,它可以自己声明自己是安全的

操纵注册表 对象的初始化

创建对象,并且对对象进行初始化, ActiveX control 是一个永久对象

对象的脚本操作 通过脚本调用对象的方法

- 〉 Active Document

Page 19: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

安全电子邮件 —— 意义 协议的先天不安全 绝对隐私 安全需求

发送邮件和接收邮件的安全登录 安全的目录服务 安全的电子邮件:邮件保密性和完整性 内容安全性——防止病毒邮件

安全方案 S/MIME PGP

Page 20: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

安全电子邮件 ——S/MIME

是对 MIME电子邮件格式的安全扩展 基于密码学的诸多成果 与 PKI 的结合,使用 X.509 证书,以及 PKCS 标准

算法协商不可能在线进行,只能用一组规则保证尽可能地达到安全性

不严格的信任模型,由客户实现和用户来决定 S/MIME更象商用或组织使用的工业标准, PGP更面向个体用户选用。

Page 21: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

S/MIME —— S/MIME 功能

提供了签名和加密消息的功能 Enveloped data :包含邮件加密之后的内容,以及针对一

个或多个接收者的加密密钥 Signed data :对签名内容作消息摘要,然后用签名者的私钥对摘要加密,以此形成一个数字签名;内容与签名被转换成 base64编码,一个签名的数据消息只能被具有 S/MIME 能力的接收者查看

Clear-signed data :只有签名部分用 base64编码,结果是,即使接收者没有 S/MIME 能力,他也能查看消息内容,只是他不能验证该签名

Signed and enveloped data :签名和加密的结合,加密数据被签名或者签名数据被加密

Page 22: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

S/MIME —— S/MIME邮件用法 ( 一 )

公钥管理

Page 23: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

S/MIME —— S/MIME邮件用法 (二 )

私钥管理

Page 24: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

S/MIME —— S/MIME邮件用法 ( 三 )

把帐号与私钥关联起来

Page 25: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

S/MIME —— S/MIME邮件用法 (四 ) 撰写邮件

Page 26: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP(Pretty Good Privacy) ——安全电子邮件系统

由个人发展起来—— Phil Zimmermann(齐默尔曼 )

PGP 为电子邮件和文件存储应用提供了认证和保密性服务 选择理想的密码算法 把算法很好地集成到通用应用中,独立于操作系统和微处理器 自由发放,包括文档、源代码等 与商业公司 (Network Associates)合作,提供一个全面兼容的、低价位的商业版本 PGP

历史 1991年推出 1.0版, 1994年推出 2.6版

目前最新 7.1版 算法的专利之争。困扰了 3年多 与美国出口管理限制之争,长达 5年的调查

Page 27: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP成功的原因

版本众多,包括各种系统平台,商业版本使用户得到很好的支持

算法的安全性已经得到了充分的论证,如公钥加密包括 RSA 、 DSS 、 Diffie-Hellman ,单钥加密包括 CAST-128 、 IDEA 、 3DES 、 AES ,以及SHA-1散列算法

适用性强,公司可以选择用来增强加密文件和消息,个人可以选择用来保护自己与外界的通信

不是由政府或者标准化组织所控制,可信性

Page 28: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP 功能列表

为了适应邮件的大小限制, PGP 支持分段和重组

数据分段

邮件应用完全透明,加密后的消息用 Radix 64转换

Radix 64邮件兼容性

消息用 ZIP 算法压缩ZIP压缩

消息用一次性会话密钥加密,会话密钥用接收方的公钥加密

CAST 或 IDEA 或3DES 、 AES

及 RSA 或 D-F

消息加密

用 SHA-1创建散列码,用发送者的私钥和 DSS 或 RSA 加密消息摘要

DSS/SHA 或RSA/SHA

数字签名说明采用算法服务

Page 29: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 功能:身份认证

发送方 产生消息 M 用 SHA-1 对 M生成一个 160 位的散列码 H 用发送者的私钥对 H 加密,并与 M连接

接收方 用发送者的公钥解密并恢复散列码 H 对消息 M生成一个新的散列码,与 H 比较。如果一致,

则消息 M 被认证。

Page 30: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——身份认证说明

说明:1. RSA 的强度保证了发送方的身份2. SHA-1 的强度保证了签名的有效性3. DSS/SHA-1 可选替代方案。

签名与消息可以分离 对消息进行单独的日志记录 可执行程序的签名记录,检查病毒 文档多方签名,可以避免嵌套签名

Page 31: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 保密性

发送方 生成消息 M并为该消息生成一个随机数作为会话密钥。 用会话密钥加密 M 用接收者的公钥加密会话密钥并与消息 M 结合

接收方 用自己的私钥解密恢复会话密钥 用会话密钥解密恢复消息 M

Page 32: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 保密性说明 对称加密算法和公钥加密算法的结合可以缩短

加密时间 用公钥算法解决了会话密钥的单向分发问题

不需要专门的会话密钥交换协议 由于邮件系统的存储 -转发的特性,用握手方式交换密钥不太可能

每个消息都有自己的一次性密钥,进一步增强了保密强度。所以,每个密钥只加密很小部分的明文内容

Page 33: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——保密与认证的结合

两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密消息,再用接收者的公钥加密会话密钥。

Page 34: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 邮件数据处理 顺序:签名 —— 压缩 —— 加密 压缩对邮件传输或存储都有节省空间的好处。 签名后压缩的原因:

不需要为检验签名而保留压缩版本的消息 为了检验而再做压缩不能保证一致性,压缩算法的不同实现版本

可能会产生不同的结果 压缩之后再做加密的原因:

压缩后的消息其冗余小,增加密码分析的难度 若先加密,则压缩难以见效

E-mail兼容性 PGP处理后的消息,部分或者全部是加密后的消息流,为任意的

8 位字节。某些邮件系统只允许 ASC 字符,所以 PGP 提供了转换到 ASC格式的功能。采用了 Radix-64转换方案

Page 35: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP 密钥 PGP 使用四种类型的密钥:

一次性会话传统密钥 公钥 私钥 基于口令短语的传统密钥

PGP 对密钥的需求 会话密钥:需要一种生成不可预知的会话密钥的方法, PGP

使用了一种复杂的随机密钥生成算法 ( 一定的真随机性 ) 公钥和私钥

需要某种手段来标识具体的密钥 一个用户拥有多个公钥 / 私钥对 密钥更新管理

私钥如何保存

Page 36: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 密钥标识符和钥匙环 一个用户有多个公钥 / 私钥对时,接收者如何知道发送者是用哪个公钥来加密会话密钥的? 将公钥与消息一起传送。 将一个标识符与一个公钥关联,对一个用户来说唯一。即用户 ID 和密钥

ID 标识一个密钥 定义 KeyID 包括 64 个有效位 (PGP采用公钥的低 64 位作为 KeyID) 对于 PGP 数字签名, KeyID 也很必需。用哪个公钥来验证签名? 钥匙环

KeyID 对于 PGP非常关键。 PGP消息中包括两个 keyID ,分别提供保密与认证功能。 需要一种系统化的方法存储和组织这些密钥以保证有效使用这些密钥

PGP 密钥管理方案: 用户机器 (节点 ) 上有一对数据结构:

私钥环:存储本节点拥有的公钥 / 私钥对公钥环:存储本节点所知道的其他用户的公钥

Page 37: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP消息的格式 (A->B)

Page 38: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 私钥环 信息:

时间戳、 KeyID 、公钥、私钥、 UserID UserID :

通常是用户的邮件地址。也可以是一个名字,可以重名 私钥如何保存:

用户选择一个口令短语用于加密私钥 当系统用 RSA生成一个新的公钥 / 私钥对时,要求用户输入

口令短语。对该短语使用 SHA-1生成一个 160 位的散列码后,销毁该短语

系统用其中 128 位作为密钥用 CAST-128 加密私钥,然后销毁这个散列码,并将加密后的私钥存储到私钥环中

当用户要访问私钥环中的私钥时,必须提供口令短语。 PGP将取出加密后的私钥,生成散列码,解密私钥

Page 39: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——公钥环

信息: 时间戳、 KeyID 、公钥、对所有者信任度、用

户 ID 、密钥合法度、签名、对签名者信任度 UserID :

公钥的拥有者。多个 UserID 可以对应一个公钥。 公钥环可以用 UserID 或 KeyID索引。

Page 40: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——发送方处理消息的过程

签名: 从私钥环中得到私钥,利用 userid 作为索引 PGP 提示输入口令短语,恢复私钥 构造签名部分

加密: PGP产生一个会话密钥,并加密消息 PGP 用接收者 userid从公钥环中获取其公钥 构造消息的会话密钥部分

Page 41: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——接收方处理消息的过程

解密消息 PGP 用消息的会话密钥部分中的 KeyID 作为索引,从私钥环中获取私钥

PGP 提示输入口令短语,恢复私钥 PGP恢复会话密钥,并解密消息

验证消息 PGP 用消息的签名部分中的 KeyID 作为索引,从公钥环中获取发送者的公钥

PGP恢复被传输过来的消息摘要 PGP 对于接收到的消息作摘要,并与上一步的结果作比较

Page 42: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——公钥管理 由于 PGP 重在广泛地在正式或非正式环境下的应用,

所以它没有建立严格的公钥管理模式。 有关的问题:

一旦你的私钥泄漏,存在两种危险: 别人可以伪造你的签名 其他人发送给你的保密信件可被别人读取

防止公钥环上包含错误的公钥 保证公钥环上公钥的正确性

物理上得到 B 的公钥。可靠,但有一定局限性 通过电话验证公钥 从双方都信任的个体 D处获得 B 的公钥 从一个信任的 CA 中心得到 B 的公钥

Page 43: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——公钥信任模型 尽管 PGP没有包含任何建立认证权威机构或建立信任体系的规

范,但它提供了一个利用信任关系的方法,将信任关系与公钥联系起来。每个公钥有三个相关的属性: Key legitimacy field :合法性或者有效性,表明 PGP 对“此用户公钥是合法的”的信任程度;信任级别越高,这个 userID 与该公钥的绑定越强。这个字段是由 PGP 计算的。

每一个公钥项都有一个或者多个签名,这是公钥环主人收集到的、能够认证该公钥项的签名。每一个签名与一个 signature trust field关联,表明这个 PGP 用户对“签名人对公钥签名”的信任程度。 Key legitimacy field 是由多个 signeture trust field 导出的。

Owner trust field :表明该公钥被用于签名其它公钥证书时的信任程度。这个信任程度是由用户给出的

Page 44: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— 信任模型示例

Page 45: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP ——公钥的注销

公钥注销功能的必要性:密钥暴露或定时更新 通常的注销途径是由私钥主人签发一个密钥注销证

书 私钥主人应尽可能越广越快散布这个证书,以使得潜在的有关人员更新他们的公钥环

注意:对手也可以发出这个证书,然而,这将导致他自己也被否决。因此,这样比起恶意使用偷来的私钥来看,似乎会减少漏洞。

Page 46: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP 证书管理软件

PGP 证书管理软件 —— 服务器软件 集中管理 PGP公钥证书 提供 LDAP 、 HTTP 服务 本地 Keyring 可以实时地连接到服务器,适合于企业使用 更新老的证书 查找新的证书 查询 CRL

Page 47: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP 用法 ( 一 ) 密钥管理

生成新的密钥对 导出、导入 指定信任关系 保存和备份 改变私钥的访问

口令

Page 48: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP 用法 (二 )

撰写邮件时,发送之前指定加密和签名 通过属性配置,可以指定默认状态

Page 49: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

PGP —— PGP 用法 ( 三 ) 其他辅助功能

有关网络的功能 个人防火墙 VPN 网络传输

文件加解密、签名认证 当前窗口内容加解密、签名认证 剪贴板内容加解密、签名认证

Page 50: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

计算机病毒 (virus)

介绍三种病毒的机理 CIH 病毒 Shakira’s pictures Nimda

病毒的本质和分类 一个分布式防病毒体系结构

Page 51: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

CIH 病毒 – 4.26 事件 ( 一则报道 )

Page 52: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

CIH 病毒 病毒影响: Win95/98 类型:文件型病毒,感染 95/98环境下 PE格式的

EXE 文件 病毒特点:

受感染的 .EXE 文件的文件长度没有改变 病毒代码化整为零,插入到被感染文件中

病毒代码只有 1K 字节左右 现象:突然显示器黑屏、硬盘狂闪,无法重启 传播方式:通过文件进行传播。只要运行了带病毒的文件,

病毒就会驻留在系统内存中,以后,再运行 PE格式的 EXE文件,这些文件就会染上病毒

破坏:利用 BIOS芯片可重写的特性,向 BIOS写入乱码——直接破坏硬件设备

Page 53: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

CIH 病毒原理 CIH 病毒驻留

如果一个 EXE程序已经被感染,则此程序的入口指针被改掉,首先执行病毒的驻留部分 用 SIDT取得 IDT 表地址,修改 INT3 的中断入口,指向病毒代码

执行 INT 3 ,在 ring 0 执行病毒代码。 判断 DR0寄存器是否为 0 ,以便确定是否已经驻留在内存中,否则

的话,执行下面的过程: 申请 Windows 的系统内存,以便把病毒体放到系统中。病毒代码被

分割到程序各个部分,所以要先把它们装配起来 在 Windows 内核中的文件系统处理函数中挂接钩子,以截取文件调

用的操作。因此,一旦系统出现要求打开文件的调用,则 CIH 病毒的感染部分代码就会马上截获此文件

恢复 IDT 表的 INT3地址 进入程序的正常执行过程

Page 54: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

CIH 病毒原理 (续一 ) 感染部分:对于文件调用的钩子函数

首先取到文件名字 如果文件名为 EXE 后缀,则感染:

判断 EXE 文件的格式是否为 PE格式 如果文件已被感染,或者不是 PE格式,则进入病毒发作模块 否则,进行感染

把病毒代码放到 PE格式的各个缝隙中 首块插入到 PE格式头部的自由空间中。 PE格式通常有 400 多字节

的自由空间,而病毒代码的首块必须包含驻留代码 (184 字节 for CIH 1.4) 以及病毒块链表

修改文件入口地址,指向病毒驻留代码,并且把原来的入口地址也记录下来,以便能够回到正常的执行路径上

除了首块病毒代码之外,其他的块插入到 PE 文件的各个 section 中。根据 PE 头中每个 section 的参数信息,决定每个 section 可以存放的病毒代码大小,依次填入病毒代码,直到填完或者到达最后的 section

最后,执行写盘操作,把病毒代码写入文件

Page 55: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

CIH 病毒原理 (续二 ) 病毒发作

不同版本有不同的逻辑 在 1.4版本中,发作日为 4月 26日,病毒取出系统时钟的信息,进行判断

病毒破坏逻辑 通过主板的 BIOS 端口地址 0CFEH 和 0CFDH 向 BIOS引导块( boot block)内各写入一个字节的乱码,造成主机无法启动

破坏硬盘,从硬盘的主引导区开始,写入垃圾数据,直到所有的硬盘空间都被覆盖

病毒的检测 方法 1 :查找病毒特征码:“ CIH v1.” 方法 2 :在 DEBUG 模式下,找到 PE 头中的病毒感染标志

病毒的清除 是感染过程的逆过程

Page 56: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

一个最新的病毒—— Shakira’s pictures

Page 57: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Shakira’s pictures邮件的附件 附件 (ShakiraPics.jpg.vbs) 内容 (6K 多 )

Page 58: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Shakira’s pictures邮件的病毒代码 把 wapwvdfgcpw解出来之后,如下 (主程序部分 )

Page 59: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Shakira’s pictures邮件病毒发作流程 流程如下:

改写注册表键: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Registry

利用 Outlook给地址簿中所有用户发信 并置上标记: HKCU\software\ShakiraPics\mailed

= 1 利用 mirc 发送病毒附件

并置上标记: HKCU\software\ShakiraPics\Mirqued = 1

对于当前文件系统中 ( 所有远程目录 ) 所有的 vbs 文件和vbe 文件都替换成自己 ——循环 +递归

提醒用户:“ You have been infected by the ShakiraPics Worm”

Page 60: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Shakira’s pictures邮件病毒的思考 脚本类型的 Internet Worm

其他还有“ I love you” 病毒,等各种变种 Mellisa 病毒: Word宏病毒,通过邮件系统进行传播

病毒编写简单,而危害性大反映了 MS产品的一个矛盾:功能与安全如何平衡?

如何抑制这种类型的病毒 用户:提高警惕,不要轻易打开附件

安装防病毒软件 软件厂商 (MS) :增强脚本引擎的安全性 (?)

打开附件提醒用户

Page 61: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Nimda 病毒 2001年 9月 18日发现之后,迅速传播开来 受影响的操作系统Windows 9x/Me/Nt/2000 感染途径:文件感染、电子邮件附件、 Web 服务器攻击,以及局域网上的共享文件功能 服务器:没打补丁的 IIS Web Server 客户:没打补丁的 IE 5.01/5.5 ,以及使用到 IE 功能的邮件客户软件,包括 Outlook, Outlook Express等

危害性 受到感染的一台机器会影响到其他的机器 系统文件和文档文件会受损 网络资源会被拥塞住

解决方案 为所用的软件及时地打上补丁

Page 62: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Nimda 病毒的传播

Page 63: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Nimda 病毒的感染过程 文件感染

感染 EXE 文件,不是把自己插入到 EXE 文件的头或者尾部,而是把原来的 EXE 文件插进来,再改名为 EXE 的文件名

运行的时候,先运行病毒,再提取出 EXE并运行 Email感染

病毒从你的地址簿、收件箱以及 Web cache 页面中抽取出 email地址,然后构造一封邮件,内含一个附件 readme.exe ,送出去。

一旦收到邮件的人打开附件,则马上被感染。有些邮件客户会自动浏览附件,则自动被感染。

Web Server 攻击 扫描并攻击 Web Server ,一旦成功,则把病毒代码附到 Web 页面的最

后,未打补丁的 IE 浏览到这样的页面的时候,也会自动被感染 LAN共享攻击

打开一个共享系统,在 administrators 加入一帐户,并打开 C盘共享 把一个受感染的 email 和一个受感染的 riched20.dll写到每一个共享可写

目录中,如果共享目录的系统打开这个 email 或者目录中的Word 、 Wordpad 或 Outlook 文档,则此系统也会被感染

Page 64: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

为什么邮件的附件会被自动执行?页面被自动浏览? 在 HTML email

中, IE解析 MIME头部的时候出现漏洞

Page 65: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

Nimda 的病毒体逻辑 Nimda 病毒主要的逻辑就是传播自身

不同的形态下使用不同的文件名,并且修改相应的注册表键以便自己继续获得控制权,或者隐藏自身

对安全功能的影响 修改注册表键,关闭隐藏文件的显示功能 加入一个“ guest”帐号,并加到 administrators 和

Guests组中,并且,共享 C:\ 目录为可完全访问。修改注册表键,禁止共享安全性

版权所有

Page 66: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

引导型病毒 启动分区病毒特点

在系统启动的时候激活,先于操作系统 分为 MBR 病毒和 BR 病毒

病毒寄生在硬盘分区主引导程序所占据的硬盘 0 头 0柱面第 1 个扇区中,比如大麻(Stoned) 病毒

BR  病毒是将病毒寄生在硬盘逻辑分区的 0扇区,比如小球病毒 这种病毒如何驻留到内存中,如何进入到系统中?

往往与 BIOS 中断有关联,比如 int 13h(硬盘中断 ) 引导分区中往往只是病毒的引导部分,病毒体通常放在别的扇区中

传染途径 软盘启动是最危险的

检测和消除 相对而言,这种病毒比较容易检测,只要检查引导扇区就能确定 由于内存中存在病毒,所以,简单地改写引导扇区并不能清除病毒,必须用干净的盘启动,杀灭病毒,再启动系统

预防措施 尽量关闭 BIOS 中软盘启动的选项 硬盘的启动分区留个备份

Page 67: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

怀念: DOS 中的病毒 DOS 比较简单,是一个单任务的操作系统

系统管理的内存只有低端 640K 中断 int 10h 和 int 21h 是重要的系统功能入口 FAT 文件系统也比较简单

主要的技术 修改中断向量

任何一个程序都很容易就可以修改中断向量 常驻内存的技术

驻留到高端可用内存区 驻留到系统的低端内存区

调试和检查病毒代码容易做到 .com 和 .exe 文件的格式是透明的

Command.com 是关注的焦点之一 一切尽在掌控中

Page 68: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

关于计算机病毒 与病毒相关的几个概念

陷门 (trap door) :程序中的秘密入口点,知道陷门的人可以通过这样的入口点绕过正常的安全检查机制

逻辑炸弹 (logic bomb) :内嵌在合法程序中的条件代码 特洛伊木马 (Trojan horses) :木马程序可以被用于进行直接或者间接地达到未授权访问资源的目的

蠕虫 (worms) :通过网络进行传播 细菌 (bacteria) :不停地复制自身

现在的计算机病毒已经综合了这些概念,所有现在的防病毒软件也往往综合了相应的对策。病毒与黑客技术的结合也使得防病毒的任务更加艰巨,最终,病毒与网络安全紧密地结合了起来,防火墙也是防毒墙

2001年是病毒发展史上最为猖狂的一年,也是反病毒软件行业最为兴旺的一年

Page 69: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

计算机病毒的本质 病毒的状态

潜伏状态 传播过程 被激活并进入执行状态

病毒的种类 文件类型的病毒:依附于一个可执行文件中 引导型病毒 驻留内存的病毒 多态病毒:病毒在传播过程中会发生一些变化 宏病毒 & 脚本病毒:依附于一个文档 ……

Page 70: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

反病毒技术 过程

检测病毒。一旦系统被感染病毒,应尽快检测起来,力争在病毒发作之前发现 标识出具体的病毒 恢复。一旦已经标识出病毒类型,则采取相应的措施来恢复到原始的状态。如果不能恢复状态,则可以隔离被感染的文件,或者启动备份的系统文件,或者引导分区

编写病毒的技术和反病毒技术也是“道高一尺魔高一丈”的情况,在斗争中提高和发展 早期简单的病毒扫描器。根据一些简单的特征对问题区域进行扫描,如果匹配

到了,则发现病毒的踪迹 启发式的扫描器。在扫描的时候,利用一些启发式的规则,可以发现一些隐蔽

的病毒。或者利用程序指纹 (检验码 )来判断程序被修改的情况 针对病毒可能的闯入点,在这些点上设置检查关卡,一旦发现异常,就进行报警并进行干预

综合。反病毒是一个综合的过程,各种技术需要结合起来 更重要的是,在设计系统软件的时候就应该考虑尽可能地减少病毒闯入的机会,

以免开放的功能被滥用

Page 71: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

一个防病毒原型结构:数字免疫系统 分布式结构, by IBM (1997) 对于反病毒技术,以及其他安全防护技术的启发意义

Page 72: 网络与信息安全 应用安全 :Web 安全、 Mail 安全、病毒

参考资料 书

William Stallings, Cryptography and network security: principles and practice, Second Edition.

“黑客大曝光” ( 第二版 ) ,清华出版社 Web sites

http://www.w3.org/Security/Faq/ http://www.pgp.com