自己辛辛苦苦写的代码被他人不声不响拿去商用卖钱,这对很多人来说都是非常恼火的事情。最近,业界资深网络安全专家PatrickWardle在BlackHat的分享中讲述了自己的开源代码在不被告知的情况下被至少三家独立公司使用的事情。至少被三个不同的公司盗取代码 PatrickWardle是非常优秀的macOS安全研究人员,也是苹果公司重点关注的OBTS安全会议组织者。他还是专为macOS创建开源安全工具的非营利组织ObjectiveSee基金会的创始人,这意味着Wardle的许多软件代码现在可以免费下载和修改,但这也使自己的代码未被允许就被一些科技公司拿去了,他也是在多年后才发现的。 Wardle以Mac恶意软件专家而闻名,曾在国家安全局担任恶意软件分析师一职。在此期间,他分析了攻击国防部计算机系统的代码,并创建了可以查看摄像头和麦克风是否被恶意软件操纵的macOS工具OverSight,并通过ObjectiveSee免费发布了该工具。 当时是2016年,媒体曝出网络犯罪分子使用恶意软件通过用户的macOS网络摄像头和麦克风秘密监视人们。其中,一名黑客使用了一款名为Fruitfly的恶意软件劫持了笔记本电脑的网络摄像头,目的是监视儿童。在对新病毒进行了数月的分析后,PatrickWardle解密了部分代码并设置了一个服务器来拦截来自受感染计算机的流量。 然而几年后,Wardle为客户分析可疑代码时,在客户自己设备上的一个工具中发现了问题。该工具由一家大型科技公司开发,提供了与OverSight类似的功能,包括监控macOS网络摄像头和麦克风。 通过筛选程序,Wardle找到了他非常熟悉的代码,他的整个监督算法,包括他未删除的bug,都包含在这个程序中。他终于意识到,某个开发人员对他的工具进行了逆向工程,窃取了他的成果,并将其重新用在了一个名字不同但功能几乎相同的产品中。 就像有人抄了你写的东西,还把你的拼写和语法错误也抄了过去。Wardle说道。后来,Wardle的客户立即联系了该公司,提醒了他们的开发人员窃取了Wardle的代码。 这并不是Wardle最后一次发现有公司使用他的代码。后来,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还把他作为作者的名字删掉了。但最后Gregg也没有得到什么补偿。 相比Sun公司的行为,苹果和甲骨文的做法就让Gregg舒服很多。Gregg表示,几年后,苹果把他几十款工具添加进了OSX系统中,并完整保留了作者的姓名、版权以及CDDL开源许可证,甚至还对功能进行了改进与增强。多年之后,甲骨文在OracleSolaris11、BSD社区在FereBSD上也采取了同样的开源成果吸纳方式。 事实上,这样盗用他人开源代码为自己谋利的案例有很多。去年,特朗普支持的社交媒体平台Truth被Mastodon创始人告上法庭。Mastodon的创始人EugenRochko称,该应用程序称从自己的开源项目中提取了大量代码。当时,网友们发现Truth测试版的界面与Mastodon基本相同,而且该网站的部分代码与其他社交网络的代码没有任何差异。 特朗普媒体与技术集团(TMTG)此前还称Truth为专有软件,并试图隐藏Truth基于Mastodon的事实。这件事情被曝光后,其相关股价随之大跌。 结束语 事实上,开源软件本身允许其他平台使用自己的代码,但开源软件的许可证要求使用者将他们的源代码和做的任何修改提供给公众。但很多公司在使用了代码之后没有任何说明。 Wardle认为,导致这种现象的本质是开发人员的任务就是找到某种解决方法,比如监控麦克风和摄像头,然后他们就找到相应的工具进行逆向工程并窃取算法,而公司的目的就要解决方案,并不会追问代码的来处。 我相信这是一个系统性问题,因为当我开始寻找时,我不是只找到了一个,而是好几个,这些公司还都完全不相关。Wardle认为代码盗窃的做法非常普遍。 对此,Wardle建议,对于软件开发人员来说,任何编写代码(无论是开源代码还是闭源代码)的人都应该假设它会被盗,并学习有助于他们发现这种情况的技术。对于公司而言,管理者应该教育员工或开发人员不要偷窃,并让他们认真了解围绕对一个产品逆向工程以获取商业利益的法律规范,否则将整个组织将面临法律风险。 此类事件的发生也在不断提醒人们,一定要规范使用开源软件的代码,否则对公司名誉、实际利益都没有好处。 参考链接: https:gizmodo。comblackhatwhattodobigtechcompanystealsyourcode1849378076 https:www。theverge。com2021102922752850mastodontrumptruthsocialnetworkopensourcegablegalnotice https:mp。weixin。qq。coms?bizMjM5MDE0Mjc4MAmid2651083118idx1snd42542f5c8ad7bb6caad49c21d637711chksmbdb9a93d8ace202b16aca5fa85b6fcc29401badb132bc442ec40b4bd785db58f7f4ea514455dscene27wechatredirect 原文链接: https:www。infoq。cnnewst7VH0hEr8f6atyKBTJP6