摘要
國家計(jì)算機(jī)網(wǎng)絡(luò)與信息安全管理中心工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全應(yīng)急技術(shù)工業(yè)和信息化部重點(diǎn)實(shí)驗(yàn)室(以下簡稱“安全中心工控實(shí)驗(yàn)室”)于2017年11月~2018年3月對(duì)某國外工業(yè)云平臺(tái)的通訊安全性開展針對(duì)性研究,通過骨干網(wǎng)流量監(jiān)測、仿真模擬測試等研究手段,發(fā)現(xiàn)xx云平臺(tái)在工業(yè)互聯(lián)網(wǎng)傳輸、工業(yè)APP應(yīng)用、工業(yè)數(shù)據(jù)采集器等方面存在16處疑似安全漏洞;所發(fā)現(xiàn)漏洞有可能導(dǎo)致云平臺(tái)用戶名/密碼被竊取、非法上傳數(shù)據(jù)、云端重放攻擊等安全問題;以上為初步研究結(jié)果,待與對(duì)方確認(rèn)。
1 概述
本次研究主要面向某國外xx云平臺(tái)及APP手機(jī)應(yīng)用,通過骨干網(wǎng)流量監(jiān)測、仿真環(huán)境模擬測試等無害化評(píng)估手段,從工業(yè)互聯(lián)網(wǎng)傳輸安全、工業(yè)APP應(yīng)用安全、工業(yè)數(shù)據(jù)采集組件安全、工業(yè)云平臺(tái)安全等維度開展研究。發(fā)現(xiàn)安全漏洞共16處,其中傳輸安全漏洞5個(gè),工業(yè)APP安全漏洞7個(gè),工業(yè)數(shù)據(jù)采集器安全漏洞3個(gè)、云服務(wù)端安全漏洞1個(gè)。
2 數(shù)據(jù)采集器安全性評(píng)估
2.1 XX-BOX數(shù)據(jù)采集器介紹
XX數(shù)據(jù)采集器運(yùn)行嵌入式系統(tǒng),可以通過WLAN、3G 等網(wǎng)絡(luò)實(shí)時(shí)傳輸從以太網(wǎng)、RS485采集得到的數(shù)據(jù)傳給遠(yuǎn)程云平臺(tái)服務(wù)器,同時(shí)接收指令來控制執(zhí)行單元。
2.2 研究結(jié)果
XX數(shù)據(jù)采集器開啟有http web服務(wù),經(jīng)分析存在web 服務(wù)配置錯(cuò)誤等漏洞隱患,有可能導(dǎo)致黑客非法上傳文件(如木馬、后門、病毒程序等),歸納如下:
序號(hào) | 漏洞名稱 | 漏洞描述 | 嚴(yán)重級(jí)別 | 后果 |
1 | Web服務(wù)端443端口/TCP配置錯(cuò)誤 | 443端口/TCP允許客戶端執(zhí)行上傳、刪除文件等危險(xiǎn)的http操作。 | 高 | 可以通過端口443向XX 數(shù)據(jù)采集器上傳文件(比如木馬、病毒等惡意程序執(zhí)行文件),并能夠?qū)ι蟼魑募?zhí)行刪除等操作。 |
2 | Web服務(wù)端80端口/TCP配置錯(cuò)誤 | 80端口/TCP允許客戶端執(zhí)行上傳、刪除文件等危險(xiǎn)的http操作。 | 高 | 可以通過端口80向XX 數(shù)據(jù)采集器上傳文件(比如木馬、病毒等惡意程序執(zhí)行文件),并能夠?qū)ι蟼魑募?zhí)行刪除等操作。 |
3 | TCP時(shí)間戳可查詢 | 遠(yuǎn)程主機(jī)可以查詢XX數(shù)據(jù)采集器的TCP時(shí)間戳,從而獲取系統(tǒng)運(yùn)行時(shí)間。 | 低 | XX 數(shù)據(jù)采集器已運(yùn)轉(zhuǎn)時(shí)間被非法獲取。 |
2.3 安全分析
2.3.1 漏洞1:Web服務(wù)端443端口/TCP配置錯(cuò)誤
詳細(xì)信息: XX數(shù)據(jù)采集器443端口/TCP允許客戶端執(zhí)行上傳、刪除文件等危險(xiǎn)的http操作。這樣黑客可以通過端口443向XX 數(shù)據(jù)采集器上傳木馬、病毒等惡意程序執(zhí)行文件,并能夠?qū)ι蟼魑募?zhí)行刪除操作。
解決方法:修改web服務(wù)配置,禁用http方式通過443端口上傳或刪除文件。
漏洞2:Web服務(wù)端80端口/TCP配置錯(cuò)誤
詳細(xì)信息: XX-BOX數(shù)據(jù)采集器80端口/TCP允許客戶端執(zhí)行上傳、刪除文件等危險(xiǎn)的http操作。這樣黑客可以通過端口80向XX 數(shù)據(jù)采集器上傳木馬、病毒等惡意程序執(zhí)行文件,并能夠?qū)ι蟼魑募?zhí)行刪除操作。
解決方法:修改web服務(wù)配置,禁用http方式通過80端口上傳或刪除文件。
漏洞3:TCP時(shí)間戳可查詢
詳細(xì)信息:遠(yuǎn)程主機(jī)可以查詢XX 數(shù)據(jù)采集器的TCP時(shí)間戳,從而獲取系統(tǒng)已運(yùn)轉(zhuǎn)時(shí)間。
解決方法:禁用TCP時(shí)間戳。
3 “xx”工業(yè)APP安全性評(píng)估
3.1 “xx”工業(yè)APP介紹
“xx”工業(yè)APP是用戶管理、監(jiān)控工控設(shè)備、與工業(yè)云平臺(tái)交互的手機(jī)應(yīng)用程序,有iOS版和Antroid兩個(gè)版本。
3.2 研究結(jié)果
“xx”APP采用用戶名/口令登錄方式,缺乏用戶登錄次數(shù)限制等防護(hù)措施,黑客可實(shí)施暴力破解攻擊,獲取系統(tǒng)登錄權(quán)限,安全問題嚴(yán)重。評(píng)估結(jié)果歸納如下:
序號(hào) | 漏洞名稱 | 漏洞描述 | 嚴(yán)重級(jí)別 | 后果 |
4 | 登錄密碼可暴力破解 | APP未對(duì)登錄密碼的輸入次數(shù)進(jìn)行限制,也沒有驗(yàn)證碼等措施,攻擊者可通過暴力破解方式,多次嘗試輸入猜測登錄密碼 | 高 | 暴力破解獲取系統(tǒng)用戶名/密碼,非法登錄系統(tǒng)獲取使用權(quán)限。 |
5 | 截屏錄屏風(fēng)險(xiǎn) | 攻擊者在用戶登錄時(shí)獲取屏幕狀態(tài),捕獲用戶名和密碼等 | 中 | 可導(dǎo)致用戶名/密碼等敏感信息泄露 |
6 | 使用弱Hash API | APP在開發(fā)過程中使用了iOS 系統(tǒng)的弱hash API | 低 | 使用弱hash函數(shù)將導(dǎo)致hash碰撞,造成口令被猜測、撞庫等后果。 |
7 | 使用偽隨機(jī)數(shù)生成函數(shù) | APP在開發(fā)過程中使用了偽隨機(jī)數(shù)生成函數(shù)rand | 低 | 使用偽隨機(jī)數(shù)發(fā)生器將導(dǎo)致敏感文件被暴力破解的風(fēng)險(xiǎn)。 |
8 | 不安全API調(diào)用 | APP在開發(fā)過程中使用了不安全API | 中 | 使用不安全API有可能導(dǎo)致系統(tǒng)緩存溢出。 |
9 | 缺少反調(diào)試機(jī)制 | APP缺少反調(diào)試機(jī)制,則在Root環(huán)境下,攻擊者可運(yùn)行Cycript等調(diào)試工具尋找應(yīng)用漏洞。 | 中 | 可在調(diào)試模式下發(fā)現(xiàn)系統(tǒng)安全漏洞。 |
![]() 10 | 未檢查越獄環(huán)境風(fēng)險(xiǎn) | APP運(yùn)行時(shí)沒有檢查手機(jī)操作系統(tǒng)是否是越獄版本 | 中 | 在越獄環(huán)境中容易被惡意應(yīng)用乘虛而入,會(huì)對(duì)用戶個(gè)人信息及財(cái)產(chǎn)造成重大損失。 |
3.3 安全分析
3.3.1 漏洞4:登錄密碼可暴力破解漏洞
漏洞說明:應(yīng)用未對(duì)登錄密碼的輸錯(cuò)次數(shù)進(jìn)行限制,或者客戶端登錄沒有驗(yàn)證碼等限制,攻擊者可通過暴力破解方式,多次嘗試輸入猜測登錄密碼。
解決方法:應(yīng)用應(yīng)對(duì)密碼輸錯(cuò)次數(shù)進(jìn)行限制。
漏洞5:截屏錄屏漏洞
漏洞說明:錄屏、截屏是攻擊者竊取用戶敏感輸入信息的一種手段。攻擊者在用戶登錄時(shí)獲取屏幕狀態(tài),獲取用戶名和密碼等,可導(dǎo)致用戶敏感信息泄露。
漏洞截圖
解決方法:在用戶輸入登錄密碼時(shí)使密碼不回顯
漏洞6:使用弱Hash API
漏洞說明:使用反匯編工具對(duì)該APP的可執(zhí)行文件進(jìn)行分析,發(fā)現(xiàn)該APP在開發(fā)過程中使用了iOS 系統(tǒng)的MD5、SHA 1等弱hash API。
漏洞截圖
解決方法:開發(fā)過程中請(qǐng)勿使用SHA 1等Hash API,否則有可能造成被保護(hù)數(shù)據(jù)泄露,建議使用SHA-224、SHA-256、SHA-384,和SHA-512等。
漏洞7:使用偽隨機(jī)數(shù)生成函數(shù)
漏洞說明:使用反匯編工具對(duì)該APP的可執(zhí)行文件進(jìn)行分析,發(fā)現(xiàn)該APP在開發(fā)過程中使用了偽隨機(jī)數(shù)發(fā)生器rand,有可能導(dǎo)致敏感信息被暴力破解。
漏洞截圖
解決方法:開發(fā)過程中建議使用arc4random等。
漏洞8:使用不安全API函數(shù)
漏洞說明:使用反匯編工具對(duì)該APP的可執(zhí)行文件進(jìn)行分析,發(fā)現(xiàn)該APP在開發(fā)過程中使用了不安全的API函數(shù)imp_stubs_strlen、imp_stubs_strcmp,有可能導(dǎo)致緩存溢出。
漏洞截圖
解決方法:開發(fā)過程中避免使用帶有潛在隱患的系統(tǒng)API,如strlcat代替strcat,strlcpy代替strcpy,strlcat代替strncat,strlcpy代替strncpy,snprintf代替sprintf,vsnprintf代替vsprintf,fgets代替gets。
漏洞9:工業(yè)APP缺少反調(diào)試機(jī)制
漏洞說明:APP缺少反調(diào)試機(jī)制,在Root環(huán)境下,攻擊者可使用Cycript等調(diào)試工具在APP運(yùn)行時(shí)尋找應(yīng)用漏洞。
運(yùn)行Cycript時(shí)的漏洞截圖
解決方法:
1、對(duì)用戶輸入數(shù)據(jù)進(jìn)行處理,避免顯示任何敏感信息。
2、對(duì)客戶端源碼進(jìn)行混淆,盡可能增加調(diào)試難度,最大限度隱藏自己的程序邏輯。
3.3.7 漏洞10:未檢查是否為越獄環(huán)境
漏洞說明:APP缺少反調(diào)試機(jī)制,在Root環(huán)境下,攻擊者可使用Cycript等調(diào)試工具在APP運(yùn)行時(shí)尋找應(yīng)用漏洞。
漏洞截圖:APP在越獄iOS操作系統(tǒng)中運(yùn)行截圖
解決方法:APP對(duì)運(yùn)行環(huán)境是否為越獄進(jìn)行檢查。
4 通訊安全性評(píng)估
4.1 通信特征
“xx”工業(yè)App在與云端服務(wù)器端交互時(shí)采用不安全的SSL/TLS通信,存在明文傳輸用戶名和密碼等安全漏洞。
4.2 研究結(jié)果
序號(hào) | 漏洞名稱 | 漏洞描述 | 嚴(yán)重 級(jí)別 |
11 | 用戶名/密碼明文傳輸 | 用戶登錄過程中,在與服務(wù)器端交互時(shí)明文傳輸用戶名和密碼等信息,可導(dǎo)致用戶敏感信息泄露。 | 高 |
12 | 安全通信SSL/TLS中的Cookie 缺少Secure 屬性 | 允許cookie 通過非安全的通道(http)進(jìn)行傳輸,泄露Cookie信息,使黑客能夠進(jìn)行會(huì)話劫持攻擊 | 中 |
13 | 安全通信SSL/TLS 加密套件(Cipher Suites)漏洞 | 采用該加密套件的加密內(nèi)容可以被黑客破解,導(dǎo)致信息泄露。 | 中 |
14 | 工業(yè)云平臺(tái)端遠(yuǎn)程通信接受弱加密SSL/TLS 加密套件 | 加密套件采用弱加密算法容易被攻擊者暴力破解,導(dǎo)致傳輸數(shù)據(jù)被黑客監(jiān)聽。 | 中 |
15 | 安全通信Diffie-Hellman密鑰交換DH group安全強(qiáng)度不足 | 密鑰交換DH group安全強(qiáng)度不足,可以對(duì)加密信息進(jìn)行暴力破解。 | 中 |
4.3 安全分析
4.3.1 漏洞11:用戶名/密碼明文傳輸
詳細(xì)信息: 用戶登錄過程中,在與服務(wù)器端交互時(shí)明文傳輸用戶名和密碼等,可導(dǎo)致用戶敏感信息泄露。
漏洞截圖:采用Charles等抓包工具捕獲的用戶名/密碼明文信息。
解決方法:敏感信息傳輸采用加密通訊。
漏洞12:安全通信SSL/TLS中的Cookie缺少secure屬性
詳細(xì)信息: 由于Cookie 未使用secure屬性,這將允許cookie 通過http等非安全通道進(jìn)行傳輸,使黑客能夠進(jìn)行會(huì)話劫持攻擊。cookie 的唯一必需屬性是“name”字段,常見的可選屬性如:“comment”、“domain”、“path”等等。必須相應(yīng)地設(shè)置“secure”屬性,才能防止以未加密的方式發(fā)送cookie。RFC 2965 指出:“Secure 屬性(不含值)會(huì)指導(dǎo)用戶代理程序不管何時(shí)返回此cookie,都只用(未指定)安全方法來聯(lián)絡(luò)原始服務(wù)器,以保護(hù)cookie 中的信息的機(jī)密性和真實(shí)性。”。
解決方法:云服務(wù)端開啟Https傳輸時(shí),為所有敏感cookie的添加Secure屬性。
漏洞13:安全通信SSL/TLS 加密套件(Cipher Suites)漏洞
詳細(xì)信息:安全通信采用低版本SSL/TLS協(xié)議,接受存在安全問題的加密套件。由于使用低版本SSL/TLS協(xié)議,服務(wù)接受如下存在漏洞的加密套件:TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32) (漏洞CVE-2016-2183);TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32) (漏洞CVE-2016-6329)。使得采用以上加密套件的加密內(nèi)容可以被黑客破解,導(dǎo)致信息泄露。
解決方法:使用TLSv1.2以上版本安全通信協(xié)議,或者更改遠(yuǎn)程服務(wù)安全通信配置,使其不再接受存在漏洞的加密套件。
漏洞14:工業(yè)云平臺(tái)端遠(yuǎn)程通信接受弱加密SSL/TLS 加密套件
詳細(xì)信息:安全通信采用TLSv1.0協(xié)議,支持接受弱加密SSL/TLS加密套件,具體如下:
TLS_RSA_WITH_RC4_128_MD5(漏洞:CVE-2013-2566)
TLS_RSA_WITH_RC4_128_SHA(漏洞:CVE-2015-2808)
弱加密套件采用的加密算法容易被攻擊者暴力破解,導(dǎo)致傳輸數(shù)據(jù)被黑客監(jiān)聽。
解決方法:使用TLSv1.2以上版本安全通信協(xié)議,或者修改SSL/TLS配置,使其不再接受弱加密套件(Cipher Suites)
漏洞15:安全通信Diffie-Hellman密鑰交換DH group安全強(qiáng)度不足
詳細(xì)信息:安全通信SSL/TLS服務(wù)使用DH groups密鑰大小為1024位,安全強(qiáng)度不足,有可能被破解。
解決方法:采用橢圓曲線Diffie-Hellman(ECDHE)或者使用2048位的DH groups。
5 “xx”工業(yè)云平臺(tái)安全性評(píng)估
5.1 “xx”工業(yè)云平臺(tái)介紹
“xx”工業(yè)云平臺(tái)是面向企業(yè)產(chǎn)品的數(shù)字化信息追蹤平臺(tái)+設(shè)計(jì)、生產(chǎn)、運(yùn)行和維護(hù)的全方位服務(wù)組合,目標(biāo)是實(shí)現(xiàn)覆蓋產(chǎn)品全生命周期的:數(shù)據(jù)可追溯、預(yù)防性維護(hù)、商業(yè)智能化、服務(wù)規(guī)模化,結(jié)合設(shè)備運(yùn)行參數(shù)、能耗數(shù)據(jù)分析和專家服務(wù)能力,可幫助設(shè)備使用用戶保證穩(wěn)定運(yùn)行、提升生產(chǎn)效率、降低能源成本。也是機(jī)器設(shè)備廠依據(jù)采集的數(shù)據(jù)實(shí)現(xiàn)商業(yè)智能,機(jī)器優(yōu)化,業(yè)務(wù)創(chuàng)新等。
5.2 研究結(jié)果
序號(hào) | 漏洞名稱 | 漏洞描述 | 嚴(yán)重級(jí)別 | 后果 |
16 | 云服務(wù)端無法抵御重放攻擊風(fēng)險(xiǎn) | 把截獲的用戶APP登錄報(bào)文、創(chuàng)建工單報(bào)文等直接發(fā)給云服務(wù)器,云服務(wù)端并沒有對(duì)重放次數(shù)進(jìn)行限制,攻擊者可對(duì)服務(wù)器端發(fā)起dos攻擊。 | 高 | 有可能導(dǎo)致系統(tǒng)服務(wù)異常。 |
5.3 安全分析
5.3.1 漏洞16:云服務(wù)端無法抵御重放攻擊風(fēng)險(xiǎn)
詳細(xì)信息: 把截獲的用戶APP登錄報(bào)文、創(chuàng)建工單報(bào)文等直接發(fā)給云服務(wù)器,云服務(wù)端并沒有對(duì)重放次數(shù)進(jìn)行限制,攻擊者可對(duì)服務(wù)器端發(fā)起dos攻擊。
漏洞截圖:
創(chuàng)建工單時(shí)使用POST請(qǐng)求,將日期、內(nèi)容、用戶id等信息通過POST請(qǐng)求https://mobile.mm.xxxxx.com/api/tickets/create?platform=android&version=1.5.14&username=cncert來創(chuàng)建工單。
報(bào)文重放后,返回?cái)?shù)據(jù)與原請(qǐng)求返回?cái)?shù)據(jù)一致,由上圖可見,重放的報(bào)文在APP中創(chuàng)建了兩個(gè)工單,攻擊者可通過偽造報(bào)文在云服務(wù)端創(chuàng)建多個(gè)惡意工單。
來源:工業(yè)互聯(lián)網(wǎng)安全應(yīng)急響應(yīng)中心