近年来,随着互联网、物联网、移动设备、5G通讯等技术的齐头发展,人类的生活和工作越来越离不开软件和互联网,正如人类社会文明发展到一定程度以后,会需要法律等社会规范来保护一样,线上环境也是一样道理。

Gartner 对安全架构的定义是:安全架构是计划和设计组织的、概念的、逻辑的、物理的组件的规程和相关过程,这些组件以一致的方式进行交互,并与业务需求相适应,以达到和维护一种安全相关风险可被管理的状态。因此,安全架构的概念非常宽泛,包括安全控制措施、安全服务(例如身份验证、访问控制等)和安全产品(例如防火墙、入侵检测等)。

文章篇幅有限,故内容聚焦在安全架构中的前端安全防护范畴。

安全设计原则

当今安全设计经典理论中,最为经典、被引用最多的是由 MIT 的 Saltzer 教授在 1975 年首先提出的 8 大安全设计基本原则,被安全业界奉为 “经典安全原则”。经过业界多年的发展和总结,在原有 8 大经典设计原则的基础上,进一步完善和延伸,例如 “纵深防御”、“不要轻信”、“保护薄弱环节”、“提升隐私” 原则等。

前端安全问题

近年来有8大问题尤其引起关注:

  1. 跨站脚本攻击(Cross-Site Scripting)
  2. 使用iframe的风险
  3. 点击劫持
  4. 错误的内容推断
  5. 不安全的第三方依赖包
  6. HTTPS中间人攻击
  7. 本地存储数据泄露
  8. CDN劫持/污染

如此多的、影响重大的前端安全问题,直接把软件安全防范推上了风口浪尖,安全人员面临着挑战也倍数级增长。

端侧安全的主流解决方案

基于端侧可能得安全问题,市场上有以下6大主流解决方案:

1、APP 代码保护。由于开源技术的进步,攻击者很容易就可以获得应用的反编译代码(基本是应用源代码)。针对此攻击,提高逆向分析的门槛,可以进行代码混淆、dex 加壳、so 加壳等方式对代码进行保护。

2、APP 运行时保护。对移动端应用的逆向分析还有动态调试。通过动态调试还可以伪造或篡改请求 / 响应包,从而攻击服务器端。此种攻击可以采用市场上的一些加固工具软件对APP 进行加固保护,防止恶意破解、反编译、二次打包等。

3、APP 第三方代码安全。移动应用开发过程中,出于功能需求等原因,开发人员不可避免会集成一些其他第三方提供的代码,如 SDK。这些第三方代码未经测试和评估就直接嵌入到应用中直接使用,容易出现不可预料的后果。一方面是第三方代码的安全性未经测试,可能存在安全漏洞被攻击者利用,从而威胁整个应用的正常使用。另一方面,第三方代码额外实现了冗余功能或者申请多余的特权,可能造成用户隐私信息泄露,或者一系列恶意行为。

对于此类威胁,安全设计方案是:

1)App中大部分是web或者小程序类轻应用,可以采用市面上类似安全沙箱类技术,对应用进行统一的上下架管理。其特点主要体现在三个方面:

  • 沙箱内小程序之间的隔离

  • 沙箱对运行其中的小程序代码,隔离其对宿主环境的资源访问。

  • 沙箱隔离了宿主对于沙箱中运行的小程序所产生的数据。

    2)集成第三方代码时,开发人员应尽可能了解第三方代码的功能,以及尽可能保证第三方代码的安全性。

4、APP 端业务安全。为了防止 APP 用户恶意注册及薅羊毛等恶意行为,可以在 APP 中加入设备指纹,进行数据埋点等,将 APP 数据接入业务风控平台,进行业务反欺诈。

5、Web 安全。对于 Web 安全,关注常见的 OWASP TOP 10 漏洞,如注入、身份认证、敏感信息泄露、安全配置错误等。常见的防御措施有认证、授权、加密、审计、输入验证等。

6、Restful API 安全。Restful API 以 URI 方式对外提供数据服务或功能服务。外部用户多数情况下是程序或系统。提供的数据服务或功能服务多数情况下,是非公开的,即需要对 HTTP 请求来源和身份做识别与认证,再经过授权决策(访问控制)后,提供相应的数据或执行功能。

随着技术的进步和发展,相信还会有更多的技术解决方案冒出。如果您有更好的技术方案,欢迎在文章评论区留言。

移动前端安全防护主流方案相关推荐

  1. App安全架构之前端安全防护

    近年来,随着互联网.物联网.移动设备.5G通讯等技术的齐头发展,人类的生活和工作越来越离不开软件和互联网,正如人类社会文明发展到一定程度以后,会需要法律等社会规范来保护一样,线上环境也是一样道理. G ...

  2. 移动web现状、viewport视口、二倍图、移动web开发主流方案、布局技术选型(流式布局、flex弹性布局、less+rem+媒体查询布局、混合布局、媒体查询、bootstrap)

    移动端web现状: 移动端常见浏览器:UC浏览器,QQ浏览器,Opera浏览器,百度手机浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器,猎豹浏览器及杂牌浏览器.移动端常见的浏览器都是基于webk ...

  3. 安全架构中的前端安全防护研究

    国家互联网应急中心发布的被篡改网站数据让很多人触目惊心,近年来各种Web网站攻击事件频频发生,网站SQL注入,网页被篡改.信息失窃.甚至被利用成传播木马的载体Web安全形势日益严峻,越来越受到人们的关 ...

  4. 移动端web开发主流方案选择

    本篇目录 一.移动端主流方案 单独制作移动端页面(主流) 响应式页面兼容移动端(其次) 二.单独移动端页面(主流) 三.响应式兼容PC移动端 四.总结 五.往期笔记回顾直达车 一.移动端主流方案 单独 ...

  5. 前端错误日志收集方案

    前言 公司的项目上线出现问题后难以定位错误,研究过现存的错误监控方案,受限于特殊条件只能定制自己的错误收集方案. 基于以上背景我撸出来一个错误日志收集方案 - Ohbug. 欢迎各位大佬 star ~ ...

  6. 【前端页面缓存技术方案】

    前端页面缓存技术方案 关于页面缓存数据的纯前端技术方案 背景 项目存在的现有方案 思考

  7. RGB-D Camera深度相机主流方案对比

    RGB-D Camera深度相机主流方案对比         视觉方案 RGB双目 结构光 TOF 测距方式 被动式 主动式 主动式 工作原理 双目匹配,三角测量 激光散斑编码 发射与反射信号时间差 ...

  8. 超融合与私有云区别及联系:基于超融合构建私有云成主流方案

    核心观点 1.目前主流私有云参考架构主要包含三个层次: IaaS 层.PaaS 层以及云管理平台,企业进行私有云改造应该根据自己的实际需求逐步落地: 2.IaaS 层是私有云最核心和最基础的部分,也是 ...

  9. 二倍图(物理像素物理像素比,多倍图,背景缩放),移动端开发选择(移动端主流方案【单独制作移动端页面(主流),响应式页面兼容移动端(其次)】,移动端技术解决方案【移动端浏览器,特殊样式】)

    二倍图 物理像素&物理像素比 物理像素指的是屏幕显示的最小颗粒,是物理真实存在的,我们开发的1px不一定等于1个物理像素,(PC端相同,移动端不一定相同) PC端和早期手机屏幕是 1CSS像素 ...

最新文章

  1. 北方股份无人驾驶矿卡_踏歌智行携手北方股份10台无人驾驶新车批量投产 | 合创投资...
  2. PL/SQL 基础( 上 )
  3. jquery基本操作笔记
  4. 如何用正则表达式杀死Java
  5. 图---邻接矩阵 建立,深度遍历,广度遍历
  6. java项目上线mysql查询慢_Java Web应用程序在缓慢的MySQL查询中停滞不前
  7. EntityFramework Core并发导致显式插入主键问题
  8. ETC风头已过,龙头林立,黔通智联此时上市还真缺点儿“想象力”
  9. Landsat系列卫星介绍
  10. destoon php.ini,解决Destoon下载远程图片失败的错误
  11. java workflow 教程_Java工作流引擎jflow对流程的结束大总结
  12. 关于容器和容器运行时的那些事
  13. 数仓实时数据同步 debezium
  14. 穷人思维」过渡到「富人思维」
  15. 浅谈子网、子网掩码、保留地址
  16. ubuntu 18.04 使用intel核显画面撕裂解决办法
  17. java制作局域网聊天器_基于Java的局域网聊天工具
  18. python uniform 函数
  19. 【华东师范大学自然科学版】一种面向双中台双链架构的内生性 数据安全交互协议研究——CSCD
  20. MySQL Cluster2个数据节点压力测试--mysqlslap工具压400W写

热门文章

  1. c#语言中怎么实现延时功能,timer-在C#中创建“一次运行”延时功能的最佳方法...
  2. SAP MM 因物料有负库存导致MMPV开账期失败问题之对策
  3. 诱骗芯片PD+QC协议XSP06应用案例,支持5V9V12V15V20V
  4. soj 9161. VOYAGER
  5. 鸿蒙手机Beta版本官宣!我们带着成果和Code来了!!
  6. 一个小巧的C++Log输出到文件类
  7. lane是什么意思_lane是什么意思_lane的翻译_音标_读音_用法_例句_爱词霸在线词典...
  8. c语言tab什么意思_速收藏 | 学习C语言最需要记住的基础知识!!
  9. 跟我一起写makefile
  10. 柳絮纷飞的日子——CSS笔记之四