8大前端安全问题(上)

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

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

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

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

Build Security In PII

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

让安全实践在敏捷团队落地

很幸运地,我有机会在一个成熟的敏捷开发交付小组中经历了“从完全没有安全实践到BSI”的过程,我们也曾遇到过很多困难,但最终得到了客户的认可,并成功把安全实践推广到了整个团队,所以想跟大家分享一下我们是如何将安全在敏捷团队落地的,希望能给大家一些帮助。文中会拿Web系统举例,但一些落地的实践同样适用于非Web系统。