999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

物聯網控制終端APP的安全性分析與加固建議

2019-01-18 01:15:48吳君軼徐志輝路曉明
網絡安全技術與應用 2019年1期
關鍵詞:用戶檢測

◆盧 萍 姜 楠 吳君軼 徐志輝 路曉明

?

物聯網控制終端APP的安全性分析與加固建議

◆盧 萍1,2姜 楠1吳君軼3徐志輝3路曉明3

(1.北京工業大學 北京 100124;2.北京郵電大學 北京 100876) (3.中移(杭州)信息技術有限公司 浙江 310012)

隨著智能家居的普及,Android應用市場上出現了越來越多的物聯網控制終端APP,但是由于Android平臺的高度開放性,使其面臨著諸多安全威脅,本文首先介紹了Android應用安全測試中一些常用的檢測工具,又選取了一個物聯網控制終端APP作為樣本進行了安全性檢測,最后給出了相應的加固建議。

物聯網;Android APP;安全檢測

0 引言

近年來,物聯網發展迅猛,例如智能家電、智能穿戴、無人機等智能設備不斷推出,伴隨著Android應用平臺的普及,越來越多的物聯網廠商選擇將物聯網控制終端設計成APP的形式安裝在用戶的手機、平板電腦等移動端設備上。然而物聯網控制終端APP的質量良莠不齊,導致安全問題頻發,不僅可能泄露用戶的隱私數據,由于物聯網設備的特殊性,像攝像頭被控制這種嚴重的安全事件甚至會威脅用戶的人身和財產安全[1]。物聯網控制終端APP在為我們的生活帶來方便的同時也帶來了巨大的風險。本文主要介紹了現有的移動安全檢測體系并結合物聯網控制終端APP進行相關實踐,最后給出了一些加固對策。

1 常用物聯網安全檢測工具介紹

本節對一些常用安全檢測工具的功能進行了簡要介紹,并根據本次測試的需求從中選取了相應工具用于測試。

(1)Android反編譯工具

Apktool是一個可以用于逆向Android應用程序的工具,利用它能夠得到APP的布局和資源文件,并且能夠在進行一些修改后重建它們。dex2jar可以將dex文件(記錄一個Android工程所有類文件信息,是一種可執行文件)轉換為jar文件(多個文件組合成的壓縮文件)。JD-GUI是一個圖形實用程序,可以使用JD-GUI查看jar文件中的java源代碼內容。

(2)Web安全測試工具

Burpsuite是用于攻擊Web應用程序的集成平臺,平臺集成了Web 代理、網絡爬蟲、掃描器、自動化攻擊、解碼器、中繼器等功能[2],使我們能夠自動化地或者手工地更好的完成對Web應用的滲透測試和攻擊。

(3)APP自動安全測試框架

MobSF(Mobile Security Framework)是一個開源的適用于Android,IOS,Windows平臺的自動安全測試框架,能對移動應用程序執行動態和靜態分析。

(4)APP安全測試平臺

愛加密提供包括安全檢測、安全加固、威脅感知、安全培訓等一整套覆蓋周期流程的解決方案體系,有效保護移動應用安全。Testin云測基于真實終端設備環境,在云端部署了大量的測試終端供開發者進行測試,為企業手機APP提供包括內測、兼容測試、功能測試、性能測試、bug探索、真機測試在內的一站式云測試服務。

在本文測試實例中,使用了Burpsuite作為網絡代理,用于攔截和轉發HTTP/HTTPS請求,使用dex2jar和JD-GUI對APP進行逆向分析,安全檢測分類標準參考了Testin的分類標準。

2 移動APP安全檢測體系介紹及檢測實例

目前市面上有許多用于移動APP安全性檢測的系統,用戶只需簡單地提供APK安裝包,檢測系統就會自動的對安裝包進行分析,最后會給出一份針對該APP安全性的測試報告。雖然自動化的APP安全檢測工具提高了檢測效率,但是在自動化的檢測過程中可能會出現一些問題,例如無法成功反編譯APP、難以進行邏輯漏洞的挖掘等,這些都需要安全檢測人員通過長期積累經驗,使用相關工具,才能進行有效的檢測[3]。本節將以某物聯網控制終端APP作為樣本,從不同方面對其進行檢測。

(1)安全檢測項

在移動端APP的安全檢測中,本文主要從五個大的方向對APP進行評估,如圖1所示,包括環境安全、APP安全、數據安全、通信安全、業務安全,每個大的測試方向內僅包括了該類的一些細分測試項,我們從每個方向中選取了一些比較重要的細分測試項進行了測試。

圖1 APP安全檢測項

(2)環境安全

在如果設備經過root,設備中可能存在惡意軟件,它可以通過取得權限對手機內的所有信息進行讀取和篡改,一些個人的隱私信息可能會因此而泄露。系統權限的過度開放對用戶隱私、惡意行為防范等方面造成很大危險[4]。將某物聯網控制終端APP安裝在開啟了root權限的安卓設備中,打開APP后沒有發現進行Android終端的root環境檢測并給出相應提示,APP可以正常運行。

(3)APP安全

Android程序打包完成之后得到的是一個APK文件,可以直接安裝到安卓手機上,反編譯也就是對這個APK文件進行反編譯,包括對代碼反編譯和對資源反編譯,對代碼進行反編譯可以得到該APP的java源代碼,對資源反編譯可以得到APP的圖片資源文件、AndroidManifest.xml文件和其他的資源文件。攻擊者可以從反編譯得到的代碼中獲取敏感的服務器地址或者一些用于測試的用戶名密碼等信息,了解程序的邏輯,更有針對性的進行攻擊。下面我們主要介紹了對代碼的反編譯。

使用dex2jar,JD-GUI對APP進行安裝包逆向分析。dex2jar用于將dex文件轉換為jar文件,JD-GUI用于打開jar文件,查看代碼結構。首先將該APP的APK安裝包的后綴名改為rar,然后將該文件解壓,解壓后的文件中會有一個classes.dex文件,將該文件加入dex2jar的根目錄,進入該目錄,使用命令行執行d2j-dex2jar.bat classes.dex,會生成一個名為“classes-dex2jar.jar”的文件,使用JD-GUI打開該文件,會看到如圖2、圖3所示的目錄結構以及源代碼信息。可以看出該APP沒有經過加固,能夠輕易的被反編譯,代碼沒有經過混淆,反編譯得到的代碼非常接近源代碼的形式。

圖2 APP反編譯得到的目錄結構

圖3 APP反編譯得到的部分代碼

(4)數據安全

在Android平臺上實現數據存儲可以通過多種方式,比較常用有SharedPreferences存儲數據,SQLite數據庫,文件存儲等。使用SharedPreferences存儲數據是以xml格式明文存儲的,存儲位置為應用程序私有目錄,具體存儲目錄為:/data/data/程序包名/shared_prefs。本次測試對使用SharedPreferences存儲的數據進行了檢測。

如圖4所示,在被測試應用程序私有目錄下有明文存儲用戶的用戶名、密碼等敏感信息。在有root權限時可以進入該目錄查看用戶的敏感信息。

圖4 應用程序私有目錄存儲內容

(5)通信安全

HTTP協議的傳輸方式有多種,一般常用的是GET和POST,GET的查詢字符串是在GET請求的URL中發送的,采用的是明文傳輸,而POST是放在報文內部的,由于HTTP協議無法加密數據,通過網絡的嗅探設備及一些技術手段,就可以還原HTTP報文內容,所以以上這兩種方式都是不安全的。目前比較安全的是使用HTTPS協議,HTTPS在HTTP的基礎上加入了SSL/TLS協議,依靠SSL/TLS證書來驗證服務器的身份,并為客戶端和服務器端之間建立“加密通道”,確保用戶數據在傳輸過程中處于加密狀態。

使用Burpsuite對某物聯網控制終端APP進行通信安全檢測,Burpsuite可以轉發所有的HTTP流量,在HTTP history選項卡中可以看到如圖5所示信息,登錄過程使用的是明文傳輸的HTTP協議而不是經過加密的HTTPS,并且由圖7可知傳輸的數據沒有進行加密。

圖5 APP數據傳輸使用的通信協議

(6)業務安全

業務安全檢測中選取了密碼找回安全這一項進行檢測,具體是檢測重置任意用戶密碼漏洞。重置任意用戶密碼漏洞利用了服務器對驗證碼的驗證不完善,輸入手機號和驗證碼進行重置密碼的時候,僅對驗證碼是否正確進行了判斷,未對該驗證碼是否與手機號匹配做驗證。下面將用實例演示如何通過對一個已知密碼的用戶賬號進行重置密碼操作實現重置任意賬號的密碼。

首先用兩個手機號分別申請某物聯網控制終端APP的用戶A、用戶B,A作為已知密碼的賬號,B作為未知密碼的賬號,接下來將通過在A用戶登錄時做重置密碼和修改數據包的操作,最終實現重置B用戶的密碼。申請賬號時兩個賬號的密碼均設置為a123456,賬號申請成功后選擇退出當前賬號。然后進入登錄界面選擇忘記密碼,使用A賬號的手機號接收驗證碼,正確填寫接收到的驗證碼,將新密碼設置為a1234567,如圖6所示。

圖6 重置賬戶密碼

開啟Burpsuite進行抓包,點擊“提交”,會抓到如圖7所示的數據包,可以看到用戶的密碼,用戶名都是用明文顯示。使用Burpsuite對數據包進行修改,將Username改為B賬號。點擊Burpsuite中的forward轉發數據包,服務器端會返回一個表示密碼修改成功的數據包。

圖7 登錄數據包

接下來驗證重置密碼是否成功,使用B賬號的原密碼a123456進行登錄,用Burpsuite抓包得到表示用戶輸入的密碼錯誤的數據包并且登錄時顯示密碼錯誤,然后使用密碼a1234567進行登錄,抓包得到如圖8所示表示登錄成功的成功的數據包,賬號登錄成功。

圖8 登錄成功返回包

3 加固建議

(1)環境安全

在應用的運行環境方面,有必要對系統進行root檢測,一般可以通過檢測手機內是否有su文件(Android獲取root權限后,會存在一個su文件),su命令能否執行確定[5]。如果檢測到系統已經被root,則用戶不能夠繼續進行操作,否則在root環境中,用戶所做的操作都具有極大風險,可能導致隱私泄露等一系列問題。

(2)APP安全

為了對抗反編譯后直接可以看到APP的源代碼,開發人員可以在APP發布前,對應用配置一些混淆規則進行ProGuard混淆,當規則全部配置成功后,對APK進行反編譯,某些函數名或者變量名就被混淆成了a、b、c等難以理解的字符,從而增加了攻擊者進行逆向分析的難度。

APP應用加固服務能夠大大提高應用的安全性,Android應用經過加固以后,可以有效防止APK反編譯、二次打包、植入代碼,防止靜態注入,動態破解,能夠全面保護APP安全。原理是通過對dex進行加殼保護,將原始程序隱藏在殼程序尾部,在殼程序運行時通過反射機制動態加載原程序,從而實現防止原程序APK文件被反編譯[1]。目前有多家互聯網安全廠商提供APP應用加固服務。

(3)數據安全

默認情況下,保存到應用內部存儲的是應用的私有文件,其他的應用無法訪問這些文件,當這個應用被卸載時,這些文件也會被移除。但是如果設備經過root,直接進入對應的目錄就可以訪問到內部存儲的數據。所以要對應用本地資源和重要數據進行防護,將本地數據進行加密后存儲。

可以通過對本地數據進行加密實現數據的安全存儲,例如使用AES加密算法對數據進行加密,在SO文件中生成密鑰,這樣即使能夠成功反編譯,也很難查看SO文件的代碼邏輯,增加破解成本。

(4)通信安全

網絡傳輸安全方面,如果使用的是HTTP協議,由于該協議是明文傳輸,為提高安全性需要對數據進行加密后傳輸,接收端在收到數據后進行校驗,防止惡意用戶嗅探和更改數據。在本測試實例中其使用的是HTTP協議,傳輸內容沒有進行加密,導致數據包很容易被嗅探并篡改。若要進一步的提高安全性,避免使用HTTP明文傳輸數據可能泄露敏感信息,可以直接使用HTTPS,這樣即使中間人能夠截獲信息也不能讀懂信息,不能做出針對性的修改。

(5)業務安全

要提高業務方面的安全性,需要清楚應用程序的工作邏輯,避免出現邏輯缺陷,例如在校驗驗證碼時,不應只對驗證碼進行校驗,還要對驗證碼是否與手機號匹配做驗證。為降低密碼被暴力破解的風險,可以在登錄密碼輸入錯誤多次后鎖定賬號。設置發送驗證碼有最小時間間隔,不能頻繁發送。為避免弱口令帶來的風險,在用戶設置密碼時進行檢測,如果為弱口令,進行相應提示,或者規定密碼必須由數字,大小寫字母組成,密碼位數不低于6位等,通過這些措施增加破解成本。

4 結束語

隨著物聯網的快速發展,智能家居設備越來越普及,網絡攻擊的手段也越來越復雜,提高物聯網控制終端APP的安全性迫在眉睫。本文介紹了APP測試要點,通過對一個物聯網控制終端APP進行安全檢測,說明市場上的物聯網控制終端APP在安全方面存在很多問題,希望能提升用戶的安全意識,引起開發人員的更多思考。

[1]李祖泉.物聯網控制終端APP安全加固方案設計與實現[D].北京:北京郵電大學,2018.

[2]俞詩源,王譽天,劉鑫.Burpsuite 工具在漏洞檢測中的應用[J].信息網絡安全,2016.

[3]常清雪.移動Android APP安全檢測分析與研究[J]. 信息安全與技術,2016.

[4]賴海超,張君,朱晨鳴.移動APP安全及檢測體系分析[J].計算機時代,2018.

[5]邢曉燕,金洪穎,田敏.Android 系統 Root 權限獲取與檢測[J].軟件,2013.

本課題得到教育部-中國移動科研基金(MCM20170402)資助。

猜你喜歡
用戶檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
小波變換在PCB缺陷檢測中的應用
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 97精品久久久大香线焦| 免费一级毛片| 婷婷亚洲最大| 日本三级欧美三级| 四虎AV麻豆| 日本www在线视频| 91探花国产综合在线精品| 亚洲成人高清在线观看| 一本无码在线观看| 国产99视频在线| 日韩123欧美字幕| 2022国产91精品久久久久久| 亚洲黄色视频在线观看一区| 一边摸一边做爽的视频17国产| 无码福利视频| 日韩国产亚洲一区二区在线观看| 91av国产在线| 日韩精品亚洲一区中文字幕| 992Tv视频国产精品| 亚洲国产精品一区二区第一页免 | a级毛片在线免费观看| 亚洲天堂自拍| 国产精品短篇二区| 丰满人妻中出白浆| 97精品久久久大香线焦| 日本伊人色综合网| 国产成人高清精品免费软件| 国产精品va| 少妇精品在线| 亚洲日产2021三区在线| 在线国产资源| 一本大道香蕉中文日本不卡高清二区| 日本免费精品| 国模私拍一区二区| 国产精品第三页在线看| 国产日韩精品一区在线不卡| 精品国产乱码久久久久久一区二区| 91在线日韩在线播放| 久久男人资源站| 成人福利免费在线观看| 国产人成在线观看| 婷婷亚洲视频| 99久久精彩视频| 国产白丝av| 色综合久久无码网| 亚洲av无码久久无遮挡| 久久人人97超碰人人澡爱香蕉| 五月婷婷中文字幕| 午夜视频在线观看免费网站| 国产一级特黄aa级特黄裸毛片| h网站在线播放| 色久综合在线| 国产成人久久777777| 久精品色妇丰满人妻| 亚洲日韩第九十九页| 亚洲人妖在线| 亚洲中文在线看视频一区| 国产原创演绎剧情有字幕的| 亚洲精品无码高潮喷水A| 国产精品午夜福利麻豆| 二级特黄绝大片免费视频大片| 国外欧美一区另类中文字幕| 黄色网站不卡无码| 亚州AV秘 一区二区三区| 无码AV高清毛片中国一级毛片| 国产日韩欧美在线播放| 国产精品乱偷免费视频| 欧美日韩国产成人在线观看| 亚洲欧美日韩动漫| 欧美日韩高清| 免费A级毛片无码无遮挡| 一级毛片中文字幕| 国产精品三级av及在线观看| 亚洲av无码久久无遮挡| 2019国产在线| 亚洲精品在线91| 亚洲中文字幕在线精品一区| 91九色国产porny| 538精品在线观看| 国产午夜一级淫片| 日本一区高清| 亚洲日韩Av中文字幕无码|