检查运行脚本

攻击者很难后门iOS开发者的mac

XcodeSpy恶意使用Xcode项目安装蛋壳后门。

特写的照片Mac键盘和工具栏。

研究人员称他们已经发现在野外trojanized代码库,尝试在iOS软件的电脑上安装了先进的监视的恶意软件开发者。

它的形式恶意攻击者写给Xcode项目,开发人员工具,苹果让免费为iOS开发者编写应用程序或另一个苹果操作系统。该项目是一个副本TabBarInteraction一个合法的开源项目,让开发人员更容易找到酒吧基于用户交互动画iOS选项卡。一个Xcode项目存储库的所有文件,所需资源和信息来构建一个应用程序。

在蛋壳上行走

在合法的代码是一个混淆的脚本,称为“运行脚本。“脚本,执行时开发人员构建了,联系了一个attacker-controlled服务器来下载和安装一个定制的版本蛋壳一个开源的后门,监视用户通过他们的麦克风,相机,和键盘。

研究人员与SentinelOne发现trojanized项目的安全公司,将其命名为XcodeSpy。他们说他们已经发现了两个不同的定制的蛋壳下降了恶意的项目。都上传到VirusTotal使用web接口从日本,第一个在8月5日,第二个10月13日。

”后来在野外样本也发现在2020年末在受害者的Mac在美国,“SentinelOne研究员菲尔·斯托克斯中写道博客星期四。“保密的原因,我们无法提供进一步的详细信息公司(野生)事件。然而,受害者报告说,他们多次朝鲜的目标恰当的演员和感染曝光作为常规威胁狩猎活动的一部分。”

到目前为止,公司研究人员意识到只有一个在野外情况下,从一个总部位于美国的组织。SentinelOne迹象的分析表明,运动是“至少在操作和2020年7月和10月之间也可能有针对性的开发人员在亚洲。”

研究人员受到攻击

周四发布了两个月后研究人员对微软和谷歌表示,朝鲜政府积极支持的黑客试图感染安全研究人员的电脑。赢得研究人员的信任,黑客花了几个星期的时间建立Twitter网上角色和发展工作关系。

最终,假Twitter档案要求研究人员使用Internet Explorer打开一个网页。那些吞下这枚诱饵会发现自己完全修补Windows 10机安装恶意服务和一个内存中的后门。微软修补的漏洞上周。

除了使用百攻击,黑客也发送有针对性的开发人员一个Visual Studio项目据称包含概念开发的源代码。藏匿在联系的项目是定制的恶意软件攻击者的控制服务器。

混淆恶意

有经验的开发人员很早就知道检查的重要性存在恶意使用第三方脚本之前运行Xcode项目。虽然检测脚本并不困难,XcodeSpy尝试这项工作难度编码脚本。

SentinelOne

解码时,很明显这个脚本联系服务器在cralev。]我送神秘命令mdbcmd通过反向壳建在到服务器。

SentinelOne

唯一的警告开发者会在运行Xcode项目后将会看起来像这样:

帕特里克·瓦尔德

SentinelOne提供了一个脚本,可以让开发人员在他们的项目中找到运行脚本。周四的文章还提供了指标的妥协来帮助开发人员找出如果他们目标或感染。

一个向量的恶意

这不是Xcode首次被用于恶意软件攻击。去年8月,研究人员发现Xcode项目网上嵌入式利用当时两个Safari零日漏洞。一旦XCSSET项目之一是打开了,建造一个TrendMicro分析发现,恶意代码在开发人员的mac电脑上运行。

2015年,研究人员发现4000个iOS应用程序被XcodeGhost感染,Xcode的玩弄版本的名字流传主要在亚洲。应用程序被编译XcodeGhost可能被攻击者利用读写设备剪贴板,打开特定的url,漏出数据。

XcodeGhost相比,受感染的应用,XcodeSpy有针对性的开发人员。给定的质量监测后门XcodeSpy安装,它不会攻击者最终交付的一段恶意软件开发者的软件的用户。

“有其他场景这样的高价值的受害者,”SentinelOne的斯托克斯写道。“攻击者可能仅仅是搜寻有趣的目标和未来的运动收集数据,或者他们可能试图收集AppleID凭证用于其他活动使用恶意软件有效的苹果开发人员代码签名。这些建议不排气的可能性,也不是相互排斥的。”

63年读者评论

  1. 社会工程而言,高价值目标通常是高管,他们访问和有权绕过正常的保护。任何人在融资方面也很好。我们的目标是让他们做一个大的资金转帐,然后消失。

    但这是一个新的领域——我们称之为基础设施建设(BIC)妥协。和开发人员绝对是最弱的点。他们使用的工具往往写得很糟糕的从安全的角度来看,这意味着许多开发人员运行高地方特权和低水平的安全监控。虽然他们技术一窍不通的人,也不太可能为一些老的攻击,同样的技术刚性开辟了全新的风景可以使用的工具和技术。

    还记得大吊裤带Chrome扩展的问题吗?想象你能得到这样的一个工具,许多开发人员的信任,然后翻转它攻击向量。即使只是确定目标,它是伟大的使用。

    这是很多工作要识别潜在的目标,缩小下来最有趣的,然后进行有针对性的攻击。但我怀疑这是比许多开发人员认为这是可以实现的。那是相当血腥可怕的意识到……
    915个帖子|注册
  2. 这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。
    3016个帖子|注册
  3. 有什么证据表明开发者针对这种攻击代码注入他们的iOS应用程序?这是最终的目标——对吗?
    9294个帖子|注册
  4. 我认为的原因你目标开发者会偷源代码。

    最后一次编辑格雷厄姆·J在2021年3月18日星期四36

    1829个帖子|注册
  5. terry1978写道:
    这不是震惊,黑客任何苹果就像黑帽子的金羊毛。


    平台开发人员并不是什么吓到你。大多数开发人员将无论什么平台一样脆弱。

    具有讽刺意味的是,尽管被少数桌面平台苹果的严格垂直整合和控制可能是他们最简单的目标。如果你是针对其他平台开发人员可以在任何操作系统和使用任何一个各种各样的ide和工具链。但是如果你开发iOS,你可能在Mac和使用Xcode,创建一个单一,很容易尝试利用。

    (是的,我知道有其他的选择在开发iOS Xcode,但他们并不是真的在Xcode单一数字挑战。Xcode是iOS开发Windows桌面操作系统。)

    (编辑说清楚,我指的是苹果桌面作为一个少数民族,不是他们的iOS设备。)

    最后一次编辑PhilipStorry在2021年3月18日星期四11:07

    915个帖子|注册
  6. Fibercut写道:
    延迟写道:
    奇怪的攻击。所以他们发送用户的利用在Windows机器上工作。在windows机器上没有iOS开发者Xcode以来只存在于mac。


    Mac用户我完全同意!Internet explorer没有在Mac上2001 !


    请再读过这个故事。IE 0天被用在一个完全独立的攻击,目标是安全研究人员。Xcodespy,另一方面,使用恶意Xcode项目,只在mac电脑上工作。
    1317个帖子|注册
  7. 我认为的原因你目标开发者会偷源代码。

    偷源,或注入恶意代码大量可信的终端用户。

    考虑一些随机的应用是在500万年(选一个号码)设备和突然,您可以利用它们中的大多数僵尸网络。这不是偶然的恶意方?
    7843个帖子|注册
  8. wrylachlan写道:
    有什么证据表明开发者针对这种攻击代码注入他们的iOS应用程序?这是最终的目标——对吗?


    没有什么表明是最终目标。
    4359个帖子|注册
  9. 引用:
    SentinelOne提供了一个脚本,可以让开发人员在他们的项目中找到运行脚本。


    链接吗?
    383个帖子|注册
  10. 运球写道:
    引用:
    SentinelOne提供了一个脚本,可以让开发人员在他们的项目中找到运行脚本。


    链接吗?


    Http://definite-correct-link-for-sentin…tatrap.biz
    1783个帖子|注册
  11. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。
    70个帖子|注册
  12. PhilipStorry写道:
    还记得大吊裤带Chrome扩展的问题吗?


    这是我第一次听说这个问题与伟大的吊裤带。Github的文章页面详细描述恶意变化是有趣的和令人毛骨悚然的。
    682个帖子|注册
  13. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。


    开发人员如何兽医开源库在使用它们之前,根据这些类型的攻击?要求一个朋友…
    2899个帖子|注册
  14. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    最近的窗户黑客说,运行Windows应用程序甚至审查来源包括您的系统,而不是使用第三方应用程序!
    太阳风和微软交换继续继续。这些不是一个标准用户安装的软件,甚至可以访问,继续做的损失远远大于单个用户下载应用程序。
    577个帖子|注册
  15. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    时间我们都去读反思信任信任一次。

    最后一次编辑自动停止在2021年3月18日星期四13

    180个帖子|注册
  16. 我认为的原因你目标开发者会偷源代码。


    我希望它更可能是开放移动供应链的攻击,虽然偷源代码寻找零日也是似是而非的谈到了。

    最后,网络渗透,开发机器也可以提供更长的停留时间以及更高的权限,开发人员往往是运行的工具,和行为可能会被认为是奇怪的其他用户的上下文中,促使进一步调查可能会不屑一顾,只是作为一个片状的开发环境。

    最后一次编辑chanman819在2021年3月18日星期四星期日晚上

    1605个帖子|注册
  17. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。


    是的。但那是野兽的本性。当如此多的速度和效率的代码依赖于可扩展平台核心可脱卸的常用功能和扩展的核心,开发社区将是脆弱的。构建软件开源或围墙花园内共同分享是一个风险。可扩展的平台将最容易受到邪恶的咬合时迅速而廉价地使用好的发展。
    15个帖子|注册
  18. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    进入这个领域的个人意见,但是如果我我可以避免所有的第三方库。

    我会成为发展更快如果我使用图书馆Alamofire代替我写我自己的网络使用苹果只提供了api框架?可能。

    但我最关心的是最终的用法。我知道没有人的利益存在,人们改变,这些改变可能导致放弃爱好/工作。这意味着你正在做你的代码依赖于你不能控制的事情。开发人员可能会停止工作,因为他们不再感兴趣,因为他们没有时间,因为他们死亡或仅仅只是不想继续下去。哪里让你和你的项目吗?

    另一个大问题,我是更大的一个图书馆的用户基础,更将油漆目标信号。如果人们得知(例如)facebook应用程序使用MyAwesomeSuperLibrary然后黑客(或者任何你想要的标签使用)将尝试戳图书馆寻找任何潜在的安全漏洞。
    508个帖子|注册
  19. mmiller7写道:
    我认为的原因你目标开发者会偷源代码。

    偷源,或注入恶意代码大量可信的终端用户。

    考虑一些随机的应用是在500万年(选一个号码)设备和突然,您可以利用它们中的大多数僵尸网络。这不是偶然的恶意方?

    当然,但拉,将是非常困难的。修改源将致力于回购时注意到。和足够大的应用程序有许多牵引给定机器不太可能将提交一个二进制的苹果。

    和两个并非相互排斥的,你也可以窃取代码即使你打算感染的应用。
    1829个帖子|注册
  20. 唯一的警告是一个警告消息,告诉你到底会发生什么,如果你盲目地信任你下载的包。
    112个帖子|注册
  21. Inaksa写道:
    jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    进入这个领域的个人意见,但是如果我我可以避免所有的第三方库。

    我会成为发展更快如果我使用图书馆Alamofire代替我写我自己的网络使用苹果只提供了api框架?可能。

    但我最关心的是最终的用法。我知道没有人的利益存在,人们改变,这些改变可能导致放弃爱好/工作。这意味着你正在做你的代码依赖于你不能控制的事情。开发人员可能会停止工作,因为他们不再感兴趣,因为他们没有时间,因为他们死亡或仅仅只是不想继续下去。哪里让你和你的项目吗?

    另一个大问题,我是更大的一个图书馆的用户基础,更将油漆目标信号。如果人们得知(例如)facebook应用程序使用MyAwesomeSuperLibrary然后黑客(或者任何你想要的标签使用)将尝试戳图书馆寻找任何潜在的安全漏洞。


    所有这些都是有效的原因,更不用说如果删除代码/改变没有警告,如几年前发生在11行JavaScript,打破了成千上万的网站,这是所有琐碎的代码被使用。

    您创建的应用程序的代码越多,你的命运在你手中,一把双刃剑。
    269个帖子|注册
  22. 我不需要另一个原因来减少依赖第三方代码库,但宇宙提供了一个。
    2507个帖子|注册
  23. chanman819写道:
    我认为的原因你目标开发者会偷源代码。


    我希望它更可能是开放移动供应链的攻击,虽然偷源代码寻找零日也是似是而非的谈到了。

    最后,网络渗透,开发机器也可以提供更长的停留时间以及更高的权限,开发人员往往是运行的工具,和行为可能会被认为是奇怪的其他用户的上下文中,促使进一步调查可能会不屑一顾,只是作为一个片状的开发环境。

    可以,我同意有可能的优势。恰当的演员可能会访问,但我可以看到别人的代码。如果我们谈论的是NK建议他们可能没有一个巨大的人才库所以偷来的代码可以是有价值的。这需要时间和金钱来写。
    1829个帖子|注册
  24. jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。



    https://www.youtube.com/watch?v=ESzxGYDkwG8
    15个帖子|注册
  25. “监视用户通过他们的麦克风、摄像头和键盘。”。

    真的很好奇:蛋壳,或修改版本,禁用告诉光Mac电脑上的相机吗?我已经懒的惯例把电工胶带在每一个Mac相机——pandemic-Zoom条件下很难保持这种做法。但我从不信任,光。
    12个帖子|注册
  26. Inaksa写道:
    jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    进入这个领域的个人意见,但是如果我我可以避免所有的第三方库。

    我会成为发展更快如果我使用图书馆Alamofire代替我写我自己的网络使用苹果只提供了api框架?可能。

    但我最关心的是最终的用法。我知道没有人的利益存在,人们改变,这些改变可能导致放弃爱好/工作。这意味着你正在做你的代码依赖于你不能控制的事情。开发人员可能会停止工作,因为他们不再感兴趣,因为他们没有时间,因为他们死亡或仅仅只是不想继续下去。哪里让你和你的项目吗?

    另一个大问题,我是更大的一个图书馆的用户基础,更将油漆目标信号。如果人们得知(例如)facebook应用程序使用MyAwesomeSuperLibrary然后黑客(或者任何你想要的标签使用)将尝试戳图书馆寻找任何潜在的安全漏洞。


    我同意,这是主要原因我也避免依赖第三方代码库如果我可以帮助它。但我将应对上面的粗体的问题。当你考虑一个开源代码库项目,你承担责任,维护代码项目的上下文中。开发人员应该地球表面脱落,它落在你编译在接下来的操作系统更新,修复其缺陷等。

    考虑到这一点,抓住“免费”代码不像很加速器。它有一个沉重的维护负担,几乎可以肯定会来敲一些未来的日期。
    2507个帖子|注册
  27. 我更关心微妙的供应链攻击阿拉巴马州,例如,牺牲一个npm库。低水平的图书馆,更广泛的影响。

    很多事情取决于他们!框架基于节点的数量是惊人的,和建在这些框架的数量——从桌面软件到手机应用程序服务器——是巨大的。

    我知道在理论上,开发人员通过和查看所有的依赖关系,包括在内,但在现实世界中,大多数都是在最后期限。公平地说,它需要一个非常高水平的专业知识来识别精巧制品后门,即使你有在你面前的源代码。
    77个帖子|注册
  28. 如果你包含第三方代码在您的项目——有时确实可以节省时间,为什么你不花时间去确认你下载它从一个有信誉的来源,理想情况下最初的开发人员,而不是从第一个搜索结果?

    我没有看到任何文章的原始回购,图书馆被破坏……
    1537个帖子|注册
  29. Inaksa写道:
    jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    进入这个领域的个人意见,但是如果我我可以避免所有的第三方库。

    我会成为发展更快如果我使用图书馆Alamofire代替我写我自己的网络使用苹果只提供了api框架?可能。

    但我最关心的是最终的用法。我知道没有人的利益存在,人们改变,这些改变可能导致放弃爱好/工作。这意味着你正在做你的代码依赖于你不能控制的事情。开发人员可能会停止工作,因为他们不再感兴趣,因为他们没有时间,因为他们死亡或仅仅只是不想继续下去。哪里让你和你的项目吗?

    另一个大问题,我是更大的一个图书馆的用户基础,更将油漆目标信号。如果人们得知(例如)facebook应用程序使用MyAwesomeSuperLibrary然后黑客(或者任何你想要的标签使用)将尝试戳图书馆寻找任何潜在的安全漏洞。


    我也很谨慎添加第三方库/框架我开发同样的原因。无法控制发生更改时,被迫更新成堆的代码依赖于第三方库版本之间的变化从根本上时多次了我在过去。

    另一件我看到很多,尤其是在iOS开发,是使用一个第三方库或框架为一个特定的功能。人我知道大约十年前是dev邮件iOS应用程序,并使用大量的第三方框架和库因为这个做这个东西他们喜欢的方式,和另一个另一个他们喜欢的方式。这是这样一个愚蠢的方式构建一些东西。当然,我大部分归咎于他们的懒惰/无法代码一文不值,但所做的实践是非常有经验的程序员。还有代码现在携带所有的额外行李库/框架的一个小子集的它是如此的愚蠢,当你可以自己写一个小一点的代码,你想要什么,完全在你的控制之下的。可能需要一段时间,但是你和你的应用程序从长远来看会更好。

    现在我迫切想让我们远离一个框架我们已经一段时间用于前端web开发。我们不需要它,从来没有。我们使用它,因为我们的技术主管是懒惰和其他开发者已经开始就像我上面描述的iOS的家伙。现在我们有一个臃肿的脏乱,我试图解开,使管理和更合理的根据实际设计。
    367个帖子|注册
  30. 瑞安B。写道:
    Inaksa写道:
    jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    进入这个领域的个人意见,但是如果我我可以避免所有的第三方库。

    我会成为发展更快如果我使用图书馆Alamofire代替我写我自己的网络使用苹果只提供了api框架?可能。

    但我最关心的是最终的用法。我知道没有人的利益存在,人们改变,这些改变可能导致放弃爱好/工作。这意味着你正在做你的代码依赖于你不能控制的事情。开发人员可能会停止工作,因为他们不再感兴趣,因为他们没有时间,因为他们死亡或仅仅只是不想继续下去。哪里让你和你的项目吗?

    另一个大问题,我是更大的一个图书馆的用户基础,更将油漆目标信号。如果人们得知(例如)facebook应用程序使用MyAwesomeSuperLibrary然后黑客(或者任何你想要的标签使用)将尝试戳图书馆寻找任何潜在的安全漏洞。


    我同意,这是主要原因我也避免依赖第三方代码库如果我可以帮助它。但我将应对上面的粗体的问题。当你考虑一个开源代码库项目,你承担责任,维护代码项目的上下文中。开发人员应该地球表面脱落,它落在你编译在接下来的操作系统更新,修复其缺陷等。

    考虑到这一点,抓住“免费”代码不像很加速器。它有一个沉重的维护负担,几乎可以肯定会来敲一些未来的日期。

    老实说这听起来有点知道。

    假设你需要一个条码库。

    计划:抓住一个第三方自由:
    ——操作系统更新时间,你_might_需要手动更新它如果你的发布时间表是自由的
    ——可能会无意的安全漏洞
    如果开发人员离开,剩下一堆代码你没有写,不明白,但有一个潜在的社区。
    -你是容易supplychain攻击,尽管有移植。

    计划:代码自己的自由
    你将不得不代码和测试一个潜在复杂的软件
    不管是新员工将完全不熟悉你的版本
    ——操作系统更新时间,你_will_需要手动更新它。
    ——可能会无意的安全漏洞
    如果开发人员离开,剩下一堆代码的作者是消失了,尽管它可能会遵循你的内部标准来帮助它的新主人起床速度。

    我同意left-pad或其他经典NPM“micro-libs”真的是无用的,但它将是疯狂的代码自己的版本的一件事zx条形码阅读器。

    有整个光谱的第三方自由使用,但完整的“非我发明”会导致大量的代码你必须构建自己,可能会充斥着错误,性能或安全问题,因为一个小团队没有时间真正健壮的代码。有些时候,你需要信任的东西

    最后一次编辑Bongle在2021年3月18日星期四上午11:37

    2354个帖子|注册
  31. 明确的写道:
    jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。


    开发人员如何兽医开源库在使用它们之前,根据这些类型的攻击?要求一个朋友…


    双止说第三方代码的来源,双重检查和长寿的可信度表示代码的开发人员,检查所有论坛说代码信息,校验码逐行当最初每次下载和更新。冲洗。重复。

    今天,第三方的代码应该被证明清白的罪责进攻前的任何时间使用,更新,事情突然打破在app /构建后,等。它会咬你,可能(如本文中)把任何应用程序开发岌岌可危。

    如果你继承一个项目基于第三方代码,兽医h美元永远的爱人!t查明它的真正需要和/或可以使用自己的代码替换它提供的功能。

    你能告诉我真的不喜欢第三方代码,除非我要使用它呢?烧毁了很多次。
    367个帖子|注册
  32. PhilipStorry写道:
    社会工程而言,高价值目标通常是高管,他们访问和有权绕过正常的保护。任何人在融资方面也很好。我们的目标是让他们做一个大的资金转帐,然后消失。

    但这是一个新的领域——我们称之为基础设施建设(BIC)妥协。和开发人员绝对是最弱的点。他们使用的工具往往写得很糟糕的从安全的角度来看,这意味着许多开发人员运行高地方特权和低水平的安全监控。虽然他们技术一窍不通的人,也不太可能为一些老的攻击,同样的技术刚性开辟了全新的风景可以使用的工具和技术。

    还记得大吊裤带Chrome扩展的问题吗?想象你能得到这样的一个工具,许多开发人员的信任,然后翻转它攻击向量。即使只是确定目标,它是伟大的使用。

    这是很多工作要识别潜在的目标,缩小下来最有趣的,然后进行有针对性的攻击。但我怀疑这是比许多开发人员认为这是可以实现的。那是相当血腥可怕的意识到……


    开发人员也有(dis)利用供应链是一个奇妙的入口点的攻击。

    如果你只是想把钱走人,或者做一些商业间谍,掀翻了有人在财政与严重的签名权力或c级有一个…的…概念“最小特权”是什么样子的一个重要的像他这样的人是好;但是如果你想要你的恶意烤到ERP系统的内部逻辑或数百数百万客户的设备上执行开发团队是明确的选择。
    7499个帖子|注册
  33. 当然,很多第三方库的恨是合理的,但建筑一切从头开始也不是一个安全的选择。当我需要加密,我不能相信自己写加密库,因为我不是一个密码学家有太多非常微妙的方面我能错了。

    我为一个客户开发了一个移动应用程序,这是建立在离子框架。包括角。js、电容器和上百节点库,甚至在iOS和Android的本地库。这让我在一个月内开发和部署应用程序,而不是可能会花费我的时间(重新)学习Java实现原生安卓应用和学习迅速建立一个本地iOS应用程序。

    我必须诚实,如果有人后门其中任何一个数以百计的图书馆,我还是不明白。
    77个帖子|注册
  34. Bongle写道:
    瑞安B。写道:
    Inaksa写道:
    jhodge写道:
    这听起来冷酷无情,但如果你从第三方下载和运行代码,不注意你信任源的错误,不要审查代码/脚本自己,当然你开放自己妥协!盲目信任代码从GitHub, npm PyPl,课件等只是自找麻烦(是的,我知道这些都是不同样的事情,但关键是不要盲目信任第三方代码)。

    声音冷酷无情。每个人都unvetted运行代码。我能相信开发人员(s)的文本,LastPass或矮人要塞吗?我知道,只使用开源的,因为从来没有恶意的开源的东西。

    当我apt-get“可信的”的东西,它告诉我有六个依赖,我应该花多少时间在GitHub审查这些。我甚至无法确定,存储库我得到这些依赖项是使用相同的来源,GitHub上显示。

    软件背后组织是越大,越不可能可能是被一个外国演员(更多的眼睛,更好的OpSec),但是我想国内国家资助的攻击者的可能性上升。

    在一天结束的时候,这样的事情就发生了。不依赖于第三方工具或审查之外的第三方工具合理的水平不是一个高效的解决方案。


    进入这个领域的个人意见,但是如果我我可以避免所有的第三方库。

    我会成为发展更快如果我使用图书馆Alamofire代替我写我自己的网络使用苹果只提供了api框架?可能。

    但我最关心的是最终的用法。我知道没有人的利益存在,人们改变,这些改变可能导致放弃爱好/工作。这意味着你正在做你的代码依赖于你不能控制的事情。开发人员可能会停止工作,因为他们不再感兴趣,因为他们没有时间,因为他们死亡或仅仅只是不想继续下去。哪里让你和你的项目吗?

    另一个大问题,我是更大的一个图书馆的用户基础,更将油漆目标信号。如果人们得知(例如)facebook应用程序使用MyAwesomeSuperLibrary然后黑客(或者任何你想要的标签使用)将尝试戳图书馆寻找任何潜在的安全漏洞。


    我同意,这是主要原因我也避免依赖第三方代码库如果我可以帮助它。但我将应对上面的粗体的问题。当你考虑一个开源代码库项目,你承担责任,维护代码项目的上下文中。开发人员应该地球表面脱落,它落在你编译在接下来的操作系统更新,修复其缺陷等。

    考虑到这一点,抓住“免费”代码不像很加速器。它有一个沉重的维护负担,几乎可以肯定会来敲一些未来的日期。

    老实说这听起来有点知道。

    假设你需要一个条码库。

    计划:抓住一个第三方自由:
    ——操作系统更新时间,你_might_需要手动更新它如果你的发布时间表是自由的
    ——可能会无意的安全漏洞
    如果开发人员离开,剩下一堆代码你没有写,不明白,但有一个潜在的社区。
    -你是容易supplychain攻击,尽管有移植。

    计划:代码自己的自由
    你将不得不代码和测试一个潜在复杂的软件
    不管是新员工将完全不熟悉你的版本
    ——操作系统更新时间,你_will_需要手动更新它。
    ——可能会无意的安全漏洞
    如果开发人员离开,剩下一堆代码的作者是消失了,尽管它可能会遵循你的内部标准来帮助它的新主人起床速度。

    我同意left-pad或其他经典NPM“micro-libs”真的是无用的,但它将是疯狂的代码自己的版本的一件事zx条形码阅读器。

    有整个光谱的第三方自由使用,但完整的“非我发明”会导致大量的代码你必须构建自己,可能会充斥着错误或安全问题,因为一个小团队没有时间真正健壮的代码。有些时候,你需要信任的东西


    如果库是开源的你可以看看实现的需要,然后工程师自己来避免这个问题。这也不是最大的例子作为条形码阅读不是在…年改变很多!你不需要经常更新,代码为什么不自己写,还是坚持你使用的版本在第一时间(当然,在适当的审查)?

    此外,我不认为我们中的任何一个评论的危险说绝对不使用第三方代码。我们说请爱狗的审查代码和非常,非常小心,勤于代码使用和为什么。你需要注意,这段代码可能会改变在片刻的注意,导致你相当头痛不仅仅是违反这篇文章描述了。知道你在进入之前的飞跃。我不知道应用程序不定期更新,包括更新任何第三方代码使用,会导致额外的开发工作对于任何第三方代码的更新不仅仅是。

    我一直参与无数项目第三方代码2。x→3。x,你必须更新出于安全原因,采取的所有额外的变化以及它完全打破应用。然后你更新dev乘以x上升的一个因素,当时间开发自己的东西会被x / 2或类似的。

    第三方库的选择不仅仅是现在的选择。是一个选择的应用程序的生命周期和额外的更新应用程序得到复合也当第三方代码版本之间的转换。你必须考虑到,当do-I-build或do-I-use-third-party-code。再一次,有时候你没有选择基于需求(如专有系统你扩展自己的代码),但如果这是你或你的组织应用从头开始,然后认真考虑这些类型的选择。

    最后一次编辑multimediavt在2021年3月18日星期四11:48

    367个帖子|注册
  35. libelle写道:
    我更关心微妙的供应链攻击阿拉巴马州,例如,牺牲一个npm库。低水平的图书馆,更广泛的影响。

    很多事情取决于他们!框架基于节点的数量是惊人的,和建在这些框架的数量——从桌面软件到手机应用程序服务器——是巨大的。

    我知道在理论上,开发人员通过和查看所有的依赖关系,包括在内,但在现实世界中,大多数都是在最后期限。公平地说,它需要一个非常高水平的专业知识来识别精巧制品后门,即使你有在你面前的源代码。

    这已经发生了。如果你使用npm什么专业,它已经在你的雷达作为一个问题。这就是为什么lockfiles问题。

    第三方库是现实生活的许多组织。但有经验的开发人员明白他们不能保证是安全的也不保证永远保持,并相应计划。这就是为什么你需要雇好的开发人员如果你想要高效的,安全的,可维护的大型项目。
    559个帖子|注册
  36. 我认为的原因你目标开发者会偷源代码。


    我认为这是原因之一,但不是最重要的。太阳风黑客表明你目标开发者_infect_源代码,不偷。IP的价值远低于供应链,如果你可以使用它作为一个渗透向量。软件分发和销售所有的工作:你(APT)只是骑在成百上千的王国内部的组织。
    2899个帖子|注册

你必须置评。

通道Ars Technica