8大前端安全问题(上)

“安全”是个很大的话题,各种安全问题的类型也是种类繁多。如果我们把安全问题按照所发生的区域来进行分类的话,那么所有发生在后端服务器、应用、服务当中的安全问题就是“后端安全问题”,所有发生在浏览器、单页面应用、Web页面当中的安全问题则算是“前端安全问题”。比如说,SQL注入漏洞发生在后端应用中,是后端安全问题,跨站脚本攻击(XSS)则是前端安全问题,因为它发生在用户的浏览器里。

除了从安全问题发生的区域来分类之外,也可以从另一个维度来判断:针对某个安全问题,团队中的哪个角色最适合来修复它?是后端开发还是前端开发?

总的来说,当我们下面在谈论“前端安全问题”的时候,我们说的是发生在浏览器、前端应用当中,或者通常由前端开发工程师来对其进行修复的安全问题。

按照上面的分类办法,我们总结出了8大典型的前端安全问题。

持续交付模式下的安全活动

在上一篇文章《开发团队面临的三大安全挑战》中,我们对现如今敏捷精益团队所面临的安全挑战进行了总结和分析,这三大挑战分别是:

一次性的安全检查无法匹配持续性的交付模式
缺乏自动化、自助化的支持,安全实践落地难
高耸的部门墙让开发和安全团队难以进行高效的协作
在接下来的几篇文章中,我们将逐一为你介绍团队、组织应该如何应对这些挑战。本篇文章先来讲讲如何解决第一个挑战。

Build Security In PII

不久就看到“Yahoo丢失了大量账户(一说500万账户被泄露,另一说则高达10亿)”的新闻,对于Yahoo来说,这只是业务江河日下的开始。不幸的是,在我们的生活中,只有危机发生后我们才开始重视,进行补救、修复、挽回、公关等工作,在安全领域预防危机是非常难的,而且也是经常被忽略的。我们常常会被一个简单的逻辑思路所误导:我们的系统看起来没有任何问题,为什么我需要安全保护呢?

开发团队面临的三大安全挑战

敏捷、精益团队一方面要保持快速的交付速度,一方面还要提高应用的安全质量,看上去这是鱼和熊掌不可兼得的事情,然而事实上我们依然有办法解决这些挑战。

开发团队可以通过自动化,显著降低安全实践的实施难度和成本,把一次性的安全检查转变为持续性的安全质量反馈。对于安全团队,也应当向着开发团队迈进一步,打通开发和安全部门之间的隔离,以更加紧密和高效协作的方式,共同确保应用具备更高的安全质量。