网络安全课程教案
《网络安全》课程教案
《网络安全》课程教案
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
实例分析:使用
或
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
,防火墙的优点和弱点各是什么?试各列举二点。