CVE-2019-3568: WhatsApp 0 day漏洞分析

栏目: 编程工具 · 发布时间: 5年前

内容简介:5月14日,《金融时报》(Financial Times)报道称攻击者正利用WhatsApp的一个漏洞向受害者手机注入以色列公司NSO Group开发的先进间谍软件。WhatsApp是最流行的消息应用之一,在全世界有15亿用户。该公司的研究人员是在本月初发现这个缓冲溢出漏洞的,编号为CVE-2019-3568的漏洞存在于应用程序的VOIP堆栈中,允许攻击者向目标手机号码发送特制的SRTCP包实现远程执行代码。在iPhone或Android设备上该漏洞可以通过WhatsApp呼叫功能进行利用。整个攻击过程中不

概述

5月14日,《金融时报》(Financial Times)报道称攻击者正利用WhatsApp的一个漏洞向受害者手机注入以色列公司NSO Group开发的先进间谍软件。WhatsApp是最流行的消息应用之一,在全世界有15亿用户。该公司的研究人员是在本月初发现这个缓冲溢出漏洞的,编号为CVE-2019-3568的漏洞存在于应用程序的VOIP堆栈中,允许攻击者向目标手机号码发送特制的SRTCP包实现远程执行代码。在iPhone或Android设备上该漏洞可以通过WhatsApp呼叫功能进行利用。整个攻击过程中不需要用户交互,受害者并不需要接听电话,呼叫记录通常也不会显示在日志里。

WhatsApp公司称已经在上周五发布的更新中修改了该漏洞。加拿大多伦多大学公民实验室的研究人员称,在WhatsApp工程师忙于堵上漏洞时有攻击者利用该漏洞针对了一位英国人权律师。对于攻击者利用NSO Group的间谍软件,该公司表示正在进行调查。

该漏洞CVE编号为CVE-2019-3568,Check Point研究人员对该漏洞进行了技术分析。

技术细节

Facebook的安全建议描述该漏洞为SRTCP协议的缓冲区溢出漏洞,所以研究人员首先对更新后的WhatsApp与之前版本进行差异分析以找出修复的代码。最终研究人员发现了SRTCP模块中的两处代码补丁:

Size Check #1

修复的函数是主要的RTCP handler函数,添加的补丁就在刚开始的位置。添加的校验验证了长度参数的最大值为1480字节(0x5C8)。

CVE-2019-3568: WhatsApp 0 day漏洞分析

研究人员在调试过程中还确认这是RTCP模块中的主要函数,在WhatsApp语通话应答之前还会调用。

Size Check #2

在下面两个函数的流之间研究人员发现新添加的处理检查过程中(蓝色标注),该长度变量被使用过两次:

1.验证package的长度域是否超过长度;

2.在内存夫之前,检查长度是否小于等于1480。

CVE-2019-3568: WhatsApp 0 day漏洞分析

从中可以看出,第二个检查包括新添加的log字符串,这正式为了预防溢出而进行的检查。

总结

WhatsApp应用程序中实现了复杂的STRCP协议,而且是以原生代码C/C++的形式而不是 Java 代码的形式实现的。研究人员在分析CVE-2019-3568漏洞过程中发现修复补丁实际上是2个新添加的size检查,即在内存中分析和处理网络包之前先进行大小检查以预防内存溢出。

因为SRTCP模块非常庞大,新版本WhatsApp应用可能也有其他的补丁研究人员并没有注意到。但就目前情况来看,研究人员认为该模块中可能还存在其他的未知漏洞。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

On LISP

On LISP

Paul Graham / Prentice Hall / 09 September, 1993 / $52.00

On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also ......一起来看看 《On LISP》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器