高清无码男男同同性,久久久久日韩AV无码一区,自拍 另类 综合 欧美小说,尤物网址在线观看

0371-63319761
您的當前位置:主頁 > 安全研究 > 行業(yè)新聞 >

基于 MQTT 協(xié)議的 IoT 物聯(lián)網設備已成為黑客攻擊的

時間:2023-08-22

基于 MQTT 協(xié)議的 IoT 物聯(lián)網設備已成為黑客攻擊的頭號載體和目標
 
根據Forrester的最新報告《2023 年物聯(lián)網安全狀況》,基于 MQTT 協(xié)議的 IoT 物聯(lián)網設備正在成為黑客攻擊的頭號載體和目標。
 
物聯(lián)網設備的安全性存在設計上的“先天缺陷”,長期使用默認密碼,極容易遭到黑客攻擊。此外,隨著 IoT 關鍵任務系統(tǒng)分配給與之緊密關聯(lián)的物聯(lián)網設備的角色和身份迅速增加,這些 IoT 設備正在成為黑客最青睞的高價值目標。
 
在2022年下半年,工業(yè)領域計算機中有34.3%受到攻擊影響,僅2021年上半年,針對物聯(lián)網設備的攻擊就高達15億次。超過40%的 IoT 系統(tǒng)曾阻止過惡意對象。
 
01、MQTT 協(xié)議應用場景
 
MQTT協(xié)議為大量計算能力有限,低帶寬、不可靠網絡等環(huán)境而設計,其應用非常廣泛。目前支持的服務端程序也較豐富,其PHP,JAVA,Python,C,C#等系統(tǒng)語言也都可以向MQTT發(fā)送相關消息。
 
以下列舉我們關心的幾項:
1. 使用發(fā)布/訂閱的消息模式,支持一對多的消息發(fā)布;
2. 消息是通過TCP/IP協(xié)議傳輸;
3. 簡單的數(shù)據包格式;
4. 默認端口為 TCP 的1883 ; WebSocket 端口 8083,默認消息不加密; 8883 端口默認是通過 TLS 加密的MQTT協(xié)議。
 
MQTT協(xié)議中有三種角色和一個主要概念,三種角色分別是發(fā)布者(PUBLISHER)、訂閱者(SUBCRIBER)、代理(BROKER),還有一個主要的概念為主題(TOPIC)。
 
消息的發(fā)送方被稱為發(fā)布者,消息的接收方被稱為訂閱者,發(fā)送者和訂閱者發(fā)布或訂閱消息均會連接BROKER,BROKER一般為服務端,BROKER存放消息的容器就是主題。發(fā)布者將消息發(fā)送到主題中,訂閱者在接收消息之前需要先“訂閱主題”。每份訂閱中,訂閱者都可以接收到主題的所有消息。
 
 
其 MQTT 協(xié)議流程圖如下:
 
 
02、MQTT 協(xié)議的攻擊點
 
 
根據 MQTT 協(xié)議和物聯(lián)網全鏈路特性,可以擴展如下幾個攻擊點:
● 授權:匿名連接問題,匿名訪問則代表任何人都可以發(fā)布或訂閱消息。如果存在敏感數(shù)據或指令,將導致信息泄漏或者被惡意攻擊者發(fā)起惡意指令;
● 傳輸:默認未加密,則可被中間人攻擊??色@取其驗證的用戶名和密碼;
● 認證:弱口令問題,由于可被爆破,設置了弱口令,同樣也會存在安全風險;
● 應用:訂閱端明文配置導致泄漏其驗證的用戶名和密碼;
● 漏洞:服務端軟件自身存在缺陷可被利用,或者訂閱端或服務端解析內容不當產生安全漏洞,這將導致整個系統(tǒng)。
 
MQTT 協(xié)議攻擊點的利用
 
目前已經有針對 MQTT 的開源利用工具,這里主要以功能強大易用的 mqtt-pwn 工具為主。Github地址為 https://github.com/akamai-threat-research/mqtt-pwn
 
● MQTT匿名訪問
 
有一些MQTT的服務端軟件默認是開啟匿名訪問,如果管理員沒有網絡安全意識或懶惰,只要對公網開放,任何人都可以直接訪問。
 
使用mqtt-pwn的connect命令進行連接。connect -h 顯示幫助信息,其他命令也是如此,使用時,多看幫助和文檔,很快就可以熟悉使用。對于開啟匿名的服務,直接connect -o host 即可,當然該命令也支持輸入用戶名和密碼。如果沒有顯示連接異常,就表示連接成功。連接成功后,可使用system_info 查看系統(tǒng)信息。
 
 
接下來就可以查看topic信息等內容。這時先執(zhí)行discovery,等待顯示scan #1 has finished,接下來執(zhí)行scans -i 序號,在執(zhí)行topics命令即可看到topic信息。其中disconvery可以使用-t參數(shù)設置超時時間。topics命令可以使用-l參數(shù)設置查看條數(shù)。
 
 
可以輸入messages查看topic的內容。使用-l限制條數(shù),-i參數(shù)查看某個單挑消息內容等。
 

 
● MQTT用戶名密碼爆破
 
metasploit帶有MQTT的爆破模塊,經過實際測試,效果并不理想。這里仍然以mqtt-pwn來進行介紹。mqtt-pwn具有bruteforce功能,并帶了一個簡單的字典,可以爆
 
破MQTT的用戶名和密碼。
 
1 bruteforce --host host --port -uf user_dic -pf pass_dic
 
端口默認是1883,用戶和密碼字典默認會在 mqtt-pwn 的 resources/wordlists 文件夾下。
 
例如執(zhí)行 bruteforce --host 127.0.0.1 爆破。爆破成功后就可以使用上面將到的內容進行連接進行操作,在連接時加上用戶名和密碼選項即可。
 
mqtt-pwn還支持更多功能,如Owntracks (GPS Tracker)、Sonoff Exploiter等。感興趣的大家自己去看下文檔去進行測試。
 
在實際的使用場景我們可以通過中間人劫持從流量中捕獲驗證信息。以下為wireshark抓包內容。
 
 
除此之外,由于目前多種語言實現(xiàn)了mqtt的客戶端,web應用中還有webscoket的mqtt。這使得可以通過web的網頁源碼或網絡請求獲得驗證的信息。
 

03、MQTT 協(xié)議的安全建議
 
 
1. 請勿開啟匿名訪問。對服務端(BROKER)設置身份認證,增加用戶名密碼驗證。
 

 
2. 根據實際情況,優(yōu)先使用 TLS/DTLS 加密傳輸數(shù)據,防止中間人攻擊。
3. 加密 Payload 后在進行安全傳輸。
4. 使用最新的服務端程序架設 MQTT 云服務。
5. 不要將實現(xiàn)的代碼上傳到 Github 等代碼公開平臺。
 
來源:IoT物聯(lián)網技術
 

Copyright © 2017-2024 河南中瀚安全技術有限公司 版權所有 豫ICP備18011434號-1 豫公網安備 41019702002746號