《网络安全》课程教案

《网络安全》课程教案

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/CCComputer Emergency Response Team/Coordination Center

http://www.cert.org

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 FlowInterceptionInterruption  ModificationFabrication

Model for Network SecurityNetwork 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变成CB变成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的破解

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

2.3  A 5算法     序列密码简介

2.4  其它对称密码算法

2.4.1   IDEA

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

补充内容

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

 

第四周

教学要点

1 单向散列函数原理与应用

2 单向散列函数安全性分析

教学要求

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

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

讲授内容

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

单向散列函数:

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

    其中,h的长度为m

单向散列函数算法MD5SHA-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 公钥密码体制的原理和代表算法RSADiffie-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协议栈

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

UDPTCP的对比

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)

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

IP协议

网际协议IPTCP/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攻击工具TrinooTFN 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的引入:

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

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

应用层有PGPKerberosSecure Shell

传输层有TLS SSL等。

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

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

IPV4数据报与IPv4的缺陷,IPv6

IPSec协议

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

IPSec的要点

两个通信协议:AH , ESP

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

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

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

IPSec的体系结构

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

习题

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

 

第十一周

教学要点

1  SSL的作用和原理

2  配置和使用SSL/TLS

教学要求

1 熟悉SSL/TLS中的术语和概念

2 能够为Web服务器配置安全通信

讲授内容

传输层安全SSLTLS

SSLSecure 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  NetScreenNAIZone Alarm,瑞星个人防火墙 ICS ICF ipchains iptables Linux上的的移动防火墙  说明其各属于哪类防火墙

防火墙技术(层次)

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

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

防火墙体系结构

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

防火墙领域的前沿技术

传统防火墙的缺点

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

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

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

危险的服务: TelnetNetBIOS 网络文件系统(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实例分析:使用EmailFTP客户端进行网络通信并抓取用户密码 (要求保存截获用户名/密码的截图)

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

实验问题

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

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

 

实验三 使用SSLWeb服务器配置安全通信

实验内容:

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,防火墙的优点和弱点各是什么?试各列举二点。

 

你可能感兴趣的:(网络安全)