1、网络安全威胁
破坏网络安全的一些理论方式:
窃听:窃听信息,在网路通信双方直接进行窃听。
插入:主动在网络连接中插入信息(可以在message中插入恶意信息)
假冒:伪造(spoof)分组中的源地址,假冒客户端或服务器。
劫持:通过移除/取代发送方发或接收方“接管”(take over)连接
拒绝服务(dos):阻止服务器为其他用户提供服务。
破坏网络安全的一些实践方式:
映射(mapping):①探路。②ping命令获取主机地址。③端口扫描(nmap www.insecure.org/nmap/)
嗅探(sniffing):在广播介质(共享的以太网或无线网络中),混杂(promiscuous)模式的网络接口卡,可以接受所有经过的分组。(wireshark就是一个分组嗅探软件)
ip欺骗(spoofing)发送分组的源ip地址可以任意改写。网络攻击中大量使用ip欺骗。(应对策略,入口过滤:路由器不转发源ip地址不属于此网络的分组)
DOS拒绝服务攻击:向接受方恶意泛洪(flood)分组,淹没(swamp)接受方(即耗尽接受方的资源)。
DDOS分布式拒绝服务攻击:入侵网络中的主机,构建僵尸网络(肉鸡),发动僵尸网络同时攻击目标服务器。
反射式DDOS攻击:控制僵尸网络,选择反射服务器,运用ip欺骗将请求发向反射服务器,反射服务器将服务响应发送给要攻击的服务器。
DOS应对策略:过滤泛洪分组,追溯攻击源,SYN cookie(测试第三次握手的确认序列号)
2、密码学(cryptography)
密码学基本概念:
明文(plaintext)--->加密算法(已知) + 秘钥KA(未知)---->密文(ciphertext)---->解密算法 + 秘钥KB ---->明文。 m = KB(KA(m))
对称秘钥加密:KA == KB。 明文m = KS(KS(m))
非对称秘钥加密(公开秘钥加密):KA+,KA-;KB+,KB-;m = KB-(KB+(m))
破解加密方法:暴力破解;统计分析(对传统加密方法很有效);
传统加密方式:
替代密码:利用一种东西替代另一种东西
凯撒密码(Casesar cipher):利用字母表中后面的第k个字母替换当前字母;如果k=3,则a->d;b->e,c->f...........x->a;y->b;z->c。
单字母替代:每一个字母都有一个固定的替代值。
多字母替代:明文不同位置的字母使用不同的单码替代密码。
换位密码:
置换法:将明文划分为固定长度(d)的分组,每个分组内的字母按置换规则(f)变换位置,秘钥(d,f)
现代加密技术:
不在针对一个个字母处理,而是针对二进制位操作
对称秘钥加密:(存在秘钥分发问题,如何让对方知道加密秘钥)
流密码:秘钥流z = z0z1z2z3....;明文流(串)x = x0x1x2x3.....;加密y = y0y1y2...... = Ez0(x0)Ez1(x1)Ez2(x2).....。解密时,使用相同的秘钥流与密文做异或运算(XOR)
分组密码:将明文划分长度为m的明文组(m = 64bit,128bit,256bit等);各明文组在长为i的秘钥组的控制下变成长为n的密文组。通常m == n。
Feistel分组密码结构(思想):DES(Date Encryption Standard)加密算法(IBM公司研制,1998年12不在成为加密标准)。分组长度64bit(左32bit,右32bit),56bit初始秘钥,16次迭代加密。
AES(Advanced Encryption Standard)加密算法(Rijndael加密算法):不属于Feistel结构,数据块长度(128/192/256bit),秘钥(128/192/256bit),10轮加密,安全性更高,如果1秒破解DES,则需要149万亿年破解AES。
非对称秘钥加密(公开秘钥加密):
RAS加密算法,前提条件:
秘钥生成:
确实有点难。。。先到这里
3、身份认证
身份认证过程中存在:假冒身份,ip欺骗,回放攻击。
提出一种机制:一次性随机数(nonce)
存在问题:在传输过程开始时必须知道本次通信的秘钥KA-B(对称秘钥)。
存在问题:中间人攻击
4、消息完整性和数字签名
message integrity:确定来自声称的发送发,传输过程中没有被篡改(内容,时间,顺序),持有期被修改,抵赖(发送方抵赖,接收方抵赖)。
密码散列函数:H(m) ,m为message。
特性:散列算法公开;H(m)足够快;对于任意长度message均生成定长的输出;不同message不能产生相同散列值,根据散列值不能倒推出message。
MD5算法:通过4个步骤,对任意长度的message输出128bit的散列值。不是足够安全,1996曾被找到两个不同的512bit块在MD5算法下产生两个相同的散列值。
SHA-1:消息长度不超过2的64次方bit,散列值固定160bit,速度慢于MD5,安全性高于MD5。
message digests(消息摘要):H(m) 可以作为m的数字指纹。
message认证:将message 和 message digests组成新的message发送。(m,H(m))。存在问题:伪造m
message认证码(MAC):m + s认证秘钥 + H数列函数 ---->(m,H(m+s))。如果s为对称秘钥,存在接受方和发送方抵赖问题。
数字签名(Digital signatures):
要求:可验证性,不可伪造性,不可抵赖性。
采用私钥加密技术,将私钥加密的密文和message一起发送给接收方。(m,KB-(m))。缺点:message过大,因此加密后的KB-(m)太大,导致速度慢
采用签名消息摘要:(m,KB-(H(m)))。解决数字签名问题。
5、秘钥分发:
在身份认证中,对称秘钥如何分发?
机制:秘钥分发中心(KDC):在网络上是一个服务器的存在,这是一个可信任机构。
在KDC上注册自己的秘钥(对称秘钥,此秘钥只有用户和KDC知道)。
机制:认证中心(CA):在网络上是一个服务器的存在,这是一个可信任机构。
在CA上注册公钥 ---->生成公钥证书
6、总结:
①如何建立安全的传输:秘钥分发中心和认证中心,有了这两个可以说在用户之间建立连接时是安全的,意味着不会和第三方(恶意中间方)建立连接。在认证中心中用到了私钥和公钥技术,但这是为了解决身份问题(在建立连接时的身份问题)
②如何在传输中保持数据安全:对称加密中随机的R1(对称秘钥)加密数据。非对称加密中使用私钥加密和公钥解密。
③如何保证传输的数据不会让对方抵赖。对明文进行hasn算法得到固定的消息摘要H(m),再对消息摘要进行私钥加密KB-(H(m)),最后得到新消息(m,KB-(H(m)))。传输过程可以为:密文 = KA+((m,KB-(H(m)))),即可保证传输安全性,又可保证不可抵赖性。
④有一个很重要的概念:私钥加密的数据公钥解密,公钥加密的数据私钥解密。
网络安全学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
需要网络安全学习路线和视频教程的可以在评论区留言哦~
最后
- 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失