物聯(lián)網(wǎng)時代,智能門鎖安全嗎?

網(wǎng)安前哨
高峰 陳硌瓊
智能門鎖是物聯(lián)網(wǎng)時代的產(chǎn)物,由于它的便捷性,受到越來越多的家庭認可,是守護人身安全和財產(chǎn)安全的重要防線。介于此,我們對常見品牌的智能門鎖展開了調(diào)研和研究,并嘗試對選定的一款智能門鎖進行攻擊測試,以下是我們對該款智能門鎖的攻擊過程和結(jié)果。

高峰,信息安全工程師,多年P(guān)OS開發(fā)和移動應(yīng)用相關(guān)經(jīng)驗,目前專注于物聯(lián)網(wǎng)安全相關(guān)領(lǐng)域。

陳硌瓊,信息安全工程師,多年移動應(yīng)用開發(fā)經(jīng)驗,目前專注于移動應(yīng)用及物聯(lián)網(wǎng)安全相關(guān)領(lǐng)域。

一、 國家對互聯(lián)網(wǎng)軟件安全管理

目前國家對互聯(lián)網(wǎng)客戶端軟件安全管理已越來越規(guī)范和嚴(yán)格,近幾年,國家有關(guān)部門陸續(xù)出臺相關(guān)管理要求:2016年11月7日,國家發(fā)布《中華人民共和國網(wǎng)絡(luò)安全法》;2019年3月13日,市場監(jiān)管總局、中央網(wǎng)信辦發(fā)布《移動互聯(lián)網(wǎng)應(yīng)用程序(App)安全認證實施規(guī)則》;2019年10月18日,中國人民銀行發(fā)布《加強移動金融客戶端應(yīng)用軟件安全管理的通知》的237號文;2019年11月28日四部委(工信部、網(wǎng)信辦、公安部、市場總局)發(fā)布《App違法違規(guī)收集使用個人信息行為認定方法》。以上文件都說明國家對網(wǎng)絡(luò)安全的重視程度,今天我們一起研究下現(xiàn)階段物聯(lián)網(wǎng)智能門鎖的安全情況。

二、 智能門鎖攻擊

智能門鎖是物聯(lián)網(wǎng)時代的產(chǎn)物,由于它的便捷性,受到越來越多的家庭認可,是守護人身安全和財產(chǎn)安全的重要防線。介于此,我們對常見品牌的智能門鎖展開了調(diào)研和研究,并嘗試對選定的一款智能門鎖進行攻擊測試,以下是我們對該款智能門鎖的攻擊過程和結(jié)果。此次攻擊的物聯(lián)網(wǎng)門鎖客戶端軟件是在root的手機環(huán)境下進行的,這是一種常見的安全測評分析手段。

1.攻擊對象(智能門鎖)選型

首先搜集了市面上常見品牌的智能門鎖,并下載對應(yīng)客戶端軟件,并對該客戶端軟件進行初步分析(反編譯、抓包、重發(fā)等),篩選出安全性相對不高的產(chǎn)品作為候選攻擊對象。

2. 攻擊方案概述

經(jīng)過對多款智能門鎖開門方式分析,大部分都有生成臨時密碼開鎖功能,并且生成的臨時密碼一般會在一定時間內(nèi)失效,此次我們的主要目的就是通過截取臨時密碼來正常開鎖。此外,我們也成功的截取到了用戶的用戶名和密碼,這也就意味著成功完成一次攻擊后,我們可以在任意手機下載的官方智能門鎖客戶端軟件上使用用戶名和密碼成功登錄,并隨時生成臨時密碼進行正常開門。

智能門鎖攻擊平臺由三部分組成:門鎖劫持客戶端軟件、云平臺服務(wù)器、簡易短信發(fā)送硬件設(shè)備。大概的流程是:首先,有一臺root環(huán)境手機并能正常訪問網(wǎng)絡(luò),在手機上去應(yīng)用商店下載安裝官方的智能門鎖客戶端軟件;其次,用戶在我們的root環(huán)境手機上正常登錄,并獲取開鎖臨時密碼操作,此時門鎖劫持客戶端軟件會把劫持到的用戶名、密碼、臨時密碼等操作人重要信息數(shù)據(jù)發(fā)送給云平臺服務(wù)器;第三,云平臺服務(wù)器發(fā)送開鎖臨時密碼數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)給短信發(fā)送硬件設(shè)備;最后,短信發(fā)送硬件設(shè)備把臨時開鎖密碼以短信形式發(fā)送給指定手機,整體流程見圖1。

圖1

3.門鎖劫持客戶端軟件

第一步,需要對官方下載的智能門鎖客戶端軟件進行技術(shù)分析,觀察客戶端軟件程序代碼中生成臨時密碼時的操作流程,通過分析和多次的嘗試找到源碼中生成臨時密碼的函數(shù)模塊,見圖2。

圖2

第二步,根據(jù)找到臨時密碼的函數(shù)模塊位置和參數(shù),使用Android Studio開發(fā)門鎖劫持客戶端軟件代碼,見圖3。

圖3

第三步,在Xposed框架的環(huán)境下,運行官方的智能門鎖客戶端軟件,正常登錄操作,獲得開鎖臨時密碼,此時可以通過開發(fā)的門鎖劫持客戶端軟件截獲登錄賬號、登錄密碼和臨時密碼等重要信息,見圖4。

圖4

最后,門鎖劫持客戶端軟件把截取到的開鎖臨時密碼通過網(wǎng)絡(luò)上傳至云平臺服務(wù)器,代碼見圖5。

圖5

4.云平臺搭建

基于Linux服務(wù)器進行云平臺搭建,主要實現(xiàn)服務(wù)接口與數(shù)據(jù)庫存儲服務(wù)的搭建,打通門鎖劫持客戶端軟件與短信發(fā)送硬件設(shè)備之間的數(shù)據(jù)鏈路,實現(xiàn)數(shù)據(jù)收集、數(shù)據(jù)管理和數(shù)據(jù)監(jiān)控功能,成為智能門鎖攻擊的紐帶與中樞。

服務(wù)接口基于RESTful API接口規(guī)范開發(fā):

一類是云平臺服務(wù)器與手機門鎖劫持客戶端軟件的數(shù)據(jù)交互功能接口,手機客戶端通過Http協(xié)議調(diào)用云平臺服務(wù)器API接口實現(xiàn)與其數(shù)據(jù)交互,見圖6。

圖6

另一類接口是云平臺服務(wù)器與短信發(fā)送硬件設(shè)備的數(shù)據(jù)交互功能接口,使用Netty框架建立基于TCP協(xié)議的Socket server服務(wù),與短信發(fā)送硬件設(shè)備進行數(shù)據(jù)交互,見圖7。

圖7

一個數(shù)據(jù)庫存儲,基于Hibernate框架把賬號、密碼和日志等重要資源數(shù)據(jù)寫入MySql數(shù)據(jù)庫,見圖8。

圖8

5.簡易短信發(fā)送硬件設(shè)備

此硬件設(shè)備是由STM32單片機作為主MCU,外圍擴展添加WIFI模塊和4G模塊,WIFI模塊用于連接路由與外網(wǎng)云平臺服務(wù)器連接進行數(shù)據(jù)交互,4G模塊用于與指定手機發(fā)送帶開鎖臨時密碼的短信,硬件原理圖參見圖9。

圖9

根據(jù)以上原理圖搭建硬件設(shè)備,某寶購買MCU最小系統(tǒng)、WIFI模塊和4G模塊,4G模塊的手機卡使用正常三大運營商手機卡,完成搭建后的硬件實物見圖10。

圖10

使用keil開發(fā)工具編寫MCU單片機代碼,主要包括兩部分:一是控制WIFI模塊連接路由與外網(wǎng)云平臺服務(wù)器建立長連接并進行數(shù)據(jù)交互;二是單片機得到云平臺服務(wù)器發(fā)送來的開鎖臨時密碼后,通過4G模塊把劫持的開鎖臨時密碼發(fā)送給指定手機號。以上代碼片段見圖11。

圖11

三、 總結(jié)

目前,安全問題已經(jīng)成為了阻礙物聯(lián)網(wǎng)進一步發(fā)展的重要因素,如果其安全性不能得到充分保證,那么物聯(lián)網(wǎng)系統(tǒng)中的個人信息、敏感數(shù)據(jù)等,都可能被盜竊或被不法分子利用,這必將嚴(yán)重影響個人隱私和財產(chǎn)安全。針對物聯(lián)網(wǎng)安全的管理,各監(jiān)管機構(gòu)也結(jié)合行業(yè)特點和技術(shù)發(fā)展情況,陸續(xù)制定相關(guān)監(jiān)管要求,建立檢測認證體系,保證和促進物聯(lián)網(wǎng)行業(yè)的健康發(fā)展。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論