作者:黑蛋
在电视剧《你安全吗?》中,马平川这个人物已经慢慢浮出水面,算是此部电视剧幕后的最大反派,他明面上是虎迫集团的技术总监,是虎云系统的负责人,开发者。背后却在泰曼达有着诈骗基地,同时与一名“将军”联系密切,在国内又多次参与反派事件。在虎迫公司决定更换虎云负责人的时候,马平川和另一位反派在江边聊天:
说起了新来的技术总监胡德正已经发现了马平川在虎云系统留的后门,并已经报告给了虎迫老大徐,随后马平川说道他会尽快把漏洞补齐,避免被发现漏洞与自己的关系:
而补齐漏洞后果,就是没办法查看饮料厂内部资料:
这里我来解释一下,为什么补全漏洞,就没有办法查看饮料场内部资料。首先虎云系统是一个防御系统,而这个防御系统被饮料场所使用,所以马平川方可以随时通过虎云系统的漏洞,入侵饮料厂服务器,窃取资料。接下来我们聊一聊什么是漏洞,什么是后门。其实后门和漏洞是一个东西,俩者不同的是,一个是作者故意为之,一个是作者无意为之。
简单举个例子:
printf("输入口令"); scanf(“%s”,口令); if(口令正确){ 打开大门}else if(作者喊出的口令){ 打开大门}else{ 打开大门失败};
在这里我们可以看到,如果输入正确口令,那么就可以打开大门,但是如果是作者喊出的口令,无论对错,都会打开大门,这里可以看做作者给自己留的后门,而这个后门是其他人不知道的,如果其他黑客发现这个地方,那么就可以模拟作者声音喊出口令,打开大门。对作者而言,这里是后门,对其他不知情黑客而言,发现这里,那么这里可以称之为漏洞。接下来我们来了解一下漏洞到底是什么东西,首先是来自《0day安全》这本书对于漏洞和bug进行了解释区分:
随着现代软件工业的发展,软件规模不断扩大,软件内部的逻辑也变得异常复杂。为了保证软件的质量,测试环节在软件生命周期中所占的地位已经得到了普遍重视。在一些著名的大型软件公司中,测试环节(QA)所耗费的资源甚至已经超过了开发。即便如此,不论从理论上还是工程上都没有任何人敢声称能够彻底消灭软件中所有的逻辑缺陷——bug。在形形色色的软件逻辑缺陷中,有一部分能够引起非常严重的后果。例如,网站系统中,如果在用户输入数据的限制方面存在缺陷,将会使服务器变成 SQL 注入攻击和 XSS(Cross Site Script,跨站脚本)攻击的目标;服务器软件在解析协议时,如果遇到出乎预料的数据格式而没有进行恰当的异常处理,那么就很可能会给攻击者提供远程控制服务器的机会。我们通常把这类能够引起软件做一些“超出设计范围的事情”的 bug 称为漏(vulnerability)。
(1)功能性逻辑缺陷(bug):影响软件的正常功能,例如,执行结果错误、图标显示错误等。
(2)安全性逻辑缺陷(漏洞):通常情况下不影响软件的正常功能,但被攻击者成功利用后,有可能引起软件去执行额外的恶意代码。常见的漏洞包括软件中的缓冲区溢出漏洞、网站中的跨站脚本漏洞(XSS)、SQL 注入漏洞等。
我们只需要知道,软件漏洞是可以引起额外的恶意代码的执行,达到做些软件不可控的事情。而对于防御系统的漏洞,其实本质和软件漏洞并没有什么区别,都可以让不法份子执行恶意代码从而控制目标,窃取资料等。防御系统本质是带来了一层保护层,而如果知道系统漏洞,就可以直接绕过保护,类似于家门口上的锁,我用了某家的锁来锁门,来防止小偷,但是制造锁的人却知道如何简单的撬开锁,甚至有一把备用钥匙,可以让锁形同虚设。这也就是为什么马平川之前可以利用虎云系统后门来查看饮料厂内部资料,而补全漏洞,意味着制造锁的人完善了这种简单撬开锁的缺陷,自己也无法打开锁,所以也就不能再看到饮料厂的内部资料。