| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Web安全研究(一) -> 正文阅读 |
|
[网络协议]Web安全研究(一) |
文章目录Mistrust Plugins You Must: A Large-Scale Study Of Malicious Plugins In WordPress Marketplaces
abstract现代网站的大部分美学和功能设计都归功于CMS的插件,这些插件在广泛流行的市场上被买卖,攻击者利用这种经济中的信息,在合法的市场上出售恶意插件或盗用流行的插件或在部署后感染插件。 作者开发了YODA,一个自动化框架,用于检测恶意插件并追踪其来源。在24931个独特的网站上发现了47337个恶意插件,其中在合法的插件市场上发现了3685个恶意插件,共计花费41.5k$, 盗版插件骗取了开发者22.8w$,部署后的攻击使834k$的以前良性的插件感染成为恶意插件。并且据yoda测量,这些插件有超过94%仍在活动。 introduction许多现代网站几乎完全由插件和主题构成,他们将信任寄托在大量未加审查的代码上。更糟糕的是,现在大多数恶意插件没有采用规避和混淆技术,而是喜欢明目张胆的暴露出来。 过去的研究对google play对恶意app,chrome store对恶意扩展程序,以及软件包注册处对恶意软件包进行了相关研究,同时之前的工作也暴露了web sever上的一些恶意行为,例如漏洞,webshell,backdoor等,但没有一项研究的研究对象是导致这些攻击的底层插件。 网站所有者通常依靠简单的metric,比如插件的popular程度,评级和插件市场上的review来决定是否可以安全的安装到他们网站上,另外勤奋的网站所有者可能会查询一些免费的或商业的插件漏洞数据库来查询插件是否安全。 不幸的是,这些来源没有提供完整的也没有提供强大的安全措施,攻击者可以购买这些流行的免费的插件代码库,并添加恶意代码,等待用户自动更新。作者与codeguard合作,分析了超过40w个独特的wordpress插件,时间可以追溯到2012年。 YODA源代码地址:https://cyfi.ece.gatech.edu/ Preliminary study插件是一组文件,一起工作为CMS网站增加美学特征和功能,每次访问网站时,CMS会加载插件的可执行代码,作者的数据集是在CodeGuard提供的超过40w个WordPress网站的夜间备份访问。 如上图所示,数以千计的插件在WP的存储库中和软件开发平台,付费的插件则通过市场销售如ThemeForest,在付费市场,单个插件最便宜2$,WP-Plugin是整体上最受欢迎的市场,每个插件的平均下载量为7.5M。WPMU DEV市场则不出售单独的插件,二十一订阅的形式打包所有插件,每月的订阅费为49$,是该数据集中最受欢迎的付费插件市场。 Nulled Marketplaces,由于大多数付费插件不提供试用选项,因此一些市场开始了先试后买的举措。不幸的是,这产生了盗版的试用插件市场,这些插件是原来付费插件的盗版,通过盗版市场自由传播,一般来讲,这些插件已经被黑掉了,或者包含修改过的代码,以造成用户伤害或手机敏感的用户数据,并在没有license的情况下无限期的工作。更常见的是,盗版插件将恶意代码引入网络服务器。 市场监督不足,尚没有法规或工具评估插件的恶意性。插件生态系统安全的挑战比以往任何时候都受到挑战。 Design下图是YODA的总体架构图,首先进行插件检测,而后进行恶意行为检测,接下来确定该插件的来源,最后执行了一项影响研究。 不能通过简单的代码目录结构来检测web server上的所有插件,因为当前CMS提供了优先的指导方针,这使代码缺乏一致性,且CMS用户经常定制插件并将它们放在server上的随机位置,不遵守编码准则,也不在CMS维护的插件和主题的目录结构中。 为了解决上述挑战,YODA采用元数据分析来识别插件的根文件,采用代码分析来识别所有该插件的关联文件。 插件检测元数据分析YODA解析所有服务器端代码文件的注释,执行正则表达式匹配以识别插件的根文件,即包含插件头的文件,这是一个具有特殊格式的块主食,包含关于插件的元数据。如下所示:
代码分析在确定插件root文件之后,YODA通过生成并解析插件根目录下所有server端代码文件的AST来寻找该插件的关联文件。由于一些CMS用户通过使用配置文件或明确修改PHP代码来定制插件,因此使用三个分数来检测,使用常数权重加上反指数来对这些分数进行排序(一种常见的程序模块排序方法)。
特定API如下: 而后通过可靠性公式来计算一组文件是一个插件的可能性,如果一组文件的可靠性分数大于95%,则认定为其是一个插件。 恶意行为检测作者首先在2018年到2020年的已知的85个被破坏的网站备份中调查了所有插件,共发现了14种不同的恶意行为,每种行为都有多种实现方式,最先进的webshell检测依赖于单个代码文件内的结构感知语义特征, 现有的技术不考虑文件组之间的相互作用,因为攻击者将恶意行为的实现分布在多个插件文件中,从而逃避现有技术。 YODA通过句法特征,如文件元数据,敏感的API和所有插件代码文件的上下文感知语义特征(解决文件依赖性的AST)来解决这些挑战,句法分析使用数据流分析来识别在插件代码文件中用作接收器的可疑API。下图是一些可疑的Sink,但仅仅存在可疑Sink并不等同于恶意的插件行为,为了确保在多个插件文件中检测到恶意行为,YODA在AST中使用php-ast。 在解决了依赖关系的AST中,它将先前确定的所有敏感API标记为sink,从sink到预定义的source之间进行有针对性的程序后向切片,这些source-sink数据流称为语义模型,在下表中进行了总结。
Origin of Malicious Plugins之后确定这些恶意行为的来源,初步研究发现主要为以下四个来源之一:
Validating |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 16:03:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |