阅读是最好的习惯

假如一个高水平程序员故意留了一个只有他自己知道的漏洞,那么这种行为违法吗?

假如一个高水平程序员故意留了一个只有他自己知道的漏洞,那么这种行为违法吗?

上外尹某某已被开除学籍,牛磺酸泡腾片究竟是什么?对人体会造成哪些影响?

这跟是不是泡腾片没啥关系…重点在于,给女生饮品下料这种行为。不要把注意力放在这个东西有没有毒、有没有营养、有没有药效之类的“烟幕弹”上…【女生喜欢喝什么自己不会兑吗?关他P事…】有些人会说,它也没有毒…所以从轻之类的…说这话的人怎么就知道它不是过敏物…没毒就不能过敏是吗…上过生物课没有?它要是女生过敏物,就算没毒也会出人命!所以,未经饮品主人同意,私自放入饮品主人不知情的物体【就是下药…】【还是某种不知名的“催情药”】(你们上网自行查阅一下,它是不是“催情药”)甭管它药效是否和广告上的一样,往女 更多

外地来豫储户被赋红码,12345 回应称「正申请解决,当地称离豫可转绿」,还有哪些信息值得关注?

这时候其实出现了一个玄学问题:码是谁在管。借用大明王朝里面玄学大佬修仙达人的一句话:朝廷也就是几座宫殿,几座衙门,饭还是要分锅吃的。大家还记得疫情刚开始的时候吧,跨省流动出现问题,就是因为各地都只认自己的码,虽然国务院也有码,号称全国通,可惜各地的火车、机场、长途客运站都不认。到2021年1月,疫情已经爆发一年之后,还有一些省份的健康码连「全省通行」都没做到,就更别说全国联网的推进了。要说去中心化,币圈都只能排第二,码绝对排第一。这各地的码,叫健康码的多,比如山西健康码、河南健康码、贵州健康码, 更多

早年给某台企做外包项目,定制一个Android系统的ROM。开发费用16万,一年期维护费用2万。开发费用分三期打款,订金4万,生产环境ROM交付8万,验收并交付源码后打尾款4万。

生产环境ROM交付前留了一手,加了时间戳校验,混杂在驱动程序里,6个月后不能开机。果不其然,过了4个月对方也没把尾款打过来,显然是用着没什么毛病,源码不打算要了,维护费用也一起省了。每次催款都用各种理由搪塞。

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

懒得说这家公司的名字,挺有名的公司,估计很多人用过他们的产品。如果不留这一手,估计就要吃哑巴亏了,毕竟台湾省的官司打起来费劲儿。

在这种情况下,这叫自我保护,不违法。

什么漏洞,这是没测出来的bug

漏洞的话,只要没有证据证明是故意的,那么就不违法。

因为实际上:要留漏洞根本不需要刻意做什么,只需要什么都不做,正常发挥就行。正常情况下,你不做特别的安全防范,那么默认你的程序就有漏洞。

所以显然,只要他本人永远不亲自利用这个漏洞,而且也不承认,那么就没法证明他是故意的。毕竟,他本来也就没有故意留漏洞。

软件开发这种东西,有问题的程序测试通过了,那测试也要背锅。另外,其实,公司自己请的网络安全人员也有义务不断尝试攻击自己公司的服务以找到漏洞,这样才能真正解决问题。

一个公司,测试随便测,然后请的网安也根本不攻击自己的服务,最后被别人找到了漏洞,你觉得这是程序员违法?对不起,程序员还真不背这个锅。

我们国家的法律规定总的思路是,谁利用,谁违法。或者说,谁直接造成损失,谁违法。

从漏洞生产端来说,绝大部分情况你无法判断写的人是不是故意的。

现实情况是漏洞不可避免,没有人能保证系统是万无一失的。而且也有强攻的方式,开锁除了钥匙,还可以用锤子。

生产端追究起来难度大,而且太普遍,所以法律没有规定这部分内容。

利用端就容易了,不管是谁写的,你利用了那你就违法。哪怕是你自己写的,但是没有人利用,你自己也没有利用,这个不违法。

好比你保管了工厂的仓库钥匙,没偷东西当然不违法。别的人有锤子,但是没有用来砸这个锁,也不违法。生产锁的人留了漏洞,只要没进去,也不算违法。锁被人用锤子砸开了,这也不能怪生产锁的人造得不结实。

软件安全本质上和锁差不多,锁本身是一个符号,你不能因为能力或者想法定罪,只能根据行为定罪。

什么故意的?

你不要这么血口喷人啊!

我只是单纯的水平差也犯法啊?(doge)

目前知道的一个隐藏后门是美国NSA植入,植入到了NIST标准里。这个后门不是植入到代码或是工具链也不是硬件或者系统。而是设计一个有问题的算法并把这个算法提案成NIST标准。

NIST在2006年颁布了一个标准《Recommendation for Random Number Generation Using Deterministic Random Bit Generators》这是一个涉及一组随机数生成器的算法的标准,其中有有一个称为对偶椭圆曲线的随机数生成算法。

Dual_EC_DRBG:基于椭圆曲线加密

详细分析这个算法比较复杂,这里只简单介绍其原理框架

椭圆函数会自然的组成一个群结构满足群计算规则,椭圆曲线都是由一组参数确定,并在这个曲线上找一个初始点G开始依照算法不断向下生成随机数,当然这些随机数都会通过随机数分布检验。但是NSA的论文并没有解释这些椭圆函数的参数是如何确定的,问题就出现在这组参数上。

这组参数决定的曲线群有一些特殊的隐藏性质(比如特殊的子群结构和双线性性质),NSA当然事先知道这组性质但并没有在论文中披露。如果获得这个算法生成的128位随机数序列,那么就可以在一定范围内确定接下来生成随机数序列中的一些bit,比如泄漏出来52个bit。那么随机数序列的随机性就会大大缩减并降低了最终加密算法的强度。比如128位加密算法因为随机数强度不够造成等效强度只有64位,那么依NSA手上的计算资源来说,就可以在比较短的时间内暴力破解出加密内容,而他们破解的主要目标是通讯双方握手过程中建立的共享密钥本身,破坏力极大。

这个后门极其隐蔽并且这个后门最大的问题是它不是实体植入而是标准植入,任何支持他们推荐出来的NIST标准的实现的系统都会被这个后门威胁,更糟糕的是他们会在全球推行这个通用标准。

目前的椭圆函数加密和签名的标准中的曲线参数也是在一个标准集合中选择,这些参数是怎么选择的和安全验证算法都没有,至于其中有没有问题根本无从得知,甚至未来在其中发现新的数学特性可以降低其安全性也是完全有可能的,这其实是个潜在的威胁。

不可能的

作为程序员,我有我的职业操守

你给不给钱,我也必须给你我最好的服务

我不可能故意留一个漏洞的

这是我做人的操守

但是,我水平不行,写的程序有bug

这不能怪我把

什么?为什么当时没发现

我帮你写完程序,我还一直在家研究

研究了五个半月才发现

刚想告诉你这个BUG

你给我打个电话说尾款不给就挂电话了

我想给你打过去,我电话没钱缴费欠费了

这可不怪我把

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

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

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

前几年发生的Xcode Ghost事件,就是用类似的方式操作的,所以真正的大神留的黑洞,一般人根本防不住,除非遇到同样的大神,而且人家告诉你在哪里了,才有可能破解。

这就是为啥有的单位,人家不连外网,因为根本不知道装的系统有没有别人留下的漏洞。

低级的代码层次

中级的在工具链上

高级的在编译器层次

终极的在机器内部,这个根本防不胜防。

所以对程序员好一点。

不是高手,是菜鸟。

之前外包公司工作,老板怕客户不结尾款,故意让我留后门,因为老板经常去买源码让我改,拿到手第一件事就是让我去后门。大量的研究和学习后,虽然我业务代码菜,但是后门留得还算不错。

客户脑壳有包,宁愿花钱找一些公司去除,也不愿结尾款。可惜都没去除,后来说要找高手,专业的审计公司。但还是没去,因为审计钱已经超过整个开发费用了。最后还是乖乖结尾款了。老板也不傻,破坏计算机信息罪是犯法的。真搞他也不太可能,只是善意的提醒客户,我这个开发水平菜,可能程序有bug。

其实这个后门也很简单,在框架源码和第三方工具包都插入了。你替换所有的第三方工具包,会报错版本不兼容。你更新框架也会报错和第三方工具包版本不兼容。这个报错详情都是我伪装的,跟真报错详情几乎一摸一样,只是隐藏了最关键信息。如果你同时替换工具包和更新框架,不好意思,核心源码也会报错版本问题。核心源码采用了大量抽象设计模式,把逻辑复杂了好几倍。这可是我苦练了十五天的设计模式,还有迷惑性注释。

这时候都还是没有后门,后门的生成是每天凌晨四点向我的服务器发送一条信息。是即时性,不留后门代码在项目里。

最后觉得手动留后门麻烦,干脆写了个shell 脚本自动生成。

基本上已经难倒中级水平了

这个不是很常见的事吗?

一个程序员在接私活的时候如果不留后门。万一雇主不给结算工钱怎么办。尾款不结怎么办?

你所说高水平程序员。他们留后门只有他知道。如果他没有使用被查出来了就是bug。如果是他使用了。那么他违法。

但是一般在企业中程序员开发项目是分段式开发。你根本不知道首尾。且有代码审计。测试等岗位。

即使你预留了后门BUG,对于优秀的项目管理,你所参与的模块始终是留有你的标记的。经验丰富的大工程码农,考虑更多的是防止别人有BUG嫁祸到他的模块他的环节上,这种情况在过去出现过很多,比如前些年某次著名重大事故,最后抓的就是可怜的码农,被判刑的也是码农,虽然码农是这个环节中最弱势、最无辜的,但码农沾手了呀。

当你种下一个无关紧要甚至无伤大雅的BUG的时候,你甚至已经就成为了某个真正想留后门的某个阴暗大佬的替罪羊了而不自知。也有可能已经成了项目优良的备选替罪羊,公司见后大喜,一定会小心呵护你的这个秘密。所以智慧的码农,是不会耍小聪明的。

你以为的高水平程序员:

实际上的高水平程序员:

假装有一条分割线

《神秘的程序员们》的1/2作者君在上面,我也是看这些漫画,以及有一个程序员lp才对程序员不会有过于科幻的认识。

关于质疑真实性的讨论我不会再回复,大家心里都有数,不要再说些:“有点假。”、“除非xxxx才会是真的” 等想杠又不敢完全杠的话,竟然各位所谓“甲方大佬”、“技术大拿”知道存在这种情况,那么杠这个真实性的意义何在?我回答个问题而已,真的没兴趣去给你们完善世界观,我也没想到各位生活在我的平行世界,不食人间烟火。

————————————————-

咋说呢,才碰到一个事,一个搞施工的A陪着甲方大太阳跑东跑西,现场踩点,然后给他出了初步图纸,好生招待甲方。

末了,甲方找了其他人来做,这本没什么,生意嘛,能做就做。结果搞笑的是甲方直接拿着A的图纸施工,这样可以省下一笔设计费。A听到了气的七窍生烟,陪吃陪喝血亏,但是毫无办法。

然后呢,施工队按照图纸做发现几个地方尺寸都少了一些导致得返工。甲方气势汹汹的找A算账,找她要赔偿,说不给行业里就搞臭她名声,说她不够专业。

真实情况呢?相比聪明的人已经想到了,那几个地方就是留的后手,如果A来做,尺寸就会是对的,别人来做,不知情的情况下就得全部返工,双倍成本。那么甲方能要到赔偿吗?并不能,能留这个心眼的会是被欺负的主吗?直接朋友圈走起,怎么跑的现场,怎么做的图,甲方是如何剽窃她的成果,一套下来有理有据,对方只能光速删掉A的VX。

再说一个我们公司的事,要弄一个内部考核系统,理念很好,但是走信息平台实现很复杂,于是老板让一个老员工B挑大梁,统筹建设,于是B就没日没夜的将理念转化成程序实现,协调各部门。在完成度到了80%的时候,老板来了骚操作,空降了一个B的领导,意思是新考核新征程。老板想的是点子是我的,做事的人是我的,你统筹得差不多了我就不需要顾及你了,你愿意就做个小弟养老,不愿意就滚蛋。这下子把累得进医院的B给气坏了,直接辞职走人,原本老板以为事干完了,后面才发现原来上了测试并不代表做完了,测试是会出问题的,修bug没人能搞定,又命令离职的B利用周末过来把这个系统调整一下,直到成功上线,用的理由是:“你要有良心,要有职业道德,你的事就要把它做完。”

结果显而易见,只能屏蔽错误强上,但是又出现一个问题,就是其他模块还好,出现问题修就是,这可是考核系统,更直接的来说就是涉及到员工薪资的,现在就是一个充满bug的破系统说你多少你就拿多少,你认同吗?显然大部分人是不认同的,有能力的都走了,没能力的认同,因为他们本来就拿不了多少。

回到这个问题,我不知道是否违法,但是我知道如果没有这两个后门,打工人太容易吃亏,这本身就是一个博弈的过程,你连武器都没有,你怎么跟别人打?

程序员不说,你无法证明他是故意的。

cve,你百度一下这三个单词,你会发现很多漏洞。那些程序员是不是故意的,谁也说不清。

如果程序员承认了,那这个东西我们一般称之为,后门。

你留后门肯定违法。

信息系统安全保护条例,这个东西管的很宽。

后门造成损失,有其他大法等着你,不必细说。

但是,故意留后门,没有损失,也是涉嫌违反信息安全等级保护要求的,这个也是违反安全保护条例的。

从安全研究人员的角度来看:

有的漏洞,明眼人一看就知道是研发工程师故意留的,比如「debug=1」这种(一个调试开关),或者更直接一些,把一个隐藏的通用口令(可以简单理解为「万能密码」)硬编码到程序里,这种一般在内部 code review(代码审查)的时候就会被拎出来。

但是一些莫名奇妙的逻辑漏洞,在 code review 时就很难发现,对黑客来说,要找到这些漏洞也没那么容易,就算发现,通常也会被归咎于研发人员没有安全意识,很难界定是不是故意留下的。 尽管有时候事后仔细一琢磨,会觉得这个漏洞的利用实在过于巧妙,似乎只有深刻知道的人才能利用……

分享一个真事儿吧:

2015年,著名网络通讯设备公司 Juniper Networks 披露其设备使用的操作系统 ScreenOS 存在一个默认的硬编码密码,这个漏洞非常严重,攻击者不仅可以以 root 身份登录而且可以解密经过该设备的VPN流量。

当时 Juniper 就是通过内部代码审计发现的问题,这个后门留的非常巧妙,实际上利用了当时IDE(开发软件用的软件)的一个小漏洞,将一段特殊写法的注释和代码写在一行,IDE会认为并显示代码和代码注释是注释,但编译器会将一整行含注释作为代码编译……(有兴趣的人可以Google下Juniper的这个硬编码密码)

Juniper公司后来内部宣布这是个bug,也没查到具体是谁写的这段代码,不过我身边不少朋友都表示不太相信,认为这应该是一个高段位的后门。

这个案例也让很多安全从业者深刻地理解一个道理:漏洞没有大小之分,只有是否用对地方之分。

回到问题本身:「留下漏洞」和「利用漏洞」是两回事。

从法律层面来看(我专门去问了一下从事法律工作的朋友,他是这么说的):

「利用漏洞」搞事情(从事危害网络安全的活动)肯定违法,《网络安全法》写得很清楚。

但「留下漏洞」,如果不考虑相关项目的特殊性因素,这种行为通常不会构成违法,违法一般指违反法律法规规定,会受到行政处罚、触发刑事犯罪这两种情形。

「留下漏洞」这种行为就跟工厂生产车间员工故意生产了一款有缺陷的产品类似,责任将来自于公司内部的惩罚,包括:根据公司规章制度或援引劳动合同法相关规定给予降职降薪、解除劳动合同等惩处。

也就是说:不一定违法,但有可能违规。

忘了自我介绍,我是「微步在线」,立志成为世界顶级的实力型网络安全公司,守护数字世界的安全,欢迎大家向我咨询网络安全问题,可以邀请我回答,或者直接搓米问答私信问我,知无不言,有邀必谢!

合同要写清楚的呀。

工控行业,听一个大佬讲的

密码设置的贼绝,每天的密码都不一样,客户每次开机前都要打电话问密码。尾款结的贼快。

卖个关子,有人看了我更一下密码怎么设的,其实很简单,大佬估计一下就猜到了。

———————————————————

工控行业,用的是是PLC,欢迎大佬们在评论区讨论。方法我放在评论区了,大佬太多好多我都没听过也不敢吱声哈哈哈哈哈哈

———————————————————

倦了真的,毁灭吧。贴个评论

1.“宝贝儿,你司下回能中标,就见了鬼了。不过,你也别高兴,你以为结款是因为你这点下作手腕么?”

我也很很想对线啊可他叫我宝贝儿唉。

我开头就讲了我听说的听说的听说的,觉得这个密码很好玩就分享一下。

再有这样的评论不理你们了,委屈屈。

———————————————————

评论区迷惑行为大赏(长更)

2.“农民老板的眼界。”

上外尹某某已被开除学籍,牛磺酸泡腾片究竟是什么?对人体会造成哪些影响?

这跟是不是泡腾片没啥关系…重点在于,给女生饮品下料这种行为。不要把注意力放在这个东西有没有毒、有没有营养、有没有药效之类的“烟幕弹”上…【女生喜欢喝什么自己不会兑吗?关他P事…】有些人会说,它也没有毒…所以从轻之类的…说这话的人怎么就知道它不是过敏物…没毒就不能过敏是吗…上过生物课没有?它要是女生过敏物,就算没毒也会出人命!所以,未经饮品主人同意,私自放入饮品主人不知情的物体【就是下药…】【还是某种不知名的“催情药”】(你们上网自行查阅一下,它是不是“催情药”)甭管它药效是否和广告上的一样,往女 更多

外地来豫储户被赋红码,12345 回应称「正申请解决,当地称离豫可转绿」,还有哪些信息值得关注?

这时候其实出现了一个玄学问题:码是谁在管。借用大明王朝里面玄学大佬修仙达人的一句话:朝廷也就是几座宫殿,几座衙门,饭还是要分锅吃的。大家还记得疫情刚开始的时候吧,跨省流动出现问题,就是因为各地都只认自己的码,虽然国务院也有码,号称全国通,可惜各地的火车、机场、长途客运站都不认。到2021年1月,疫情已经爆发一年之后,还有一些省份的健康码连「全省通行」都没做到,就更别说全国联网的推进了。要说去中心化,币圈都只能排第二,码绝对排第一。这各地的码,叫健康码的多,比如山西健康码、河南健康码、贵州健康码, 更多

赞(0) 打赏
未经允许不得转载:微精选 » 假如一个高水平程序员故意留了一个只有他自己知道的漏洞,那么这种行为违法吗?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏