[CS-161]网络钓鱼(phishing)
试想你收到了一封邮件,上面显示你的paypal账号已经被封,需要你人工解封,你点击了link,然后到了下面这个界面
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/d0ad067af6da45f38f43d47fe2c4f21c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ3BsdXNfcnVsZXI=,size_15,color_FFFFFF,t_70,g_se,x_16)
你点击了confirm My Account Now,然后浏览器将你导入另一个页面
![在这里插入图片描述](https://img-blog.csdnimg.cn/df0345d0d87e48b6b51f7ffd18b805ae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ3BsdXNfcnVsZXI=,size_14,color_FFFFFF,t_70,g_se,x_16)
你输入了邮箱和密码
![在这里插入图片描述](https://img-blog.csdnimg.cn/2393cdb969104e2e9578d676b1acfec0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ3BsdXNfcnVsZXI=,size_19,color_FFFFFF,t_70,g_se,x_16)
确认了你的个人信息后,paypal要求你确认信用卡信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/ad7056c4b9994831b4ea4a4d5834710d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ3BsdXNfcnVsZXI=,size_20,color_FFFFFF,t_70,g_se,x_16)
你输入了你的信用卡的信息以后,进入到了这个界面
![在这里插入图片描述](https://img-blog.csdnimg.cn/db32f41cb9e34439a59b32947d06bd31.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ3BsdXNfcnVsZXI=,size_20,color_FFFFFF,t_70,g_se,x_16)
你看到了网址有个绿色的标记(certificate),觉得很放心,殊不知很可能已经将个人信息泄露给attacker
网络钓鱼(phishing)
欺骗受害者,使受害者给攻击者发个人信息
受骗原因(main vulnerability)
受害者无法区别网站是否是官方网站
检查url
www.pnc.com/webapp/unsec/homepage.var.cn
对于上面这个url.很多人可能认为domain是pnc.com.但是,attacker可以把这一整个作为domain. attacker可以为这个valid domain注册一个HTTPS certificate
相似的字符
你看到这个苹果网站,是不是觉得这个是苹果官方网站的url.实际上并不是,这里‘.’并不是一个拉丁字符.它实际上来自西里尔字母,他们render的时候是一样的,但是在存贮的时候用的byte并不相同
Homograph attack
创建url,这个url看起来和legitimate url几乎(完全)一模一样
browser in browser attack
就像我之前说的一样,你会检查url前面的绿色的padlock或者其他类似的浏览器保证的security feature.
attacker 可以使用JavaScript模拟出符合上述要求的网站
实际上,phishing并不能全怪user,因为他们不是网络安全的专家。而且专家也很难做到完全不被这些东西欺骗
two-factor authentication(双重认证)
用户必须以两种不同的方式证明其身份,然后才能成功进行身份验证
3 main ways
用户知道的内容:密码、安全问题(例如,您的第一只宠物的名字)
用户拥有的东西:他们的手机、他们的电子邮件、他们的安全令牌
用户是什么:指纹,面部ID
使用2FA后,如果attack只知道一个密码,那么他并不能做任何事
但是即便如此,2FA也不是没有办法破解的
破解2FA(relay attack)
attack可以使用Phishing将两个factor都拿到
考虑下面一个场景
双因素身份验证方案
第一个因素:用户的密码(用户知道的东西)
第二个因素:发送到用户手机的代码(用户拥有的东西)
攻击
网络钓鱼网站要求用户输入其密码(第一个因素)
攻击者立即尝试以用户身份登录到实际网站
实际网站向用户发送代码
网络钓鱼网站要求用户输入代码(第二个因素)
攻击者输入代码以用户身份登录
更强的2FA
使用security key
用法
当用户注册网站时,安全密钥会生成一个新的公钥/私钥对,并将公钥提供给网站
当用户想要登录时,服务器会向安全密钥发送一个随机数
安全密钥对随机数、网站名称(来自浏览器)和密钥 ID 进行签名,并将签名提供给服务器
安全密钥可防止网上诱骗
在网络钓鱼攻击中,安全密钥会生成包含攻击者网站名称的签名(signature),而不是合法的网站名称
不受中relay attack的影响!