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