在現今的數位環境中,行動應用程式已經成為個人與企業生活中不可或缺的一部分。然而,對行動應用程式依賴性的提高,同時也引起了惡意行為者的關注,他們試圖利用安全漏洞竊取敏感性資料。作為應對,企業組織必須採用被稱為「縱深防禦」的多層式安全實作策略。這種策略涉及部署多種安全性工具來加強行動應用程式的安全性以及針對攻擊與資料洩漏提供防護措施。在本文中,我們將深入探討縱深防禦的兩大關鍵部分:行動應用程式安全測試(MAST)以及執行期間應用程式自我防護(RASP)
MAST 的定義是在行動應用程式發佈到應用程式商店之前或之後,涉及識別與解決安全性漏洞與弱點的一種積極行為。換言之,它運行於部署前、後,是確保應用程式從開發初期階段便考慮到安全性的重要環節。MAST 的主要功能包括:
將 MAST 實作到軟體開發生命週期(SDLC)有助於開發者在開發流程的初期便解決安全性問題,此一做法被普遍稱為「安全性左移」。這種積極行為減少了最終產品存在弱點的機會。
RASP 定義是在行動應用程式執行環境中運作的一種安全技術。旨在當應用程式執行時,即時識別並阻止安全威脅與攻擊。
透過直接整合到應用程式原始碼內或伺服器上,RASP 提供了數種鞏固行動應用程式安全性的重要功能:
RASP 對於零時差(Zero Day)弱點與進階攻擊特別有效,能夠動態適應應用程式的獨特安全需求,為傳統安全措施增添不可或缺的防護層面。
MAST 與 RASP 可用於內部開發應用程式,但面對來自應用程式商店、無法存取原始碼的第三方應用程式,企業組織僅能使用 MAST 解決方案。
RASP 與 MAST 在增強行動應用程式安全性的過程中各自扮演著獨特的角色,並且兩者相結合可以形成一套堅若磐石的縱深防禦策略。RASP 側重在提供應用程式執行期間的即時防護,並且迅速應對應用程式發布後出現的威脅。另一方面,MAST 專注在開發階段中識別弱點,預防安全問題在一開始便存在於應用程式中。為了有效確保行動應用程式安全性,企業組織應實施 MAST,即使無法一網打盡,但也能偵測出大多數的安全性問題,然後再增加 RASP 以提升防護強度 。
RASP:
讓我們試想一個情境,有一款行動應用程式在保護使用者的敏感性資料時,採用了不夠完善的加密機制。這種弱式的加密方法在應用程式安全架構中引入了一個基本弱點,儘管 RASP 確實能夠透過添加防護層面來掩蓋此項弱點,加強該應用程式的防護性。但重點在於,RASP 並沒有排除弱點自身的根本原因。
透過在應用程式執行時的環境內運作,RASP 可偵測並中斷各種利用弱式加密來進行的攻擊嘗試。例如,它可以阻擋透過暴力破解(brute-force)或密碼學原理 (cryptographic)來進行加密資料破譯的攻擊嘗試。如此一來,RASP 減少了針對加密缺點進行的特定攻擊,並藉此提升了應用程式的安全性。然而必須承認的是,RASP 對此類攻擊的干擾並未解決"不夠完善的加密機制"這個核心問題。
MAST:
另一方面,MAST 以積極主動的態度在開發階段識別與修補弱點(例如弱式加密)。試想一下,MAST 工具對應用程式的原始碼與加密實作方法進行全面性的分析,揭露了其使用弱式加密演算法與實作的方法,進而凸顯出該基本弱點。
透過準確找出根本原因,MAST 協助開發者在應用程式發布之前以穩固的密碼學方法取代了弱式加密。此一預防性措施可在根源處排除弱點,確保使用者的敏感性資料受到充分保護並避免遭遇潛在的危害。
RASP:
試想有一款行動應用程式,其在處理用戶輸入的資料時並未進行適當的驗證,導致應用程式容易遭受 SQL 注入式攻擊的影響。
RASP 可以主動監測應用程式執行期間的行為,並偵測可能的 SQL 注入嘗試的模式。接著,它能夠干擾並防止惡意的 SQL 查詢被執行,保護資料庫及防止未授權的資料存取。
MAST:
在開發階段,MAST 工具可對應用程式的原始碼進行靜態分析,以識別與使用者輸入處理相關的潛在弱點。
透過標記和修正不安全的程式碼實作方法(例如缺乏輸入驗證機制),MAST 有助於在應用程式發布之前排除弱點的根本原因。此類預防性措施可確保應用程式的程式庫足以抵抗注入式攻擊。
我們的 Q-MAST 解決方案運用多年的經驗與智慧,透過無效模糊(null fuzzing)、強制路徑執行(forced path execution)等技術來抓捕此類有時候連 RASP 也對其束手無策的攻擊。
Q-MAST 有助於偵測並提供此類攻擊的補救方案。
RASP:
當一款行動應用程式以明文方式或弱式加密技術儲存使用者的敏感性資料時,其在試圖洩漏機密資料的攻擊者眼裡就是一個誘人的目標。
RASP 可偵測未經授權並試圖存取儲存資料的嘗試,無論目標是單一檔案還是資料庫。
RASP 可以強制要求加密,確保儲存的資料持續受到保護,即使應用程式的加密機制是薄弱的。
MAST:
MAST 工具可以掃描應用程式的原始碼與設置,以識別不安全的資料儲存實作方法。
透過偵測與資料處理相關的弱點,MAST 有助於開發者從一開始就實施穩固的加密與安全儲存機制。
這個主動積極的行為預防了敏感性資料因為不當的儲存實作方法而蒙受損失。
MAST 有助於在應用程式發布之前,透過極大程度的減少任何因薄弱編碼程式或弱點而暴露的攻擊面,來阻絕此類攻擊。
RASP:
行動應用程式通常仰賴引用第三方程式庫來簡化開發流程。然而,如果這些程式庫存在弱點,攻擊者便能利用它們來危害應用程式的安全性。
RASP 可以在執行期間監測這些程式庫的行為,識別任何有危害之虞的可疑活動或是未經授權的互動,接著它可以隔離或封鎖該程式庫的功能,以免弱點遭到利用。
MAST:
在開發過程中,MAST 工具可對整合到應用程式的第三方程式庫進行靜態及動態分析。透過識別這些程式庫的弱點,MAST 有助於開發者在是否繼續使用或是尋找替代方案中作出明智的抉擇。此一積極的評估做法可預防有潛在危害的程式庫被納入應用程式中,藉此減少攻擊面。
不過,MAST 的用途可不僅止於分析程式庫。Quokka 的 Q-MAST 能夠理解應用程式共謀(application collusion),所謂的應用程式共謀,就是某個應用程式的公開程式庫,被另一款應用程式用於洩漏使用者或設備的相關資料。
RASP:
當行動應用程式透過不安全頻道進行通訊時,相當容易受到中間人(MitM)攻擊的威脅,例如攻擊者攔截並操弄應用程式與伺服器之間交換的資料。
對此,RASP 可偵測異常的網路行為,例如非預期的資料攔截或未經授權的 SSL 憑證變更,然後將連線終止或向使用者警告類似的潛在威脅。
MAST:
MAST 工具可以掃描應用程式的原始碼與設置,來識別與不安全的通訊頻道相關的弱點。透過確保應用程式實作了安全的通訊協定與正確的憑證驗證,MAST 有助於預防 MitM 的攻擊產生效果。此一積極作為可確保應用程式的網路互動足以抵抗遭受攔截與操縱。
MAST 嵌入在開發過程中,對像是中間人(MitM)這種的攻擊面向有極佳的見解,可以針對個別應用程式提供良好導引,進而有效的提高威脅偵測與補救措施的水平。
若以居家安全來比喻,MAST 就像是這方面的專家,透過檢測每個家庭的狀況量身打造安全指南,指導您如何確保門窗牢牢上鎖並擁有一套居家監控系統。待一切到位後,您還會希望有另一套監控系統用來檢測入侵行為或任何非法繞過居家安全檢測的意圖,這與能夠發出警報的 RASP 有異曲同工之妙。
此外,正如任何居家安全系統一般,您可透過 MAST 確保「門鎖」已就定位,然後增設監控系統以實現最完善的居家防護。
透過將 RASP 和 MAST 納入行動應用程式安全策略之中,企業組織將顯著提升防禦機制。由 RASP 提供持續性的即時防護,同時透過 MAST 確保應用程式的建置過程安全無虞,避免弱點從開發初期就根深蒂固。此一全面性的方法有助於保護敏感性資料、提升使用者信任度,並在不斷演進的威脅環境中維持行動應用程式的完整性。
隨著行動應用程式持續的改變我們人類與科技互動的模式,其安全性已成重中之重。對於那些致力於防範攻擊、資料洩漏以及新興威脅的企業組織而言,善用 MAST 和 RASP 等工具實作縱深防禦策略更是至關重要的一件事。
換言之,透過充分發揮 MAST 和 RASP 的優勢,企業組織可構建一個具有韌性的資安態勢(security posture),確保行動應用程式的持久性和可靠度。在 RASP 提供額外防護層面以掩蓋弱點的同時,MAST 協助在開發初期階段識別和排除基本弱點,培養既穩健又全面的安全作為。
Quokka 提供的 Q-MAST 正是一款政府級行動應用程式測試解決方案,並與 TALSEC 合作提供 RASP 服務。