前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我在代码里面故意留个漏洞,违法吗?

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

作者头像
轩辕之风
发布于 2022-12-07 00:39:17
发布于 2022-12-07 00:39:17
5360
举报
文章被收录于专栏:编程技术宇宙编程技术宇宙

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

我看到了三个非常有意思的回答,分享给大家一看。

首先是这个为了防止项目交付后收不到尾款埋下后门的回答:

  • 答主:特立独行的猪
  • 链接: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是安全人员逆向分析的重要软件,给这里面投毒,属于定向攻击搞安全的人了,真是防不胜防啊。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程技术宇宙 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
hyperledger fabric 开发第一个智能合约
一、编写智能合约代码HelloWorld.go,go语言实现,代码很简单,每个合约包含两个方法,Init、Invoke。
Tiny熊
2020/08/27
8730
hyperledger fabric 开发第一个智能合约
Hyperledger Fabric 2.x 自定义智能合约
为了持续地进行信息的更新,以及对账本进行管理(写入交易,进行查询等),区块链网络引入了智能合约来实现对账本的访问和控制;智能合约在 Fabric 中称之为 链码,是区块链应用的业务逻辑。
陶陶技术笔记
2022/02/25
1K0
Hyperledger Fabric 2.x 自定义智能合约
fabric区块链(五)—解析basic智能合约(java)
这段代码是一个基于Hyperledger Fabric框架的资产转移合约。让我逐行解释它的功能和结构。
酒楼
2023/05/29
6830
fabric区块链(五)—解析basic智能合约(java)
fabric区块链(三)—发布智能合约
您需要使用支持的编程语言(如Go、Java、JavaScript等)编写智能合约代码。您可以使用Hyperledger Fabric提供的示例智能合约作为参考,了解智能合约的结构和编写方式。示例智能合约可在Hyperledger Fabric的官方文档中找到。
酒楼
2023/05/30
9630
区块链平台的比较和选择:Ethereum、Hyperledger和Corda的优缺点和适用场景
随着区块链技术的发展,越来越多的区块链平台涌现出来,其中包括Ethereum、Hyperledger和Corda等。本文将对它们的优缺点进行比较,并探讨它们的适用场景,以帮助开发者和企业选择最适合自己需求的区块链平台。
Echo_Wish
2024/02/07
7310
Hyperledger Fabric 1.3正式版新特性
https://github.com/hyperledger/fabric/releases
Zeal
2020/11/11
7980
Hyperledger Fabric 1.3正式版新特性
fabric区块链(十一)—fabric中使用CouchDB
酒楼
2023/07/20
4760
深入解析fabric的peer命令(三)chaincodeInvokeOrQuery方法
fabric-protos-go是Hyperledger Fabric项目中的一个Go语言包,用于定义和生成与Fabric网络通信相关的协议缓冲区(Protocol Buffers)消息。
酒楼
2023/06/04
1970
用Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之编写链代码程序
在上一节中,您已经熟悉了如何构建、运行、部署和调用链代码,但尚未编写任何 Java 代码。
笔阁
2018/09/04
1.4K0
用Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之编写链代码程序
Hyperledger fabric Chaincode 开发详解
中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>
netkiller old
2018/03/16
5.1K0
fabric区块链(七)—发布自己的智能合约(go)
├── CreateContract.go(应用程序的主要入口文件或资产转移的核心逻辑实现文件。)
酒楼
2023/05/29
8810
fabric区块链(七)—发布自己的智能合约(go)
BitXHub 跨链插件(Fabric)源码解读
之前提到过趣链科技的 BitXHub 跨链平台是业界较为完善的跨链开源解决方案,主要通过中继链、网关和插件机制对跨链流程中的功能、安全性和灵活性等进行了优化。
pseudoyu
2023/04/11
5780
BitXHub 跨链插件(Fabric)源码解读
fabric区块链(六)—解析basic智能合约(go)
├── assetTransfer.go(应用程序的主要入口文件或资产转移的核心逻辑实现文件。)
酒楼
2023/05/29
6350
fabric区块链(六)—解析basic智能合约(go)
HyperLedger Fabric ChainCode开发——shim.ChaincodeStubInterface用法
深蓝前几篇博客讲了Fabric的环境搭建,在环境搭建好后,我们就可以进行Fabric的开发工作了。Fabric的开发主要分成2部分,ChainCode链上代码开发和基于SDK的Application开发。我们这里先讲ChainCode的开发。Fabric的链上代码支持Java或者Go语言进行开发,因为Fabric本身是Go开发的,所以深蓝建议还是用Go进行ChainCode的开发。
深蓝studyzy
2022/06/16
5040
Hyperledger Fabric 系统架构详解
因为毕业 Case Study 的项目主要是基于Ethereum公链,也没有面向企业的应用场景,所以之前对Hyperledger Fabric的了解大多只是停留在它的权限管理机制、通道、灵活的智能合约编写等几个特色的概念,对它的架构、各个节点的角色、运行机制等都是一知半解。最近在上 HKU 的<FITE3011 Distributed Ledger and Blockchain>课程,教授对Hyperledger Fabric的工作原理、网络搭建及链码相关的知识做了很详细的讲解,受益匪浅,通过本文来梳理一下,如有错漏,欢迎交流指正。
pseudoyu
2023/04/11
2.8K1
Hyperledger Fabric 系统架构详解
使用IBM Blockchain Platform extension开发你的第一个fabric智能合约
使用IBM Blockchain Platform extension开发你的第一个fabric智能合约
程序那些事
2020/07/08
1.4K0
Hyperledger Fabric 2.x 动态更新智能合约
在上一篇文章中分享了智能合约的安装与使用,如果业务有变更代码需要修改怎么办呢?本文分享如何对已安装的合约进行版本更新。
陶陶技术笔记
2022/02/25
4630
Hyperledger Fabric 2.x 动态更新智能合约
快速带你上手Hyperledger Fabric环境搭建+开发测试
本文采用virtualbox+vagrant方式搭建Hyperledger Fabric环境,采用VSCode远程开发模式开发调试链码和客户端程序。
jasonruan
2020/08/12
4.5K0
Fabric基础架构原理(4):链码 | 赠书活动
智能合约能够部署和运行在区块链环境中,由一段代码来描述相关的业务逻辑。部署后的智能合约在区块链中无法修改,智能合约的执行完全由代码决定,不受人为因素的干扰。一般来说,参与方通过智能合约规定各自权利和义务、触发合约的条件以及结果,一旦该智能合约在区块链环境中运行就可以得出客观、准确的结果。
Henry Zhang
2019/04/12
5650
Fabric基础架构原理(4):链码 | 赠书活动
fabric区块链(五)—解析basic智能合约(java)
这段代码是一个基于Hyperledger Fabric框架的资产转移合约。让我逐行解释它的功能和结构。
酒楼
2023/05/30
8690
fabric区块链(五)—解析basic智能合约(java)
推荐阅读
相关推荐
hyperledger fabric 开发第一个智能合约
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档