在代码里面故意留个漏洞,违法吗?
共 2054字,需浏览 5分钟
·
2022-08-26 15:00
我看到了三个非常有意思的回答,分享给大家一看。
首先是这个为了防止项目交付后收不到尾款埋下后门的回答:
答主:特立独行的猪
链接:https://www.zhihu.com/question/531724027/answer/2487270093
早年给某台企做外包项目,定制一个Android系统的ROM。开发费用16万,一年期维护费用2万。
开发费用分三期打款,订金4万,生产环境ROM交付8万,验收并交付源码后打尾款4万。
生产环境ROM交付前留了一手,加了时间戳校验,混杂在驱动程序里,6个月后不能开机。
果不其然,过了4个月对方也没把尾款打过来,显然是用着没什么毛病,源码不打算要了,维护费用也一起省了。每次催款都用各种理由搪塞。
又过了2个月,埋的雷爆了,他们的下游客户开始各种投诉。这才把剩余款项收回来。
懒得说这家公司的名字,挺有名的公司,估计很多人用过他们的产品。
如果不留这一手,估计就要吃哑巴亏了,毕竟台湾省的官司打起来费劲儿。在这种情况下,这叫自我保护,不违法。
这个回答让我想起了多年前我接私活的时候,给别人开发的软件交付后就玩消失的经历,那时候年轻,不知道做个时间限制啥的···不说了,说多了都是泪。
话说回来,真像这位答主这样弄个后门,违不违法,答主说了不算,还得具体问题具体分析,法院说了才算,不过这种做法还是比较危险,慎重。
那到底法律如何界定这种问题呢,来看一下网络安全界的大佬TK教主的回答:
答主:tombkeeper
链接:https://www.zhihu.com/question/531724027/answer/2539891264
我国没有仅针对后门本身进行处罚的法律。主要原因是“后门”难以客观界定。
比如,自动更新机制是不是后门?热补丁机制是不是后门?远程维护机制是不是后门?家里宽带有问题,你打运营商客服电话,运营商那边就能远程调整你的光猫——这是不是后门?
所以现在法律在处理后门相关问题时,是根据利用行为定罪的。你留了后门,一辈子不用,没事。用来干坏事了,那就根据你具体干了什么坏事定罪量刑。
代码里面藏后门属于初级玩家,来看一下高级的后门长啥样:
答主:沧海
链接:https://www.zhihu.com/question/531724027/answer/2487130220
Ken Thompson在贝尔实验室的时候,他总是能在一台装了Unix的服务器上黑进他人的账户,不管他人怎么修改账户密码都没有用,当时贝尔实验室里面聚集的都是智商爆表、专业知识过硬的科学家,Ken的行为无疑让他们非常不爽。
有个人分析了Unix的代码之后,找到了后门,重新编译部署了Uinx,但是让他们崩溃的事情再次发生,Ken还是能黑进他们的账户,这个事情让他们百思不得其解。
一直到1983年,Ken获得图灵奖,在大会上解开了这个秘密,原来这个密码后门是通过他写的一个C编译器植入的,而当时那台Unix的机器必须通过这个C编译器编译之后才能运行,所以不管unix怎么修改都没有用,毕竟是要编译的。
前几年发生的Xcode Ghost事件,就是用类似的方式操作的,所以真正的大神留的黑洞,一般人根本防不住,除非遇到同样的大神,而且人家告诉你在哪里了,才有可能破解。这就是为啥有的单位,人家不连外网,因为根本不知道装的系统有没有别人留下的漏洞。
低级的代码层次
中级的在工具链上
高级的在编译器层次
终极的在机器内部,这个根本防不胜防。
所以对程序员好一点。
这让我想起了不久前发生的一件事:有黑客组织在IDA里面投毒。IDA是安全人员逆向分析的重要软件,给这里面投毒,属于定向攻击搞安全的人了,真是防不胜防啊。
各位铁汁们,你们有过在代码里藏后门的经验吗,评论区说说看呢?
推荐阅读
是什么让Redis“气急败坏”回击:13年来,总有人想替Redis换套新架构! IntelliJ项目迁移到Java 17!2022.3 版本开始必须Java 17! 微软出手,拯救“四分五裂”的Markdown!
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。