前言 在最近一周内,我收到了安全圈子里面小伙伴的私信,说他们非常喜欢信息安全,但是看了我之前发布文章,觉得有点难度,还涉及到C#编程,不好理解,希望我能给些基础方面的文章,所以有了这篇技术稿。 以下是我整理了2天,总结出来的一些算是经验之谈,希望能帮到大家。 一、网络安全漫谈1. 数据发送之前面临的威胁<恶意程序>
2. 计算机网络通信面临4种威胁<数据传输中>3. 威胁分类
被动攻击与主动攻击的区别:
4.计算机网络通信安全的目标
5.防范措施5.1 使用加密机制防止析出报文内容。
5.2 保密性:密码编码学+密码分析学=密码学。 5.3 安全协议的设计。 5.4 接入控制:针对主动攻击的伪造。
6. 两位类密码体制<针对被动攻击中的截获>6.1 对称密钥密码体制 加密密钥与解密密钥是相同的密码体制(类似加密的开锁钥匙与解密的开锁钥匙是同一把钥匙)。 1)DES (Data Encryption Standard) 解密的过程是上述加密的逆过程(同一密钥)。 过程详解:
备注:使用的密钥为64bit(实际密钥长度为56bit,有8bit用于奇偶校验)。 2)IDEA (International Data Encryption Algorithm) IDEA使用128位密钥,目前基本不可能通过暴力破解攻破。 6.2 公钥密码体制(非对称密码体制) 1) 产生原因:
公钥密码体制是一种”由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制:
2)公钥加密算法 1> 算法概述 加密算法:Dsk(Epk(X))=X。
解密算法:Epk(Dsk(X))=X。
2> 加密密钥是公开的,但不能用来解密。
3> 在计算机上可容易地产生成对的PK和SK(不需要双方进行协商)。 4>从已知的PK实际上不可能推导出SK,即:PK到SK是”计算上不可能的”从概念可得此结论。 5> 加密和解密算法都是公开的。 6.3 加密过程 这一传送过程,发送方和接受方维持了3个密钥:
6.4 数字签名 数字签名必须保证以下三点以防止伪装攻击(重放攻击): 6.5 数字签名的实现 发送者A使用自己的私钥进行加密,接受者B使用发送者A的公钥进行解密(这个数字签名数据没有任何保密意义的,因为上文提到过任何使用私钥sk加密的数据,任何知道公钥pk的人都可以解密这条数据)。数字签名的伪造将会在下文讲到。这一过程仅仅是实现数字签名,并且也满足数字签名的3个特征,这个我就不多说,自己可以验证一下。 6.6 具有保密性的数字签名 存在意义:存在数字签名的伪造,用pk解密的签名在网上广播出去,容易被截获,获取其他信息。 使用了2重非对称加密算法:一次签名+一次加密。 6.7 报文鉴别(针对主动攻击中的篡改和伪造) 存在意义:检测篡改攻击,如果篡改,丢弃。
此处我想多说点,这种策略还不是最安全,比如游戏防止盗取装备也是采取类似这种对装备关键信息的加密(二进制加密),不可能对整个装备从头到脚进行加密,如果这样数据包会非常大,造成网络堵塞。我觉得最好的防范措施是:不能只用一种加密算法去加密,要把所有的加密算法要平衡运用到所有的装备身上,必要要在你网络传输流畅度和数据加密找到一个平衡点! 6.8 实体鉴别 是对每一个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部持续时间内对和自己通信的对方实体只需验证一次。 存在的威胁: 1)重放攻击问题 未被攻击,上面流程默认进行了KAB会话的协商操作,以后就A->B进行通信。 攻击时,攻击者C伪装A(截获A给B的数据包)然后用自己的sk或者pk加密后与B进行会话协商成功以后C和B进行会话通信,如下图所示: 产生重放攻击的原因:KAB 会话密钥是由A B 随机产生的,不随外人的干涉,那任何人跟B会话,都可以形成KAB会话密钥。 2)中间人攻击 分析:中间人C截获A的信息,重发”我是A”给B,B返回给A RB被C截获,C再给A发了一份RB;然后A用自己的私钥SKA对RB进行加密本来要返回给B,在中间又被C截获并丢掉,然后C用自己的私钥SKc对RB进行加密,发送给B,B把公钥请求返回给C,再重发一份给A,A本返回给B公钥PKa,C截获并丢掉,C将自己的PKc伪装成PKa发给B,B成功解密出来被SKc加密的RB,返回给C,C用自己的SKC解密出来DATA,再用刚才截获来的PKa对DATA进行加密返回给A。 产生重放攻击和中间人攻击的原因:密钥的管理不当引起 7. 密钥分配<对称密钥分配>密钥管理包括:密钥的产生、分配、注入、验证和使用,比加密算法更为复杂!本技术稿只讨论密钥的分配。 为了防止以上攻击上演,引入一个可信第三方,由它对密钥进行管理和维护。 1)对称密钥分配 ![]() 如果A要与B进行通信 必须去线下的密钥分配中心KDC注册,然后分配中心分别给A和B分配密钥KA kB生成注册表。类似去银行开银行卡,系统会记录你设置的账号和密码,同时生成一对映射表;KAB是通信双方共享会话的KAB。Kerberos 既是鉴别协议,同时也是KDC。 优点:对密钥分配制度进行了一个扩充,将到场注册的线下改为线上。 ![]() 2)公钥的分配<非对称密钥分配> 公钥需要有一个值得信赖的机构来将公钥与其对应的实体(人或机器)进行绑定(binding)<防止中间人的攻击手法>这样的机构就叫做认证中心( CA fCertification Authority) 8. 英特网使用的安全协议<网络层+运输层+应用层>8.1 网络层的安全协议 1)IPsec协议:网络层保密是指所有在IP数据报中的数据都是加密的。此外,网络层还应提供源站鉴别,即当目的站收到IP数据包时,能确信这是从该数据包的源IP地址的主机发来的。 总结:
2)主要包括2个部分:
安全关联是一个单向连接。它由1个三元组唯一地确定,包括:
3)IPsec数据报格式 ![]() 4)IPsec数据报的工作方式
5)IPsec 数据包封装过程
![]() 8.3 运输层安全协议 SSL:安全套接层(Secure Socket Layer):可对万维网客户端与服务器之间传送的数据进行加密和鉴别(在用第三方网上交易时用到的协议,比如支付宝)。 功能: 类似在淘宝购买东西的过程: ![]() 8.4 应用层安全协议 PGP是一个完整的数字邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。 它只是将现有的一些加密算法如MD5、RSA、以及IDEA等综合在一起而已,类似我上文说的游戏防外挂的策略。 下图为一个典型的邮件加密过程: ![]() 9. 系统安全:防火墙与入侵检测<针对物理层+数据链路层>9.1 防火墙 由软件、硬件、构成的系统,用来在2个网络之间实施接入控制策略。 ![]() 9.2 功能
9.3 防火墙技术
9.4 入侵检测系统(IDS) 分类:基于特征的入侵检测(缺点:未知的特征无法检测)+基于异常的入侵检测(DDOS攻击)。 二、彩蛋(渗透测试)下面就以一个最基本的ARP断网/欺骗攻击来做个简单的关于网络攻击的实验吧,理论+实践。 至于ARP协议以及ARP断网/欺骗攻击的原理众所周知,我就不废话了,开始渗透测试: 1. ARP断网攻击1.1 环境搭建
1.2 过程 1)用nmap对存在于WLAN中的主机进行IP地址的嗅探: ![]() 攻击目标的IP为192.168.0.104(有时嗅探不完全,多嗅探几次,才可以将WLAN中的所有主机嗅探到)。 2)测试被攻击者的网络是否正常: ![]() 被攻击者网络显示正常。 3)ARP断网
4)再次测试被攻击者的网络是否正常: 瞬间断网! 1.2 ARP欺骗攻击 由于LAN通信是根据MAC地址进行传输,假如MAC地址被伪造成攻击者的MAC地址,就形成的所谓的ARP欺骗。 示意图:目标IP-→我的网卡-→查看自己网卡上的图片信息-→网关 1)用nmap对存在在WLAN中的主机进行IP地址的嗅探: ![]() 和断网攻击同一个姿势,被攻击者的IP地址为192.168.0.104。 2)对被攻击者进行ARP流量转发,使其流量转发到攻击端: 此指令是没有回显的。 3)进行ARP欺骗 ![]() 假如被攻击者在浏览周董的照片: ![]() 4)使用driftnet进行抓取图片: ![]() 以上就是攻击者的电脑呈现效果! 3)如何防御?
方法都是根据攻击原理进行相应防御! ![]() 或使用电脑管家防御等: ![]() 手机版的360管家似乎没有防御ARP攻击的工具! 记得TK教主曾在微博上说过:ICMP重定向基本可以理解为能在互联网范围内发起ARP欺骗。有点可怕!希望更多的人能够像TK一样将电脑技术运用在造福社会上! 三、总结万变不离其宗,再高明的攻击手段,都是基于以上内容,希望一些新手朋友或者刚入门的朋友仔细阅读,推敲,基础是最重要的,也不枉费我熬夜总结的资料。 *本文作者:星空111,转载请注明来自FreeBuf.COM |
|
来自: 昵称16619343 > 《AAA重要文件》