假如一个高水平程序员故意留了一个只有他自己知道的漏洞,那么这种行为违法吗?
问题地址:https://www.zhihu.com/question/531724027
回答
整理了几个不错的回答,分享一下。
许广新的回答
不可能的
作为程序员,我有我的职业操守
你给不给钱,我也必须给你我最好的服务
我不可能故意留一个漏洞的
这是我做人的操守
但是,我水平不行,写的程序有bug
这不能怪我吧
什么?为什么当时没发现
我帮你写完程序,我还一直在家研究
研究了五个半月才发现
刚想告诉你这个BUG
你给我打个电话说尾款不给就挂电话了
我想给你打过去,我电话没钱缴费欠费了
这可不怪我吧
特立独行的猪的回答
早年给某台企做外包项目,定制一个Android系统的RIM。开发费用16万,一年期维护费用2万。开发费用分三期打款,订金4万,生产环境ROM交付8万,验收并交付源码后打尾款4万。
生产环境ROM交付前留了一手,加了时间戳校验,混杂在驱动程序里,6个月后不能开机。果不其然,过了4个月对方也没把尾款打过来,显然是用着没什么毛病,源码不打算要了,维护费用也一起省了。每次催款都用各种理由搪塞。
又过了2个月,埋的雷爆了,他们的下游客户开始各种投诉。这才把剩余款项收回来。
懒得说这家公司的名字,挺有名的公司,估计很多人用过他们的产品。如果不留这一手,估计就要吃哑巴亏了,毕竟台湾省的官司打起来费劲儿。
在这种情况下,这叫自我保护,不违法。
扶余城里小老二的回答
违不违法我不知道,但是,之前推特大裁员,90%码农被裁。本来以为这是一个悲伤的故事。结果,有几十个程序员被召回,继续工作来解决程序运行时故障。
那么这几十人为什么能够顽强的在推特里生存呢?答案题主已经给出来了。
pansz的回答
漏洞的话,只要没有证据证明是故意的,那么就不违法。
因为实际上:要留漏洞根本不需要刻意做什么,只需要什么都不做,正常发挥就行。正常情况下,你不做特别的安全防范,那么默认你的程序就有漏洞。
所以显然,只要他本人永远不亲自利用这个漏洞,而且也不承认,那么就没法证明他是故意的。毕竟,他本来也就没有故意留漏洞。
软件开发这种东西,有问题的程序测试通过了,那测试也要背锅。另外,其实,公司自己请的网络安全人员也有义务不断尝试攻击自己公司的服务以找到漏洞,这样才能真正解决问题。
一个公司,测试随便测,然后请的网安也根本不攻击自己的服务,最后被别人找到了漏洞,你觉得这是程序员违法?对不起,程序员还真不背这个锅。
萝魏紫的回答
什么漏洞,这是没测出来的bug
冯.若衣卖的回答
什么故意的?
你不要这么血口喷人啊!
我只是单纯的水平差也犯法啊?(doge)
辉酱的回答
收藏已久的图片终于有用了。
沧海的回答
Ken Thompson在贝尔实验室的时候,他总是能在一台装了Unix的服务器上黑进他人的账户,不管他人怎么修改账户密码都没有用,当时贝尔实验室里面聚集的都是智商爆表、专业知识过硬的科学家,Ken的行为无疑让他们非常不爽。
有个人分析了Unix的代码之后,找到了后门,重新编译部署了Uinx,但是让他们崩溃的事情再次发生,Ken还是能黑进他们的账户,这个事情让他们百思不得其解。
一直到1983年,Ken获得图灵奖,在大会上解开了这个秘密,原来这个密码后门是通过他写的一个C编译器植入的,而当时那台Unix的机器必须通过这个C编译器编译之后才能运行,所以不管unix怎么修改都没有用,毕竟是要编译的。
前几年发生的Xcode Ghost事件,就是用类似的方式操作的,所以真正的大神留的黑洞,一般人根本防不住,除非遇到同样的大神,而且人家告诉你在哪里了,才有可能破解。
这就是为啥有的单位,人家不连外网,因为根本不知道装的系统有没有别人留下的漏洞。
低级的在代码层次,中级的在工具链上,高级的在编译器层次,终极的在机器内部,这个根本防不胜防。所以对程序员好一点。