mylamour/blog

不同视角下的安全评审

Opened this issue · 0 comments

之前在BTCC做安全评审的时候,记录过一些内容 #41 。 主要是集中在技术角度。而今站在新的视角下,看到的安全评审又是另外一种。

在此可认为有两种方式:

  • 一种是技术角度入手,切实到每个链条的实现环节。
  • 一种是从全局观入手,切入点是当前系统的引入,对公司整体的稳定性,安全性。

前者比较适用于小公司或者一个团队内,一个人能够把握全局的。而对于后一种,就适用于大公司,因为无法落实到细节的实施上(这一块可以由开发规范去约束)。所以必须从架构上,和业务上,以及数据流和数据依赖上,针对其对公司的其他业务系统的访问,调用。当前选择的技术栈的支撑情况,数据库的支撑情况,等方面进行综合的考虑。从各个方面都考量着安全评审专家对整个公司系统的把控。也只专注到安全上。至于性能则是由架构师进行考虑。在此过程中,难免遇到的就是有许多人喜欢不懂装懂。或者喜欢钻牛角尖。钻牛角尖并不是不好,但是要分清楚在什么时候,开发人员的视野往往都具有一定的局限性。而架构师则能理解其中的缘由。因此,架构师需要在此充当一个稳定全局的角色。并支持安全评审的意见。当然如果是一个半吊子水准的架构师,则要听天由命了。

比如从全局观来说:

  • 新的系统依赖了哪些现有系统
  • 需要从哪里鉴权
  • 链路加密
  • 鉴权的方式
  • 数据库用了什么
  • 技术支撑是否有
  • 编程语言是什么,是否是主流的,架构是否支持
  • 数据是否能回流
  • 数据依赖是否可控
  • 是否存在一键降级开关,下游数据依赖上游不等等。