目录

网络安全课程教案

目录

《网络安全》课程教案

《网络安全》课程教案

Network Security & Privacy

主要内容

第一部分 网络安全综述(第 1 章)

第二部分 密码学基础(第 2 章 ~ 第 4 章)

第三部分 网络安全应用(第 5 章 ~ 第 7 章)

第四部分 系统安全机制(第 8 章 ~ 第 11 章)

第五部分 代码安全(第 12 章 ~ 第 14 章)

第六部分 其它安全主题(第 16 章 ~ 第 17 章)

课程安排:

18

周,每周

2

次课,

4

学时

(其中包含实验

4

次,每次

2

组)

所用教材:

《网络安全与保密》

胡建伟

西安电子科技大学出版社

讲授内容:

理论部分:

第一周

教学要点

1

网络安全的基本概念

2

网络安全的目标

3

网络安全与协议层次的关系

教学要求

1

掌握网络安全的目标及措施

2

能够举出网络安全的实例并简要说明

3

掌握不同协议层次上的网络安全问题

讲授内容

1.1 基本概念

例子 保护私人住所

挂窗帘 à 防止外人偷窥

加锁 à 防小偷

养狼狗 à 拒绝不受欢迎之客

安装警报系统,摄像头 à 检测不速之客

电围墙,篱笆,门卫 à 审查

安全应考虑的问题的两方面(矛盾与统一):安全威胁、被保护物品的价值

安全措施的目标:Access Control,Authentication,Integrity,Accountability,Privacy

职业前景:网络安全管理;网络安全软件设计开发;网络律师;网上监管专家

与网络安全有关的著名公司:Symantec(赛门铁克)、Microsoft、Kaspersky、Redhat、McAfee Versign……

国外著名公司漏洞统计数据;漏洞实例分析

区分:远程管理(控制)软件vs黑客软件,木马

常见网络安全用语,俗语说明:木马(trojan),特洛伊、肉鸡

隐私、言论自由、版权

1.2 网络拓扑与安全

什么是拓扑

网络按照基本拓扑的分类:星型、总线型、环型

其他:网状,不规则型

拓扑与网络安全的关系

星型网的优势:所有两个节点间通信只定义了一条路径

网络(特指中间节点)处于固定的物理位置,易确保物理安全

TCP/IP 协议进行通信;因特网上的安全隐患

按照TCP/IP的协议层次,安全隐患问题分以下来讨论

网际层、传输层、应用层、

CERT/CC : Computer Emergency Response Team/Coordination Center

1,网际层: 伪造(假冒)IP地址 伪造(假冒)ARP 伪造(假冒)路径控制信息

恶意使用(假冒)源路由

利用IP/ICMP数据包的DoS攻击(非授权使用)

2,传输层: 预测(假冒)TCP初始序号

利用TCP/UDP数据包的DoS攻击(非授权使用)

3,应用层: 扫描/搜索(非授权使用)

DNS(Domain Name Service:域名服务)欺骗(假冒)

窃听用户认证信息(窃听)

攻击程序缺陷(非授权使用)

代理服务器的非法使用(非授权使用)

利用电子邮件进行的DoS攻击(非授权使用)

病毒与木马

1.3 网络安全的层次结构(Hierarchy of Network Security)

物理安全 安全控制 安全服务

1.4 网络安全威胁

1.4.1 网络威胁的类型

窃听、假冒、重放、流量分析、破坏完整性

1.4.2 威胁的动机(Motives)

工业间谍、财政利益、报复或引人注意、恶作剧、无知

第二周

教学要点

1

网络攻击及其分类

2

客户服务器的工作模式及其特点

教学要求

1

掌握主动攻击与被动攻击的区别并能举例说明

2

能够针对客户和服务器进行区分并能编程

讲授内容

1.5 网络攻击

“攻击”的定义

任何非授权行为

法律定义:入侵行为完全完成且入侵者已经在目标网络内部。

本课程:可能使一个网络受到破坏的所有行为都被认为是攻击。

网络攻击的两大分类

被动攻击(Passive Attacks):攻击者监视所有信息流以获得某些秘密

形式:窃听、流量分析 最难被检测到

主动攻击(Active Attacks):攻击者试图突破你的安全防线

形式:假冒、重放、欺骗、消息篡改、拒绝服务等

对网络的被动攻击和主动攻击

1.7 基本安全技术

防火墙(Firewall),加密(Encryption),身份认证(Authentication),数字签名(Digital Signature),内容检查(Content Inspection)

1.5 网络攻击

“攻击”的定义:任何非授权行为

法律定义:入侵行为完全完成且入侵者已经在目标网络内部。

本课程:可能使一个网络受到破坏的所有行为都被认为是攻击。

有关对网络的被动攻击和主动攻击的词汇:

Normal Flow ; Interception ; Interruption ; Modification ; Fabrication ;

Model for Network Security ; Network Access Security Model ;

***应用层的客户-服务器方式

在 TCP/IP 的应用层协议使用的是:客户-服务器方式

计算机的进程(process)就是运行着的计算机程序。

为解决具体应用问题而彼此通信的进程称为“应用进程” 。

应用层的具体内容就是规定应用进程在通信时所遵循的协议。

客户和服务器的区分

客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。

客户-服务器方式所描述的是进程之间服务和被服务的关系。

客户是服务请求方,服务器是服务提供方。

客户软件的特点:在进行通信时临时成为客户,但它也可在本地进行其他的计算。

被用户调用并在用户计算机上运行,在打算通信时主动向远地服务器发起通信。

可与多个服务器进行通信。

不需要特殊的硬件和很复杂的操作系统。

服务器软件的特点 :专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。

在共享计算机上运行。当系统启动时即自动调用并一直不断地运行着。

被动等待并接受来自多个客户的通信请求。

一般需要强大的硬件和高级的操作系统支持。

客户进程和服务器进程使用 TCP/IP 协议进行通信

功能较强的计算机可同时运行多个服务器进程

1.6 网络安全模型

考虑信息系统的四方模型:

Sender(发信者)、Receiver(收信者)、Enemy(敌人)、Boss(监控管理方)

1.8 安全漏洞

信息系统的安全漏洞主要有三个方面 :

1)OS à 操作系统 2)Network à 计算机网络 3)DBMS à 数据库管理系统

补充内容:

星号(*)密码的破解;一个电影网站的破解录像;网络嗅探器sniffer;Java编程初步

第三周

教学要点

1

对称密码系统的特点和代表算法

2

古典密码的例子:凯撒密码

3

DES

算法描述

教学要求

1

区分对称密码系统和非对称密码系统

2

针对古典密码编程实现

3

了解

DES

算法的特点及使用方法

讲授内容

2.1 前 言

传统的密钥加密解密系统都是对称密钥密码系统。

加密和解密使用同一把密钥

从最早的凯撒密码到使用最多的 DES ,以及下一代密码算法 Rijndael

1976 年, Diffie 和 Hellman 发表论文 “New Direction in Cryptography”, 从而出现了非对称密钥密码系统

密钥加密系统的几个部分:

M(Message) à 消息空间, C(Cipertext) à 密文空间

K(Key) à 密钥空间 E(Encryption Algorithm) à 加密算法

D(Decryption Alorithm) à 解密算法

它们满足 EK1(M)=C DK2(C)=M DK2(EK1(M))=M

两种密钥算法体制

对称密钥算法: K1 ß à K2 也叫秘密密钥算法,单一密钥算法

非对称密钥算法 K1 ß / à K2 也叫公开密钥算法

2.1.2 古典密码

替换密码 例:凯撒密码

置换密码 例:纵行置换密码

凯撒密码 —- 简介

凯撒密码 是罗马扩张时期由 Julius Caesar 创造的,用于加密通过信使传递的作战指令。 它把字母表中的字母移动一定位置而实现加密。

如向右移动 2 位,则 A 变成 C , B 变成 D … X 变成 Z Y 变成 Z 变成?

凯撒密码 —- 分析

字母表总共有 26 个字母

用凯撒密码加密,如果明文字符串是“ Hello ” , 移动 2 位则变为密文

如何解密?只要将字母向相反方向移动同样位数即可

这里移动的位数“ 2 ”是加密和解密共用的密钥

凯撒密码 — 编程思路

Step1: 读取要加密的字符串、密钥

Step2: 取出字符串中的每个字符

Step3: 对每个字符进行移位

这里采用 Java 编程实例说明: Step1 Step2 Step3 编译并运行程序

加密: Java Caesar 明文 密钥

解密: Java Caesar 明文 - 密钥

这里明文指“要加密的字符串”;密钥指“移动的位数”

***DES (数据加密标准):最通用的对称密码体制算法: DES–Data Encryption Standard

密钥长度为 56 位,分组长度 64 位,需要进行 16 轮加密迭代的对称密钥加密分组算法。

对称密码算法的两种类型:

分组密码:一次处理一块输入,每个输入块声称一个输出块,典型例子: DES 算法

流密码:对输入元素连续处理,同时产生连续单个输出元素。典型例子: A5 算法

2.2.4 DES 的工作模式

ECB (Electronic Codebook) 电子密码本 CBC (Cipher Block Chaining) 密码分组链接

CFB (Cipher Feed back) 密文反馈 OFB (Output Feed back) 输出反馈

有关 DES 的破解

早期官方的得出了十分乐观的结论; Diffie , Hellman 等修改了他们的估计;计算机科学家 Tanenbaum 指出,即使没有这种专用机,也可以用穷举法破译 DES 。

2.3 A 5 算法 序列密码简介

2.4 其它对称密码算法

2.4.1 IDEA

IDEA 即国际数据加密算法,它的原型是 PES ,对 PES 改进后的新算法称为 IPES ,并于 1992 年改名为 IDEA(International Data Encryption Algorithm) 。

补充内容

Word 密码的破解;网络嗅探器 sniffer ; Java 编程初步

第四周

教学要点

1

单向散列函数原理与应用

2

单向散列函数安全性分析

教学要求

1

理解和掌握单向散列函数的原理和常用算法

2

了解密码破解的原理和防范与应用

讲授内容

单向散列函数的原理和应用场合

单向散列函数:

散列值是由单向散列函数产生的。所谓的单向散列函数 (Hash Function ,又称哈希函数、杂凑函数 ) ,是将任意长度的消息 M 映射成一个固定长度散列值 h 的函数: h=H(M)

其中, h 的长度为 m 。

单向散列函数算法 MD5 和 SHA-1 的算法描述

MD5 的前景

在 2004 国际密码学会议( Crypto’2004 )上, 王小云 教授公布了破解 MD5 算法的研究成果,引起了密码学界轰动。但这里 MD5 算法的破解对实际应用的冲击要远远小于它的理论意义,不会造成 PKI 、数字签名安全体系的崩溃。

MD5 的安全性问题

MD5 的两种常用的应用场合为:单向变换用户口令;对信息进行签名

单向散列函数的强度体现在它能把任意的输入随机化到什么程度,并且能产生输出。

对 MD5 的普通直接攻击(野蛮攻击)穷举可能的明文产生和 H(m) 相同的结果

对 MD5 的生日攻击:用概率来指导散列冲突的发现

其它对 MD5 的攻击:微分攻击被证明对 MD5 的一次循环有效,但对全部 4 次循环无效。

有一种成功的 MD5 攻击,不过是它对 MD5 代码本身作了手脚,属于 crack 而不是 hack

口令长度和信息论:根据传统信息论,英语每个 8-bit 字母的信息熵为 1.3bits (来源于英语语法的规律性这个事实,字母出现的概率不等造成了熵的减小,如果 26 个字母出现的概率均等,信息熵会增至 4.7bits )。

密码系统的选择与密码攻击

对于一个密码系统来说,如果新的密码系统的强度依赖于攻击者不知道算法的内部机理,那这密码注定会失败。最好的算法是那些已经公开的,并经过世界上最好的密码分析家们多年的攻击,但还是不能破解的算法。

密码攻击

密码分析攻击分类(都假设密码分析者知道所用的加密算法的全部知识)

唯密文攻击 (cipher text only) 已知明文攻击 (known plain text)

选择明文攻击 (chosen plain text) 选择密文攻击 (chosen cipher text)

自适应选择明文 / 密文攻击 (chosen text) 选择密钥攻击 (chosen key)

软磨硬泡攻击 (Rubber-hose)

补充内容

黑客字典介绍; Java 编程初步;远程控制举例; VMWare 介绍

虚拟机软件介绍: VMWare

虚拟机软件可以在一台电脑上模拟出来若干台 PC ,每台 PC 可以运行单独的操作系统而互不干扰,实现一台电脑 “ 同时 ” 运行几个操作系统,还可以将这几个操作系统连成网络。

VMWare 的使用:

Guest OS ,模拟的硬件,可以使用 ISO 文件作为光盘,运行模式

网络设置方式: Bridged 方式, NAT 方式

第五周

教学要点

1

公钥密码体制的原理和代表算法

RSA

Diffie-Hellman

2

Diffie-Hellman

算法的安全性分析

3

数字签名介绍

教学要求

1

理解和掌握

RSA

算法和

Diffie-Hellman

2

理解防范

Diffie-Hellman攻击的方法

3 了解数字签名的分类与应用

讲授内容

公钥密码体制的历史和发展,参考文献

公钥密码系统原理:基于陷门单向函数的概念。单向函数是易于计算但求逆困难的函数,

公钥密码系统的应用:通信保密、数字签名、密钥交换

密钥交换

通信双方交换会话密钥,以加密通信双方后续连接所传输的信息。一般,每次逻辑连接使用一把新的会话密钥,用完就丢弃。例如:Diffie-Hellman密钥交换

公开密钥算法RSA的描述

选择两个不同的大素数p和q(一般都为100位左右的十进制数字),计算乘积:n=pq

和欧拉函数值:φ (n)=(p−1)(q−1)

随机取一整数e,1<e<φ (n),且e和φ (n)互素。此时可求得d以满足:

ed==1 modφ(n) 则 d = e–1 modφ(n)

这样可以把e和n作为公开密钥,d作为私人密钥。其中,p、q、φ(n)和d就是秘密的陷门(四项并不是相互独立的),这些信息不可以泄露。

RSA加密消息m时(这里假设m是以十进制表示的),首先将消息分成大小合适的数据分组,然后对分组分别进行加密。每个分组的大小应该比n小。

设ci为明文分组m加密后的密文,则加密公式为

ci=mie (mod n)

解密时,对每一个密文分组进行如下运算:

mi=cid (mod n)

加/解密方案的可行性证明可以参考参考资料。

RSA应用举例:选p=5,q=11,则

n=pq=55,φ (n)=(p−1)(q−1)=40

于是明文空间为在闭区间[1, 54]内且不能被5和11整除的数。选择e=7,则d=23。由加/解密公式可以得到加密表如表4-1所示。

4.2 Diffie-Hellman密钥交换

算法概述

Diffie-Hellman算法的安全性在于在有限域上计算离散对数非常困难。

(1)Alice和Bob协商一个大素数p及p的本原根a,a和p可以公开;

(2)Alice秘密产生一个随机数x,计算X=ax mod p,然后把X发送给Bob;

(3)Bob秘密产生一个随机数y,计算Y= ay mod p,然后把Y发送给Alice;

(4)Alice计算k=Yx mod p;

(5)Bob计算k’=Xy mod p。

k和k’是恒等的,因为k= Yx mod p=(ay)x mod p=(ax)y mod p= Xy mod p= k'

则k和k’即为秘密密钥。

4.2.2 针对Diffie-Hellman算法的中间人攻击

4.2.3 认证的Diffie-Hellman密钥交换—针对中间人攻击

4.2.4 三方或多方 Diffie-Hellman

4.3 数字签名

数字签名的基本概念

数字签名与传统签名的比较

数字签名的分类

数字签名的方式:直接数字签名;仲裁数字签名

安全性: 无条件安全的数字签名; 计算上安全的数字签名

可签名次数:一次性的数字签名; 多次性的数字签名

数字签名算法:普通数字签名算法EIGamal RSA DSS/DSA

其他:不可否认的数字签名算法;群签名算法;盲签名算法

补充内容:Java实现的RSA加密和解密;Java实现的Diffie Hellman密钥分配

第六周 ~ 第九周

教学要点

1

TCP/IP

相关网络体系结构及协议复习

2

漏洞扫描与端口扫描

3

各种协议漏洞及其防范方法介绍

教学要求

1

理解和掌握

TCP/IP

网络基础知识中有关网络安全的内容

2

理解和掌握端口扫描的作用和应用

3 了解协议的漏洞分析方法,掌握防范方法及工具应用

讲授内容

TCP/IP 协议栈

通常被认为是一个四层协议系统。

UDP 和 TCP 的对比

UDP :面向无连接,传送数据前不需先建立连接,不可靠,只提供 “ 尽最大努力服务 ”

但实现简单,速度快,开销小

TCP :面向连接,传送数据前建立连接,传送结束后释放连接,复杂性和开销都比 UDP 大

但能提供可靠的全双工信道

有关运输层: 端口的概念

端口就是运输层服务访问点 TSAP 。

端口是用来标志应用层的进程。

端口号:端口使用 16bit 的端口号进行标志。端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。分为两类:

一类是所谓的熟知端口 , 数值为 0~1023—> 常用熟知端口 (well-known port)

其他的端口都属于一般端口,用来随时分配给请求通信的客户进程。

互联网地址

IP 地址是在全世界范围是惟一的 32 bit 的标识符。

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id ,而另一个字段则是主机号 host-id ,它标志该主机(或路由器)。

常用的三种类别的 IP 地址的使用范围

协议封装

TCP 传给 IP 的数据单元称作 TCP 报文段或简称为 TCP 段 (TCP Segment) 。

IP 传给网络接口层的数据单元称作 IP 分组 (IP Datagram) 。

更准确地说, IP 和网络接口层之间传送的数据单元应该是包 (Packet) 。包既可以是一个 IP 数据报,也可以是 IP 数据报的一个片 (Fragment) 。

通过以太网传输的比特流称作帧 (Frame) 。

以太网数据帧的物理特性是其长度必须在 46 ~ 1500 字节之间

IP 协议

网际协议 IP 是 TCP/IP 的核心, IP 协议是不可靠的协议。

IP 数据包中含有发送它的主机的 IP 地址 ( 源地址 ) 和接收它的主机的 IP 地址 ( 目的地址 ) 。

TCP协议

TCP数据包中包含序列号和应答号;排序;重传。

用三次握手建立 TCP 连接

TCP 连接释放的过程

TCP 的正常的连接建立和关闭

TCP的有限状态机模型

补充:IP和地理位置的对应关系;IP数据库;VisualRoute等软件介绍

漏洞扫描相关知识与端口扫描软件PortScanner,SuperScan简介

扫描(scan)就是对计算机系统或者其他网络设备进行安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。扫描软件是一把双刃剑.

扫描的种类 分为三类:

第一类 数据库安全扫描器;

第二类 操作系统安全扫描器;

第三类 网络安全扫描器(针对子网络服务、应用程序、网络设备和网络协议等)。

端口扫描(Port Scan)

常用的端口扫描技术:

TCP connect()扫描;TCP SYN扫描;TCP FIN扫描;IP段扫描;TCP反向ldent扫描

扫描器举例:X-SCAN

TCP 会话劫持 (TCP Hijack)

攻击者截获和重定向客户与服务器之间的数据流,使之经过攻击者的机器。

对于客户和服务器来说,它们都认为是在直接进行通信。

TCP 会话劫持涉及的具体手段:去同步 (Desynchronization)

常用攻击手段分析:

信任与认证(常见于 Unix/Linux) ;伪造 IP 地址及其原理;

序列号猜测;利用 TCP 定时器漏洞实现的攻击;

UDP 协议

ARP/RARP 协议

IP 包是被封装在以太网帧内的。以太网有它自己的地址方案,它采用的是 48 比特的惟一硬件 (MAC) 地址。以太网头包含源和目的硬件地址。

地址解析协议 ARP 原理

ARP 高速缓存的作用:缓存中毒; 常见 ARP 攻击原理与防范

ARP 应当注意的问题:攻击一般局限于局域网内部

DDoS/ DoS 拒绝服务攻击原理: 目前出现最多,也是最难防范的攻击,

常见 DDos 攻击工具 Trinoo , TFN : UDP Flood 攻击, Ping Flood,

Smurf 攻击,伪造源 IP ,特殊 ICMP 数据包通讯 .

其他常见流行攻击工具与攻击手段分析:

结论:攻击手段不断变化,隐蔽性更强,应不断学习提高以跟上网络安全技术发展

第十周

教学要点

1

VPN

的作用和应用场合

2

IPSec

的作用和协议的规范

教学要求

1

了解

VPN

的应用

2

理解

IPSec

的内容和配置

讲授内容

VPN 的安全考虑

实现 VPN 之前,我们不仅应看到其带来的好处,同时应清楚其存在的潜在安全威胁,

常见 VPN 应用环境

VPN 通常用于三种网络环境。

远程接入

VPN 安全策略

是网络安全策略的一个子集,相对来说它要更细节化 (Granular)

VPN 数据安全性

VPN 协 议

VPN 是基于隧道 (Tunneling) 的技术。

VPN 隧道对要传输的数据用 IP 协议进行封装,这样可以使数据穿越公网( Internet) 。

IPSec 的引入:

补充:在网络的不同层次上的保密及特点。针对网络的分层结构,保密层次也分为:

应用层、传输层、网络层、数据链路层。

应用层有 PGP 、 Kerberos 和 Secure Shell 等

传输层有 TLS , SSL 等。

网络层,即 IP 层主要有 IPSEC 等。

数据链路层,专有线路连接,是速度快,但实现难度大,如银行的 ATM 提款机。

IPV4 数据报与 IPv4 的缺陷, IPv6

IPSec 协议

IPSec 是一套开放的,基于标准的安全体系结构提供了大量安全特性

IPSec 的要点

两个通信协议: AH , ESP

两种操作模式:传输模式,隧道模式

一个密钥交换管理协议: IKE

两个数据库:安全策略数据库 SPD ,安全关联数据库 SAD

IPSec 的体系结构

IPSec 数据包信息格式,因特网密钥管理协议

习题 :

当使用隧道方式时,构造了新的外部 IP 首部。对于 IPv4 和 IPv6 ,指出外部分组中的每一个外部 IP 首部字段和扩展首部与内部分组的相应字段或扩展首部的关系。即指出哪些外部值是从内部值得来的,哪些值是独立于内部值构造出来的。

第十一周

教学要点

1

SSL

的作用和原理

2

配置和使用 SSL/TLS

教学要求

1

熟悉

SSL/TLS

中的术语和概念

2

能够为

Web

服务器配置安全通信

讲授内容

传输层安全 SSL 和 TLS

SSL ( Secure Sockets Layer ) /TLS 的历史和发展,各版本 与发展阶段,对应关系

SSL 协议体系结构简述

SSL 的组成

SSL 协议包括两个子协议: SSL 记录协议和 SSL 握手协议

SSL 的三大功能

认证服务器身份,认证客户端身份,使用公钥加密技术产生共享秘密信息

建立加密的 SSL 连接

连接和会话的概念和区别

会话状态包含的元素

连接状态包含的元素

SSL 记录协议

SSL 记录协议的操作过程

改变密码规范协议:最为简单的协议

告警协议:类似 TCP/IP 协议里 ICMP 协议的地位和作用

握手协议

SSL 中最复杂的部分就是握手协议。

握手协议的组成

什么是密码组( Cipher Suite)

SSL 握手协议的步骤

安全 HTTP 通信

SSL 最为普遍的用法是实现浏览器和 WWW 服务器之间的安全 Web HTTP 通信。

HTTPS 可以运行在不同的服务器端口,缺省情况为 443 。

通过为

IIS

配置安全通信理解

SSL

的应用(在实验中体现)

第十二周 ~ 第十三周

教学要点

1

防火墙的原理、特点、分类和应用

2

包过滤技术和代理技术在防火墙中的应用

教学要求

1

理解防火墙的原理以及网络中的作用

2

能够为合适的网络安全情况选择合适的防火墙技术

讲授内容

网络安全整体框架 ( 拓扑图说明 )

防火墙的概念、原理

不可信网络 VS 可信任网络

防火墙的发展

防火墙的实现形式:软件防火墙,硬件防护墙,个人防火墙

实例: CheckPoint NetScreen 、 NAI 、 Zone Alarm ,瑞星个人防火墙 ICS ICF ipchains iptables Linux 上的的移动防火墙 说明其各属于哪类防火墙

防火墙技术(层次)

包过滤型防火墙 应用网关型防火墙 电路级网关防火墙

状态检测型防火墙 自适应代理型防火墙

防火墙体系结构

双重宿主主机体系结构;被屏蔽主机体系结构;被屏蔽子网体系结构。

防火墙领域的前沿技术

传统防火墙的缺点

包过滤技术:最原始的防火墙。

判断主要依据数据域① IP 地址② 协议类型③ TCP/UDP 头信息④ 分片字段

创建包过滤器的规则的几个原则

危险的服务: Telnet , NetBIOS 网络文件系统 (NFS) 网络信息服务 (NIS) X 窗口

服务器 TCP/UDP 端口过滤,端口过滤规则创建, UDP 端口过滤

FTP 带来的困难: FTP 正常模式原理 FTP 被动模式的原理:

无状态操作和有状态检查

包过滤器的优缺点

堡垒 (Bastion) 主机

堡垒主机的概念,堡垒主机的特点,堡垒主机可提供的服务

使用堡垒主机要保证安全型应该考虑的问题

防火墙中的代理技术

比较:包过滤与代理服务器的区别

代理服务器的优缺点,传统代理与透明代理,代理的其他服务如 NAT 等

习题 :

1 如果说防火墙相关的技术主要有三种,它们是?

2 如果说防火墙的体系结构主要有三种,它们是?

3 一台在 Internet 上的计算机,为什么会出现无法访问内网的 WWW 服务器?(从防火墙设置考虑)

4 简单的防火墙过滤规则设置为什么会无法使用 FTP ?

5 下面哪种防火墙规则更安全和有效?为什么?

1 )禁止所有服务,只开启有限服务 2 )开启所有服务,禁止不安全服务

第十四周

教学要点

安全编程中的缓冲区溢出和格式化字符串

教学要求

理解安全编程原理及防范,并在个人编程中避免此类问题

讲授内容

解决三个问题:什么是安全编程?为什么要进行安全编程?如何进行安全编程?

着重分析两类安全编程问题 1 )缓冲区溢出 (Buffer Overflow) 2 )格式化字符串 (Format String)

缓冲区溢出

程序例子 运行结果

缓冲区溢出攻击方式

编写正确的代码建议

利用 CPU 技术防止缓冲区溢出

格式化字符串

攻击方式与缓冲区溢出类似,也是通过覆盖缓冲区来达到攻击的目的的,

利用格式化函数,如 printf() 的格式化字符串 %n 来覆盖缓冲区的。

导致格式化字符串漏洞的原因

利用格式化字符串漏洞可实现的攻击方式

针对格式化字符串漏洞提出一些安全建议。

其他安全编程问题:条件竞争 、临时文件、动态内存分配和释放

实验部分:

实验一 **远程控制原理与实践

(DameWare)**

实验目的

1,

通过

DameWare

的使用理解远程控制的常用操作和模式

2,

掌握远程控制类木马的防治措施

实验内容及步骤

1,

下载和安装

DameWare NT Utilities

2,

使用

DameWare

截取远程桌面并控制(要求保存成功控制的截图),注意,请在相临的机器互相控制测试,不要对本机进行测试。

3,

设置

DameWare

使得远程主机不出现任何提示,体会网络木马攻击的方式。

4,

基于

VC++

的带有远程控制功能的源代码分析(课后,选做内容)

5,

将简单的具有

C/S

功能的

Java

程序加入简单远程控制功能,如远程运行命令(课后,选做内容)

常见问题及解决

1,

总是弹出“找不到网络路径”错误提示对话框,无法远程登录进行维护

解决方法:在注册表编辑器中依次展开

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Lan manServer/Parameter

”找到“

AutoShareServer

”和“

AutoShare Wks

”这两个键,然后将它们删除,这样就可以重新启用“

ADMIN$

”默认隐藏共享了,最后重启文件服务器系统。

实验问题

1,

在上面实验步骤中需要“截图”的位置把实验结果截图保存。

2,

根据你的理解,谈谈远程控制软件和木马有何区别和联系?

实验二 **网络数据包的抓取和分析

(Sniffer)**

实验目的

1,

理解被动攻击与网络数据截取的原理

2,

熟悉常用抓包工具

SnifferPro

的使用,为后续课程打基础

实验内容及步骤

1,

安装

SnifferPro4.5

2,

熟悉

Sniffer

的使用界面

3,

配置数据包过滤器

(Filter)

4,

抓取数据包并分析

5,

Sniffer

实例分析:使用

Email

FTP

客户端进行网络通信并抓取用户密码

(要求保存截获用户名

/

密码的截图)

6,

基于

Java

的抓包软件的安装与使用(课后,选做内容)

实验问题

1,

在上面实验步骤中需要“截图”的位置把实验结果截图保存。

2,

谈谈你对网络数据包监听类软件有哪些作用?还有哪些你知道的此类软件?

实验三

使用 SSL Web 服务器配置安全通信

实验内容:

1,

熟悉

IIS

的配置

2,

掌握

SSL

的作用和在

IIS

上的配置方法

3,

了解

SSL

如何实现

Web

站点的安全

实验步骤:

1,

配置

IIS

,建立测试网页。

2,

配置

SSL

,步骤如下:

参照另一文件:“为

IIS

配置数字证书及安全通信

.doc

3,

Ethereal

测试,分析和比较实验前后,网络上传输的信息的变化。

实验结果(截图):

Https

访问原有站点,浏览器右下角出现锁状图标。

实验问题:

1,

SSL

是一种工作在哪个层次上的安全协议?

2,

在本例中数字证书是可以修改的,实际应用中如何保证其身份认证的有效性?

实验四

网络防火墙 (ZoneAlarm) 的使用和攻防测试

实验内容:

1,

了解防火墙的分类和常见防火墙

2,

掌握

ZoneAlarm

的安装和配置

3,

掌握针对几种类型的网络攻击的攻防

实验步骤:

1,

下载并安装

ZoneAlarm Pro 6.1

2,

配置

ZoneAlarm

使得允许特定类型的程序(及其端口)访问外部网络或被外网访问,并了解二者间的差别。

3,

配置

ZoneAlarm

使得记录通过防火墙的

IP

及事件日志,并打开查看。

4,

利用

SynFlood

攻击进行测试,在未启用

ZoneAlarm

防火墙时,测试被攻击主机的结果(无法正常访问网络);

5,

利用

SynFlood

攻击进行测试,在启用

ZoneAlarm

防火墙时,测试被攻击主机的结果(

ZoneAlarm

弹出提示,正确选择后,可以正常访问网络);

实验结果(截图):

SynFlood.exe

攻击时

ZoneAlarm

弹出的提示画面

实验问题:

1,

可信任网络和不可信任网络有何区别?

2

,防火墙的优点和弱点各是什么?试各列举二点。