炼数成金 门户 大数据 安全 查看内容

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

2017-12-4 14:21| 发布者: 炼数成金_小数| 查看: 18286| 评论: 0|来自: 云头条

摘要: 依赖项恶梦早晚会给每个人带来问题。使用知名人工智能(AI)工具的那些人已被警告及/或被提醒务必要核查依赖的软件包,因为其中一些软件包存在豁然敞开的安全漏洞。发出这份警告的是来自奇虎360安全研究实验室的肖奇 ...

安全 Hadoop 框架 开源 Caffe

依赖项恶梦早晚会给每个人带来问题。
 
使用知名人工智能(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)攻击。

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

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

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

欢迎加入本站公开兴趣群
软件开发技术群
兴趣范围包括:Java,C/C++,Python,PHP,Ruby,shell等各种语言开发经验交流,各种框架使用,外包项目机会,学习、培训、跳槽等交流
QQ群:26931708

Hadoop源代码研究群
兴趣范围包括:Hadoop源代码解读,改进,优化,分布式系统场景定制,与Hadoop有关的各种开源项目,总之就是玩转Hadoop
QQ群:288410967 

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2018-6-24 20:42 , Processed in 0.169806 second(s), 25 queries .