5
本文作者: 吳德新 | 2015-03-01 17:12 |
編者按:本文首發(fā)于微信公眾賬號(hào)凱奇哥,雷鋒網(wǎng)已獲授權(quán)轉(zhuǎn)載。
羊年春晚大幕剛落,信息安全大戲即開(kāi)唱。這兩天新聞媒體鋪天蓋地報(bào)道的??翟O(shè)備被境外IP地址控制事件(堪稱(chēng)“棱鏡門(mén)”事件第二),讓掙扎于年后綜合癥的國(guó)人們一下子又熱鬧開(kāi)了?!袄忡R門(mén)”這個(gè)詞再次進(jìn)入大眾視野。
事件起源于江蘇公安廳下發(fā)的一份名為《關(guān)于立即對(duì)全省??低暠O(jiān)控設(shè)備進(jìn)行全面清查和安全加固的通知》。文件指出海康威視的監(jiān)控設(shè)備存在嚴(yán)重安全隱患,部分設(shè)備已經(jīng)被境外IP地址控制。
實(shí)際上,早在2014年11月下旬,全球知名專(zhuān)業(yè)安全網(wǎng)站Security Street Rapid(https://community.rapid7.com/community/metasploit/blog/2014/11/19)就爆出了海康威視監(jiān)控設(shè)備3個(gè)RTSP相關(guān)的致命安全漏洞,CVE編號(hào)為:CVE-2014-4878、CVE-2014-4879和CVE-2014-4880。這三個(gè)漏洞嚴(yán)重嗎?
通俗的講:只要知道海康威視相關(guān)設(shè)備的IP地址,用任意電腦執(zhí)行一小段攻擊腳本,就可以完全讓其癱瘓,或者將其接管,甚至讓你在其設(shè)備上暢所欲為。這三個(gè)漏洞與海康威視解釋的弱密碼原因沒(méi)有任何關(guān)系。
而自此事曝光一直到江蘇電文被傳出,??挡庞?5年2月28日在官方微信發(fā)布 《??低曖槍?duì)“設(shè)備安全”的說(shuō)明》,而且把問(wèn)題歸結(jié)于用戶密碼管理不當(dāng)造成,解釋這幾個(gè)漏洞是因?yàn)樵O(shè)備登錄密碼太簡(jiǎn)單導(dǎo)致黑客登錄攻擊。
為了說(shuō)明此解釋有多么弱爆,筆者親自用??翟O(shè)備做了驗(yàn)證。通過(guò)實(shí)際測(cè)試,簡(jiǎn)單的攻擊腳本就可以使其設(shè)備服務(wù)down機(jī)。如果攻擊者通過(guò)腳本進(jìn)行循環(huán)攻擊,那該設(shè)備即便重啟,也無(wú)法恢復(fù)服務(wù)。
實(shí)際測(cè)試結(jié)果如下:
1、??礑VR設(shè)備(2014年最新款,型號(hào):HIK/DS-7804HGH-SNH/-AF-DVR-II-A/4-1):
DVR V3.0.4 Build140923:
經(jīng)過(guò)測(cè)試,??档腄VR最新款2個(gè)漏洞中招:
2、??礜VR設(shè)備(2014年最新款,型號(hào):DS-7108N-SN/P):
NVR設(shè)備版本信息:
經(jīng)過(guò)測(cè)試,??档腘VR最新款3個(gè)漏洞全部中招:
真正的原因分析:
整個(gè)攻擊過(guò)程根本不涉及被攻擊對(duì)象的密碼口令,從何談口令是簡(jiǎn)單還復(fù)雜!這三個(gè)漏洞都是由于??低暠O(jiān)控設(shè)備對(duì)RTSP(實(shí)時(shí)流傳輸協(xié)議)請(qǐng)求處理不當(dāng)導(dǎo)致的高危級(jí)別的緩沖區(qū)溢出漏洞。通過(guò)該漏洞,攻擊者可以對(duì)設(shè)備進(jìn)行DoS(拒絕服務(wù))攻擊,導(dǎo)致監(jiān)控設(shè)備的視頻流異常,更嚴(yán)重的是,當(dāng)攻擊者通過(guò)該漏洞植入代碼時(shí),甚至可能直接獲取設(shè)備的最高權(quán)限,從而完全控制其在網(wǎng)絡(luò)上服務(wù)的監(jiān)控設(shè)備,過(guò)去好萊塢大片中的很多犯罪場(chǎng)景就可以變成現(xiàn)實(shí)了……
如果你還想了解更專(zhuān)業(yè)的,耐心聽(tīng)小編來(lái)解釋計(jì)算機(jī)執(zhí)行指令的機(jī)制。計(jì)算機(jī)執(zhí)行的指令都在內(nèi)存中,本次爆出的3個(gè)漏洞都因??低暠O(jiān)控設(shè)備在處理RTSP請(qǐng)求時(shí),使用了固定的內(nèi)存緩沖區(qū)(往往是固定長(zhǎng)度的數(shù)組)來(lái)接收用戶輸入,從而當(dāng)用戶發(fā)送一個(gè)超過(guò)其可存儲(chǔ)長(zhǎng)度的數(shù)據(jù)來(lái)請(qǐng)求時(shí),請(qǐng)求數(shù)據(jù)覆蓋了固定數(shù)組以外的內(nèi)存空間,最終導(dǎo)致服務(wù)端緩沖區(qū)溢出。因?yàn)槭且绯龅膬?nèi)存空間被覆蓋,因此當(dāng)覆蓋的部分是攻擊者寫(xiě)的惡意代碼時(shí),惡意代碼就可以通過(guò)溢出來(lái)改變服務(wù)端的程序執(zhí)行流程,從而執(zhí)行任意代碼來(lái)操控設(shè)備。示意圖如下:
所以,對(duì)于海康威視2月28日的官方解釋?zhuān)灰獙?duì)網(wǎng)絡(luò)安全稍微有所了解的人,都能將其戳穿。這樣的解釋糊弄單個(gè)用戶還可以接受,但在官方渠道上做此番澄清,把問(wèn)題踢回給用戶,著實(shí)令人瞠目結(jié)舌。筆者建議有海康威視監(jiān)控設(shè)備的用戶,非常有必要做反攻擊驗(yàn)證,或者讓廠商協(xié)助排查,否則安全隱患是極大的,一旦被利用,后果不堪設(shè)想。
涉及的??翟O(shè)備范圍:
打開(kāi)了554端口(RTSP實(shí)時(shí)流媒體協(xié)議)的所有??翟O(shè)備。
三個(gè)漏洞的描述:
CVE-2014-4878:根據(jù)報(bào)告描述,其漏洞成因是在Hikvision的監(jiān)控設(shè)備處理RTSP請(qǐng)求時(shí),使用了固定的緩沖區(qū)接受body,當(dāng)攻擊者發(fā)送一個(gè)較大的body時(shí),可能會(huì)產(chǎn)生溢出,致使服務(wù)crash等。
CVE-2014-4879:RTSP對(duì)請(qǐng)求頭的處理同樣也使用了固定大小的緩沖區(qū),攻擊者可以構(gòu)造一個(gè)足夠長(zhǎng)的頭部來(lái)填滿緩沖區(qū),產(chǎn)生溢出。
CVE-2014-4880:RTSP在對(duì)事務(wù)對(duì)基礎(chǔ)認(rèn)證頭進(jìn)行處理的時(shí)候,同樣由于使用了固定的緩沖區(qū),導(dǎo)致攻擊者可通過(guò)構(gòu)造來(lái)進(jìn)行溢出,甚至執(zhí)行任意命令。
RTSP具體信息都可以查看RFC描述:http://www.ietf.org/rfc/rfc2326.txt
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。