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

news2025/8/12 18:31:34

国家互联网应急中心发布的被篡改网站数据让很多人触目惊心,近年来各种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前端设计要想更好地得到应用,就必须寻找适合自身发展的技术,在减轻工作量的同时,能够给用户更好的上网体验,安全防护工作当然也必须到位!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建计划协议、维护创建计划、收货

创建计划协议事务码:ME31L创建计划协议 (ME32L 修改计划协议 ME33L查询计划协议 ME2L查询采购订单) 输入:供应商、协议类型、协议日期、采购组织、采购组、工厂、存储地点等信息后回车。 然后输入有效截至日期, 再点击…

计算机毕业设计java+springboot宠物商城系统

一、项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot Maven mybatis Vue 等等组成,B…

【JVM】垃圾回收:垃圾收集器

一、语境中的并行与并发 并行 并行描述的时多条垃圾收集器线程之间的关系,说明同一时间有多条这样的线程在协同工作,通常默认此时用户线程是处于等待状态。 并发 并发描述的是垃圾收集器线程与用户线程之间的关系,说明同一时间垃圾收集器线程…

简单实现一个虚拟形象系统

前言 上周启动居家开会的时候,看到有人通过「虚拟形象」功能,给自己带上了口罩、眼镜之类,于是想到了是不是也可以搞一个简单的虚拟形象系统。 大致想来,分为以下几个部分: 卷积神经网络(CNN) 下面讲解一下三层CN…

视频格式转换器哪个好用?万兴优转-好用的视频格式转换器

视频格式转换器是用于转换视频格式的软件,是指用于视频转换、音频转换、CD轨抓取、音视频混合转换、音视频剪切、连接转换、视频水印叠加、滚动字幕、个性化文字、图片叠加、视频相框叠加的音视频转换工具。 也就是说,视频有非常多的格式如AVI、VCD、SVC…

【JavaWeb从零到一】会话技术CookieSessionJSP

🚀【JavaWeb从零到一】系列文章目录 🚩【JavaWeb从零到一】前置知识 🚩【JavaWeb从零到一】Mysql基础总结 🚩【JavaWeb从零到一】JDBC详解 🚩【JavaWeb从零到一】JDBC连接池&JDBCTemplate Cookie&Session&…

王学岗音视频开发(二)—————OpenGLES开发实践

矩阵以及矩阵运算 上图就是m x a 的矩阵 1x30x22x1 :为左侧第一行乘以右侧第一列。 1x10x12x0 :为左侧第一行乘以右侧第二列。 -1x33x21x1:为左侧第二行乘以右侧第一列。 -1x13x11x0:为左侧第二行乘以右侧第二列。 矩阵的行列式 伴随矩阵 A*表示伴随矩阵 OpenGL 教程----屏…

Grails SpringBoot国际化不生效

问题描述: grails项目使用了国际化,按照官方文档的说法: 会根据用户浏览器访问时使用的Accept-Language头自动选择合适的语言。 但无论浏览器了配置什么语言甚至配置了Tomcat启动参数 -Duser.languagexxx -Duser.regionxxx页面显示依旧是英…

[附源码]java毕业设计一点到家小区微帮服务系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

QPushButton按钮用法

QPushButton 简介 QPushButton是一个很常用的一个按钮控件,主要用于创建一个可按压的按键。它显示了一 个文本和一个图标。另外,你也可以在创建时,指定一个快捷键。 基本用法 1. 创建 QPushButton主要有两种创建方法,一种是直…

SQLite实现的学生管理系统

SQLite数据库 案例资源所在地址: https://download.csdn.net/download/weixin_41957626/87150608?spm1001.2014.3001.5503 1.简介 1.1引入 1.前面学习的文件存储和SharedPreference存储的方式只能存储一些小型的数据但是对于复杂关系以及复杂数据结构的数据仅仅靠…

交互与前端16 Tabulator 表格实践4

说明 继续给表格来加一些小功能。 内容 1 分页 在表格初始化的地方加两行配置,表格就实现了分页 pagination:true, //enable.paginationSize:20, // this option can take any positive integer value2 超链接 这个需求的来源是,一些微服务需要注释,所以我写了很多文档…

科研教育「双目视觉技术」首选!维视MV-VS220双目立体视觉系统开发平台

NO.1产品背景 在最近大热的自动驾驶赛道,大疆采用新的技术路线——双目立体视觉。具体来说,它就是模拟人的视觉系统,通过两个临近摄像头所拍摄到的画面的视差,来还原出三维立体结构。不需要对海量数据进行标注和训练,可…

Echarts 散点象限图(二)动态绘制

之前发布过一篇文章Echarts散点象限图,基于死数据来绘制的,但实际开放场景中,需要请求数据,而且可能会动态更改数据,这时候需要如何处理,有什么要注意的地方,这篇文章详细说明一下。 主要需要处理的地方就是四个象限的markArea,需要根据中心的位置来画,你可以想象成…

36 - 经典问题解析三(赋值 string)

---- 整理自狄泰软件唐佐林老师课程 1. 关于赋值的疑问 什么时候需要重载赋值操作符?编译器是否提供默认的赋值操作? 编译器为每个类 默认重载了赋值操作符默认的赋值操作符 仅完成 浅拷贝当需要进行 深拷贝 时 必须重载赋值操作符赋值操作符与拷贝构造…

Elasticsearch系列【1】概述

有道无术,术尚可求,有术无道,止于术。 文章目录Elastic公司Elastic StackElasticsearch结构化/非结构化数据全文搜索ES 发展史ES 特点ES 应用场景ES 应用案例Beats 系列LogstashKibanaElastic公司 Elastic是一家以搜索引擎闻名世界的软件公司…

pythoin爬虫2之利用cookie进行登录

python爬虫2之利用cookie进行登录利用requests模拟post方法cookies的获取session综合实例拓展:实现时间间隔(第一次抓取后间隔...秒进行下一次抓取)利用requests模拟post方法 requests.post(url,data,hearders) url即要解析的网址data即是向服…

【学习笔记18】JavaScript对象的基本认识

一、什么是对象 (一)概念 😃 就是一个数据的集合(复杂数据)😁 对象属于复杂数据类型(引用数据类型) (二)知识点的补充 JS 的数据类型 1. 基本数据 2. 复杂数据(引用数据类型) 引用数…

图像处理技术:数字图像分割 ------ 图像分割、边界分割(边缘检测)、区域分割

一、图像分割概述 • 定义 是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分 成若干个互不相交的区域,使得这些特征在同一区域内表现出一致 性或相似性,而在不同区域间表现出明显的不同 分割出来的区域应该同时满足: (1&#xff09…

opencv之修改尺寸、灰度转换(python)

1、修改图片大小 #修改图片大小 resize_img cv.resize(img,dsize(200,100)) 完整代码 import cv2 as cv img cv.imread("C:\\Users\\Administrator\\Desktop\\huge.jpg") #修改图片大小 resize_img cv.resize(img,dsize(200,100)) #显示修改后图片 cv.imshow(修改…