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