系统安全的思考

世上并没有绝对的安全,只有安全成本的问题。

真正的安全不过是一种意识。

过往

网络安全

工作相关,做的一直是跟系统安全相关的东西。

前几年的时候在做的是网络安全,所谓的网络安全。

说是网络安全,其实跟安全的关系不是很大,主要还是做网络设备,支持各种协议及功能, 还要尽可能地提高性能。

跟安全的那点儿关系就是,在网络设备里面嵌入了部分跟安全相关的功能。

想来,像访问包过滤(很多厂商也叫 ACL,访问控制列表),NAT 转换这些跟安全的关联性也不大 吧,他们是更倾向于控制和管理的功能;DPI 协议识别呢?算是个基础功能吧,接下来可以根据 识别结果做控制与分析,也可以继续深入的做攻击防御。

那么真正跟安全密切相关的功能有哪些呢? MAC/IP 绑定,攻击防护,网页防篡改等,这在网络安全设备像硬件防火墙这些,的功能中, 着实的算不算主要的功能吧,也不常用。只是说多一个功能就多一个卖点。

其实网路安全设备很少关注自身的安全,挺多厂商把侧重点放在了性能上面。

真的有可以提供整体安全方案的厂商吗?我是不信的,至少国内的厂商是这样的吧。 并不是说这些设备没有必要,确实很多功能还是很好的,但是跟系统安全相差的还是很远的吧。

现今

真正的系统安全

换过工作之后负责系统的一个安全模块,对安全有了稍微深入一点的理解。

安全与易用,在某种程度上会有一些冲突,但这个程度肯定不会很大。

易用也是一种安全,想用户所想。 系统遭遇到安全威胁时,用户能想到的,系统帮他去做了,用户没有想到的, 系统也帮他做好了,系统也帮他做了,这是易用,也是安全。

因此,系统的正确行为定义也是安全的基础,在威胁出现时不能做出正确响应,就没有安全可言了。

安全是不能有短板的,不仅要保证数据的安全,还要保证用户输入的安全,传输的安全等等, 缺了任何一个环节,就像系统有了漏洞一样,攻击者顺着这个漏洞可以获取系统中的很多东西。

安全的核心工作应该是在后台默默完成的,很少的提示用户,更很少让用户来选择, 就像武侠小说中的扫地僧,绝大多数时候用户都意识不到他的存在,他只是在后台默默的做着 自己的工作,他的存在只是为了那突然的攻击出现的时候。

稳定也是一种安全,我们无法保证每一次的修改都可以做到全系统的测试,而每次修改对系统 哪些模块有影响又是不完全预知的,尤其是系统的基础架构,略一更改影响面都很大。系统不 稳定就很容易出问题。

其实,安全是一种意识,这种意识应该无处不在。 开发中的安全意识保证我们的系统漏洞更少,系统更稳健。 如果我们在开发中测试代码随便写,变量不初始化,溢出不检查,系统就很容易被攻击。

使用中的安全意识保证了我们自己这个系统更加不容易被骗。 我们自己如果更加的注意自己的隐私不随意泄露,遇到电话 / 网络诈骗时可以多核实,社会 工程学也不那么容易就获取到我们的电话、邮箱、密码等信息了。

只要在系统的所有环节做到一般性的防护,就已经比在系统的关键环节做很强的防护但在 其他环节不防护安全很多了。

将来

系统的安全机制

系统还是要提供必要的基础的安全机制供其他的系统组件使用的。

如果需要系统提供的一些基础功能需要每个系统组件自己实现并维护,轮子重复造不说, 安全隐患的增加也是很严重的,因为保证这些基础功能的安全变的更加的麻烦。修复起来也很麻烦。

系统的安全机制做的好,省了很多的麻烦。

我们需要更加深入的研究与实现系统的安全机制。