软件评测师笔记(5)计算机网络与安全相关
1. OSI七层模型
由低层到高层排序如下
层 | 功能 | 单位 | 协议 | 设备 |
---|---|---|---|---|
物理层 | 在链路上透明地传输位。需要完成的工作包括线路配置、确定数据传输模式、确定信号形式、对信号进行编码、连接传输介质。为此定义了建立、维护和拆除物理链路所具备的机械特性、电器特性、功能特性以及规程特性 | 比特 | 中继器、集线器 | |
数据链路层 | 把不可靠的信道变为可靠的信道。为此将比特组成帧,在链路上提供点到点的帧传输,并进行差错控制、流量控制等 | 帧 | 交换机、网桥 | |
网络层 | 在源节点-目的节点之间进行路由选择、拥塞控制、顺序控制、传送包,保证报文的正确性。网络层控制着通信子网的运行,因而它又称为通信子网 | IP分组 | IP、ICMP、IGMP、ARP、RARP | 路由器 |
传输层 | 提供端-端间可靠透明的数据传输,保证报文顺序的正确性、数据的完整性 | 报文段 | TCP、UDP | 网关 |
会话层 | 建立通信进程的逻辑名字于物理名字之间的联系 提供进程之间建立、管理和终止会话的方式,处理同步与恢复问题 |
RPC、SQL、NFS | 网关 | |
表示层 | 实现数据转换(包括格式转换、压缩、加密等),提供标准的应用接口、公用的通信服务、公共数据表示方法 | JPEG、ASCII、GIF、MPEG、DES | 网关 | |
应用层 | 对用户不透明的提供各种服务如E-mail | 数据 | Telnet、FTP、HTTP、SMTP、POP3、DNS、DHCP等 | 网关 |
2. 网络协议
2.1 网络层协议
- IP:网络层最重要的核心协议,在源地址和目的地址之间传从数据报,面向无连接,不可靠
- ICMP:因特网控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息
- IGMP:网络组管理协议,允许因特网中的计算机参加多播,是计算机用作向相邻多目路由器报告多目组成成员的协议,支持组播
- ARP和RARP:地址解析协议,ARP是将IP地址转换为物理地址,RARP是将物理地址转换为IP地址
2.2 传输层协议
- TCP:整个TCP/IP协议族中最重要的协议之一,在IP协议提供的不可靠数据基础上,采用了重发技术,为应用程序提供了一个可靠的、面向全连接的,全双工的数据传输服务。一般用于传输数据量比较少,且对可靠性要求高的场合
- UDP:是一种不可靠、无连接的协议,有助于提高传输速率,一般用于传输数据量大,第可靠性要求不高,但要求速度快的场合
2.3 应用层协议
基于TCP的FTP,HTTP等都是可靠传输。基于UDP的DHCP、DNS等都是不可靠传输
- FTP:可靠的文本传输协议,用于因特网上的控制文件的双向传输
- HTTP:超文本传输协议,用于从www服务器传输超文本到本地浏览器的传输协议。使用SSL加密后的安全网页协议为HTTPS
- Telnet:远程连接协议,是因特网远程登录服务的标准协议和主要方式
- TFTP:不可靠的、开销不大的小文件传输协议
- SNMP:简单网络管理协议,由一组网络管理的标准协议,包含一个应用层协议、数据库模型和一组资源对象。该协议能够支持网络管理系统,用于监测连接到网络上的设备是否有引起管理师关注的情况,该协议封装在UDP中传送
- DHCP:动态主机配置协议,基于UDP,基于C/S模型,为主机动态分配IP地址,有固定分配,动态分配,自动分配三种方式
客户端可以从DHCP服务器获得本机IP地址,DNS服务器地址,DHCP服务器地址,默认网关地址 - DNS:域名解析协议,通过域名解析出IP协议
2.4 邮件相关协议
- SMTP:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,邮件报文采用ASCII格式表示
- POP3:用于邮件接收的协议。邮件客户端通过与服务器之间建立TCP链接,采用Client/Server计算模式来传送邮件。支持客户端远程管理在服务器上的电子邮件
- MIME:提供多格式邮件服务(附加多媒体)
- PGP:安全邮件协议
3. 通信方式
- 单工:只能由设备A发送给设备B,即数据只能单向流动
- 半双工:设备A和设备B可以相互通信,但同一时刻数据流只能单向流动
- 全双工:设备A和设备B在任意时刻都能相互通信
4. IPv4网络号
A类:8位,前缀固定是0
B类: 16位,前缀固定是10
C类: 24位,前缀固定是110
5.计算机网络补充知识
路由器
- 选路原则:最长匹配
- 路由器:可以分割广播风暴;
- 交换机:可以分割冲突域;
集线器和网桥的区别
- 集线器:物理层设备
- 网桥:数据链路层设备
DMZ
- 俗称:隔离区,非军事化区,非安全系统与安全系统之间的缓冲区
- 可以放置一些必须公开的服务器设置,如web服务器、FTP服务器、论坛
IPV6
- IPV6之间通信:通过IPV4+隧道技术进行通信
- IPV6和IPV4进行通信:可使用翻译技术
6. 信息安全含义及属性
信息安全含义及属性:保护信息的保密性、完整性、可用性,另外也包括其他属性,如:真实性、可核查性、不可抵赖性和可靠性。
- 保密性:信息不被泄漏给未授权的个人、实体和过程或不被其使用的特性。包括:(1)最小授权原则(2)防暴露(3)信息加密(4)物理保密
- 完整性:信息未经授权不能改变的特性。影响完整性的主要因素有设备故障、误码、人为攻击和计算机病毒等。保证完整性的方法包括:
(1)协议:通过安全协议检测出被删除、失效、被修改的字段。
(2)纠错编码方法:利用校验码完成检错和纠错功能。
(3)密码校验和方法。
(4)数字签名:能识别出发送方来源。
(5)公证:请求系统管理或中介机构证明信息的真实性。 - 可用性:需要时,授权实体可以访问和使用的特性。一般用系统正常使用时间
和整个工作时间之比来度量。
其他属性:
- 真实性:指对信息的来源进行判断,能对伪造来源的信息予以鉴别。
- 可核查性:系统实体的行为可以被独一无二的追溯到该实体的特性,这个特性就是要求该实体对其行为负责,为探测和调查安全违规事件提供了可能性。
- 不可抵赖性:是指建立有效的责任机制,防止用户否认其行为,这一点在电子商务中是极其重要的。
- 可靠性:系统在规定的时间和给定的条件下,无故障地完成规定功能的概率。
7. 计算机病毒和木马
病毒:编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
木马:是一种后门程序,常被黑客用作控制远程计算机的工具,隐藏在被控制电脑上的一个小程序监控电脑一切操作并盗取信息。
代表性病毒实例
- 蠕虫病毒(感染EE文件):熊猫烧香,罗密欧与朱丽叶,恶鹰,尼姆达,冲击波,欢乐时光。
- 木马:QQ消息尾巴木马,特洛伊木马,X卧底。
- 宏病毒(感染word、ecel等文件中的宏变量):美丽沙,台湾1号。
- CIH病毒:史上唯一破坏硬件的病毒。
- 红色代码:蠕虫病毒+木马。
8. 网络入侵手段
安全防护策略是软件系统对抗攻击的主要手段。主要包括安全日志、入侵检测、隔离防护和漏洞扫描等。
- 安全日志是记录非法用户的登录、操作等信息,以便发现问题并提出解决措施。
- 入侵检测是主动采集信息,从中分析可能的网络入侵或攻击。
- 漏洞扫描是对软件系统及网络系统进行与安全相关的检测,找出安全隐患和可被黑客利用的漏洞。
9. 网络安全协议
物理层主要使用物理手段,隔离、屏蔽物理设备等,其它层都是靠协议来保证传输的安全,具体如下图所示:
SSL协议:安全套接字协议,被设计为加强Web安全传输(HTTP/HTTPS/)的协议,安全性高,和HTTP结合之后,形成HTTPS安全协议,端口号为443.
SSH协议:安全外壳协议,被设计为加强Telnet/FTP安全的传输协议。
SET协议:安全电子交易协议主要应用于B2C模式(电子商务)中保障支付信息的安全性。SET协议本身比较复杂,设计比较严格,安全性高,它能保证信息传输的机密性、真实性、完整性和不可否认性。SET协议是PKI框架下的一个典型实现,同时也在不断升级和完善,如ST2.0将支持借记卡电子交易。
Kerberos协议:是一种网络身份认证协议,该协议的基础是基于信任第三方,它提供了在开放型网络中进行身份认证的方法,认证实体可以是用户也可以是用户服务。这种认证不依赖宿主机的操作系统或计算机的P地址,不需要保证网络上所有计算机的物理安全性,并且假定数据包在传输中可被随机窃取和篡改。
PGP协议:使用RSA公钥证书进行身份认证,使用IDEA(128位密钥)进行数据加密,使用MD5进行数据完整性验证。Y发送方A有三个密钥:A的私钥、B的公钥、A生成的一次性对称密钥;接收方B有两个密钥:B的私钥、A的公钥。
10. 加密与解密机制
不同加密机制或算法的用途、强度是不相同的,一个软件或系统中的加密机制使用是否合理,强度是香满足当前要求,需要通过测试来完成,通常模拟解密是测试的一个重要手段。
对称加密技术(DES、3DES、AES)
数据的加密和解密的密钥(密码)是相同的,属于不公开密钥加密算法。其缺点是加密强度不高(因为密钥位数少),且密钥分发困难(因为密钥还需要传输给接收方,也要考虑保密性等问题)。优点是加密速度快,适合加密大数据。
非对称加密技术(RSA、ECC)
数据的加密和解密的密钥是不同的,分为公钥和私钥。是公开密钥加密算法。其缺点是加密速度慢。优点是安全性高,不容易破解
信息摘要算法:MD5(产生128位的输出)、SHA-1(安全散列算法,产生160位的输出,安全性更高)
认证中心CA用CA的私钥做用户的数字签名