前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅析App安全架构之前端安全防护

浅析App安全架构之前端安全防护

原创
作者头像
二山山记
发布2022-11-25 03:33:36
8090
发布2022-11-25 03:33:36
举报
文章被收录于专栏:finclip小程序ide

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

Gartner 对安全架构的定义是:安全架构是计划和设计组织的、概念的、逻辑的、物理的组件的规程和相关过程,这些组件以一致的方式进行交互,并与业务需求相适应,以达到和维护一种安全相关风险可被管理的状态。

因此,安全架构的概念非常宽泛,包括安全控制措施、安全服务(例如身份验证、访问控制等)和安全产品(例如防火墙、入侵检测等)。

网站的安全防护是非常复杂繁琐的工作,是伴随着Web技术的改变而逐渐转移,从初始的服务端安全,如缓冲区溢出、 CGI解析缺陷、纯Web层面的SQL注入等,到客户端的安全,如 XSS跨站脚本、CSRF跨站请求伪造等。

此后,HTML5又大行其道,互联网上的应用越来越复杂,Web前端效果也逐步丰富和提高,但其中却隐藏了更多的安全隐患。

其中Web前端的安全是众多安全防护工作中的一个重要分支,所以文章聚焦在安全架构中的前端安全防护范畴。

Web前端应用中所存在的问题

就现在的技术而言,现代化的Web前端设计工具可以极 大减少Web前端设计的工程量,但是却无法解决在Web前端 应用中所存在的问题。

在Web前端的应用中,不但会遇到界面元素需求方面的问题,还会有无法选择合适的界面控件问 题。

此外,还会遇到表单问题、模拟窗口的阴影以及按钮的状态等问题。

界面设计问题

在Web前端应用过程中会产生界面需求,需要在Web前端的开发与应用过程中使用界面元素。

界面元素的合理运用不但有利于网站的美观,而且与用户的实用性息息相关。界面元素使用过多会导致用户在使用网站的某一功能时,不得不耗费大量时间去了解如何使用网站中的众多界面元素。

表单问题

在Web前端的应用过程中还容易出现表单应用问题。表单是网页中常用的数据信息采集工具。

表单大致分为3个部分:表单标签、表单域以及表单按钮。

表单标签主要包含数据提交的方法、表单的功能等; 表单域包含文本框、密码框以及单选框、复选框、下拉选择框等,用于提交数据信息及文本文件等; 表单按钮一般有3种,分别是提交、注册、取消,用于实现表单的提交、注册及取消输入功能等

界面控件选择问题

界面元素的使用会影响用户的上网体验,同时,缺乏合适的界面控件也会对用户的使用造成一定程度的困扰。

界面控件是指在窗体上所放置的一系列可视化图形元件,包括按钮、文本框以及滚动条等,用户通过点击或滑动等交互性动作,使得后台进行事件响应从而实现相关功能

端侧安全的主流解决方案

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

APP 运行时保护

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

Web 安全

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

APP 代码保护

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

APP 第三方代码安全

移动应用开发过程中,出于功能需求等原因,开发人员不可避免会集成一些其他第三方提供的代码,如 SDK。这些第三方代码未经测试和评估就直接嵌入到应用中直接使用,容易出现不可预料的后果。

  1. 一方面是第三方代码的安全性未经测试,可能存在安全漏洞被攻击者利用,从而威胁整个应用的正常使用。
  2. 另一方面,第三方代码额外实现了冗余功能或者申请多余的特权,可能造成用户隐私信息泄露,或者一系列恶意行为。

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

1)App中大部分是web或者小程序类轻应用,可以采用市面上的安全沙箱类技术(如:FinClip),对应用进行统一的上下架管理。

其特点主要体现在三个方面:

沙箱内小程序之间的隔离 沙箱对运行其中的小程序代码,隔离其对宿主环境的资源访问。 沙箱隔离了宿主对于沙箱中运行的小程序所产生的数据。

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

APP 端业务安全

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

Restful API 安全

Restful API 以 URI 方式对外提供数据服务或功能服务。外部用户多数情况下是程序或系统。

提供的数据服务或功能服务多数情况下,是非公开的,即需要对 HTTP 请求来源和身份做识别与认证,再经过授权决策(访问控制)后,提供相应的数据或执行功能。

结语

Web前端设计要想更好地得到应用,就必须寻找适合自身发展的技术,在减轻工作量的同时,能够给用户更好的上网体验,安全防护工作当然也必须到位!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Web前端应用中所存在的问题
    • 界面设计问题
      • 表单问题
        • 界面控件选择问题
        • 端侧安全的主流解决方案
          • APP 运行时保护
            • Web 安全
              • APP 代码保护
                • APP 第三方代码安全
                  • APP 端业务安全
                    • Restful API 安全
                    • 结语
                    相关产品与服务
                    云开发 CloudBase
                    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档