1.规范化问题
1.1 求任意属性集的闭包
- 题意: $(A->B,B->C,D->E)$
解: $A^+= ABC$
1.2 求候选码
- 题意: $U=${$A,B,C,D,E$} $F=${$A->D,E->D,D->B,BC->D,DC->A$}
解: $L:CE$
$R:$
$N:$
$LR:ABD$
分析:$R$中的肯定不能作为候选码,$L+N$一定属于候选码的子集,求${(L+R)}^+$看是否等于U,如果不等再慢慢的从LR中去添加。
对于本题${(CE)}^+=CEDBA=U$,所以本题中的候选码为$CE$.
- 题意: $U=${$A,B,C,D,E,G$} $F=${$BE->G,BD->G,CD->A,CE->G,CDE->AB,BC->A,B->D$}
解: $L:CE$
$R:AG$
$N:$
$LR:BD$
分析:${(CE)}^+=CEG≠U$,所有CE不是候选码。${(CEB)}^+=CEBGAD=U$,所以$BCE$是候选码,同理$CDE$也是。
总结:找出只在左侧,右侧,未出现,左右都出现的。其中只出现在右侧的绝不可能成为候选码,只出现在左侧的加未出现的一定是候选码的一部分,这时候通过求闭包找出候选码。注意候选码可能并不唯一。
1.3 判断规范化程度
1NF ${\Rightarrow}^{消除非主属性对码的部分依赖}$2NF ${\Rightarrow}^{消除非主属性对码的传递依赖}$3NF ${\Rightarrow}^{消除主属性对不包含它的码的部分传递依赖}$BCNF
如果都是主属性,至少是3NF
如果一个关系模式的候选码是单属性,那么肯定不存在对码的部分依赖
方法:先求候选码得出主属性和非主属性,然后按照定义判断(部分依赖的定义背住)
- 题意: $U=${$A,B,C,D,E,G$} $F=${$BE->G,BD->G,CD->A,CE->G,CDE->AB,BC->A,B->D$}
解: 主码$BCE$和$CDE$,主属性BCDE,非主属性AG。存在非主属性G对主码BCE的部分函数依赖,所以属于1NF.
- 题意: $U=${$A,B,C,D,E$} $F=${$A->C,C->D,B->C,DE->C,CE->A$}
解: 主码$BE$,存在非主属性C对主码BE的部分函数依赖,所以属于1NF.
1.4 求最小函数依赖集
- 题意: $U=${$A,B,C,D,E,G$} $F=${$BE->G,BD->G,CD->A,CE->G,CDE->AB,BC->A,B->D$}
解: 第一步:$F=${$BE->G,BD->G,CD->A,CE->G,CDE->A,CDE->B,BC->A,B->D$}
第二步:去除冗余的依赖
对于$BE->G$:${(BE)}^+=BEDG$,即$G\in{(BE)}^+$,所哟$BE->G$是冗余函数依赖,去除。
得到:$F=${$BD->G,CD->A,CE->G,CDE->B,B->D$}
第三步:判断依赖得左部是否有冗余的属性(左部只有一个的就不用看了)
最终得到:$F_{min}=${$B->G,CD->A,CE->G,CDE->B,B->D$}
即最小函数依赖集:$F_{min}=${$BG,CDA,CEG,CDEB,BD$}
- 题意: $U=${$A,B,C,D$} $F=${$A->CD,B->CD,C->D,D->C$}
解: 第一步:$F=${$A->C,A->D,B->C,B->D,C->D,D->C$}
第二步:去除冗余的依赖
得到:$F=${$A->D,B->D,C->D,D->C$}(注意答案并不唯一)
第三步:判断依赖得左部是否有冗余的属性(左部只有一个的就不用看了)
最终得到:$F_{min}=${$A->D,B->D,C->D,D->C$}
即最小函数依赖集:$F_{min}=${$AD,BD,CD$}
1.5 保持函数依赖分解为3NF
步骤:
第一步:求出最小函数依赖集
第二步:是否包含所有属性
第三步:相同左部合并
- 题意: $U=${$A,B,C,D$} $F=${$A->CD,B->CD,C->D,D->C$}
解:最小函数依赖集:$F_{min}=${$A->D,B->D,C->D,D->C$}
相同左部合并得到:$F_{min}=${$AD,BD,CD$}
1.6 判断分解后的关系模式是否保持函数依赖
如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的(这是一个充分条件)
1.7 保持函数依赖和无损连接性分解为3NF
步骤:
第一步:先分解为保持依赖的3NF
第二步:查看是否包含候选码
- 题意:$F=${$A->B,B->D,C->DE,D->CE$}
解:$F=${$A->B,B->D,C->D,D->C,D->E$}
候选码:A
保持函数依赖的3NF:$F=${$AD,BD,CDE$}
包含候选码
1.8 保持无损连接分解为BCNF
步骤:
第一步:求出关系模式的候选码
第二步:从依赖集中找出左部不是候选码的依赖进行分解
- 题意:$F=${$CS->G,C->T,TH->R,HR->C,HS->R$},将其分解成BCNF并保持无损连接
解:$U = {C,S,G,T,H,R}$
$L:SH$
$R:G$
$N:$
$LR:CTR$
${SH}^+=SHRCGT=U$,所以$SH$为候选码
分解:$R_1:CSG F_1:{CS->G}$那么$R_2:{CSTHR}$(去掉F1中右部的那个) $F_2:{C->T,TH->R,HR->C,HS->R}$
显然此时$R_1$是BCNF;而$R_2$不是,所以对$R_2$继续分解
$R_{21}:CT$ $F_{21}:{C->T}$ 那么$R_{22}:CSHR$ $F_{22}:{CH->R,HR->C,HS->R}$(去掉$F_{21}$中右部的那个,对于左边的,看谁能推出它,就拿谁替换他)
显然此时$R_{21}$,$F_{21}$是BCNF;而$R_{22}$不是,所以对$R_{22}$继续分解
$R_{221}:CHR$ $F_{221}:{CH->R}$(这个是BCNF)
$R_{222}:CSH$ $F_{222}:{HC->C,HS->C}$即$F_{222}:{HS->C}$
(HC->C属于平凡函数依赖,不用写.而HS->R->C)
最终分解为:$R_1,R_{21},R_{221},R_{222}$;即:$CSG,CT,CHR,CSH$
1.9 判断分解后的关系模式是否保持无损连接
$P_{197}$的11行:应当注意的是,若某个btli被更改,那么该表的li列中凡是btli的符号(不管它是否是开始找到的那些行)均应该做相应的修改
- 题意:$F=${$A->D,E->D,D->B,BC->D,DC->A$},$\rho$={$AB,AE,EC,DBC,AC$}
A | B | C | D | E | |
---|---|---|---|---|---|
AB | $a_1$ | $a_2$ | $b_{13}$ | $b_{14}$ | $b_{15}$ |
AE | $a_1$ | $b_{22}$ | $b_{23}$ | $b_{24}$ | $a_5$ |
EC | $b_{31}$ | $b_{32}$ | $a_3$ | $b_{34}$ | $a_5$ |
DBC | $b_{41}$ | $a_{2}$ | $a_3$ | $a_{4}$ | $b_{45}$ |
AC | $a_{1}$ | $b_{52}$ | $a_3$ | $b_{54}$ | $b_{55}$ |
$\Downarrow$
A | B | C | D | E | |
---|---|---|---|---|---|
AB | $a_1$ | $a_2$ | $b_{13}$ | $a_{4}$ | $b_{15}$ |
AE | $a_1$ | $a_{2}$ | $b_{23}$ | $a_{4}$ | $a_5$ |
EC | $a_{1}$ | $a_{2}$ | $a_3$ | $a_{4}$ | $a_5$ |
DBC | $a_{1}$ | $a_{2}$ | $a_3$ | $a_{4}$ | $b_{45}$ |
AC | $a_{1}$ | $a_{2}$ | $a_3$ | $a_{4}$ | $b_{55}$ |
存在全a行,所以是保持无损连接。
2.查询优化树
步骤:
第一步:画出初始的查询优化树(自下而上)
第二步:将选择操作“下沉”(选择先于连接或者笛卡尔积)
3.E-R图和转化成关系模式
对于实体型间的联系有以下不同的情况:
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(5)具有相同码的关系模式可合并。
4.计算机网络
4.1计算机网络体系
计算机网络体系结构分为3种:OSI体系结构(七层),TCP/IP体系结构(四层),五层体系结构。
- OSI体系结构: 概念清楚,理论也比较完整,但是它既复杂又不实用。
- TCP/IP体系结构:TCP/IP是一个四层体系结构,得到了广泛的运用。
- 五层体系结构:为了方便学习,折中OSI体系结构和TCP/IP体系结构,综合二者的优点,这样既简洁,又能将概念讲清楚。
TCP/IP与OSI最大的不同在于:OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。
4.2五层网络体系结构概述
- 应用层:应用层是网络协议的最高层,主要任务通过进程间的交互完成特定网络应用。应用层协议定义的是应用程序(进程)间通信和交互的规则。
对于不同的网络应用需要有不同的应用层协议,在互联网中的应用层协议很多,如域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,等等。应用层交互的数据单元称为报文。
运输层:有时也译为传输层,它负责为两台主机中的进程提供通信服务。该层主要有以下两种协议:
传输控制协议 (Transmission Control Protocol,TCP):提供面向连接的、可靠的数据传输服务,数据传输的基本单位是报文段(segment);
用户数据报协议 (User Datagram Protocol,UDP):提供无连接的、尽最大努力的数据传输服务,但不保证数据传输的可靠性,数据传输的基本单位是用户数据报。
网络层:网络层负责为分组网络中的不同主机提供通信服务,并通过选择合适的路由将数据传递到目标主机。在发送数据时,网络层把运输层产生的报文段或用户数据封装成分组或包进行传送。
在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫IP数据报。
数据链路层:数据链路层通常简称为链路层。数据链路层在两个相邻节点传输数据时,将网络层交下来的IP数据报组装成帧,在两个相邻节点之间的链路上传送帧。
物理层:保数据可以在各种物理媒介上进行传输,为数据的传输提供可靠的环境。
以下是应用进程的数据在各层之间的传递过程中所经历的变化的简单示意图:
5.网络安全
5.1 传输层概述
5.1.1概述
TCP隶属于传输层,所以要首先明白传输层的作用是什么,传输层能够实现端到端的连接。比如说我们用QQ与别人发信息,网络层能够将信息发送到对方的主机上,主机上使用什么协议来接受这个信息就由传输层来完成,所以传输层实现的是进程到进程间的连接。
传输层提供的是应用程序间的逻辑通信,也就是说它向高层(应用层)屏蔽了下面网络层的细节,使应用程序看起来好像是在传输层之间沿着水平方向传输数据,但事实上两者之间并没有这样一条实际的物理连接。
5.1.2功能
- 网络层提供了点到点的连接,而传输层提供了端到端的服务,也就是进程间的通信;
- 网络层提供的是不可靠的连接,传输层能够实现可靠的传输;
5.1.3协议
- TCP(Transmission Control Protocol) 传输控制协议
- UDP(User Datagram Protocol) 用户数据报协议
5.1.4传输层和应用层的关系
5.1.4.1端口
TCP/IP传输层用一个16位端口号(0~65535)来标识一个端口,但是注意,端口号只具有本地意义,不同计算机的相同端口号没有关联,0一般不用,所以允许有65535个不同的端口号。
两个计算机的进程要实现通信,不仅必须知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用程序)
问:怎么理解端口?
在网络技术中,端口(Port)大致有两种意思:
- 硬件端口,也就是设备间交互的接口,是物理意义上的端口,比如集线器,交换机等设备的接口;
- 软件端口,指的是应用层的的进程和运输层进行层间交互的一种地址,是逻辑意义上的端口,一般指的是TCP/IP协议中的端口。正是这种端口,所有传输层实现的是端到端的通信;
在TCP/IP协议中,用”源IP地址、目的IP地址、源端口号、目的端口号、协议号”这五部分组成一个套接字,来标识一次通信;
- 一个进程可以绑定多个端口号,因为一个进程可以有很多线程或者说是子进程等,这每一个都对应一个端口号,所以一个进程可以绑定多个端口号;
- 但是一个端口号不可以被多个进程绑定,每一个端口号都与唯一的进程对应,if有多个了,那通信不就乱了套了吗;
一个端口号一个进程,一个进程可以多个端口;
5.1.4.2端口号分类
- 公认端口:0~1023,明确与某种服务绑定,比如各种协议;
- 注册端口:1024~65535:松散的绑定一些服务,也就是有许多服务绑定这些端口。
TCP/UDP加上特定的端口号就可以表示应用层的某个协议;
问:知道哪些常用的端口号 - TCP+20/21: ftp协议(文件传输协议);
- TCP+22: ssh协议(专门为远程登录提供的安全性协议)
- TCP+25: SMTP协议(简单邮件传输协议)
- TCP/UDP+53: DNS协议(域名解析协议)
- TCP+80: Http协议(超文本传输协议)
- TCP+443: Https协议(超文本传输安全协议)
5.2TCP协议
一个TCP连接不仅需要端口,还需要IP地址来确定通信的主机。所以IP首部中的发送端IP地址加上发送端端口号就形成了连接的发送端;目标端IP地址再加上接收端端口号就确定了连接的接收端。这样就唯一地确定了一个TCP连接。
在TCP/IP协议中,TCP协议是基于IP协议的。IP协议是对应于网络层的协议,它是一个不可靠的协议。TCP协议的可靠性保证给IP协议提供了可靠环境,从而使得IP协议可以不必考虑传输的可靠性,专注于网络层的功能。这也是协议分层的初衷。
IP协议解决了数据包的路由和传输,上层的TCP就可以不再关注路由和寻址;TCP协议解决了传输的可靠性和顺序问题,上层的应用层就可以直接使用TCP协议进行数据传输,不再需要关心数据段的丢失和重复
http是要基于TCP连接基础上的,简单的说,TCP就是单纯的简历连接,不涉及任何我们需要请求的数据;http协议使用来收发数据,就是为实际应用而来的;
TCP被认为是一种流式传输层服务。它表示TCP发送端从应用程序接收到字符流,并从这个流中提取适当的长度创建数据段,然后将其发送到网络上。TCP接收端则接收数据段,从中提取数据,若没有按序号到达还要对其进行排序,并将其作为字符流交付给接收端应用程序。这样就完成了数据的传输。
下图是一张典型的TCP面向流的传输
问:TCP怎样实现可靠传输?
TCP采用了很多手段来保证可靠传输
- 连接管理机制:在传输数据前需要进行建立连接,也就是三次握手,在数据传送完后还需要释放连接,也就是四次挥手。
- 数据分段:TCP以报文段为单位进行发送,在建立TCP连接的时候,两端协商TCP报文段中的数据字段(也称为数据包)的最大长度(MSS);其长度加上首部长度就是整个TCP报文段的长度;
- 校验和:提供了一种简单的校验,如果收到段的校验和和原来的有差别,那接收方就会丢掉这个报文段;
- 序列号:TCP给发送的数据包的编号,如果接收端收到乱序后会进行重新排序,收到重复的也会进行丢弃;
- 确认应答:接收方收到报文后会回复确认(累计确认:对所有收到的按序的只确认最后,确认号之前的数据已经全部收到了);
- 重发控制:TCP发出一个报文段后,就会启动一个定时器,等接收方确认这个报文段,如果不能及时收到确认,将重发这个报文段;
- 流量控制:通信的双方都有固定大小的缓冲区,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,就把窗口缩小,并把窗口值告诉发送端(提示发送方降低发送的速率,防止包丢失)是利用滑动窗口来实现;
- 拥塞控制:当网络产生拥堵时,减少数据的发送;主要是通过拥塞窗口来实现;(慢开始和拥塞避免;快重传和快恢复);
5.3网安概念注解
特洛伊木马(Trojan Horse)简称木马,在计算机领域中指的是一种后门程序,是黑客用来盗取其他用户的个人消息,甚至是远程控制对方的电子设备而加密制作,然后通过传播或者骗取目标执行该程序,以达到盗取密码等各种数据资料等目的。和病毒相似,木马程序有很强的隐秘性,会随著操作系统启动而启动。
TCP握手协议相关概念
半连接
在三次握手过程中,服务器发送SYN-ACK之后,收到客户端的ACK之前的TCP连接称为半连接(half-open connect).此时服务器处于Syn_RECV状态.当收到ACK后,服务器转入ESTABLISHED状态.半连接队列
在三次握手协议中,服务器维护一个半连接队列,存放半连接。该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的ACK确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。Backlog参数
表示半连接队列的最大容纳数目。SYN-ACK 重传次数
服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。半连接存活时间
是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。
SYN攻击
- SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。
- SYN攻击利用TCP协议三次握手的原理,大量发送伪造源IP的SYN包也就是伪造第一次握手数据包,服务器每接收到一个SYN包就会为这个连接信息分配核心内存并放入半连接队列,如果短时间内接收到的SYN太多,半连接队列就会溢出,操作系统会把这个连接信息丢弃造成不能连接,当攻击的SYN包超过半连接队列的最大值时,正常的客户发送SYN数据包请求连接就会被服务器丢弃。目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。每种操作系统半连接队列大小不一样所以抵御SYN攻击的能力也不一样。
- Syn攻击是一个典型的DOS攻击。检测SYN攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源IP地址是随机的,基本上可以断定这是一次SYN攻击.在Linux下可以如下命令检测是否被Syn攻击
空连接
使用命令net use \\*.*.*.*(IP地址)\ipc$ "" /user:""
就可以简单地和目标建立一个空连接(需要目标开放**ipc$**)。
空连接就是不用密码和用户名的IPC连接,在Windows下,它是用Net命令来实现的.Unicode漏洞
Unicode漏洞是攻击者可通过IE浏览器远程运行被攻击计算机的cmd.exe文件,从而使该计算机的文件暴露,且可随意执行和更改文件的漏洞。
对策- (1)为避免该类攻击,建议下载最新补丁
- (2)安装IIS Lockdown和URL Scan来加固系统,从而避免该类攻击。
- (3)安装Windows 2000的Service Pack 2以上的版本。
-
- IIS是缩写,全称Internet Information Services ( IIS,互联网信息服务 ),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。
- IIS是指World Wide Web server服务,IIS是一种Web(网页)服务组件,专业的说,IIS可以赋予一部主机电脑一组以上的IP地址,而且还可以有一个以上的域名作为Web网站。做过服务器配置的都应该知道IIS.** 制作好了网站怎么才能让别人浏览,就是通过网站服务器来实现的。IIS只是网站服务器的一种而已。**
- Internet Information Service(IIS)是windows开设web网页服务的组件,用来搭载网站运行程序的平台的。还能提供FTP,SMTP等服务。
-
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
FTP协议
- FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
- 默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
gopher协议
gopher协议是一个在http协议诞生前用来访问Internet资源的协议可以理解为http协议的前身或简化版,虽然很古老但现在很多库还支持gopher协议而且gopher协议功能很强大。
它可以实现多个数据包整合发送,然后gopher服务器将多个数据包捆绑着发送到客户端,这就是它的菜单响应。比如使用一条gopher协议的curl命令就能操作mysql数据库或完成对redis的攻击等等。gopher协议使用tcp可靠连接。MS SQL-SERVER空口令入侵
在微软的MSSQL7.0以下的版本在默认安装时其SA(System Administrator)口令为空,所开端口为1433,一个入侵者只需要使用一个MS SQL客户端与SA口令为空的服务器连接就可以获得System的权限。-
- 给数据库起一个随机复杂的名称
- “#”式
- asp式
- asa式
SQL注入攻击
SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
PC机的意思就是个人计算机。
防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
land攻击
LAND 攻击(局域网拒绝服务攻击,英语:Local Area Network Denial attack,缩写:LAND attack,是拒绝服务攻击(DoS 攻击)的一种,通过发送精心构造的、具有相同源地址和目标地址的欺骗数据包,致使缺乏相应防护机制的目标设备瘫痪。这种攻击方法最早在 1997 年被某人以 “m3lt” 的名称提出,并于多年之后的 Windows Server 2003、[Windows XP SP2 等操作系统中重现。Smurf攻击
Smurf 攻击是分布式拒绝服务 (DDoS) 攻击的一种形式,该攻击会导致计算机网络停止服务。
原理:攻击者向网络广播地址发送ICMP包,并将回复地址设置成受害网络的广播地址,通过使用ICMP应答请求数据包来淹没受害主机的方式进行,最终导致该网络的所有主机都对次ICMP应答请求作出答复,导致网络阻塞。更加复杂的Smurf攻击攻击将源地址改为第三方受害者,最终导致第三方崩溃。UDP-Flood攻击
UDP洪泛是一种拒绝服务攻击,其中大量的用户数据报协议(UDP)数据包被发送到目标服务器,目的是压倒该设备的处理和响应能力。防火墙保护目标服务器也可能因UDP泛滥而耗尽,从而导致对合法流量的拒绝服务。Teardrop攻击
Teardrop攻击是一种畸形报文攻击。是基于UDP的病态分片数据包的攻击方法,其工作原理是向被攻击者发送多个分片的IP包(IP分片数据包中包括该分片数据包属于哪个数据包以及在数据包中的位置等信息),某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。Hotfix是微软公司研发的一个程序,针对某一个具体的系统漏洞或安全问题而发布的专门解决该漏洞或安全问题,通常称为修补程序。
冲击波病毒
冲击波病毒(Worm.Blaster)是利用在2003年7月21日公布的RPC漏洞进行传播的,该病毒于当年8月爆发。病毒运行时会不停地利用IP扫描技术寻找网络上系统为Win2000或XP的计算机,找到后就利用DCOM/RPC缓冲区漏洞攻击该系统,一旦攻击成功,病毒体将会被传送到对方计算机中进行感染,使系统操作异常、不停重启、甚至导致系统奔溃。另外,该病毒还会对系统升级网站进行拒绝服务攻击,导致该网站堵塞,使用户无法通过该网站升级系统。只要是计算机上有RPC服务并且没有打安全补丁的计算机都存在有RPC漏洞,具体涉及的操作系统是:Windows 2000\XP\Server 2003\NT4.0。RPC漏洞是远程过程调用的漏洞。
“红色代码”病毒是2001年7月15日发现的一种网络蠕虫病毒,感染运行Microsoft IIS Web服务器的计算机。其传播所使用的技术可以充分体现网络时代网络安全与病毒的巧妙结合,将网络蠕虫、计算机病毒、木马程序合为一体,开创了网络病毒传播的新路,可称之为划时代的病毒。如果稍加改造,将是非常致命的病毒,可以完全取得所攻破计算机的所有权限并为所欲为,可以盗走机密数据,严重威胁网络安全。
TCSEC(Trusted Computer System Evaluation Criteria; commonly called the “Orange Book”)美国可信计算机系统评价标准是计算机系统安全评估的第一个正式标准,具有划时代的意义。该准则于1970年由美国国防科学委员会提出,并于1985年12月由美国国防部公布。TCSEC最初只是军用标准,后来延至民用领域。TCSEC将计算机系统的安全划分为4个等级、7个级别。
-包过滤技术
基于协议特定的标准,路由器在其端口能够区分包和限制包的能力叫包过滤(Packet Filtering)。其技术原理在于加入IP过滤功能的路由器逐一审查包头信息,并根据匹配和规则决定包的前行或被舍弃,以达到拒绝发送可疑的包的目的。过滤路由器具备保护整个网络、高效快速并且透明等优点,同时也有定义复杂、消耗CPU资源、不能彻底防止地址欺骗、涵盖应用协议不全、无法执行特殊的安全策略并且不提供日志等局限性。
-
- 包过滤防火墙是用一个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其它更复杂的动作。
- 包过滤是一种内置于Linux内核路由功能之上的防火墙类型,其防火墙工作在网络层和传输层。
状态检测技术
状态检测技术是防火墙近几年才应用的新技术。传统的包过滤防火墙只是通过检测IP包头的相关信息来决定数据流的通过还是拒绝,而状态检测技术采用的是一种基于连接的状态检测机制,将属于同一连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状态表的共同配合,对表中的各个连接状态因素加以识别。这里动态连接状态表中的记录可以是以前的通信信息,也可以是其他相关应用程序的信息,因此,与传统包过滤防火墙的静态过滤规则表相比,它具有更好的灵活性和安全性。状态检测防火墙采用了状态检测包过滤的技术,是传统包过滤上的功能扩展。
代理防火墙
代理防火墙通过一种代理(Proxy)技术参与到一个TCP连接的全过程。从内部发出的数据包经过这样的防火墙处理后,就好像是源于防火墙外部网卡一样,从而可以达到隐藏内部网结构的作用。这种类型的防火墙被网络安全专家和媒体公认为是最安全的防火墙。代理服务型防火墙
代理服务型防火墙是防火墙的一种,代表某个专用网络同互联网进行通讯的防火墙,类似在股东会上某人以你的名义代理你来投票。当你将浏览器配置成使用代理功能时,防火墙就将你的浏览器的请求转给互联网;当互联网返回响应时,代理服务器再把它转给你的浏览器。代理服务器也用于页面的缓存,代理服务器在从互联网上下载特定页面前先从缓存器取出这些页面。内部网络与外部网络之间不存在直接连接。加密和认证
首先我们需要区分加密和认证这两个基本概念。
加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限。其重点在于用户的真实性。两者的侧重点是不同的。公钥和私钥
在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:- 一个公钥对应一个私钥。
- 密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
- 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
- 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
总结:公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。
公钥和私钥是成对的,它们互相解密(密钥指公钥或私钥,密钥对指公钥加私钥)。
公钥和私钥都可以加密和解密。
私钥数字签名,公钥验证。
“MYDOOM”变种Q(Worm.Mydoom.q)病毒
大量发送病毒邮件,浪费网络和系统资源;大量病毒垃圾邮件可能造成中小型邮件服务器极不稳定,甚致崩溃的现象;自动从网络中下载后门木马,并立即执行。爱虫病毒
- 爱虫病毒(Vbs.loveletter),又称“我爱你”(I Love You)病毒,是一种蠕虫病毒,它与1999年的梅丽莎病毒非常相似。据称,这个病毒可以改写本地及网络硬盘上面的某些文件。用户机器染毒以后,邮件系统将会变慢,并可能导致整个网络系统崩溃,当时在全球更是造成了百亿美元的损失。
- 2000年5月4日,一种名为“我爱你”的电脑病毒开始在全球各地迅速传播,短短的一两天内就侵袭了100多万台计算机。这个病毒是通过Microsoft Outlook电子邮件系统传播的,邮件的主题为“I LOVE YOU”,并包含一个附件。一旦在Microsoft Outlook里打开这个邮件,系统就会自动复制并向地址簿中的所有邮件电址发送这个病毒。
-
- 计算机病毒与蠕虫的一个重要区别是,病毒需要借助活动的宿主程序或已被感染的活动操作系统才能运行、造成破坏并感染其他可执行文件或文档;而蠕虫是独立的恶意程序,可以通过计算机网络进行自我复制和传播,不需要人工干预。
- 病毒通常附加到可执行文件或 Word 文档。它们多通过 P2P 文件共享、受感染的网站和电子邮件附件下载进行传播。病毒侵入系统后,会保持休眠状态,直到被感染的宿主文件或程序被激活,反过来再激活病毒,使其能够在您的系统上运行和复制。
- 相反,蠕虫无需借助宿主程序即可运行、自我复制和传播。一旦蠕虫侵入系统(通常通过网络连接或以下载的文件形式),就会立即自行创建多个副本,并通过网络或互联网连接传播,感染网络上任何没有得到充分保护的计算机和服务器。网络蠕虫的每个后续副本也可以自我复制,因此可以通过互联网和计算机网络非常迅速地传播感染。
Worm.Klez
一个通过INTERNET以及EMAIL附件传播感染的蠕虫类病毒,本身是一个WINDOWS PE格式的可执行程序,大约在57-65K之间,是用MICROSOFT VISUALC++编写,它不仅在本地的网络散布并且通过电子邮件消息传播,还会在WINDOWS临时文件夹下建立一个名字为以字母K开头的可执行文件,把“ Win32.Klez ”病毒写进去,并且启动该病毒。IP碎片攻击
IP碎片攻击指的是一种计算机程序重组的漏洞。链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。以太网的MTU是1500,你可以用 netstat -i 命令查看这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。ICMP的全称是Internet Control Message Protocol(网间报文控制协议),它是IP不可分割的一部分,用来提供错误报告。一旦发现各种错误类型就将其返回原主机,我们平时最常见的ping命令就是基于ICMP的。
-
分组加密
- 明文被分为固定长度的块(即为分组),对每个分组用相同的算法和密钥加解密。
- 分组长度:64b,128b,256b。明文不是上述整数倍时,在其后填充。填充内容可自选,一般0。而且填充也可掩盖真实长度。
- 密文长度与明文长度相同:①密文长度不能小于明文长度,因为这样就会出现不同明文产生相同密文的情况,就是不可逆的了,解密时不行;②密文长度可以大于明文长度,但是这样会使效率降低。所以一般都是选择二者相同长度。
流加密
- 每次加密数据流的一位或一字节,连续处理。异或
- 算法结构:
- 伪随机序列
- 明文与密钥流逐位异或
- 设计上的考虑
- 密钥流周期要长。
- 统计上随机。
- 密钥流的随机性与密钥长度相关。
- 不同的明文要用不同的密钥
唯密文攻击
在密码学或密码分析中,唯密文攻击是一种攻击模式,指的是在仅知已加密文字(即密文)的情况下进行攻击。此方案可同时用于攻击对称密码体制和非对称密码体制。PGP加密
PGP(英语:Pretty Good Privacy,中文翻译“优良保密协议”)是一套用于消息加密、验证的应用程序,采用IDEA的散列算法作为加密与验证之用
PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤支持几种算法,可以选择一个使用。每个公钥均绑定唯一的用户名和/或者E-mail地址。这个系统的第一个版本通常称为可信Web或X.509系统;X.509系统使用的是基于数字证书认证机构的分层方案,该方案后来被加入到PGP的实现中。当前的PGP加密版本通过一个自动密钥管理服务器来进行密钥的可靠存放。-
- X.509 是密码学里公钥证书的格式标准。 X.509 证书己应用在包括TLS/SSL(WWW万维网安全浏览的基石)在内的众多 Internet协议里.同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。对于一份经由可信的证书签发机构签名或者可以通过其它方式验证的证书,证书的拥有者就可以用证书及相应的私钥来创建安全的通信,对文档进行数字签名.
- 另外除了证书本身功能,X.509还附带了证书吊销列表和用于从最终对证书进行签名的证书签发机构直到最终可信点为止的证书合法性验证算法。
- X.509是ITU-T标准化部门基于他们之前的ASN.1定义的一套证书标准。
CA证书
CA是证书的签发机构,它是公钥基础设施(Public Key Infrastructure,PKI)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。SSL协议
SSL(Secure Sockets Layer 安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。-
- 互联网安全协议(英语:Internet Protocol Security,缩写为IPsec),是一个协议簇,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)。
- IPsec主要由以下协议组成:
- 一、认证头(AH),为IP数据报提供无连接数据完整性、消息认证以及防重放攻击保护;
- 二、封装安全载荷(ESP),提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性;
- 三、安全关联(SA),提供算法和数据包,提供AH、ESP操作所需的参数。
- 四、密钥协议(IKE),提供对称密码的钥匙的生存和交换。
- IPsec协议工作在OSI模型的第三层,使其在单独使用时适于保护基于TCP或UDP的协议(如安全套接子层(SSL)就不能保护UDP层的通信流)。这就意味着,与传输层或更高层的协议相比,IPsec协议必须处理可靠性和分片的问题,这同时也增加了它的复杂性和处理开销。相对而言,SSL/TLS依靠更高层的TCP(OSI的第四层)来管理可靠性和分片。
-
- PPTP(Point to Point Tunneling Protocol,点对点隧道协议)默认端口号:1723
- L2TP(Layer 2 Tunneling Protocol,第二层隧道协议)
电子商务系统
电子商务系统,广义上讲是商务活动中各参与方和支持企业进行交易活动的电子技术手段的集合。狭义上讲,电子商务系统则是指企业、消费者、银行、政府等在Internet和其他网络的基础上,以实现企业电子商务活动的目标,满足企业生产、销售、服务等生产和管理的需要,支持企业的对外业务协作,从运作、管理和决策等层次全面提高企业信息化水平,为企业提供具备商业智能的计算机网络系统。数字信封
数字信封是将对称密钥通过非对称加密(即:有公钥和私钥两个)的结果分发对称密钥的方法。数字信封是实现信息保密性验证的技术。
数字信封是一种综合利用了对称加密技术和非对称加密技术两者的优点进行信息安全传输的一种技术。数字信封既发挥了对称加密算法速度快、安全性好的优点,又发挥了非对称加密算法密钥管理方便的优点。Exim系统
Exim是一个MTA(Mail Transfer Agent,邮件传输代理)服务器软件,该软件基于GPL协议开发,是一款开源软件。该软件主要运行于类UNIX系统。通常该软件会与Dovecot或Courier等软件搭配使用。Exim同时也是“进出口”(Export-Import)的英文缩写。Sniffer
Sniffer,中文可以翻译为嗅探器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。流密码算法
流密码算法,或者叫序列密码,算法大概的原理是,每次加密都通过密钥生成一个密钥流,解密也是使用同一个密钥流,明文与同样长度的密钥流进行异或运算得到密文,密文与同样的密钥流进行异或运算得到明文。流密码算法是以“一次性密码本“为雏形演变出来的加密算法,一次性密码本算法很重要的一个特性就是密钥使用的“一次性”,来看看一次性密码本的算法原理。IKE(网络密钥交换协议)
IKE属于一种混合型协议,由Internet安全关联和密钥管理协议(ISAKMP)和两种密钥交换协议OAKLEY与SKEME组成。IKE创建在由ISAKMP定义的框架上,沿用了OAKLEY的密钥交换模式以及SKEME的共享和密钥更新技术,还定义了它自己的两种密钥交换方式:主模式和积极模式。VPN
VPN的英文全称是“VirtualPrivateNetwork”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的内部专线。PPDR 模型
PPDR 模型是在整体的安全策略的控制和指导下,综合运用防护工具(如防火墙、身份认证、加密等)的同时,利用检测工具(如漏洞评估、入侵检测系统)了解和评估系统的安全状态,通过适当的响应将系统调整到一个比较安全的状态。保护、检测和响应组成了一个完整的、动态的安全循环。
PPDR(Policy Protection Detection Response) 的基于思想是:以安全策略为核心,通过一致性检查、流量统计、异常分析、模式匹配以及基于应用、目标、主机、网络的入侵检查等方法进行安全漏洞检测。检测使系统从静态防护转化为动态防护,为系统快速响应提供了依据。当发现系统有异常时,根据系统安全策略快速作出反应,从而达到保护系统安全的目的。
PKI
PKI(Public Key Infrastructure)即公钥基础设施,是提供公钥加密和数字签名服务的系统,目的是为了自动管理密钥和证书,保证网上数据信息传输的机密性、真实性、完整性和不可否认性。PKI采用证书进行公钥管理,通过第三方的可信任机构,把用户的公钥和用户的其它标识信息捆绑在一起,从而在网上验证用户的身份。一个PKI系统由公钥密码技术(Public Key Cryptography)、证书认证机构(CA)、注册机构(RA)、数字证书(Digital Certificate)和相应的PKI存储库组成。
以下介绍几个PKI相关的术语:- 公钥密码技术:用户使用公钥密码技术产生密钥对,分别为公钥(public key)和私钥(private key),公钥向外界公开,私钥则自己保留。公钥与私钥互为补充,被一个密钥加密的数据,只可以用相匹配的另外一个密钥解密。
- 认证机构(CA):是一个向个人、计算机或任何其它实体颁发证书的可信实体。CA受理证书服务申请,根据证书管理策略验证申请方的信息,然后用其私钥对证书进行签名,并颁发该证书给申请方。
- 注册机构(RA):RA是CA的延伸,RA向CA转发证书服务申请,也向目录服务器转发CA颁发的数字证书和证书撤消列表,以提供目录浏览和查询服务。
- 证书撤销列表(CRL):证书具有一定的使用期限,但是由于密钥被泄露、业务终止等原因,CA可通过撤销证书缩短证书的使用期限。一个证书一旦被撤消,证书中心就要公布CRL来声明该证书是无效的,并列出不能再使用的证书的序列号。
安全网关的以下功能模块支持PKI功能:
- IKE VPN:建立IKE VPN时,支持PKI认证。
- HTTPS/SSH:使用HTTPS或者SSH方式访问安全网关时,支持PKI认证。
6.数据库试卷
6.1 2005哈尔滨工程大学数据库试卷A卷
7.参考文献
- 传输层详解
- 计算机网络的七层结构、五层结构和四层结构
- TCP SYN洪水 (SYN Flood) 攻击原理与实现
- MS SQL-SERVER空口令入侵漏洞
- 防止Access数据库被非法下载的方法比较
- 防火墙-IBM文档
- 网安社区
- Hotfix热修复
- Hotfix热修复
- HTTP协议
- 公钥和私钥的区别
- 密钥对,密钥,公钥,私钥的区分
- ICMP攻击和基于ICMP的路由欺骗
-------------本文结束感谢您的阅读-------------
本文链接: http://corner430.github.io/2022/03/15/%E5%93%88%E5%B7%A5%E7%A8%8B%E5%A4%8D%E8%AF%95%E7%AC%94%E8%AE%B0/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
