安全无小事

昨天被一家电子商务网站刷屏了,原因是这家网站可以无限制领用一张100元的代金券,并且可以用于购买充值卡等虚拟商品。消息一经传开,大量网友蜂拥而至,等到网站发现流量异常后,发现并且关闭这个漏洞,已经造成了数千万的损失。

这本来是一个营销活动,按照常规的理解,这样的代金券一个人只能领用一次,但是不知道什么原因,系统没有控制好,被反复领用了。这很明显是一个程序上的bug,被人发现并利用,造成了企业的损失。

作为一个程序员,对程序要有敬畏之心,任何程序上的一行代码错误,都有可能导致巨大的损失。

1996年6月4号—美国501航天飞机爆炸事件。

对于Ariane 4火箭的工作代码在Ariane 5中被重新使用,但是Ariane 5更高速的运算引擎在火箭航天计算机中的算法程序中触发了一个bug。该错误存在于将64位浮点数转换为16位带符号整数的程序中。更快的运算引擎导致了Ariane 5中的64位数据要比Ariane 4中更长,直接诱发了溢出条件,最终导致了航天计算机的崩溃。

首先501航天飞机的备份计算机崩溃,然后0.05秒之后,主计算机也崩溃了。这些计算机崩溃直接导致了火箭的主要处理器使火箭的运算引擎过载,同时导致火箭在发射40秒后解体破碎。

如果程序员都能从这些安全事件中吸取教训,那么很多损失就可以避免了。

你可能感兴趣的:(安全无小事)