Tensor Flow、Caffe、Torch共同之处:敞开的漏洞!

2017 年 12 月 2 日 云头条

依赖项恶梦早晚会给每个人带来问题。

 

使用知名人工智能(AI)工具的那些人已被警告及/或被提醒务必要核查依赖的软件包,因为其中一些软件包存在豁然敞开的安全漏洞。


发出这份警告的是来自奇虎360安全研究实验室的肖奇雪(音译,下同)和张德跃、佐治亚大学的李康和弗吉尼亚大学的徐卫林,他们共同写道:“深度学习框架很复杂,高度依赖众多的开源软件包。”


三方在梳理TensorFlow、Caffe和Torch深度学习框架所使用的第三方软件包,并寻找那些软件包中任何敞开的漏洞后得出了这个结论。


他们发现了好几个漏洞,撰文道这些框架很容易遭到拒绝服务攻击、规避攻击或系统威胁。


他们最后在这三种框架中发现了总共15个安全漏洞,不过特别指出这项工作只是初步的研究(The Register预计,言外之意会爆出更多的漏洞)。


开源计算机视觉(opencv)代码库中发现的漏洞数量最多:共有11个CVE,很容易被上述三类攻击所利用。Caffe和Torch中都依赖opencv。


Caffe还依赖了易受攻击的libjasper图像处理代码库和OpenEXR图像查看器。


研究人员发现的这些漏洞存在一个令人关注的方面,那就是他们发现可以利用越界写入(out-of-bounds write)来欺骗AI(而不是托管或使用它用于远程执行代码):在opencv中,“数据指针可以被设置为readData函数中的任何值,然后指定的数据可以写入到数据指向的地址。所以它可能会覆盖分类结果。”


opencv这个例子如下所示。


bool BmpDecoder::readData( Mat& img )

{

uchar* data = img.ptr();

....

if( m_origin &=& IPL_ORIGIN_BL )

{

data += (m_height - 1)*(size_t)step; // result an out bound write

step = -step;

}

....

if( color )

WRITE_PIX( data, clr[t] );

else

*data = gray_clr[t];

....

}

index 3b23662..5ee4ca3 100644

--- a/modules/imgcodecs/src/loadsave.cpp

+++ b/modules/imgcodecs/src/loadsave.cpp

+

+static Size validateInputImageSize(const Size& size)

+{

+ CV_Assert(size.width > 0);

+ CV_Assert(size.width <= CV_IO_MAX_IMAGE_WIDTH);

+ CV_Assert(size.height > 0);

+ CV_Assert(size.height <= CV_IO_MAX_IMAGE_HEIGHT);

+ uint64 pixels = (uint64)size.width * (uint64)size.height;

+ CV_Assert(pixels <= CV_IO_MAX_IMAGE_PIXELS);

+ return size;

+}

@@ -408,14 +426,26 @@ imread_( const String& filename, int flags, int hdrtype, Mat* mat=0 )

// established the required input image size

- CvSize size;

- size.width = decoder->width();

- size.height = decoder->height();

+ Size size = validateInputImageSize(Size(decoder->width(), decoder->height()));

 


相比之下,TensorFlow的情况稍微好一点,只有两个Python软件包:numpy和wave.py容易遭到拒绝服务(DoS)攻击。


下面完整列出了研究人员详细描述的安全漏洞。


框架

软件包

CVE

威胁

已修复?

TensorFlow

numpy

CVE-2017-12852

DoS

TensorFlow

wave.py

CVE-2017-14144

DoS

Caffe

libjasper

CVE-2017-9782

Heap

Caffe

openEXR

CVE-2017-12596

Crash

Caffe/Torch

opencv

CVE-2017-12597

Heap

Caffe/Torch

opencv

CVE-2017-12598

Crash

Caffe/Torch

opencv

CVE-2017-12599

Crash

Caffe/Torch

opencv

CVE-2017-12600

DoS

Caffe/Torch

opencv

CVE-2017-12601

Crash

Caffe/Torch

opencv

CVE-2017-12602

DoS

Caffe/Torch

opencv

CVE-2017-12603

Crash

Caffe/Torch

opencv

CVE-2017-12604

Crash

Caffe/Torch

opencv

CVE-2017-12605

Crash

Caffe/Torch

opencv

CVE-2017-12606

Crash

Caffe/Torch

opencv

CVE-2017-14136

Integer


在一些情况下,如上表所示,这不是框架本身的过错,因为软件包开发人员还没有提供补丁。


要是一些人不先考虑安全性,就贸然试水AI,那还是足以会给他们带来麻烦。


相关阅读:

Tensorflow 好差劲 !

23种深度学习库排行榜:TensorFlow最活跃、Keras最流行

横向对比三大分布式机器学习平台:Spark、PMLS、TensorFlow


登录查看更多
4

相关内容

Sklearn 与 TensorFlow 机器学习实用指南,385页pdf
专知会员服务
129+阅读 · 2020年3月15日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
119+阅读 · 2019年12月31日
开源书:PyTorch深度学习起步
专知会员服务
50+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
告别 PS !3 行代码 5 秒搞定抠图的 AI 神器!
程序人生
6+阅读 · 2019年7月11日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
爬了自己的微信,原来好友都是这样的!
七月在线实验室
4+阅读 · 2018年1月18日
TensorFlow、Caffe、Torch 三大深度学习框架被存在安全漏洞
PyTorch 到底好用在哪里?
AI研习社
3+阅读 · 2017年10月27日
Caffe 深度学习框架上手教程
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月12日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Arxiv
7+阅读 · 2018年1月21日
VIP会员
相关资讯
告别 PS !3 行代码 5 秒搞定抠图的 AI 神器!
程序人生
6+阅读 · 2019年7月11日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
爬了自己的微信,原来好友都是这样的!
七月在线实验室
4+阅读 · 2018年1月18日
TensorFlow、Caffe、Torch 三大深度学习框架被存在安全漏洞
PyTorch 到底好用在哪里?
AI研习社
3+阅读 · 2017年10月27日
Caffe 深度学习框架上手教程
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月12日
Top
微信扫码咨询专知VIP会员