【软件供应链上游出包,开发老手都难防】挖矿绑架台湾曝光第一例,遭害苦主保哥现身说法
2017-11-05 12:14:11 | 来源:ithome | 投稿:小艾 | 编辑:dations

原标题:【软件供应链上游出包,开发老手都难防】挖矿绑架台湾曝光第一例,遭害苦主保哥现身说法

9月19日,保哥(多奇数位创意技术总监黄保翕)在脸书上,公开了自家网站所用聊天外挂工具遭植入Coinhive程式的消息,是台湾网站遭挖矿绑架事件曝光的第一例。

“自己很难主动察觉,”人称保哥的多奇数位创意技术总监黄保翕坦言,若不是朋友一则抱怨讯息,才让开发经验丰富的保哥惊觉,经营了10年的博客竟然藏了Coinhive挖矿程式。关键竟是,他3个月前刚启用的第三方外挂套件,遭有心人士植入了Coinhive挖矿程式,连带让他的博客成了帮凶,殃及所有博客访客,一度成了挖矿绑架的受害者。

9月下旬有一天,一位浏览博客的用户,向黄保翕反应,只要开启他的博客The△Will△Will△Web,浏览器的CPU使用率,就会冲破50%,甚至满载,可是一离开保哥的博客,CPU使用率马上又会下降。

接到消息后,黄保翕开始确认CPU用量,果不其然,只有当电脑连上自己的博客时,浏览器的CPU使用率就会飙高,于是,他开始清查自家网站的原始码,试图找出问题,花了大约10分钟,终于找到了问题。

原来是3个月前,黄保翕在个人博客中,增加了一个第三方提供的外挂,就是KeyReply网站释出的Live△Chat△Widget(聊天外挂小工具)。在KeyReply官方释出的程式码中,竟然就藏了几行呼叫Coinhive挖矿程式的JavaScript指令。

KeyReply聊天小工具是一个国外博客常用的聊天外挂工具,因为介面简洁,支援多种即时聊天平台,再加上这是免费工具,因而吸引了不少关注,在台湾也有不少文章来推荐这款KeyReply聊天小工具。

黄保翕表示,过去很少在自己的博客中,嵌入第三方JavaScript程式码,顶多只装了来自Google、脸书和噗浪的外挂程式。直到3个月前,他在某个电商平台网站上,看见KeyReply聊天小工具的介绍,当下觉得方便且美观,才开始使用,但是没想到自己的网站因此遭殃。发现问题之后,黄保翕马上将KeyReply聊天小工具移除,并于9月19日在个人脸书发文,说明这起事件经过。

隔天9月20日上午,KeyReply技术长徐梦翔从朋友得知了保哥在脸书上的发文,也才发觉自家聊天小工具被植入了Coinhive挖矿程式。

徐梦翔连忙检查原始码才发现,他发布到CDN上的聊天小工具Javascript程式码中,最末段,出现了两行没有看过的程式码,会连接到Coinhive的网站,“最初开发的版本中,并没有加入这两行程式码。”他解释。

KeyReply发现问题后,先暂停服务,也下架相关套件,修正后才重新发布新版本,并再次检查文件的完整性,也更改了伺服器密码,并重新设定CloudFlare的CDN,目前该外挂程式已恢复正常版本。不过,他也不清楚,何时开始遭人植入了Coin这两行Coinhive挖矿程式码。

徐梦翔表示,当初为了解决自己开发网站的问题,需要一个可以连接到聊天App的功能,市面上的程式都需注册,因此自行开发了KeyReply聊天外挂小工具,也免费释出,但没有特别推广,也有一段时间没有关注此套件,现在将会持续注意该套件的程式安全性。

为何不易发现网站遭植Coinhive挖矿程式?

利用现成成熟的JavaScript框架,来加快和简化网页程式的开发速度,已是前端开发者的通用基本作法,但是,一般开发者对于这些外挂嵌入的JavaScript程式码,很少进一步审视其原始码,甚至对于知名的套件,因为多数人已采用的信任度,往往自己也直接套用。

像在这次事件中,保哥三个月前开始使用KeyReply聊天外挂小工具,但Coinhive在9月14日释出了挖矿程式,没几天,恶意人士就窜改了CDN上的聊天小工具程式码,暗中植入了挖矿程式码,而保哥则是到9月19日前后时察觉,才对外公开了遭波及的经验。

这种因为软件供应链上游出包,遭人植入问题程式码的情况,在下游开使用者,就算是保哥这样经验老到的开发者,一时也很难自行发现。

因为,一般开发者,不会也不需要定期检视所用的外挂程式码,来源是否出问题了。更不用说,这次出问题的不是官方原始码出错,而是储存原始码的副本遭人从中植入问题程式码,连官方自己都没有察觉,释出在CDN上分流的副本遭加料,对下游开发者更是难以预防。

再加上Coinhive这类挖矿程式,消耗的是网页访客的CPU,而非网站开发者的环境,程式码遭加料变质,只有第一线使用者,最快感受到效能降低,难怪保哥大叹,就连他也很难主动发现,得等到访客抱怨,一查才知道出问题。

自己很难主动察觉,网页开发人员要预防自家网站遭暗藏了挖矿程式,凡是要使用外挂程式时,就需要特别小心。—多奇数位创技术总监 黄保翕

如何发现网页暗藏Coinhive挖矿程式?

黄保翕表示,Coinhive挖矿程式,一开始会先动态下载一段挖矿JavaScript脚本程式,之后开始在浏览器的背景执行多个执行绪,而且这些执行绪并不在网页分页中,而是在浏览器中执行。

所以,一旦开发人员发现连上自己的网页时,电脑CPU用量剧增,要查看自家网页是否藏有挖矿程式,可以在Chrome浏览器中,按下F12打开Chrome浏览器开发工具,查看JavaScript、HTML△与阶层式样式表(CSS),以及追踪网页或网络的效能问题。

在Chrome浏览器开发工具的Network分页中,可以检视检查页面载入时间、对 AJAX△要求的回应,以及载入和执行网页与应用程序的所有网络活动,但是,由于Coinhive挖矿程式,是通过加密过的浏览器与伺服器互动通讯技术WebSocket连线,因此,无法在Network查看程式传送给伺服器的资料。

而在Application分页中,则可看到正在执行的背景程式,但是,黄保翕指出,Coinhive挖矿程式,并非以Service△Workers的方式执行,而是要在Sources分页中,才可以看到网页执行了几个WebAssembly程式,点选打开这些wsam程式后,就能发现网页的程式码中含有Coinhive程式,Coinhive程式将挖矿程式下载到浏览器后开始执行,因此,黄保翕表示,即使不容易找到Coinhive程式码,但是,开发人员还是可以追踪到Coinhive的执行程式。

对一般网页使用者而言,黄保翕认为,要防范自己连上藏有Coinhive的网站,较为困难,因为一般使用者不了解网页技术,只会觉得自己的电脑变慢了,目前挖矿程式对电脑无害,只是会增加CPU使用率,若使用者介意,将网页关掉就能立刻解决问题。

再者,一般人使用浏览器时,常会开启20~30个分页,黄保翕认为,挖矿程式执行绪为数不多时,一般使用者更不会有太大的影响。

尽管近来发生了多起挖矿程式遭骇客组织滥用,尤其在未经网站经营者同意,植入其网页,而遭殃的却是浏览网页的用户,但持平来说,黄保翕认为,Coinhive挖矿程式本质上并非是恶意程式,只是在未告知访客的情况下,利用访客电脑上的CPU资源来获利,的确不妥当。

“若是在告知用户的情况下执行Coinhive挖矿程式,不会造成用户的疑虑,甚至有可能成为另一个新的商业模式。”黄保翕说。

iThome△Security

tags:

上一篇  下一篇

相关:

一个天空、两个台湾? 环团吁修法防空气污染

我酷新闻网记者王少筠/台北报道 (原文刊载日期:2017年3月23日)立法院社会福利及卫生环境委员会今(23)日邀集行政院环保署、经济部、环保团体及多位学者专家,召开“空气污染防制法”修法公听会,针对台湾中南部

因应数位化时代 Polycom扩大台湾市场、携手巨晶国际

我酷新闻网记者蓝立晴/台北报道全球开放式标准化整合通讯与协同作业(UC&C)大厂今增列合作伙伴,授权巨晶国际(JJNET)为台湾区新销售代理商,共同推广因应数位化时代的商务应用解决方案,深耕台湾市场。根据市场研

台湾上班族近4成是月光 [生活]

台湾上班族近4成是月光台湾上班族近4成是月光,普遍对薪资失望月光族的痛都是一样的。“月光族”是相对于努力攒点钱的储蓄族而言的。“月光族”的口号:挣多少用多少,吃光用光,身体健康。“物价飞涨、薪水不涨”是

特斯拉量产不顺砍订单 台湾供应链应声齐跌

我酷新闻网记者黄有容/综合报道电动车大厂特斯拉(Tesla)于10月初传出Model3量产不顺,美国总公司表示,仅是一点瓶颈,不过仍然影响到供应链厂商。据媒体报道,供应商之一和大集团已遭砍订单达4成之多,不但冲击和大

香港TVB“大大平台”APP 进军台湾OTT产业

我酷新闻网记者苏元和/台北报道网络科技让全球OTT线上影音产业风起云涌,香港TVB电视台今(26日)在台湾正式推出全新线上的影音服务平台“大大平台”,横跨台湾、香港及国际的高规格影视产业链,展现50年历史的TVB电

站长推荐: