当前位置: 首页 > 后端技术 > Java

我的开源代码被大公司盗用后:有人承认,有人放过我!!

时间:2023-04-01 13:18:36 Java

来源|信息Q|整理|楚杏娟辛辛苦苦写的代码,被人拿去卖钱。这对很多人来说非常烦人。近日,业内资深网络安全专家PatrickWardle在黑帽大会上分享说,他的开源代码被至少3家独立公司在不知情的情况下使用。至少被三个不同公司“窃取”的代码PatrickWardle是一位非常优秀的macOS安全研究人员,也是Apple重点关注的OBTS安全会议的组织者。他还是Objective-SeeFoundation的创始人,这是一个为macOS创建开源安全工具的非营利组织,这意味着Wardle的大部分软件代码现在都可以免费下载和修改,但也允许使用他自己的代码一些人未经许可。科技公司拿走了,多年后他才发现。Wardle被称为Mac恶意软件专家,曾担任国家安全局的恶意软件分析师。在那段时间里,他分析了攻击国防部计算机系统的代码并创建了OverSight,这是一种macOS工具,可以查看摄像头和麦克风是否被恶意软件操纵,他通过Objective-See免费分发了该恶意软件。那是2016年,媒体透露网络犯罪分子正在使用恶意软件通过用户的macOS网络摄像头和麦克风暗中监视人们。其中,一名黑客使用一种名为“Fruitfly”的恶意软件劫持了笔记本电脑的网络摄像头,目的是监视儿童。在对这种新病毒进行了数月的分析之后,PatrickWardle解密了部分代码并设置了一个服务器来拦截来自受感染计算机的流量。然而,多年后,在为客户分析可疑代码时,Wardle发现客户自己设备上的工具存在问题。该工具由一家大型科技公司开发,提供与OverSight类似的功能,包括监控macOS网络摄像头和麦克风。通过筛选程序,Wardle发现了他非常熟悉的代码,以至于他的整个“监督”算法,包括他没有删除的错误,都包含在这个程序中。他终于意识到,一名开发人员对他的工具进行了逆向工程,窃取了他的成果,并将其重新用于名称不同但功能几乎相同的产品中。“这就像有人抄袭了你写的东西,抄袭了你的拼写和语法错误,”沃德尔说。后来,Wardle的客户立即联系了该公司,提醒他们的开发人员Wardle的代码被盗。这不是沃德尔最后一次发现公司使用他的代码。后来,沃德尔发现另外两家大公司也在自己的产品中使用了他的算法。沃德尔没有透露这些公司的名称。“你联系这些公司说,‘嘿,你们这些家伙,你们偷了我的大部分东西。你们对我的工具进行了逆向工程,并重新实现了算法——这在法律上非常......呃,它是灰色的。但是“在欧盟,有一条规定你这样做是违法的。我有一个非营利组织,你实际上从非营利组织那里窃取信息并将其放在你的网站上,这是非常不合适的。”沃德尔说,“但这些公司的反应不同。”“有些回复非常友好。我曾经收到一位CEO的回复邮件,确认并询问如何解决。但有人回复我说需要三周的内部调查,然后告诉我他们没有看到任何相同的代码并告诉我滚开,”Wardle说。当面对后者时,Wardle不得不要求提供更多证据。证明代码被盗很困难,但在现实中,证明对方的代码被盗是非常困难的。很难。Wardle说他必须使用自己的闭源软件并采用逆向工程来了解这些公司的代码是如何工作的,并证明它与他自己的代码相似。此外,Wardle还与非营利组织电子前沿基金会(EFF)合作),它为独立的安全研究人员提供无偿法律服务。Wardle之所以能够查明代码是否被盗,是因为他自己编写了工具和逆向工程软件,并且拥有这两种专业知识使他更容易找到证据。但像Wardle这样的技术出身,在社区有一定影响力的开发者并不多,在维护自身权益上往往处于劣势。去年,一位名叫BrendanGregg的开发人员透露,他编写的DTrace项目相关的开源代码被Sun公司“窃取”了。那是在2005年早些时候,当时Gregg忙于编写和发布DTrace相关的高级性能工具,然后发现Sun发布的相关工具比他自己发布的还少。Gregg不是Sun的员工,不了解公司的内部运作,但他还负责为Sun提供培训和咨询支持。有一次,Sun展示了一款基于DTrace的新产品。在这个过程中,Gregg发现有些工具是自己写的脚本,而且这些工具非常不成熟,里面有很多千奇百怪的组合,具有很强的个人风格。Gregg还发现Sun也删除了他作为作者的名字。但最终格雷格并没有得到多少补偿。与Sun的行为相比,Apple和Oracle的做法让Gregg舒服多了。Gregg说,几年后,Apple将他的几十个工具添加到OSX系统中,并完全保留了作者姓名、版权和CDDL开源许可证,甚至改进和增强了功能。许多年后,Oracle采用同样的方法,在OracleSolaris11上吸收开源成果,在FereBSD上吸收BSD社区。事实上,盗用他人开源代码为自己谋取利益的案例比比皆是。去年,特朗普支持的社交媒体平台Truth被Mastodon的创始人起诉。Mastodon创始人EugenRochko表示,该应用程序声称从其自己的开源项目中提取了大量代码。当时,网友发现Truth内测版界面与Mastodon基本一致,网站部分代码与其他社交网络并无不同。TrumpMedia&TechnologyGroup(TMTG)此前也称Truth为“专有软件”,并试图掩盖Truth基于Mastodon的事实。事件曝光后,其相关股价暴跌。结论事实上,开源软件本身允许其他平台使用自己的代码,但开源软件的许可证要求用户向公众提供他们的源代码和他们所做的任何修改。但是很多公司使用代码后没有任何说明。Wardle认为,这种现象的本质是开发人员的任务是找到某种解决方案,比如监控麦克风和摄像头,然后他们找到相应的工具进行逆向工程和窃取算法,而公司的目的是要解决,它不会问代码来自哪里。“我认为这是一个系统性问题,因为当我开始寻找时,我发现的不仅仅是一家,而是几家公司,所有这些公司都完全无关。”Wardle说代码盗窃很普遍。对此,沃德尔建议,对于软件开发人员来说,任何编写代码(无论是开源还是封闭源代码)的人都应该假设代码会被盗,并学习有助于他们发现这一点的技术。对于公司而言,管理者应该教育员工或开发人员不要窃取,并让他们认真审视围绕为商业利益对产品进行逆向工程的法律规范,否则会使整个组织面临法律风险。此类事件的发生也在不断提醒人们,开源软件代码的使用必须规范,否则对公司的声誉和实际利益都无益。参考链接:https://gizmodo.com/black-hat...https://www.theverge.com/2021...https://mp.weixin.qq.com/s?__...最近热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.厉害了!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!