前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老焦专栏 | 如何做一个有说服力的方案?

老焦专栏 | 如何做一个有说服力的方案?

作者头像
yuanyi928
发布2019-05-30 08:56:50
4880
发布2019-05-30 08:56:50
举报
文章被收录于专栏:EAWorldEAWorldEAWorld

经常有技术人员收到这样的反馈:技术精通,但做方案的能力不强。其中一个原因就是:我们的方案通常只是论述了如何做,没有证明做法是正确的。例如,需要应用安全的方案,我们的方案是做安全扫描,而安全扫描只是保证安全的一个做法,并没有证明为什么有了安全扫描就安全了(实际上仅仅做了安全扫描,也不意味着应用安全);再如,需要高可用的方案,我们的方案是做双机热备,并没有证明为什么双机热备就可以实现高可用了。没有自证的方案,不是一个好的方案,这里我通过应用安全的例子,讲一讲在方案中如何证明自己。

首先说一个下图的示例,一个工资管理系统,如何设计这个系统的安全性:

安全的设计要从分解系统、进行威胁建模开始:

由于安全的内容比较多,分级威胁和缓和方案我就不具体介绍了,缓和方案就是具体的做法,这个相信大家都能做出一些,这里主要讲推导过程,即如何论证上图的缓和方案是正确的。

首先是分解系统(应用程序):

下面是上图的图例,主要有交互者(外部实体)、数据流、进程、数据存储、边界这几个部分。

分析了系统,下面分析威胁的各个种类,一般来说,系统的威胁分为六个方面,简称 STRIDE(假冒、篡改、否认、信息泄露、拒绝服务、提升授权):

根据系统的分解,系统的每个部分都有可能发生威胁,系统的各个部分包括外部实体、进程、数据存储、数据流,但不是每个方面都有上述六方面,见下表:

针对威胁,就可以设计解决方案了,例如每个进程都可能因为 SQL 注入漏洞,存在篡改(T)和信息泄露(I)的威胁,利用安全扫描的方式可以消除因为SQL注入产生的篡改和信息泄露威胁。再如:

我们可以用下述方法,解决各种威胁:

用了这种几步分解、系统性描述的论证方式,囊括了系统分解、威胁建模、威胁评估和缓和方案,我认为,就是一个说服力的方案,也就是能够自我证明的解决方案。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 EAWorld 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档