前言
本文内容主要摘抄网络规划设计师的教材和腾讯-SUMMER课堂,主要对网络安全进行简单梳理和总结
OSI安全体系
X轴表示8种安全机制,Y轴表示OSI7层模型,Z轴表示5种安全服务,图中X是水平,Y轴竖直,Z轴向外延申。
安全服务:认证服务,访问控制服务,数据保密性服务,数据完整性服务,防止否认性服务
安全机制:认证机制,访问控制机制,加密机制,数据完整性机制,数字签名机制,业务流填充机制,路由控制机制,公正机制。
安全机制于安全服务
加密机制:主要提供数据保密服务, 防止窃听嗅探等被动攻击。加密算法分为对称加密算法,如DES,3DES,AES,国密的SM1等,非对称加密算法RSA
数字签名机制:主要对应认证服务和防止否认服务。常见如RSA,DSA,国密SM2
访问控制机制:主要对应访问控制和认证服务。常见有用户名和口令验证,访问控制列表ACL
数据完整性机制:对应数据完整性服务,防止数据被非法篡改。常见有,MD5,SHA,国密SM3
认证机制:主要对应认证服务,分为源认证和身份认证。源认证是验证收到信息是否来自期望的发送方,主要实现是数字签名,身份认证可以通过用户名/口令或证书等方式,验证对方身份,只有通过认证合法用户才能访问对应资源。
业务流填充机制:对应数据保密访问,在数据传输过程种填充随机数等方式,加大数据破解难度,提高数据安全性。
路由控制机制:主要对应访问控制服务,预先设定安全通信路径,避免通过不安全的信道传送数据。
公证机制:主要对应防止否认机制。主要对应PKI体系。
扩展-国密算法:
- SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法。
- SM2、SM9是非对称算法。
- SM3是哈希算法。
- SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
网络攻击和防御
攻击类型:
安全攻击可以划分为,主动攻击和被动攻击。
被动攻击:典型代表嗅探,监听和流量分析,最难被检测,重点是预防,主要手段是加密。
主动攻击:假冒,重放,欺骗,消息篡改和拒绝服务等,重点是检测而不是预防,主要手段是防火墙,IDS技术。
信息安全三大属性
CIA属性,保密性-Confidentiality,完整性-Integrity,可用性-Availability。
保密性:信息保密性又称信息机密性,是指信息不泄露给非授权的个人和实体,或供其使用的特性。信息机密性针对信息被允许访问对象的多少而不同。一般通过访问控制阻止非授权用户获得机密信息,通过加密技术阻止非授权用户获知信息内容。
完整性:信息完整性是指信息在存储、传输和提取的过程中保持不被修改、不延迟、不乱序和不丢失的特性。一般通过访问控制阻止篡改行为,通过信息摘要算法来检验信息是否被篡改。
可用性:信息可用性指的是信息可被合法用户访问并能按要求使用的特性。典型的DoS/DDoS攻击主要破坏信息的可用性。保证系统可用性,最常用的方法是冗余配置和备份。
计算机病毒分类
类型 | 关键字 | 特征 | 典型代表 |
蠕虫病毒 | 前缀为worm | 通过网络或者系统漏洞进行传播,可以向外发送带病毒邮件或者阻塞网络 | 冲击波(阻塞),小邮差病毒(发送带毒邮件),震网病毒 |
特洛伊木马 | 前缀为Trojan,黑客病毒前缀为Hack | 通过网络或者漏洞进入系统并隐藏起来,木马辅助入侵用户计算机,黑客通过木马进行远程控制 | 游戏木马TroJan.Lmir.PSW60 |
宏病毒 | 前缀为Macro | 特殊脚本病毒,感染word和excel | Macro.word97 |
ARP病毒 | 关键词ARP | 发送虚假ARP欺骗网关或主机 | ARP网关欺骗,ARP路由欺骗 |
震网病毒 | 关键词Stuxnet | 主要攻击工控系统,比如某国的核设施就遭遇了震网病毒攻击 | 本质上是蠕虫病毒 |
勒索病毒 | 关键词WannaCry | 加密用户文档或者锁住浏览器,交赎金后方可解密 | 本质上是蠕虫病毒 |
端口扫描
扫描分类 | 解释 |
全TCP连接 | 这种扫描方法使用三次握手,与目标计算机建立标准的TCP连接。这种古老的扫描方法很容易被目标主机记录 |
半打开式扫描(SYN扫描) | 在这种扫描技术中,扫描主机自动向目标计算机的指定端口发送SYN数据段,表示发送建立连接请求。 由于扫描过程中全连接尚未建立,所以大大降低了被目标计算机记录的可能性,并且加快了扫描的速度。 |
FIN扫描 | 发送FIN=1的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。如果当FIN报文到一个活动的端口时,该报文只是简单地丢掉,不会返回任何回应。从FIN扫 描可以看出,这种扫描没有涉及任何TCP连接部分,因此,这种扫描比前两种都安全,可以称之为秘密扫描。 |
第三方扫描 | 又称“代理扫描”,这种扫描是利用第三方主机来代理 |
拒绝服务攻击与防御
拒绝服务攻击(Denial of Service,Dos)通过消耗主机CPU,内存,磁盘,网络等资源,让主机不能向正常服务提供服务。
分布式拒绝服务攻击(Distributed Denial Of Service,DDoS)是攻击者首先侵入一些计算机,然后控制这些计算机同时向一个特定的目标发起拒绝服务攻击。传统的拒绝服务攻击有受网络资源的限制和隐蔽性差两大缺点,而分布式拒绝服务攻击克服了传统拒绝服务攻击的这两个致命弱点。
DDoS结构
DDoS一般采用三级结构:
• Client(客户端):运行在攻击者的主机上,用来发起和控制DDoS攻击。
• Handler(主控端):运行在已被攻击者侵入并获得控制的主机上,用来控制代理端。
• Agent(代理端,也叫肉鸡):运行在已被攻击者侵入并获得控制的主机上,从主控端接收命令,负责对目标实施实际的攻击。
防御的方法
(1)加强对数据包的特征识别。攻击者在传送攻击命令或发送攻击数据时,虽然都加入了伪装甚至加密,但是其数据包中还是有一些特征字符串。通过搜寻这些特征字符串,就可以确定攻击类型、攻击服务器和攻击者的位置。
(2)设置防火墙监控本地主机端口的使用情况。对本地主机中的敏感端口进行监控,如UDP
31335、UDP 27444、TCP 27665,如果发现这些端口处于监听状态,则系统很可能受到攻
(3)对通信数据量进行统计也可获得有关攻击系统的位置和数量信息。例如,在攻击之前,目标网络的域名服务器往往会接收到远远超过正常数量的反向和正向的地址查询。在攻击时,攻击数据的来源地址会发出超出正常极限的数据量。
(4)尽可能地修复已经发现的问题和系统漏洞。
(5)购买安全设备(如防火墙、抗DDoS设备)和流量清洗服务。
(6)其他:CDN、增加带宽/服务器。
常见DoS/DDoS攻击
攻击类型 | 攻击原理 | 防御思路 |
同步包风暴(SYN Flooding) | 攻击者大量向攻击目标发送SYN数据包,而不返回 ACK,导致服务端有大量半开连接,耗尽目标资源, 不能为其他正常用户提供服务。 | (1)通过修改注册表防御SYN Flooding攻击。 (2)防火墙上开启SYN防范功能。 |
UDP Flooding | 攻击者大量发送UDP数据,耗尽网络带宽,导致目标 主机不能为正常用户提供服务。 | (1)购买流量清洗设备或服务。 (2)限时单个用户带宽。 |
Ping of Death | 利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,使TCP/IP堆栈崩溃、主机死机。 | (1)修改注册表防御ICMP攻击。 (2)升级系统,打补丁 |
消耗CPU和内存资源的DOS | 利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的CPU或内存资源耗尽,从而使目标系统瘫痪,如Hash DoS。 | |
Teardrop泪滴攻击 | 分段攻击,伪造数据报文向目标主机发送含有重叠偏移的数据分段,通过将各个分段重叠来使目标系统崩溃或挂起。 | |
Winnuke攻击 | 针对windows139端口,只要向该端口发送1字节的TCPOOB数据(TCP连接的一种特殊数据,设置了URG标志,优先级更高),就可以使windows系统出现蓝屏错误,并且网络功能完全瘫痪 | |
Land攻击 | 利用三次握手的缺陷进行攻击,将SYN数据包的源地址和目的地址都设置为目标主机的地址,目标主机向自己回以SYN+ACK包,导致自己又给自己回一个ACK并建立自己与自己的连接,当这种无效连接达到一定的数量, 目标主机将会拒绝新的连接请求 |
网络流量清洗技术原理
原理
网络流量清洗系统的技术原理:通过异常网络流量检测,而将原本发送给目标设备系统的流量牵引到流量清洗中心,清洗完毕后,再把留存的正常流量转送到目标设备系统。包含三个步骤:
• 流量检测。利用分布式多核硬件技术,基于深度数据包检测技术(DPI)监测、分析网络流量数据,快速识别隐
藏在背景流量中的攻击包,以实现精准的流量识别和清洗。
• 流量牵引与清洗。当监测到网络攻击流量时,如大规模DDoS攻击,流量牵引技术将目标系统的流量动态转发到
流量清洗中心来进行清洗,从而使得恶意流量无法影响到目标系统。
• 流量回注。将清洗后的干净流量回送给目标系统,用户正常的网络流量不受清洗影响。
作用
1.畸形数据报文过滤。利用网络流量清洗系统,可以对常见的协议畸形报文进行过滤,如LAND、
Fraggle、Smurf、Winnuke、Ping of Death、Tear Drop和TCP Error Flag等攻击。
2.抗拒绝服务攻击。利用网络流量清洗系统,监测并清洗对目标系统的拒绝服务攻击流量。
3.Web应用保护。利用网络流量清洗系统,监测并清洗对Web应用服务器的攻击流量。常见的网站攻击流量包括HTTP Get Flood、HTTP Post Flood、HTTP Slow Header/Post、HTTPS Flood攻击等。
4.DDoS高防IP服务。DDoS高防IP通过代理转发模式防护源站服务器,源站服务器的业务流量被牵引到高防IP,并对拒绝服务攻击流量过滤清洗后,再将正常的业务流量回注到源站服务器
缓冲区溢出攻击与防御
缓冲区溢出攻击原理:通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法。
缓冲区溢出攻击防御思路如下:
(1)系统管理上的防范策略:关闭不需要的特权程序、及时给程序漏洞打补丁。
(2)软件开发过程中的防范策略。
a) 编写正确的代码,确保目标缓冲区中数据不越界。
b) 程序指针完整性检查,如果程序指针被恶意改动,程序拒绝执行。
c) 改进C语言中存在缓冲区溢出攻击隐患的函数库。
d) 利用编译器将静态数据段中的函数地址指针存放地址和其他数据的存放地址分离。
SQL注入攻击
SQL注入攻击:黑客从正常的网页端口,进行网站访问,通过巧妙构建SQL语句,获取数据库敏感信息,或直接向数据库插入恶意语句。
SQL注入攻击防范的主要方法如下:
• 对用户输入做严格检查,防止恶意SQL输入。
• 部署DBS数据库审计系统、WAF防火墙,进行安全阻断。
XSS跨站脚本攻击
跨站脚本攻击(Cross Site Script,为了区别于CSS简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
攻击实例
有些用户会利用这个漏洞窃取用户信息、诱骗人打开恶意网站或者下载恶意程序等,看个最简单的例子:利用XSS窃取用户名密码。
当然这个示例很简单,几乎攻击不到任何网站,仅仅看看其原理。我们知道很多登陆界面都有记住用户名、密码的功能方便用户下次登录,有些网站是直接用明文记录用户名、密码,恶意用户注册账户登录后使用简单工具查看cookie结构名称后,如果网站有xss漏洞,那么简单的利用jsonp就可以获取其它用户的用户名、密码了。
防范思路
XSS跨站脚本攻击核心都是利用了脚本注入,因此解决办法其实很简单:
• 部署WAF网页应用防火墙,自动过滤攻击报文。
• 对用户输入进行过滤,对特殊字符如”<”,”>”转义,可以从根本上防止这一问题。
ARP欺骗
ARP欺骗原理:攻击者发送恶意ARP应答信息,刷新被攻击者ARP缓存,让对方不能进行正确的二层
封装。ARP欺骗的防范措施如下:
• (1)在主机上进行ARP静态绑定。例如:arp -s 10.0.0.254 00-11-d8-64-6b-bc。
• (2)主机和服务器采用双向绑定的方法解决并且防止ARP欺骗。
• (3)使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不
被攻陷。
• (4)安装ARP防护软件,或在交换机上启动DAI等安全防护功能。
DNS欺骗
DNS欺骗首先是冒充域名服务器,然后把查询的IP地址设为攻击者的IP地址,用户上网只能看到攻击者的主页,而不是用户想要取得的网站的主页。
DNS欺骗其实并不是真的“黑掉”了对方的网站,而是冒名顶替、招摇撞骗罢了。根据检测手段的不
同,将DNS欺骗的检测分为被动监听检测、虚假报文探测和交叉检查查询三种
参考文献:
网络规划师教材
腾讯SUMMER课堂