移動應用(yòng)App開發定制開發,Android和(hé)iOS移動應用(yòng)程序安全細節?
編輯導語:提到app我們對(duì)安全漏洞并不陌生。網上關于安全漏洞并不陌生。app安全漏洞和(hé)客戶信息洩露的(de)消息層出不窮。安全就像氣體。雖然看不見摸不著(zhe),但一旦安全問題沒有及時(shí)修複,對(duì)企業來(lái)說将是緻命的(de)打擊。本文闡述了(le)移動應用(yòng)安全的(de)主要風險,并指出了(le)如何保證Android應用(yòng)程序的(de)安全性,以及如何使用(yòng)iOS應用(yòng)程序安全數據存儲。
在過去的(de)10年裏,我們見證了(le)移動應用(yòng)程序的(de)快(kuài)速發展,但網絡欺詐一直随之而來(lái)。事實上,絕大(dà)多(duō)數移動應用(yòng)商店(diàn)app可(kě)能存在潛在的(de)安全隐患。
數據顯示,89%的(de)熱(rè)門應用(yòng)都是假的(de),18個(gè)行業Top98%的(de)應用(yòng)程序在10個(gè)應用(yòng)程序中存在漏洞。這(zhè)些漏洞一旦被利用(yòng),就會對(duì)開發者和(hé)用(yòng)戶産生很大(dà)的(de)影(yǐng)響。
本文将進一步探討(tǎo)開發後應實施哪些基本的(de)移動應用(yòng)安全實踐。
首先,移動應用(yòng)程序安全的(de)主要風險
1.弱服務器端控件
除了(le)移動終端,應用(yòng)程序和(hé)用(yòng)戶之間的(de)通(tōng)信是通(tōng)過服務器進行的(de),這(zhè)是世界黑(hēi)客的(de)主要攻擊目标。服務器漏洞背後的(de)主要原因是開發人(rén)員(yuán)有時(shí)忽略了(le)必要的(de)服務器安全考慮。
由于缺乏對(duì)移動應用(yòng)程序的(de)安全考慮,缺乏安全預算(suàn)和(hé)系統差異可(kě)能會導緻安全漏洞。通(tōng)過自動漏洞掃描工具掃描應用(yòng)程序,盡可(kě)能及時(shí)修複。
通(tōng)過這(zhè)種方法,我們可(kě)以發現解決了(le)許多(duō)常見的(de)問題和(hé)bug。
2.缺乏二進制保護
這(zhè)也(yě)是OWASP應用(yòng)程序需要解決的(de)主要安全問題之一,因爲如果移動應用(yòng)程序缺乏二進制保護,任何黑(hēi)客或對(duì)手都可(kě)以很容易地使用(yòng)反編譯工具将廣告代碼和(hé)相關設備插入應用(yòng)程序,他(tā)們也(yě)可(kě)以在第三方應用(yòng)程序市場(chǎng)上再次發布盜版應用(yòng)程序。
這(zhè)種做(zuò)法不僅會導緻數據洩露,危及商品和(hé)用(yòng)戶的(de)利益,還(hái)會影(yǐng)響企業的(de)品牌聲譽。爲了(le)避免這(zhè)種情況,二進制的(de)加強過程非常重要。
在二進制的(de)加強下(xià),對(duì)二進制文件進行分(fēn)析和(hé)修改,以保護其免受常見移動應用(yòng)程序的(de)安全威脅,允許在沒有源代碼的(de)情況下(xià)修複留下(xià)的(de)代碼本身的(de)漏洞。
應用(yòng)程序還(hái)應遵循越獄檢驗控件、校驗控件、證書(shū)鎖定控件和(hé)調試器檢驗控件的(de)安全編碼技術。
3.數據存儲安全
另一個(gè)常見的(de)移動應用(yòng)安全漏洞是缺乏安全的(de)數據存儲系統。開發人(rén)員(yuán)通(tōng)常依靠客戶端存儲來(lái)獲取内部數據。然而,當競争對(duì)手獲得(de)移動終端時(shí),這(zhè)些内部數據可(kě)以很容易地浏覽、使用(yòng)或操作。
這(zhè)可(kě)能導緻身份盜用(yòng)、聲譽損害和(hé)外部政策違規(PCI),跨平台保護數據存儲的(de)最佳方法是通(tōng)過操作系統提供的(de)基本等級加密構建額外的(de)加密層。
這(zhè)大(dà)大(dà)提高(gāo)了(le)數據安全性。并減少了(le)對(duì)默認加密的(de)依賴。
4.傳輸層保護不足
傳輸層是在客戶端和(hé)服務器之間傳輸數據的(de)一種方式。如果此時(shí)沒有引入适當的(de)移動應用(yòng)程序安全标準,任何黑(hēi)客都可(kě)以浏覽内部數據或修改它,這(zhè)将導緻身份盜竊和(hé)欺詐的(de)威脅。
爲了(le)加強傳輸層的(de)安全性,能夠在iOS和(hé)Android添加到應用(yòng)程序中SSL固定。此外,還(hái)可(kě)以用(yòng)行業标準的(de)密碼套件代替傳統的(de)密碼套件。
因爲混和(hé)SSL對(duì)話(huà),爲避免暴露用(yòng)戶對(duì)話(huà)ID,應用(yòng)程序通(tōng)過浏覽器/webkit運行例程時(shí),需要使用(yòng)SSL第三方分(fēn)析企業、社交網絡等版本。
5.數據洩漏
當關鍵的(de)移動應用(yòng)程序存儲在移動設備上的(de)攻擊位置時(shí),就會發生意外數據洩露。
例如,應用(yòng)程序存儲在其他(tā)應用(yòng)程序或設備可(kě)以浏覽的(de)地方,最終導緻應用(yòng)程序的(de)數據洩露和(hé)未經授權的(de)數據使用(yòng)。
監控常見的(de)數據洩露點,如日志、應用(yòng)背景、緩存、本地存儲等。在了(le)解了(le)困擾移動應用(yòng)程序的(de)主要風險和(hé)一些需要遵循的(de)最佳移動應用(yòng)程序安全事故後,讓我們繼續討(tǎo)論Android和(hé)iOS移動應用(yòng)程序安全細節。
二、如何保證Android應用(yòng)程序的(de)安全性
1.加密外部存儲的(de)數據
一般來(lái)說,設備的(de)内存儲容量有限。
這(zhè)一缺陷通(tōng)常迫使用(yòng)戶使用(yòng)硬盤和(hé)閃存驅動器等外圍設備,以确保數據安全,有時(shí)包括敏感和(hé)機密數據。
由于存儲在外部存儲設備上的(de)數據很容易被設備上的(de)所有應用(yòng)程序浏覽,因此以加密格式存儲數據非常重要。移動應用(yòng)程序開發人(rén)員(yuán)使用(yòng)最廣泛的(de)加密算(suàn)法之一是AES(高(gāo)級加密标準)。
2.内部存儲敏感數據
全部Android應用(yòng)程序都有内部存儲目錄,存儲在此目錄中的(de)文件非常安全,因爲它們使用(yòng)内部存儲目錄,MODE_PRIVATE創建文件的(de)方式。
簡單地說,這(zhè)種模式保證了(le)設備上的(de)其他(tā)應用(yòng)程序不會浏覽特定應用(yòng)程序的(de)文件。
因此,這(zhè)是移動應用(yòng)程序身份認證的(de)最佳實踐之一。
3.使用(yòng)HTTPS
應用(yòng)程序與服務器之間的(de)通(tōng)信應通(tōng)過HTTPS連接,大(dà)量Android客戶經常連接多(duō)個(gè)公共區(qū)域的(de)開放WiFi網絡,使用(yòng)HTTP而非HTTPS會使設備容易受到許多(duō)惡意熱(rè)點的(de)攻擊,這(zhè)些熱(rè)點很容易改變HTTP流量的(de)内容,使設備的(de)應用(yòng)程序異常。
其他(tā)主要的(de)移動應用(yòng)程序開發安全實踐包括:驗證客戶輸入,防止個(gè)人(rén)數據和(hé)應用(yòng)程序發布前的(de)個(gè)人(rén)數據ProGuard的(de)使用(yòng)。
三,如何使iOS安全數據存儲應用(yòng)程序
爲了(le)大(dà)大(dà)簡化(huà)應用(yòng)程序架構,提高(gāo)其安全性,最好的(de)方法是将應用(yòng)程序數據存儲在内存中,而不是寫入磁盤或發送到遠(yuǎn)程服務器。
雖然在本地存儲數據是唯一的(de)方法,但有很多(duō)方法可(kě)供選擇:
鑰匙串:存儲少量敏感數據的(de)最佳位置是鑰匙串。存儲在密鑰鏈中的(de)數據由操作系統管理(lǐ),任何其他(tā)應用(yòng)程序都無法訪問。
緩存:如果您的(de)數據不需要iCloud或iTunes然後您可(kě)以将數據存儲在應用(yòng)程序沙盒的(de)緩存目錄中。
默認系統:默認系統是存儲大(dà)量數據的(de)方便方法。
1.網絡安全
蘋果以其安全和(hé)隐私政策而聞名,多(duō)年來(lái)一直緻力于達到這(zhè)一水(shuǐ)平。
幾年前,蘋果推出了(le)AppTransportSecurity,該軟件通(tōng)過更安全的(de)連接(如軟件強制第三方移動應用(yòng)程序)HTTPS)發送網絡請求。
2.敏感信息的(de)安全
大(dà)多(duō)數移動應用(yòng)程序使用(yòng)敏感的(de)客戶數據,如通(tōng)訊簿、位置等。但作爲一名開發人(rén)員(yuán),我們需要确保浏覽用(yòng)戶的(de)信息必須被訪問,更重要的(de)是如何存儲這(zhè)些信息。
如果所需信息可(kě)以通(tōng)過本機框架浏覽,則複制和(hé)存儲該信息是多(duō)餘的(de)。
3.移動應用(yòng)程序安全實踐中面臨的(de)問題
記錄表明(míng),如果移動應用(yòng)程序沒有采取足夠的(de)措施來(lái)保護移動應用(yòng)程序免受外部惡意程序的(de)攻擊,移動應用(yòng)程序将變得(de)脆弱。如果移動應用(yòng)程序的(de)安全測試沒有按要求完成,則随時(shí)可(kě)能出現以下(xià)挑戰。
4.設備碎片化(huà)
在應用(yòng)商店(diàn)發布應用(yòng)程序之前,必須遵循一些基本流程。
有必要在移動應用(yòng)程序測試策略中引入不同分(fēn)辨率、功能、特性和(hé)限制的(de)設備。測試儀器的(de)具體漏洞可(kě)以使應用(yòng)程序開發人(rén)員(yuán)在應用(yòng)程序安全措施方面領先一步。
不僅是設備,還(hái)有不同版本的(de)流行操作系統都是重要的(de)一步,在應用(yòng)程序發布之前覆蓋所有可(kě)能的(de)漏洞。
5.弱加密
在弱加密的(de)情況下(xià),移動終端很容易識别任何可(kě)用(yòng)設備的(de)數據。
惡意程序攻擊者一直在尋找公共移動終端的(de)開放端。如果你不嚴格遵循加密過程,你的(de)應用(yòng)程序可(kě)以成爲開放端。因此,将精力投入到強大(dà)的(de)加密上也(yě)是制作黑(hēi)客移動應用(yòng)程序的(de)最佳方法之一。
6.較弱的(de)代管控件
這(zhè)主要發生在公司的(de)第一個(gè)移動應用(yòng)開發過程中,通(tōng)常會将數據暴露給服務器端系統。