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