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