为什么用了HTTPS,仍然被流量劫持?

老强姑娘_3733

老强姑娘_3733

2020-02-22

3617人浏览

转载

为什么用了https,仍然被流量劫持?

您好,我是 Chrome 浏览器公司的小雪,最近我们访问千度网、淘贝网的网页中时常出现不少奇怪的广告,一直被投诉,听领导说 361 杀毒公司的周老师是这方面的专家,想请您帮忙诊断一下,到底这些广告是怎么来的

老周,有人找你,一大早,361 杀毒公司的老周就被吵醒。今天的阳光很明媚,老周伸了伸懒腰,这才踱步走向工作室。

图片来自 Pexels

1、广告再临

“是谁一大早的就来吵吵,坏了我的瞌睡”,听得出来,老周有点不太高兴。

“咚咚~”,老周微微抬头一瞥,只见一甜美女子出现在工作室的门前。

推荐:《web服务器安全教程》

老周一下从座椅上弹了起来,三步并作两步,走到女子面前,作出欢迎的手势:“美女请进”。

二人坐罢,老周扶了下镜框,又整理了一下格子衬衣,一副温文尔雅的作态,轻声问到:“不知美女到访,所为何事?”

女子倒是一副焦急的样子,“您好,我是 Chrome 浏览器公司的小雪,最近我们访问千度网、淘贝网的网页中时常出现不少奇怪的广告,一直被投诉,听领导说  361 杀毒公司的周老师是这方面的专家,想请您帮忙诊断一下,到底这些广告是怎么来的”!

老周听得有些不好意思,连连挥手,“原来是小雪姑娘,哪里哪里,勇斗病毒木马,消灭流氓软件本就是我 361  公司的分内之事,在下也只是尽一些绵薄之力罢了”。

“周老师别谦虚了,您之前揪出 IE 公司的木马入侵的事迹已经传遍整个 Windows  帝国了,大家都知道您的厉害。这一次广告的问题,就拜托了”,小雪看着老周,仿佛眼里闪着星星。

“别客气,这事儿包在我身上了”,小雪起身,连说了几句谢谢就离开了。

2、谁动了 HTTPS 流量

此刻,负责网络数据过滤的大白正在忙碌着,突然一只手搭在了他的肩膀上,大白回头一看,正是老周。

“老周,什么风把你吹到这里来了,你不在安全实验室分析恶意代码,跑我们网络部门来干嘛?”

老周拍了下大白的肩膀,说到:“大白啊,有点事想请你帮帮忙,你帮我瞅瞅,Chrome 浏览器的流量中是不是被插入广告了?”

“就这事啊,前段时间发现路由器老给插入广告,我就给做了特征屏蔽,原以为它们消停了,这才没几天又卷土重来了?”,大白说完调出了 Chrome  公司的流量,准备一看究竟。

大白越看眉头锁的越紧,“应该没有吧,我看访问千度网和淘贝网都是用的 HTTPS 协议,按理说路由器没有可能插入广告了啊!”

“HTTPS 协议?为什么用这个就没法插入广告?”,老周问到。

“这都不知道啊,你这 361 公司安全实验室领导怎么当上去的啊”,大白一脸无语的表情。

老周有点难为情,“唉,老弟你也别取笑我了,这个术业有专攻嘛,我擅长病毒木马代码的分析,对网络协议这块确实知之甚少,劳烦大白老弟给说道说道”。

大白似乎是感觉自己的话说的有些重了,也借坡下坎,“老周啊,刚才我跟你开玩笑的,你可别往心里去啊”。

“没事没事,你快给我说说这 HTTPS 协议,帮助我早点破案吧!”

“好嘞,你稍等啊”,说完,大白开始在白板上画了起来。

3、什么是 HTTPS

“HTTPS=HTTP+SSL/TLS,这门技术,说简单也简单,说复杂也复杂。简单来说,就是为了网络数据的安全性,通过加密传输的方式来对传统上网的  HTTP 流量进行保护”,大白一边画着图一边给老周讲述。

“明白,那么问题来了,用什么加解密算法呢?对方如何知道用什么算法以及用什么密钥解密呢?”,老周一下抓到了关键点。

“唉,问到点子上了。在正式传输数据之前,双方会有一个协商过程,为后面所选择的加密算法,以及要使用的密钥达成一致。”

“那么问题又来了,这个协商的内容要是被别人知道了,他不就可以按图索骥,解密传输的内容了吗?”,老周的反应很快。

“老周果然是老周!加密算法被知道是无所谓了,毕竟算法都是公开的,关键在于这个用于后续加密的密钥,这个才是需要保护的关键,这个不能让别人知道”,说罢,大白又继续画起来。

“so?怎么保护这个密钥呢?你倒是说啊”,老周有点着急了。

“注意哦,高能来了,双方使用一个叫非对称加密的方式来传输...”

"等一下",老周打断了大白,“非对称加密,这是个什么意思?”

大白默默叹了一口气,“常见的加密方式叫对称加密算法,所谓对称,就是加密和解密使用同一个密钥。那与此相对的,非对称加密,就是说加密和解密使用的是不同的密钥,明白了吧”!

老周略微思索,点了点头,“我知道了,你继续刚才说的,怎么用这个非对称加密算法来传输后面需要的密钥呢!”

大白继续说到:“客户端产生一个随机数,使用公钥加密,发给服务端,服务端使用私钥解密取得这个随机数,再根据这个随机数和其他信息计算出一个  key,就作为后续加密内容使用的密钥了!”

“等等,客户端的公钥是哪里来的?”

“最开始的时候,客户端发来请求,服务端在响应中,会把公钥告诉客户端。好了,我画完了,整个过程就是这样的。”

大白放下画笔,一副完整的 HTTPS 协议握手过程图浮现了出来:

老周反复端详,许久总算开口:“过程我倒是看懂了,不过我总感觉这不多此一举吗,直接使用非对称加密算法不就得了,这么折腾!”

企业网站管理系统源码(多语言+多模板)
企业网站管理系统源码(多语言+多模板)

企业网站管理系统源码(多语言 + 多模板)是一套面向企业建站与外贸建站场景的内容管理系统(CMS),支持自定义多语言、自定义模型与字段、自定义表单等能力,并提供全部无加密源代码、支持私有化部署。

下载

大白连连挥手,“你想的倒是简单,非对称加解密算法执行起来麻烦的多,耗费的时间会多很多倍,如果全程使用非对称加密算法,那将会严重影响上网体验。算法是个好算法,但用的代价也很大,所以权衡之下,好钢用在刀刃上,就只用来传输密钥,后面的正式数据传输,还是用常规的对称加密算法,来的经济划算。”

老周点了点头,一会儿低头思考,一会儿又抬头看着流程图。

又过了许久,老周指着流程图,再次提问:“我说大白,如果我在客户端和服务端之间插入一个角色,对客户端冒充服务端,对服务端又冒充客户端,就能从中作梗,修改数据包,插入广告了是吧?”

正在喝水的大白听后呛得连连咳嗽,“你说的就是中间人攻击嘛!你当 HTTPS  是玩具嘛,这么容易就被劫持,笑话!注意看图,那里有个认证环节,不是谁都能冒充的!”

老周又看了看图,“怎么认证法,我倒是听听!”

“在服务端的响应中,我前面说的公钥是在一个叫证书的东西里面,这个证书就是用来标识服务端的身份的,是由权威机构颁发的,客户端收到证书后,会检查是否是可信任的,如果不受信任就会及时中止后面的流程。”

“那如何判断一个证书是可信任的呢?”

“帝国早已把受信任的证书安装好了,届时只需调用 API 查一下即可!”

老周思来想去,总觉得哪里有问题,却又说不上来。

4、真相只有一个

一连过了几天,老周依旧毫无头绪,这事儿就这样搁置了。

福无双至,祸不单行。这案子还没弄明白,Firefox 公司又出事了。

原来,361 杀毒公司检测到 Firefox 秘密启动了有木马特征的进程,老周再一次带队前往勘查,Firefox 公司的小狐负责对接此事。

老周来到了 Firefox 磁盘存储目录,打算先排查一下木马文件是什么来头。

“这是一堆什么数据?”,老周指着一堆文件问到。

“周老师,这是网页缓存数据”,一旁的小狐回答。

“打开看看,能否找到一些攻击痕迹?”

老周环顾四周,指着另一堆文件问到:“这又是一堆什么数据?”

“周老师,这是一堆证书信息,HTTPS 握手时认证服务器所用的,跟这次攻击事件应该没关系的”,小狐继续解释到。

“认证用?帝国不是存储了受信认的证书吗,你们还保存证书信息做什么?”,老周有些不解。

“帝国存储的受信任证书我们可不认,谁知道那里面都是些什么证书,太不可靠了,我们 Firefox  浏览器公司自己做认证,不用那一套”,小狐言语之间流露着些许得意。

听完小狐的回答,老周突然愣住了,短暂的几 ms 之后反应了过来,掏出了从 Chrome 公司拿来的千度网证书,打算请小狐看一下。

小狐接过证书,仔细察看,片刻之后一口咬定的说:“这证书有问题!”

老周眼前闪过一道亮光,追问到:“哪里有问题?”

“这证书颁发机构叫 ABSafe,不在我们受信任的列表中!再说了,我这里有缓存千度网的证书,根本不是这样的,这肯定是假的,你看!”

老周拿着两个证书反复查看,不时点点头,之前困扰多时的问题终于有了答案。

“我明白了,真相只有一个!一定是有人把这个 ABSafe 颁发机构安装到了帝国受信任列表,以此骗过了 Chrome 公司!进行了 HTTPS  中间人劫持!YES!”,老周说完用力挥了挥拳头。

“周老师,您在说什么啊,我怎么听不懂?”,看着老周自言自语,小狐满脸的问号。

老周叮嘱同行的老齐继续勘察,匆忙拜别小狐就离开了。

这天夜里,两个黑影出现在了帝国受信任根证书仓库。

“原来是有人把我们安装的根证书给删掉了,难怪刚才 Chrome 浏览器访问千度网报了警告”,其中一个胖的黑影说到。

瘦的黑影捂住了胖子的嘴巴,“嘘,你给我把着点风,我去重新装上!”

瘦的黑影蹑手蹑脚走了过去,从怀里掏出了一个东西。

“别动!安全检查!”,突然一束光线射了过来,原来老周带着队伍在此潜伏多时了。

“竟然是你们,禁广大师!千度网和淘贝网的广告也是你们加的是吧?”,老周大声质问。

胖瘦黑影面面相觑,老实交代了一切。

彩蛋:“老齐,Firefox 公司的案子有什么发现吗”,“老周,你还是再来一趟吧,情况有点复杂”。欲知后事如何,请关注后续精彩...

更多安全、编程入门知识,请关注PHP中文网!

本文转载自:https://netsecurity.51cto.com/art/202002/610987.htm

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2846

5

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.06

5699

7

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

2026.03.24

4047

22

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.18

6307

5

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2023.08.10

2648

6

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3339

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2898

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1508

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2639

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap5 入门教程
Bootstrap5 入门教程

共0课时 | 0人学习

Bootstrap Grid 栅格系统
Bootstrap Grid 栅格系统

共0课时 | 0人学习