网络安全基础
传输层安全
Web安全需求
万维网World Wide Web,WWW从根本上说是一个运行于互联网和TCP/IP上的客户端/服务器应用系统。
WEB安全威胁
完整性
威胁:用户数据修改、特洛伊木马浏览器、内存修改、更改传输中的消息;
后果:丢失消息、设备受损、易受其他威胁;
对策:密码校验和;
机密性
威胁:网上窃听、窃取服务器信息、窃取客户端信息、窃取网络配置信息、窃取客户与服务器通话信息;
后果:信息丢失、秘密丢失;
对策:加密、WEB委托代理;
拒绝服务
威胁:破坏用户线程、用假消息使机器溢出、填满硬盘或内存、用DNS攻击孤立机器;
后果:中断、干扰、阻止用户完成任务;
对策:难以防止;
认证
威胁:假冒合法用户、伪造数据;
后果:用户错误相信虚假信息;
对策:密码技术;
另一种分类方法是按照威胁发生的地域:WEB服务器、浏览器、浏览器与服务器之间的网络通信。
WEB流量安全方法
网络层:
|HTTP|FTP|SMTP|
| TCP |
| IP/IPSec☆ |
传输层:
|HTTP|FTP|SMTP|
| SSL或TLS☆ |
| TCP |
| IP |
应用层:
|S/MIME☆|
|Kerberos☆|SMTP |HTTP|
|UDP | TCP|
| IP |
传输层安全
TLS是一种通用服务,是依赖TCP实现的一组协议。TLS可以作为底层协议套件的一部分被提供,因此对应用程序时透明的。或者可以嵌入到特定的包中。
TLS体系结构
TLS使用TCP提供一种可靠的端到端安全服务,由两层协议组成。
TLS能为更高层协议提供基本安全服务。
超文本传输协议Hypertext Transfer Protocol,HTTP是为WEB客户端/服务器的交互提供传输服务的协议,能在TLS的顶层运行。
TLS协议栈
|握手协议|修改密码规格协议|报警协议|HTTP|
|SSL记录协议 |
|TCP |
|IP |
连接:一种能够提供合适服务类型的传输。这种点对点的连接是短暂的。每一条连接都与一个会话相关联。
会话:是客户与服务器之间的一种关联。会话通过握手协议创建。所有会话都定义了密码安全参数集合,这些参数可以在多个安全连接之间共享。会话通常用来减少每次连接建立安全参数的昂贵协商费用。
实际上还有若干个状态与每个会话相关联。会话中的读写(接收发送)就存在一个当前操作状态。
握手协议中还有读挂起和写挂起状态。握手协议结束后挂起状态回到当前状态。
会话状态的定义参数:
会话标识符、对等实体证书、压缩方法、密码规格、主密钥、可恢复性、服务器和客户端随机数、服务器写MAC密钥、客户端写MAC密钥、服务器写密钥、客户端写密钥、初始化向量、序列号。
TLS记录协议
TLS记录协议位TLS连接提供机密性和消息完整性这两种服务。
修改密码规格协议
警报协议
用来将与TLS相关警报传达给对等实体。
握手协议
握手协议允许客户端和服务器互相认证,并协商加密和MAC算法,保护数据使用的密钥通过TLS记录传送。
过程:
1、客户端发送建立连接请求。等待服务器响应。
2、服务器认证和密钥交换。
3、客户端认证和密钥交换。
4、完成。
密码计算
主密钥的创建、密码参数产生、伪随机函数。
心跳协议
计算机网络环境中,心跳时由硬件或软件产生的周期性信号,用来指示正常操作或同步系统的其他部分。
SSL/TLS攻击
攻击握手协议、攻击记录和应用数据协议、攻击PKI、其他攻击。
TLSv1.3
用于增强TLS安全性。
HTTPS
HTTPS = HTTP和SSL。用HTTP和TLS的结合实现网络浏览器和服务器之间的安全通信。
HTTP连接使用80端口,HTTPS使用443端口。
使用HTTPS时,加密了要求文件的URL、文件的内容、浏览器表单的内容(由浏览器使用者填写)、从浏览器发送到服务器和从服务器发送到浏览器的Cookie、HTTP报头的内容。
连接初始化
用户在合适端口向服务器发起连接,发送TLS ClientHello,开始TLS信号交换。TLS信号交换完毕,用户发起第一次HTTP请求。所有HTTP数据都以TLS应用数据的形式发送。然后是包括连接在内的传统HTTP操作。
(未能理解)
HTTPS连接中不同的意思:
1、HTTP层面,一个HTTP用户通过向下一层发送一个连接请求向服务器请求一个连接。下一层一般是TCP,但也有可能是TLS/TLS。
2、TLS层,在TLS用户和TLS服务器之间建立会话。这个会话可以在任何一个时间支持一个或多个连接。
3、TLS连接请求的开始伴随着一个TCP连接的建立,该连接建立在TCP的客户端的实体和服务器之间。
连接关闭
一个HTTP用户或服务器可以通过在HTTP记录中加入“connection: close”的字样指示一个连接的关闭。该连接会在该条记录传输后关闭。
HTTP中潜在的TCP连接在没有事先“close_notif”警告和“connection: close”指示的情况下被终止。这种情况可能是由于一个服务器的程序错误或一个通信错误导致TCP连接的中断。
SSH
SSH(Secure Shell)是一个相对简单经济的网络信息安全通信协议。
SSH客户端和服务器适用于大多数操作系统。
SSH由三个通信协议组织而成,通常运行在TCP之上。
SSH用户认证协议(服务器对客户端用户认证)、SSH连接协议(将加密隧道拆分成几个逻辑通道)
SSH传输层协议(服务器提供认证、机密性和完整性服务,压缩是可选的)
TCP(传输控制协议。提供面向端对端传递的可靠连接)
IP(互联网协议提供跨多个网络的数据传递)
IP安全
IP层安全包括:认证、保密、密钥管理。
认证机制确保接收到的包是报头标识指出的源端实体发出的,确保了包在传输过程中没有被篡改。
保密性使正在通信的节点对消息加密,进而防止第三方窃听。
密钥管理机制与密钥交换安全相关。
概述
IPSec的应用
IPSec提供了在LAN、专用和公用WAN以及互联网中安全通信的性能。
用途:
1、通过互联网安全分支机构接入
2、通过互联网进行安全远程访问
3、与合作者建立企业间联网和企业内联网接入
4、加强电子商务安全性
IPSec的好处
开销小,与防火墙配合能在所有的外部流量必须使用IP时阻止旁路,位于传输层TCP\UDP之下,对所有的应用和终端用户透明。
路由应用
1、路由器广播(新的路由器公告它的存在)来自授权路由器。
2、邻居广播(路由器试图建立或维护与其他路由区域中路由器的邻居关系)来自授权的路由器。
3、重定向报文,它来自被发送给初始包的路由器。
4、路由更新未被伪造。
IPSec文档
IPSec服务
使用AH协议报头指定的认证协议或由用于该协议的包格式指定的加密/认证联合协议ESP。
RFC4301列举了访问控制、无连接完整性、数据源认证、拒绝重放包、保密性、受限制的流量保密性六种服务。
传输模式和隧道模式
AH和ESP都支持传输模式和隧道模式。
传输模式主要保护上层协议,隧道模式对整个IP包提供保护。
IP安全策略
IPSec操作的基础时应用于每个由源地址到目的地址传输中IP包安全策略的概念。IPSec安全策略本质上由两个交互的数据库,安全关联数据库SAD和安全策略数据库SPD确定。
安全关联
在IP认证和加密机制中的一个重要概念是安全关联SA。它是发送方和接收方用于对传递的数据流提供安全服务的一个单项逻辑连接。
三个参数:安全参数索引SPI、IP目的地址、安全协议标识。
安全关联数据库
安全关联数据库SAD定义了与每个SA相关的参数。
安全策略数据库
IP流量与特定的SA相关联(不需要IPSec保护时没有SA)的方法在名义上时安全策略数据库SPD。
每个SPD入口由一个IP集和上层协议的域值定义,称为选择器。
这些选择器用于过滤输出流,将流映射到一个特定的SA。每个IP包的输出过程顺序:
1、将包中响应域的值(选择器)与SPD比较,找到一个匹配的SPD入口,它可能指向零个或多个SA。
2、若该包存在SA,则为该包确定SA以及与其关联的SPI。
3、执行所需的IPSec处理(如AH或ESP处理)。
IP通信进程
IPSec是在报文到报文的基础上执行的。
出站报文、入站报文。
封装安全载荷
ESP可以提供机密性、数据源认证、中断连接后的完整性、一次抗重放攻击服务(一种部分序列完整性形式)和(受损的)流量机密性。所提供的服务集合依赖于建立安全关联SA时的选择和在一个网络拓扑中的位置。
ESP支持很多加密和认证算法,包括GCM这样的既认证又加密算法。
ESP格式
加密和认证算法
填充
防止重放服务
传输模式和隧道模式
传输模式ESP:用于加密和认证(认证可选)IP携带的数据(如TCP分段)。
隧道模式ESP:用来加密整个IP包。可用于阻止流量分析。
安全关联组合
认证加保密
带认证选项的ESP:传输模式ESP、隧道模式ESP
传输邻接
传输-隧道束
基本组合
因特网密钥交换
密码套件
恶意软件
相关术语
病毒:执行时向可执行代码传播自身副本的恶意代码;传播成功时,可执行程序被感染。被感染代码执行时,病毒也执行。
蠕虫:刻独立执行的计算机程序,并可以向网络中的其他主机传播自身副本。
逻辑炸弹:入侵者植入软件的程序。逻辑炸弹潜藏到触发条件满足为止,然后该程序激发一个未授权的动作。
特洛伊木马:貌似有用的计算机程序,但也包含能够规避安全机制的潜藏恶意功能,有时利用系统的合法授权引发特洛伊木马程序。
后门/陷门:能够绕过安全检查的任意进制;允许对未授权的功能访问。
可移动代码:能够不变的植入不同平台,执行时又身份语义的软件(脚本、宏、其他可移动指令)。
漏洞利用:针对某一个或一组漏洞的代码。
下载者:可以在遭受攻击的机器上安装其他条款的程序。通常,下载者时通过电子邮件传播的。
自动路由程序:用于远程入侵到未被感染的机器中的恶意攻击工具。
病毒生成工具包:一组用于自动生成新病毒的工具。
垃圾邮件程序:用于发送大量不必要的电子邮件。
洪流:用于占用大量网络资源对网络计算机系统进行攻击从而实现DoS攻击。
键盘日志:捕获被感染系统中的用户按键。
Rootkit:当攻击者进入计算机系统并获得低层通路后使用的攻击工具。
僵尸:活跃在被感染机器上并向其他机器发射攻击的程序。
间谍软件:从一个计算机上收集信息并发送到其他系统的软件。
广告软件:整合到软件中的广告,结果是弹出广告或指向购物网站。
高级持续性威胁
高级持续性威胁APT是一种资源充沛的持久的攻击,具有大量的入侵技术和恶意软件选择目标。
类型
传播-感染内容-病毒;
传播-漏洞利用-蠕虫;
传播-社会工程-垃圾邮件与特洛伊木马;
载荷-系统破坏;
载荷-攻击代理-僵尸病毒与机器人;
载荷-信息窃取-键盘监测器、网络钓鱼与间谍软件
载荷-隐身-后门与隐匿程序
分布式拒绝服务攻击DDoS
防护措施
更新、权限、漏洞缓解、威胁缓解。
1、所有系统尽可能最新,已经打完所有补丁,减少系统中可被利用的漏洞。
2、对存储在系统上的应用程序和数据设置合理的访问权限。减少用户可以访问的文件数量,从而减少由于执行恶意代码而导致的感染或污染。主要应对蠕虫、病毒、特洛伊木马。
3、针对社会工程攻击的用户,训练用户让用户更好的意识到这种攻击。
基于主机的扫描器
反病毒软件使用的第一个位置是每一个终端系统。
1、基于主机的行为阻挡软件:集成在主机的操作系统中,实时监控恶意程序的行为。
监控了以下行为:尝试增删改查文件、尝试格式化磁盘驱动器等不可恢复的磁盘操作、修改逻辑可执行文件和宏文件、修改关键系统设置,比如启动设置、将电子邮件和即时信息客户端脚本化以便发送可执行内容、初始化网络通信。
2、间谍软件监测和移除
3、Rootkit防护措施
边界扫描方法
反病毒软件使用的下一个位置是组织机构的防火墙和IDS(入侵检测系统)。这一般包括运行在这些系统上的电子邮件和WEB代理服务,也有可能包含在IDS的流量分析组件中。
边界蠕虫防护措施:处理病毒和蠕虫的技术有很大程度的交叠。边界网络活动和使用监控可以组成基本的蠕虫防护措施。
1、基于签名的蠕虫扫描过滤;
2、基于过滤的蠕虫遏制;
3、基于载荷分类的蠕虫遏制;
4、阈值随机游走TRW扫描检测;
5、速率限制;
6、速率停止。
分布式情报搜集方法
反病毒软件使用的最后一个位置是分布式配置。
从大量的基于主机和边界传感器中收集数据,传达给中央分析系统关联和分析,返回更新的签名和行为模式,让所有协调系统可以应对和防御这种恶意攻击。
防火墙
包过滤防火墙、状态检测防火墙、应用层网关、链路层网关。