眾所周知,攻擊者往往會使用用戶移動設(shè)備上運(yùn)行的應(yīng)用程序來攻擊后端的系統(tǒng),比如攻擊者利用移動操作系統(tǒng)和你的應(yīng)用程序中的漏洞來監(jiān)視你,獲取私人數(shù)據(jù)甚至竊取資金。為了應(yīng)對這種情況,許多移動應(yīng)用程序開發(fā)人員正在使用應(yīng)用程序屏蔽,有時稱為“應(yīng)用程序強(qiáng)化(app hardening)”來緩解攻擊者對應(yīng)用程序發(fā)起的各種攻擊。
應(yīng)用程序強(qiáng)化或應(yīng)用程序屏蔽對于防止逆向工程很重要,但該方法不會在你的應(yīng)用程序運(yùn)行在一個危險的移動設(shè)備的環(huán)境中檢測到實(shí)時的網(wǎng)絡(luò)攻擊。移動應(yīng)用程序需要額外的應(yīng)用程序內(nèi)保護(hù),以保護(hù)你的應(yīng)用程序免受攻擊和欺詐。
研究者在2019年7月發(fā)布了一份 “應(yīng)用程序內(nèi)保護(hù)市場指南”,所謂應(yīng)用程序內(nèi)保護(hù)是指在應(yīng)用程序(而不是網(wǎng)絡(luò)或操作系統(tǒng))中實(shí)施的安全解決方案,這樣應(yīng)用程序更能抵御惡意數(shù)據(jù)泄露、入侵、篡改和逆向工程等攻擊。企業(yè)使用應(yīng)用程序內(nèi)保護(hù)來保護(hù)其基于軟件的資產(chǎn),并保護(hù)其組織和客戶免受欺詐性攻擊。
包含個人身份信息和知識產(chǎn)權(quán)的金融、醫(yī)療保健和公民服務(wù)應(yīng)用程序應(yīng)同時實(shí)現(xiàn)應(yīng)用程序屏蔽和應(yīng)用程序內(nèi)保護(hù)。在本文,我將描述每種情況,并提供示例應(yīng)用程序來實(shí)現(xiàn)應(yīng)用程序內(nèi)保護(hù)以及它們所保護(hù)的數(shù)據(jù)。
什么是應(yīng)用程序屏蔽?
應(yīng)用程序屏蔽是一組用于修改和混淆應(yīng)用程序的二進(jìn)制代碼的技術(shù)。應(yīng)用程序防護(hù)使應(yīng)用程序更具防篡改性,可以防止通過逆向工程和未經(jīng)授權(quán)的訪問來竊取機(jī)密。它創(chuàng)建了一個更具彈性的應(yīng)用程序,通過混淆和加密二進(jìn)制代碼使逆向工程更加困難。
應(yīng)用程序屏蔽功能包括:
代碼混淆,混淆是修改人類難以理解的源代碼或設(shè)備代碼的蓄意行為。使代碼難以理解會阻止攻擊者試圖從你的代碼中挖掘潛在的缺陷、漏洞或?qū)P進(jìn)行逆向工程。
調(diào)試檢測,應(yīng)用程序阻止和檢測調(diào)試,并響應(yīng)當(dāng)前的調(diào)試器,必須涵蓋所有可用的調(diào)試協(xié)議。
模擬器檢測,模擬器檢測使應(yīng)用程序能夠檢測它在模擬器中的操作。模擬器用于對應(yīng)用程序進(jìn)行逆向工程,并識別其與其他服務(wù)的通信。
根或越獄檢測,越獄或根檢測會檢測用戶是否刪除了蘋果或谷歌在設(shè)備上設(shè)置的限制。越獄檢測很重要,但不能檢測到設(shè)備受到攻擊。
應(yīng)用篡改,盡管混淆有助于防止對靜態(tài)(非運(yùn)行)代碼進(jìn)行逆向工程,但攻擊者仍然可以通過在運(yùn)行時“鉤住”應(yīng)用來嘗試逆向應(yīng)用。應(yīng)用程序篡改包括檢測攻擊者是否嘗試對應(yīng)用程序進(jìn)行逆向工程。
什么是應(yīng)用程序內(nèi)保護(hù)?
應(yīng)用程序內(nèi)保護(hù)與應(yīng)用程序屏蔽不同,它可以從應(yīng)用程序內(nèi)部檢測實(shí)時惡意軟件,網(wǎng)絡(luò)和操作系統(tǒng)攻擊。移動威脅防御技術(shù)被置于移動應(yīng)用程序內(nèi)部,以檢測和補(bǔ)救對應(yīng)用程序和設(shè)備的威脅。
應(yīng)用程序內(nèi)保護(hù)可保護(hù)后端系統(tǒng)免受可能攜帶的移動惡意軟件或易受攻擊的移動設(shè)備的攻擊。雖然我們無法控制移動設(shè)備上應(yīng)用的安全狀況,但是如果在移動設(shè)備上檢測到惡意軟件,危險的配置或網(wǎng)絡(luò)攻擊,則可以限制設(shè)備與受攻擊的程序進(jìn)行通信。
除了越獄和仿真器檢測之外,一些數(shù)據(jù)應(yīng)用程序內(nèi)保護(hù)還提供:
惡意軟件檢測,應(yīng)用程序內(nèi)保護(hù)可檢測設(shè)備上的多種惡意軟件,并建議用戶進(jìn)行補(bǔ)救。隨著用戶繼續(xù)遷移到移動設(shè)備,惡意軟件也會遷移。 Bankbot,Monokle,Anubis和Cerebus等惡意軟件樣本和遠(yuǎn)程訪問工具RAT已出現(xiàn)在移動設(shè)備上,隨著越來越多的公司將更多服務(wù)推向移動設(shè)備,這種趨勢還將繼續(xù)。其中許多RAT會監(jiān)控剪貼板、密碼,以收集有關(guān)用戶和憑據(jù)數(shù)據(jù)。
零日檢測,應(yīng)用程序內(nèi)保護(hù)可檢測通過文件系統(tǒng)和操作系統(tǒng)行為利用的漏洞。通過動態(tài)監(jiān)控危害指標(biāo)與查看已知漏洞的云庫,或僅檢測設(shè)備上安裝的OS版本/補(bǔ)丁程序級別的指標(biāo),就可以檢測到零日攻擊。
網(wǎng)絡(luò)或Wi-Fi緩解,應(yīng)用程序內(nèi)保護(hù)檢測網(wǎng)絡(luò)連接操作和中間人(MiTM)攻擊。你的應(yīng)用程序應(yīng)該能夠識別“中間人”(MiTM)、SSL剝離,并嘗試代理或解密你的用戶的應(yīng)用程序流量,以糾正攻擊和產(chǎn)生有關(guān)威脅事件的威脅取證。
設(shè)備配置風(fēng)險,這個風(fēng)險主要來自用戶自己。用戶選擇是否更新操作系統(tǒng)以修補(bǔ)已知漏洞,使用PIN碼或越獄設(shè)備。應(yīng)用程序內(nèi)部的應(yīng)用程序內(nèi)保護(hù)可讓你查看應(yīng)用的安全狀況,并最終了解移動應(yīng)用程序的風(fēng)險狀況。
應(yīng)用程序屏蔽和應(yīng)用程序內(nèi)保護(hù)有什么區(qū)別?
應(yīng)用程序屏蔽和應(yīng)用程序內(nèi)保護(hù)是互補(bǔ)的,在許多情況下,為了全面降低風(fēng)險,用戶應(yīng)該在移動應(yīng)用程序中同時使用這兩種技術(shù)來增強(qiáng)預(yù)防能力并阻止攻擊者獲取更多隱私數(shù)據(jù)。至于你決定使用哪一種方法來保護(hù),則取決于你的應(yīng)用程序的運(yùn)行方式,以及它定期存儲和處理的信息類型。
為了達(dá)到最優(yōu)的安全水平,移動開發(fā)團(tuán)隊投入大量時間來設(shè)計和構(gòu)建直觀的移動應(yīng)用程序。這樣的程序會自動執(zhí)行標(biāo)準(zhǔn)的安全檢查,并嘗試遵循良好的編碼習(xí)慣。但是,在運(yùn)行時保護(hù)應(yīng)用程序的安全也至關(guān)重要。因為移動應(yīng)用程序是依賴操作系統(tǒng)來提供安全運(yùn)行的基礎(chǔ),所以如果設(shè)備受到威脅,那么移動應(yīng)用程序的整個安全基礎(chǔ)也會受到威脅。
一個自我保護(hù)的應(yīng)用程序可以不依賴設(shè)備本身的安全性能來安全的運(yùn)行和操作,具有運(yùn)行時安全技術(shù)或應(yīng)用程序內(nèi)保護(hù)的移動應(yīng)用程序能夠獨(dú)立于本機(jī)安全功能檢測惡意活動。這種獨(dú)立檢測可及時識別野外的威脅,并最終避免不可接受的風(fēng)險暴露,并最終保護(hù)應(yīng)用程序和服務(wù)器端的交易和數(shù)據(jù)。
設(shè)備本身的操作系統(tǒng)有多脆弱?
移動應(yīng)用程序開發(fā)人員依靠底層操作系統(tǒng)來確保安全性,但是,盡管移動操作系統(tǒng)本身已經(jīng)加強(qiáng)了防御攻擊的能力,但它們并非萬無一失。眾所周知,研究人員每年都會發(fā)現(xiàn)成千上萬的新漏洞。事實(shí)也是,研究人員和惡意攻擊者都在不斷測試Android和iOS,以通過漏洞賞金計劃、內(nèi)部研究或?qū)⒘闳諆r格賣給出價最高的人來尋找漏洞。目前,一個在iOS上遠(yuǎn)程傳輸?shù)某掷m(xù)性漏洞可以賣到200萬美元。
2019年,移動操作系統(tǒng)供應(yīng)商為1161個安全漏洞創(chuàng)建了補(bǔ)丁。而蘋果則修復(fù)了306個CVE (即常見的漏洞和暴露),其中64%被認(rèn)為是“嚴(yán)重”安全威脅。
Google在2019年修補(bǔ)了855個CVE,其中大多數(shù)(54%)被認(rèn)為是“嚴(yán)重”或“高”安全威脅。嚴(yán)重CVE是一類允許遠(yuǎn)程執(zhí)行代碼或遠(yuǎn)程繞過安全功能的漏洞,如果嚴(yán)重CVE成功執(zhí)行,則攻擊者就可以遠(yuǎn)程訪問數(shù)據(jù)或繞過操作系統(tǒng)安全保護(hù),進(jìn)而發(fā)起各種功能。
即使所有漏洞的補(bǔ)丁都在規(guī)定的時間內(nèi)交付,用戶也必須升級他們的設(shè)備以提高安全性。但如果依靠用戶來打補(bǔ)丁,則是一場安全賭博。因為許多設(shè)備太舊了,無法再升級。
為什么需要實(shí)施OWASP?
開放式Web應(yīng)用程序安全項目(OWASP,Open Web Application Security Project)是一個組織,它提供有關(guān)計算機(jī)和互聯(lián)網(wǎng)應(yīng)用程序的公正、實(shí)際、有成本效益的信息。其目的是協(xié)助個人、企業(yè)和機(jī)構(gòu)來發(fā)現(xiàn)和使用可信賴軟件。
如果你正在遵循OWASP Mobile Top 10,那么你很可能已經(jīng)實(shí)現(xiàn)了應(yīng)用程序屏蔽以及強(qiáng)化過程和工具。OWASP建議你實(shí)現(xiàn)用于身份驗證、數(shù)據(jù)存儲、加密和逆向工程的控件。然而,在移動安全和應(yīng)用強(qiáng)化方面,還存在很大的改進(jìn)空間。
Zimperium(Zimperium成立于 2010 年,由著名黑客 Zuk Avraham 創(chuàng)立,旨在為手機(jī)提供解決方案,以防受網(wǎng)絡(luò)攻擊。)此前曾對來自銀行、旅游和零售行業(yè)的應(yīng)用程序進(jìn)行過安全、隱私和監(jiān)管方面的OWASP Mobile Top 10進(jìn)行了審查。他們發(fā)現(xiàn)大多數(shù)應(yīng)用程序沒有通過逆向工程檢查。逆向工程應(yīng)用程序可以使攻擊者發(fā)現(xiàn)漏洞和通信方法。未能正確實(shí)施安全強(qiáng)化并通過移動應(yīng)用程序暴露漏洞的最著名例子之一是樂購銀行( Tesco Bank )。2016年英國零售業(yè)龍頭特易購旗下的銀行事業(yè)Tesco Bank傳出遭駭客攻擊,有超過4萬個帳戶遭鎖定、2萬個帳戶被成功駭入,用戶存款遭到盜領(lǐng)。這起英國有史以來最嚴(yán)重的網(wǎng)路竊盜事件,導(dǎo)致Tesco Bank共13.6萬個帳戶中的4萬個遭到駭客鎖定攻擊,2萬個被成功盜走存款。經(jīng)查,是Tesco Bank的移動應(yīng)用程序存在漏洞,這為網(wǎng)絡(luò)攻擊者強(qiáng)行進(jìn)入銀行盜取存款打開了大門。然而,許多受影響的賬戶并不是移動銀行客戶,而是從一個安全性很差的移動應(yīng)用程序發(fā)起的攻擊。
另外,移動應(yīng)用的開發(fā)人員可能還需要實(shí)施應(yīng)用程序內(nèi)保護(hù),以符合特定的法規(guī)和政策。 PSD2要求移動應(yīng)用程序開發(fā)人員能夠檢測第三方操作并實(shí)現(xiàn)獨(dú)立的身份驗證環(huán)境,另外,GDPR和《加州消費(fèi)者隱私法案》還強(qiáng)制程序要執(zhí)行數(shù)據(jù)隱私和刪除私人數(shù)據(jù)的功能。 另外,PCI DSS和HIPAA等其他規(guī)定的頒布,也旨在減少支付和醫(yī)療保健行業(yè)的攻擊行為。全稱Payment Card Industry (PCI) Data Security Standard,第三方支付行業(yè)(支付卡行業(yè)PCI DSS)數(shù)據(jù)安全標(biāo)準(zhǔn),是由PCI安全標(biāo)準(zhǔn)委員會的創(chuàng)始成員(visa、mastercard、American Express、Discover Financial Services、JCB等)制定,立在使國際上采用一致的數(shù)據(jù)安全措施,簡稱PCI DSS。HIPAA全稱為:Health Insurance Portability and Accountability Act/1996,Public Law 104-191,尚沒有確切的正式中文名稱,國內(nèi)文獻(xiàn)一般直接稱為HIPAA法案,有的稱為健康保險攜帶和責(zé)任法案,也有取其意為醫(yī)療電子交換法案;臺灣有文獻(xiàn)翻譯為義務(wù)型可攜帶式健康保險法案。
在移動應(yīng)用程序中安裝應(yīng)用程序內(nèi)保護(hù)的具體案例
近日,一家全球銀行承認(rèn),它擁有數(shù)百萬個客戶和數(shù)十萬名員工,通過五十種不同的企業(yè)和用戶移動應(yīng)用程序連接到其后端系統(tǒng)。該銀行的IT員工意識到無法確定與銀行系統(tǒng)交互的客戶或員工設(shè)備的安全運(yùn)行狀況,該銀行發(fā)現(xiàn)有必要了解與移動設(shè)備與其系統(tǒng)交互相關(guān)的風(fēng)險。
然后,這家美國銀行進(jìn)行了詳盡的搜索,并測試了所有可用的移動安全解決方案。團(tuán)隊一致選擇應(yīng)用程序內(nèi)保護(hù)方案來保護(hù)其員工設(shè)備、消費(fèi)者銀行業(yè)務(wù)和內(nèi)部員工移動應(yīng)用程序的安全。
該銀行計劃將移動安全防御系統(tǒng)嵌入其消費(fèi)者移動銀行應(yīng)用程序中。通過將威脅防御部署到其移動銀行應(yīng)用程序,該銀行現(xiàn)在可以識別在受損或有風(fēng)險的設(shè)備上進(jìn)行的可疑交易。
在部署之前,銀行缺乏來自客戶設(shè)備的安全數(shù)據(jù)。在部署后,這些安全數(shù)據(jù)就會很容易獲得。
應(yīng)用程序更新后,用戶立即開始使用受網(wǎng)絡(luò)保護(hù)的應(yīng)用程序進(jìn)行移動銀行交易。安全人員發(fā)現(xiàn),用戶的移動設(shè)備及其連接的網(wǎng)絡(luò)的安全狀況令人震驚。
在頭30天里,該銀行記錄了近100萬起針對客戶移動設(shè)備的威脅,只有在銀行應(yīng)用程序打開時才會記錄威脅數(shù)據(jù)。如果該應(yīng)用程序被關(guān)閉,銀行不會收到來自用戶的威脅數(shù)據(jù),因為其他應(yīng)用程序中的會話不會對銀行構(gòu)成欺詐風(fēng)險。
在最初的30天內(nèi),數(shù)百萬移動銀行用戶更新了應(yīng)用程序,并開始對移動攻擊的行為進(jìn)行數(shù)據(jù)取證:
276000次不安全的Wi-Fi檢測;
1433個惡意接入點(diǎn)檢測;
495000臺設(shè)備沒有PIN碼;
啟用了166000個第三方應(yīng)用商店訪問權(quán)限;
16000個根或越獄的設(shè)備;
1000個記錄了系統(tǒng)或文件篡改的事件;
用戶的智能手機(jī)上有1500個根應(yīng)用和另外500個包含惡意軟件、特洛伊木馬和間諜軟件的應(yīng)用。
目前,該銀行已掌握了如何通過移動渠道防范欺詐的可操作數(shù)據(jù),涉及金額超過11億美元。所有這些都是通過使用移動威脅防御SDK更新現(xiàn)有的應(yīng)用程序來實(shí)現(xiàn)的,該SDK的配置時間不到10分鐘。
-
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
11文章
3250瀏覽量
60930 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3312瀏覽量
58451 -
網(wǎng)絡(luò)攻擊
+關(guān)注
關(guān)注
0文章
331瀏覽量
23698
發(fā)布評論請先 登錄
相關(guān)推薦
CUST_DEL后如何在S32K312上安全恢復(fù)應(yīng)用程序?
AWTK-WEB 快速入門(5) - C 語言 WebSocket 應(yīng)用程序

基于HPM_SDK_ENV開發(fā)應(yīng)用程序的升級處理

AWTK-WEB 快速入門(4) - JS Http 應(yīng)用程序

BQ78412應(yīng)用程序編程接口

TLV320AIC3263應(yīng)用程序參考指南

TAS2521應(yīng)用程序參考指南

android手機(jī)上emulate應(yīng)用程序的方法
AWTK-WEB 快速入門(2) - JS 應(yīng)用程序

AWTK-WEB 快速入門(1) - C 語言應(yīng)用程序

PCM2912應(yīng)用程序的操作環(huán)境

在bootloader和應(yīng)用程序之間共享FEE塊

使用HIC啟用外圍擴(kuò)展應(yīng)用程序應(yīng)用說明

Anthropic推出iPhone應(yīng)用程序和業(yè)務(wù)層
使用Docker部署Go Web應(yīng)用程序步驟

評論