高峰,信息安全工程師,多年POS開發和移動應用相關經驗,目前專注於物聯網安全相關領域。
陳硌瓊,信息安全工程師,多年移動應用開發經驗,目前專注於移動應用及物聯網安全相關領域。
一、 國家對網際網路軟體安全管理
目前國家對網際網路客戶端軟體安全管理已越來越規範和嚴格,近幾年,國家有關部門陸續出臺相關管理要求:2016年11月7日,國家發布《中華人民共和國網絡安全法》;2019年3月13日,市場監管總局、中央網信辦發布《移動網際網路應用程式(App)安全認證實施規則》;2019年10月18日,中國人民銀行發布《加強移動金融客戶端應用軟體安全管理的通知》的237號文;2019年11月28日四部委(工信部、網信辦、公安部、市場總局)發布《App違法違規收集使用個人信息行為認定方法》。以上文件都說明國家對網絡安全的重視程度,今天我們一起研究下現階段物聯網智能門鎖的安全情況。
二、 智能門鎖攻擊
智能門鎖是物聯網時代的產物,由於它的便捷性,受到越來越多的家庭認可,是守護人身安全和財產安全的重要防線。介於此,我們對常見品牌的智能門鎖展開了調研和研究,並嘗試對選定的一款智能門鎖進行攻擊測試,以下是我們對該款智能門鎖的攻擊過程和結果。此次攻擊的物聯網門鎖客戶端軟體是在root的手機環境下進行的,這是一種常見的安全測評分析手段。
1.攻擊對象(智能門鎖)選型
首先搜集了市面上常見品牌的智能門鎖,並下載對應客戶端軟體,並對該客戶端軟體進行初步分析(反編譯、抓包、重發等),篩選出安全性相對不高的產品作為候選攻擊對象。
2. 攻擊方案概述
經過對多款智能門鎖開門方式分析,大部分都有生成臨時密碼開鎖功能,並且生成的臨時密碼一般會在一定時間內失效,此次我們的主要目的就是通過截取臨時密碼來正常開鎖。此外,我們也成功的截取到了用戶的用戶名和密碼,這也就意味著成功完成一次攻擊後,我們可以在任意手機下載的官方智能門鎖客戶端軟體上使用用戶名和密碼成功登錄,並隨時生成臨時密碼進行正常開門。
智能門鎖攻擊平臺由三部分組成:門鎖劫持客戶端軟體、雲平臺伺服器、簡易簡訊發送硬體設備。大概的流程是:首先,有一臺root環境手機並能正常訪問網絡,在手機上去應用商店下載安裝官方的智能門鎖客戶端軟體;其次,用戶在我們的root環境手機上正常登錄,並獲取開鎖臨時密碼操作,此時門鎖劫持客戶端軟體會把劫持到的用戶名、密碼、臨時密碼等操作人重要信息數據發送給雲平臺伺服器;第三,雲平臺伺服器發送開鎖臨時密碼數據通過網絡發給簡訊發送硬體設備;最後,簡訊發送硬體設備把臨時開鎖密碼以簡訊形式發送給指定手機,整體流程見圖1。
圖1
3.門鎖劫持客戶端軟體
第一步,需要對官方下載的智能門鎖客戶端軟體進行技術分析,觀察客戶端軟體程序代碼中生成臨時密碼時的操作流程,通過分析和多次的嘗試找到源碼中生成臨時密碼的函數模塊,見圖2。
圖2
第二步,根據找到臨時密碼的函數模塊位置和參數,使用Android Studio開發門鎖劫持客戶端軟體代碼,見圖3。
圖3
第三步,在Xposed框架的環境下,運行官方的智能門鎖客戶端軟體,正常登錄操作,獲得開鎖臨時密碼,此時可以通過開發的門鎖劫持客戶端軟體截獲登錄帳號、登錄密碼和臨時密碼等重要信息,見圖4。
圖4
最後,門鎖劫持客戶端軟體把截取到的開鎖臨時密碼通過網絡上傳至雲平臺伺服器,代碼見圖5。
圖5
4.雲平臺搭建
基於Linux伺服器進行雲平臺搭建,主要實現服務接口與資料庫存儲服務的搭建,打通門鎖劫持客戶端軟體與簡訊發送硬體設備之間的數據鏈路,實現數據收集、數據管理和數據監控功能,成為智能門鎖攻擊的紐帶與中樞。
服務接口基於RESTful API接口規範開發:
一類是雲平臺伺服器與手機門鎖劫持客戶端軟體的數據交互功能接口,手機客戶端通過Http協議調用雲平臺伺服器API接口實現與其數據交互,見圖6。
圖6
另一類接口是雲平臺伺服器與簡訊發送硬體設備的數據交互功能接口,使用Netty框架建立基於TCP協議的Socket server服務,與簡訊發送硬體設備進行數據交互,見圖7。
圖7
一個資料庫存儲,基於Hibernate框架把帳號、密碼和日誌等重要資源數據寫入MySql資料庫,見圖8。
圖8
5.簡易簡訊發送硬體設備
此硬體設備是由STM32單片機作為主MCU,外圍擴展添加WIFI模塊和4G模塊,WIFI模塊用於連接路由與外網雲平臺伺服器連接進行數據交互,4G模塊用於與指定手機發送帶開鎖臨時密碼的簡訊,硬體原理圖參見圖9。
圖9
根據以上原理圖搭建硬體設備,某寶購買MCU最小系統、WIFI模塊和4G模塊,4G模塊的手機卡使用正常三大運營商手機卡,完成搭建後的硬體實物見圖10。
圖10
使用keil開發工具編寫MCU單片機代碼,主要包括兩部分:一是控制WIFI模塊連接路由與外網雲平臺伺服器建立長連接並進行數據交互;二是單片機得到雲平臺伺服器發送來的開鎖臨時密碼後,通過4G模塊把劫持的開鎖臨時密碼發送給指定手機號。以上代碼片段見圖11。
圖11
三、 總結
目前,安全問題已經成為了阻礙物聯網進一步發展的重要因素,如果其安全性不能得到充分保證,那麼物聯網系統中的個人信息、敏感數據等,都可能被盜竊或被不法分子利用,這必將嚴重影響個人隱私和財產安全。針對物聯網安全的管理,各監管機構也結合行業特點和技術發展情況,陸續制定相關監管要求,建立檢測認證體系,保證和促進物聯網行業的健康發展。
責任編輯:韓希宇