Web闭路电路摄像头或被单单一个HTTP请求劫持!

云头条mp 浏览次数: 2016-11-30 21:33

服务器缓冲器溢出无异于被人远程控制。 据称,嵌入在35多种款式的联网闭路电视(CCTV)摄像头里面的一种不安全的Web服务器软件让无数设备形同虚设、敞开大'...

服务器缓冲器溢出无异于被人远程控制。

据称,嵌入在35多种款式的联网闭路电视(CCTV)摄像头里面的一种不安全的Web服务器软件让无数设备形同虚设、敞开大门,有可能被不法分子劫持。

我们获悉,在进行任何密码验证检查之前,位于地球另一端的人只要发送单单一个HTTP GET请求,就可以操控这些设备。如果你的摄像头是高危设备之一,又可以在网上联系得到,那么它有可能遭到攻击,被恶意软件感染上,并受到监视。网络摄像头通常使用UPnP协议,通过你家里的路由器,自动接入到公共互联网。

钻这些摄像头中易受攻击的Web服务器软件空子的概念证明代码可以在GitHub上面的这里(https://gist.github.com/Wack0/a3435cafa5eb372b190f971190a506b8)找到。几小时之前,它由一位名为Slipstream的安全专业人员发布,他对摄像头的固件进行了反向工程处理,因而发现了这个漏洞。Slipstream的身影之前陆续出现在披露英国学校软件、戴尔计算机和微软的Secure Boot各自存在的安全漏洞的那些页面中。该Web服务器软件让用户可以通过浏览器来配置摄像头。

被人钻空子的漏洞似乎是这样子:如果URL查询字符串里面含有一个名为“basic”的参数,其值就由URL逐个字节地拷贝到堆栈上一个固定大小的256字节缓冲器。如果你发送的查询长度超过256个字节,就会导致缓冲器溢出,开始覆盖堆栈内容。攻击者可以这么做,往堆栈填充内存地址,从而控制执行流程。

结果,服务器开始按黑客的指令行事,而不是按程序员的要求行事,比如打开一个远程控制后门。这是一种教课书式的堆栈缓冲器溢出,采用返回导向编程技术(return-oriented programming),可以劫持服务器。

它会变得更狡猾:溢出在服务器有时间验证用户的身份之前发生,所以即便有人更改了默认的密码,他们的设备仍然易受攻击。这是易受攻击的代码:

// ptr = start of the query's parameter value string

while ((ptr[i] != NULL) && (ptr[i] != '&'))

{

queryval_cpy[i] = ptr[i]; // queryval_cpy is a 256-byte char array on the stack

i++;

}

等一下,我们还没完:开发所有这些设备共享的固件的人改动了Goahead嵌入式Web服务器软件,并貌似引入了这个安全漏洞。据Slipstream声称,使用这个有问题的固件的物联网闭路电视摄像头厂商超过七家。

漏洞的编写者发现下列摄像头在其软件中存在该漏洞:

UCam247的NC308W及NC328W、Ucam247i/247i-HD和247i-1080HD/247-HDO1080等款式摄像头。

Phylink的213W、223W、233W、325PW和336PW。

Titathink

Babelens、TT520G、TT520PW、TT521PW、TT522PW、TT610W、TT620CW、TT620W、TT630CW、TT630W、TT730LPW和TT730PW(正如Slipstream特别指出的那样,似乎整条产品线全军覆没,至少仍得到支持的那些设备是这样)。

运行固件2014-04-06或更高版本的任何YCam摄像头。

Anbash NC223W、NC322W和NC325W。

Trivision 228WF、239WF、240WF、326PW和336PW。

Netvision NCP2255I和NCP2475E。

那些警惕的读者会发现几家厂商当中出现了重复的型号模式。那是由于,Slipstream最先在UCam247摄像头中发现了漏洞,软件的上游源头似乎是Titathink,其他厂商拿来Titathink的技术后贴上白标,漏洞一并而来。其他摄像头也很可能易受攻击。

正如我们前面所说,它是在验证用户身份前发生的,所以最好的办法是根本不让摄像头与互联网对话(当然,这破坏了物联网的附加值:可以通过自己的智能手机应用程序来查看摄像头,同时让厂商收集数据。)

概念证明代码攻陷了在QEMU的ARM模拟中运行的固件;由于版本与突破漏洞的堆栈链(stack chain)的libc之间存在细小差异,概念证明代码针对实际硬件的攻击并不总是得逞。如果你针对某一款设备,这很容易搞定。

英国知名IT网站The Register联系了所有受影响的厂商,请它们发表评论。要是我们收到它们的反馈意见,会第一时间告知诸位。

要是知道这一点:在Mirai僵尸网络重创Dyn DNS后,上述厂商当中至少有一家Phylink在今年10月份发布了固件补丁,清除默认密码,读者会大跌眼镜吗?

当然不然!这种事读者已见惯不怪了。

网友点评
猜你喜欢