听我们总工讲的一句话

来源:互联网 发布:r语言数据分析 pdf 编辑:程序博客网 时间:2024/04/30 12:04

我们的产品终于要分布了,但是必须经过一定安全审查,这是很重要的,因为安全性可以显示我们软件的档次,比如我们的产品是安全产品,这种产品起码的保证是本身是安全的,如果软件本身涉及到了通信,那么一定保证通信信道是加密的,不管怎么说,安全规范很复杂,这里讲也讲不清,不幸的是,我根本就不知道安全规范的全部内容,反正你的软件想通过认证从而卖的更好,那么就一定要尽可能的符合人家的规范,可是我们遇到一个问题,我们做的是防篡改系统,如果有人改了我们监控的目录的文件,那么我们会阻止并且一旦有人绕开了我们的阻止,那么当此文件被访问时我们会给予恢复,如果有人新增加了一个文件,我们也会阻止,可是一旦没有阻止得住怎么办呢?因为按照正常流程,这个新增加的文件根本不会被访问,那么我们也就没辙了,毕竟我们想不出一个删除它的时间点。

我们的软件可以将被篡改的文件恢复,恢复包括删除恢复,篡改恢复和添加恢复,如果我们一开始就阻止删除,修改,添加这些操作不就结了吗?那当然可以,但是安全设计中那些都是正常情况,我们的总工说:正常情况下我们要阻止异常操作,但是一旦有人异常操作了,我们必须要有补救措施。这句话看似不合理,我们都阻止了异常操作,那怎么会有人异常操作呢?其实这里没有什么矛盾的,这就好像我们的门上都有锁了,那为何还会有入室盗窃呢?这其实是一种防护的问题,我们用锁防护的是一般的偷窃,而是总会有小偷把锁撬开的,于是公安部门就是为这些异常情况而设置的补救机构。还有个例子就是“温言在口,大棒在手”,防君子不防小人也是这个意思。我们这里抽象出来的意思就是主观和客观,主动和被动的差异导致了两种抵御措施的形成。对于正常情况下放篡改,我们是主动的防御,然后改方是被动的接收,如果它不接受,转为主动攻击的话,那么这次被动方就成了我们了,于是在异常情况下我们必须有攻击者主动攻击下的被动补救措施,只有这样,我们才可以把安全这件事说的很圆。

针对我们的需求,虽然攻击者可能会异常的增加文件绕开我们的防增加机制,但是可以想想它增加文件的目的,文件嘛,肯定是用来访问的,我们再来一个主动拦截,就是拦截正常访问,一旦有正常访问这个异常添加的文件了,那么删除了它。但是还有一种可能,就是恶意攻击者还会绕开我们的正常访问拦截机制,不会万事有个度,都要有个权衡,就好像TCP协议一样,三次握手就一定可以保证第四次不会断掉吗?看来安全设计确实有趣。

原创粉丝点击