昨天我在逛知乎的时分,看到了这么一个问题:

我在代码里面故意留个漏洞,违法吗?

我看到了三个十分有意思的答复,分享给我们一看。

首先是这个为了避免项目交给后收不到尾款埋下后门的答复:

  • 答主:特立独行的猪
  • 链接:www.zhihu.com/question/53…

早年给某台企做外包项目,定制一个Android体系的ROM。开发费用16万,一年期维护费用2万。

开发费用分三期打款,订金4万,出产环境ROM交给8万,检验并交给源码后打尾款4万。

出产环境ROM交给前留了一手,加了时刻戳校验,混杂在驱动程序里,6个月后不能开机。

果不其然,过了4个月对方也没把尾款打过来,显然是用着没什么缺点,源码不计划要了,维护费用也一起省了。每次催款都用各种理由搪塞。

又过了2个月,埋的雷爆了,他们的下游客户开端各种投诉。这才把剩余金钱收回来。

懒得说这家公司的姓名,挺有名的公司,估量很多人用过他们的产品。

假如不留这一手,估量就要吃哑巴亏了,毕竟台湾省的官司打起来费劲儿。在这种情况下,这叫自我维护,不违法。

这个答复让我想起了多年前我接私活的时分,给他人开发的软件交给后就玩消失的阅历,那时分年轻,不知道做个时刻约束啥的不说了,说多了都是泪。

话说回来,真像这位答主这样弄个后门,违不违法,答主说了不算,还得具体问题具体剖析,法院说了才算,不过这种做法仍是比较危险,稳重。

那到底法令怎么界定这种问题呢,来看一下网络安全界的大佬TK教主的答复:

  • 答主:tombkeeper
  • 链接:www.zhihu.com/question/53…

我国没有仅针对后门本身进行处罚的法令。首要原因是“后门”难以客观界定。

比方,自动更新机制是不是后门?热补丁机制是不是后门?长途维护机制是不是后门?家里宽带有问题,你打运营商客服电话,运营商那边就能长途调整你的光猫——这是不是后门?

所以现在法令在处理后门相关问题时,是依据利用行为科罪的。你留了后门,一辈子不必,没事。用来干坏事了,那就依据你具体干了什么坏事科罪量刑。

代码里边藏后门归于初级玩家,来看一下高档的后门长啥样:

  • 答主:沧海
  • 链接:www.zhihu.com/question/53…

Ken Thompson在贝尔实验室的时分,他总是能在一台装了Unix的服务器上黑进他人的账户,不论他人怎么修正账户密码都没有用,当时贝尔实验室里边聚集的都是智商爆表、专业知识过硬的科学家,Ken的行为无疑让他们十分不爽。

有个人剖析了Unix的代码之后,找到了后门,重新编译部署了Uinx,可是让他们溃散的事情再次产生,Ken仍是能黑进他们的账户,这个事情让他们百思不得其解。

一直到1983年,Ken取得图灵奖,在大会上解开了这个秘密,原来这个密码后门是经过他写的一个C编译器植入的,而当时那台Unix的机器必须经过这个C编译器编译之后才干运行,所以不论unix怎么修正都没有用,毕竟是要编译的。

前几年产生的Xcode Ghost事情,便是用类似的方法操作的,所以真实的大神留的黑洞,一般人底子防不住,除非遇到相同的大神,而且人家告知你在哪里了,才有或许破解。这便是为啥有的单位,人家不连外网,因为底子不知道装的体系有没有他人留下的缝隙。

低级的代码层次

中级的在工具链上

高档的在编译器层次

终极的在机器内部,这个底子防不胜防。

所以对程序员好一点。

这让我想起了不久前产生的一件事:有黑客安排在IDA里边投毒。IDA是安全人员逆向剖析的重要软件,给这里边投毒,归于定向进犯搞安全的人了,真是防不胜防啊。

各位铁汁们,你们有过在代码里藏后门的经验吗,评论区说说看呢?