浅谈前端安全小知识

343 阅读4分钟

前端安全绕不开的话题是CIA三元组安全策略开发模型。

下面简单对CIA三元组安全策略开发模型进行介绍

CIA三元组

CIA是一个著名的安全策略开发模型,用于识别问题领域和必要的信息安全解决方案。

CIA安全策略开发模型包括了以下几个方面。

机密性(Confidentiality)

指的是对信息资源开放范围的控制,确保信息没有非授权的泄漏, 不被非授权的个人、组织和计算机程序使用。需要保密的信息范畴十分广泛,它可以是国家秘密,可以是企业或研究机构的核心知识产权,也可以是银行帐号等个人信息。因此,信息的保密性问题是人人都需要面对的。

保护机密性取决于为信息定义和实施适当的访问级别。这种做法常常涉及将信息分离为由谁应该访问它以及它是多么敏感的离散集合(即,如果违反保密性,你将遭受多少和什么类型的损害)。在系统上管理机密性的一些最常用的手段包括传统的文件权限、访问控制列表以及文件和卷加密等。

完整性(Integrity)

CIA中的I代表完整性,特别是数据完整性。这个属性的关键是保护数据不被未授权方修改或删除,并确保当授权人员进行不恰当的更改时,可以降低损害。

某些数据不应被不适当地修改,例如用户的帐户控制,因为即使瞬间的更改也可台邑导致严重的服务中断和违反机密性行为。但是,在合理的情况下,修改应该是可逆的,例如用户文件可能在一些不期望的情况下,例如意外删除错误的文件的情况下,应尽可肯毫合理地可逆。

对于授权人员易于更改但容易撤销的情况,版本控制系统和更多传统备份是确保完整性的最常用措施之一。传统的操作系统文件权限,例如MS Winclows中的只读文件标志,是单系统措施中保护数据完整性的一个重要措施。

可用性(Availability)

CIA三元组中的最后一个组件是指数据、系统的可用性。系统、访问通道和身份验证机制都必须正常工作,以便为他们提供的信息和保护在需要时可用。

 高可用(High Availability,HA)系统的计算资源,其架构设计就是专门提高可用性。 根据特定的高可用系统设计,它可能针对断电、升级和硬件故障以提高可用性,也可能会管理多个网络连接以避免网络中断的影响,或者可能被设计为处理潜在的可用性问题,例如拒绝服务攻击。

存在许多可用性的改进方法,例如HA群集、故障转移冗余系统和快速灾难恢复功禽邑, 例如基子映像的网络引导系统。

讲完了前端三元组安全策略,现在讲讲常见的前端问题。

1.xss攻击

xss攻击意思为跨脚本攻击。

黑客在你的浏览器插入一段恶意的JavaScript代码,窃取你的信息,冒充你的身份进行操作。(因为浏览器无法区分脚本是恶意注入的还是正常的内容,他都会执行,html代码非常灵活,可以任何时候对他进行修改)

xss攻击的类型

反射型 XSS (也叫非持久型)
基于 DOM 的 XSS
存储型 XSS (也叫持久型 XSS)

利用xss攻击做哪些事情

盗取用户 Cookie
未授权操作
修改 DOM
刷浮窗广告
发动 XSS 蠕虫攻击
劫持用户行为,进一步渗透内网

如何防范xss攻击

一切用户输入皆不可信,在输出时进行验证
将 HTML 元素内容、属性以及 URL 请求参数、CSS 值进行编码
当编码影响业务时,使用白名单规则进行检测和过滤
使用 W3C 提出的 CSP (Content Security Policy,内容安全策略),定义域名白名单
设置 Cookie 的 HttpOnly 属性


2.CSRF

CSRF 英文全称是 Cross-site request forgery,又称为“跨站请求伪造”。

跨站请求伪造

CSRF 攻击就是黑客引诱用户打开黑客的网站,利用用户的登陆状态发起跨站请求。

攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。

利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击网站执行某项操作的目的。