安全架構中的前端安全防護
人類文明發展到一定程度,必須遵守法律和社會規範,網路環境也一樣。
根據Gartner 對安全架構的定義:安全架構是計劃和設計組織的、概念的、邏輯的、物理的元件的規程和相關過程,這些元件以一致的方式進行互動,並與業務需求相適應,以達到和維護一種安全相關風險可被管理的狀態。因此,安全架構的概念非常寬泛,包括安全控制措施、安全服務(例如身份驗證、訪問控制等)和安全產品(例如防火牆、入侵檢測等)。
本文內容聚焦在安全架構中的前端安全防護範疇展開討論。
安全設計原則
當今安全設計經典理論中,最為經典、被引用最多的是由 MIT 的 Saltzer 教授在 1975 年首先提出的 8 大安全設計基本原則,被安全業界奉為 “經典安全原則”。經過業界多年的發展和總結,在原有 8 大經典設計原則的基礎上,進一步完善和延伸,例如 “縱深防禦”、“不要輕信”、“保護薄弱環節”、“提升隱私” 原則等。
前端安全問題
近年來有8大問題尤其引起關注:
-
跨站指令碼攻擊(Cross-Site Scripting)
-
使用iframe的風險
-
點選劫持
-
錯誤的內容推斷
-
不安全的第三方依賴包
-
HTTPS中間人攻擊
-
本地儲存資料洩露
-
CDN劫持/汙染
如此多的、影響重大的前端安全問題,直接把軟體安全防範推上了風口浪尖,安全人員面臨著挑戰也倍數級增長。
端側安全的主流解決方案
基於端側可能得安全問題,市場上有以下6大主流解決方案:
1、APP 程式碼保護。由於開源技術的進步,攻擊者很容易就可以獲得應用的反編譯程式碼(基本是應用原始碼)。針對此攻擊,提高逆向分析的門檻,可以進行程式碼混淆、dex 加殼、so 加殼等方式對程式碼進行保護。
2、APP 執行時保護。對移動端應用的逆向分析還有動態除錯。透過動態除錯還可以偽造或篡改請求 / 響應包,從而攻擊伺服器端。此種攻擊可以採用市場上的一些加固工具軟體對APP 進行加固保護,防止惡意破解、反編譯、二次打包等。
3、APP 第三方程式碼安全。移動應用開發過程中,出於功能需求等原因,開發人員不可避免會整合一些其他第三方提供的程式碼,如 SDK。這些第三方程式碼未經測試和評估就直接嵌入到應用中直接使用,容易出現不可預料的後果。一方面是第三方程式碼的安全性未經測試,可能存在安全漏洞被攻擊者利用,從而威脅整個應用的正常使用。另一方面,第三方程式碼額外實現了冗餘功能或者申請多餘的特權,可能造成使用者隱私資訊洩露,或者一系列惡意行為。
對於此類威脅,安全設計方案是:
1)App中大部分是web或者小程式類輕應用,可以採用市面上的安全沙箱類技術(如:
FinClip
),對應用進行統一的上下架管理。其特點主要體現在三個方面:
-
沙箱內小程式之間的隔離
-
沙箱對執行其中的小程式程式碼,隔離其對宿主環境的資源訪問。
-
沙箱隔離了宿主對於沙箱中執行的小程式所產生的資料。
2)整合第三方程式碼時,開發人員應儘可能瞭解第三方程式碼的功能,以及儘可能保證第三方程式碼的安全性。
4、APP 端業務安全。為了防止 APP 使用者惡意註冊及薅羊毛等惡意行為,可以在 APP 中加入裝置指紋,進行資料埋點等,將 APP 資料接入業務風控平臺,進行業務反欺詐。
5、Web 安全。對於 Web 安全,關注常見的 OWASP TOP 10 漏洞,如注入、身份認證、敏感資訊洩露、安全配置錯誤等。常見的防禦措施有認證、授權、加密、審計、輸入驗證等。
6、Restful API 安全。Restful API 以 URI 方式對外提供資料服務或功能服務。外部使用者多數情況下是程式或系統。提供的資料服務或功能服務多數情況下,是非公開的,即需要對 HTTP 請求來源和身份做識別與認證,再經過授權決策(訪問控制)後,提供相應的資料或執行功能。
隨著技術的進步和發展,相信還會有更多的技術解決方案冒出。如果您有更好的技術方案,歡迎在文章評論區留言。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023421/viewspace-2924643/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mozilla的安全架構架構
- MySQL 安全防護MySql
- 安全防護系統構設計與實踐
- Web安全防護(二)Web
- 專案-安全架構架構
- 企業安全架構架構
- 伺服器安全防護的辦法伺服器
- 如何關閉win10自帶的安全防護_win10如何關閉安全防護Win10
- 網易易盾首席安全架構師沈明星分享DDoS防護如何建設架構
- 解構IoT安全隱患,探尋安全防護部署新思路
- 數字孿生智慧加油站,構建安全防護網
- 建立雲安全架構的5個技巧架構
- APK編譯及安全防護APK編譯
- Web應用安全防護-WAFWeb
- Android之安全防護allowBackupAndroid
- 安全架構評審實戰架構
- 如何進行伺服器的安全防護?伺服器
- 網路安全中如何對加密軟體進行安全防護?加密
- 小議Linux安全防護(二)Linux
- 小議Linux安全防護(一)Linux
- 吉林大學資料庫安全防護資料庫
- SecurityWorker: Javascript 核心演算法全防護JavaScript演算法
- App應用安全防護體系APP
- 零信任安全架構應如何落地?架構
- 網路安全架構規劃策略架構
- 伺服器做好安全防護的幾個方法伺服器
- Android應用安全防護的點點滴滴Android
- 網路邊界—安全防護思想的演進
- 大型網站技術架構(八)--網站的安全架構網站架構
- 如何做好伺服器安全防護?伺服器
- 伺服器如何做好安全防護?伺服器
- 如何破解金融安全防護難題?
- 常見的伺服器安全防護措施有哪些?伺服器
- 對話京東安全首席架構師:電商平臺構建安全防護體系關鍵點架構
- NB-IOT物聯網系統的安全架構架構
- 打造全場景、可信任、實戰化的安全架構,智慧安全3.0為智慧城市保駕護航架構
- 騰訊安全“護航艦”亮相網安周,數實融合共築產業安全防線產業
- 網站安全防護 什麼是session安全網站Session