7月29日消息,据外媒报道称,微软、任天堂、迪士尼、华为海思、Adobe、联想、AMD、高通、联发科、通用电气等在内的50家互联网科技公司的源代码被泄露在网上。因为不安全的DevOps应用程序导致公司专有信息被暴露,很多公司已经撤回源代码。
报道中提到,科技公司遭泄露的源代码被发布在 GitLab 上一个公开存储库中,并被标记为 “Exconfidential” (绝密),以及 “Confidential & Proprietary”(保密&专有)标签,如下图显示。
根据安全研究人员 Bank Security 提供的信息,该存储库中大约包含了超过 50 家科技巨头公司的源码。但有一些文件夹是空的,还有一些存在硬编码凭证——一种创建后门的方式。
此外,开发人员Tillie Kottmann在受访时称,因为不安全的DevOps应用程序导致公司专有信息暴露,他已经撤回源代码。
对于上述事件,不少安全专家表示,“在互联网上失去对源代码的控制,就像把银行的设计图交给抢劫犯一样。”
目前,Kottmann 已应部分企业的要求删除了代码。例如 Daimler AG,梅赛德斯-奔驰的母公司;联想的文件夹也已经空空如也。针对有移除代码要求的公司,Kottmann表示愿意遵守,并乐意提供信息,“帮助公司增强基础架构的安全性”。
事实上,从收到的 DMCA 通知数量(估计至多 7 份)和法律代表等的联系来看,许多公司仍对代码泄露事件不知情。另有部分公司没有撤除代码的意思,甚至有公司觉得“挺有趣”,只想知道 Kottmann 是如何获得代码的。
来自网络安全公司ImmuniWeb的创始人兼首席执行官伊利亚·科洛琴科(Ilia Kolochenko)观点相左:“从技术角度来看,泄密没什么大不了。经检查,大多数源代码都是一文不值的,除非您有其他一些技术。
此外,源代码在没有日常支持和改进的情况下会迅速贬值。因此,不择手段的竞争对手不可能获得很大的价值,除非他们只专注某款非常具体的软件。”
以下是白帽子黑客人员角度分析上述两个问题:
一是Kottmann怎么样拿到的科技企业的源码?
二是拿到源码后有什么用,是否真的像ImmuniWeb所说,源代码的价值不高?
先看第一个问题,为什么在源代码托管平台上会出现漏洞,导致上述源代码被窃取的问题?其实从技术的角度来讲,能够拿到上述源代码的方式比较多,不过行业内主要还是用APT攻击方式较多。
那什么是APT攻击?APT攻击,即高级可持续威胁攻击,也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质、供应链和社会工程学等多种手段实施先进的、持久的且有效的威胁和攻击。
对于Github、开源中国等此类源码托管网站,网站的安全性本身毋庸置疑,一般做得很不错,很难有漏洞可以正面进攻,拿下网站的权限。对于黑客来说正面进攻不是入侵系统的唯一方式;其中APT攻击比较有名成功概率高,其利用社工信息,收集网站对应信息,包括公司架构,管理人员等信息,针对具体目标,采用单点突破,如对网站具有管理权限的人员重点做社工研究,然后配合以真实数据信息的钓鱼攻击,成功率极高,比较容易可以进入企业内网,成功拿到网站后台相关权限,因此窃取托管企业的源代码对于黑客来说也不是什么难事,世界上没有绝对安全的系统(来自电影《我是谁:没有绝对安全的系统》)。
对于一个企业来讲,网站系统的安全防护设备固然重要,但员工的安全意识也非常重要,这点和木桶效应比较像,如果人员的安全意识较差,即使在软硬件的安全上做得足够好,一样比较容易被入侵。所以除了网站本身没有漏洞,有强有力软硬件设备做后盾外,企业人员安全意识也要提升到同等层次。
另外一个问题,拿到源码后有什么用,是否真的像ImmuniWeb所说,源代码的价值不高?
从网络安全或一个白帽子黑客从业人员来讲,网站或者系统的源代码非常有价值,可以从白盒测试的角度去分析代码是否存在一些常见的Web漏洞、逻辑漏洞等;说到这里简单介绍网络安全行业的测试,对于源代码测试,主要利用白盒测试,主要测试内容:
Web漏洞:SQL注入漏洞、文件上传漏洞、XSS漏洞、CSRF漏洞、SSRF漏洞、XXE漏洞、命令执行、远程包含、访问控制漏洞、会话管理漏洞、配置文件漏洞;
逻辑漏洞:登陆、注册、密码找回、支付漏洞、短信轰炸、系统本身的业务逻辑漏洞等;
针对源码找漏洞,行业内细分技能叫代码审计,需要有一定的代码阅读功底,再配合一定的代码审计工具,找代码漏洞效率比较高。
另外在网络安全行业,还有逆向分析细分行业,主要对打包好生成的exe或者App对应的安装包如apk,还原对应的中间层代码(汇编代码),再通过汇编代码反推源代码,最后根据推测出的原代码去分析数据的加密和漏洞情况;
可以想象一下通过汇编代码反推源码的过程难度极大,而且有一定的成功概率,行业内可能会针对打包的源码加固和做花指令,不是所有执行程序都能做逆向分析。如果能轻易获取程序的源代码,逆向分析的过程就完全可以跳过,直接分析源码即可。是否源码真的有价值,或者能够通过源代码找到漏洞;那举个简单的例子,熟悉Web框架的人群,知道行业内比较知名的Web中间件,主要有Apache、Ngnix、IIS、Jboss、Tomcat、Weblogic;
每个公司运营的中间件产品都超过10个年头,占据的市场份额都很高,对于已经开发维护超过10年时间的中间件产品,在每年做产品更新时,每年或多或少都会爆出一些高危漏洞,直接让企业的web服务器陷入危险之中,如果知道源代码,相信能够爆出来的漏洞会更多。一旦发现最新漏洞,采用此中间件的企业系统基本全部处于沦陷状态,黑客只需要借助漏洞在企业后台放入后门即可,后续即使打了中间件升级补丁,亡羊补牢也为时已晚。
“在互联网上失去对源代码的控制,就像把银行的设计图交给抢劫犯一样。”,所以泄露源代码后的企业面临的风险还是极高,因此做好源代码的把控,代码托管平台的责任更大,需要从软硬件的安全防护,还有企业员工的网络安全意识、保密意识、做事流程都需要全面升级。
网络安全无小事,企业自身需要提高网络安全意识,企业整体员工才会注重网络安全的重要性,网络安全从你我做起,构造一个和谐的网络世界。