通过自动化机器学习对抗Java恶意软件

简介: 本文讲的是通过自动化机器学习对抗Java恶意软件,最近几个月,黑客们又开始利用电子邮件展开大规模攻击,糟糕的是,这些恶意软件还使用了新技术来绕过杀毒软件的防护。但是,通过微软研究团队研发的自动化专家系统和机器学习模型,搭载Windows 10的电脑就可以及时地应对这些威胁。
本文讲的是 通过自动化机器学习对抗Java恶意软件

通过自动化机器学习对抗Java恶意软件

最近几个月,黑客们又开始利用电子邮件展开大规模攻击,糟糕的是,这些恶意软件还使用了新技术来绕过杀毒软件的防护。但是,通过微软研究团队研发的自动化专家系统和机器学习模型,搭载Windows 10的电脑就可以及时地应对这些威胁。

黑客们总是不断改变他们的攻击方法和工具,专家们从多年来对恶意软件和网络犯罪行为的研究中了解到,黑客们开始使用编程语言进行恶意活动,而这些攻击行为总会绕过既有的安全解决方案。例如,最近微软的安全专家们就跟踪了黑客们是如何改变他们使用的NSIS安装程序,以逃避杀毒软件的检测,并实施攻击。

为了让Windows Defender Antivirus能够有效实时保护,微软安全专家们开发了智能安全图像识别技术(Microsoft intelligent security graph)。这是一个很强大的智能系统,用于监控来自网络的大量威胁情报。该系统包括了机器学习模型,可以对最新的威胁采取主动性的防护。

跟踪含有广告的恶意电子邮件

2017年年初的时候,微软的智能安全图像识别技术就已经探测到Java垃圾邮件活动的迹象并开始收集相关的活动证据,而且利用该工具的自动化技术可以对大量恶意电子邮件进行排序和分类,这样安全专家们就提前知道了含有Java恶意软件的电子邮件在不断的激增。

这些电子邮件使用各种社会工程技术来诱使收件人打开恶意附件,其中有很多电子邮件是葡萄牙语,不过也有英文。这些恶意软件会伪装成是计费(比如Adwind)、付款、养老金或其它财务预警的通知。

以下是含有广告的电子邮件中最受欢迎的主题和附件的文件名组合:

通过自动化机器学习对抗Java恶意软件

附件通常是.zip或.rar之类的文件,其中包含恶意的.jar文件。 黑客可以利用.jar作为附件文件来绕过杀毒软件的识别,因为相比于MIME、PDF、文本、HTML或文档类型文件,.jar文件很难被识别出来。

通过自动化机器学习对抗Java恶意软件

在.zip文件中携带Java恶意软件的恶意电子邮件

跟踪恶意代码的更新

除了关于电子邮件活动的信息之外,这个自动化监控工具还显示了另外一个有趣的变化,就是在恶意软件的整个运行期间,它们每天平均使用了900个不同的Java恶意文件。所以也就解释了Windows Defender Antivirus会在一天内遇到1200个不同的恶意Java文件:

通过自动化机器学习对抗Java恶意软件

含有广告的恶意电子邮件所使用的Java恶意文件的数量

这些Java恶意文件都是过去的恶意软件的变体,之所以要不断地更新文件代码,就是为了试图逃避杀毒软件的检测。

在Java恶意软件的这些新变体中,安全专家们看到的最显着的变化就是它们模糊恶意代码的方式。例如,它们看到以下混淆技术:

1.使用一系列附加操作符和字符串解密功能

通过自动化机器学习对抗Java恶意软件

2.使用过长的变量名,使其变的不可读

通过自动化机器学习对抗Java恶意软件

3.使用过多的代码,使代码跟踪更加困难

通过自动化机器学习对抗Java恶意软件

经过混淆的代码可以让恶意分析工具变的一无是处,不过安全图像识别技术可以自动触发这些经过混淆的恶意软件。当恶意软件被触发时,利用机器学习模型就可以分析出看到恶意软件的意图,并提前做好应对措施。

安全专家们利用该工具把触发期间观察到的恶意行为都记录了下来,之后,并使用这些记录的线索,来检测新的和未知的恶意附件。这些恶意行为包括:

通过自动化机器学习对抗Java恶意软件

恶意软件跟踪日志

从情报分析到实时防护

通过利用该工具进行自动分析,机器学习和预测建模,安全专家们就能够更好地为最新的,从未见过的恶意软件提供保护。通过对威胁情报的具体分析, Windows Defender AV便能够实时提供全面的威胁防护。

其中上下文感知系统可以分析数百万潜在的恶意软件样本并收集大量的威胁情报,同时这些威胁情报又丰富了机器学习的样本库,使杀毒软件能够实时阻止相关威胁。除了Java恶意软件之外,利用上下文感知系统可还能检测到有效载荷,比如像Banker和Banload这样的网络银行木马程序,或者像Jrat和Qrat这样的Java远程访问木马程序(RAT)。

通过自动化机器学习对抗Java恶意软件

自动化系统将威胁情报提供给云引擎和机器学习模型,从而实现对威胁的实时保护

不断累积的威胁情报会不断增强机器学习模式的分析能力,当来自最新威胁的恶意文件标识符被添加到机器学习分类器后,防御措施便自动开启。

这就是安全专家们如何使用自动化、机器学习和云端来对最新的和未知的威胁提供更加智能和强大的保护技术。 Windows Defender AV可以自动保护Windows PC免受97%以上恶意软件恶意软件的侵扰。

通过自动化机器学习对抗Java恶意软件

对检测道德Java恶意软件进行细分

结论

通过电子邮件活动来推送Java恶意软件,只是黑客们用于传递新的恶意软件和其他威胁的一种手段而已。相信黑客们会不断改进自己的攻击工具和手段,以逃避现有防护工具的保护。

Windows Defender AV研究团队正在试图通过自动化流程,机器学习和云保护技术的组合来增强防御技术。目前,这些保护技术已经内置于Windows 10中,建议大家尽快更新到最新的系统。

Windows Defender Antivirus通过使用自动化、机器学习和启发式方式提供对恶意软件及其有效载荷等威胁的实时保护。

在企业环境中,Office 365高级威胁防护可以阻止来自垃圾邮件广告的恶意电子邮件,例如分发Java恶意软件的恶意电子邮件,就可以被本文中所讨论的自动化流程的机器学习所检测到。

微软的设备保护(Device Guard) 是由硬件和软件系统完整性强化功能组成的功能集,这些功能彻底革新了 Windows 操作系统的安全性,并提供基于内核级别的虚拟化的安全保护措施,仅允许可信应用程序运行。

这样做的不仅仅是微软,Oracle一直在对使用Java的合法应用程序进行更强大的安全检查。例如,从Java 7 Update 51开始,Java不允许未签名的Java应用程序进行自签名或缺少权限属性。 Oracle还将开始使用SHA1或更强的签名来代替MD5签名的.jar文件。

但要强调的是,本文中讨论的Java恶意软件就是Java可执行文件。以下是在企业环境中防范Java恶意软件的其他一些建议:

1.在操作系统中删除文件类型关联中的JAR,以便双击时.jar文件不会运行,

2..jar文件必须使用命令行手动执行,

3.要求Java只执行已签名的.jar文件,

4.手动验证签名的.jar文件,

5.应用电子邮件网关策略来阻止.jar作为附件。




原文发布时间为:2017年4月25日
本文作者:xiaohui
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
1月前
|
Java
Java代码居然能搞定自动化温控
Java代码居然能搞定自动化温控
17 0
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
【2月更文挑战第13天】《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程) 上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
62 1
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
【2月更文挑战第12天】《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程) 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。
40 1
|
17天前
|
Web App开发 前端开发 Java
《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)
【4月更文挑战第1天】 这篇教程介绍了如何使用Selenium Webdriver通过name属性来定位网页元素,作为系列教程的一部分,之前讲解了id定位,后续还会有其他六种定位方法。文中以百度搜索为例,详细说明了定位搜索框(name="wd")并输入关键词“北京宏哥”的步骤,包括手动操作流程、编写自动化脚本以及代码实现。此外,还提供了查看和理解Selenium源码的方法,强调了`open implementation`选项用于查看方法的具体实现。整个过程旨在帮助读者学习Selenium的元素定位,并实践自动化测试。
38 0
|
30天前
|
Web App开发 存储 JavaScript
《手把手教你》系列技巧篇(八)-java+ selenium自动化测试-元素定位大法之By id(详细教程)
【2月更文挑战第17天】本文介绍了Web自动化测试的核心——元素定位。文章首先强调了定位元素的重要性,指出找不到元素则无法进行后续操作。Selenium提供八种定位方法,包括By id、name、class name等。其中,By id是最简单快捷的方式。文章还阐述了自动化测试的步骤:定位元素、操作元素、验证结果和记录测试结果。此外,讨论了如何选择定位方法,推荐优先使用简单稳定的方式,如id,其次考虑其他方法。最后,作者提供了Chrome浏览器的开发者工具作为定位元素的工具,并给出了通过id定位的代码示例。
51 0
|
13天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)
【4月更文挑战第4天】本文介绍了link text在自动化测试中的应用。Link text是指网页中链接的文字描述,点击可跳转至其他页面。文章列举了8种常用的定位方法,其中着重讲解了link text定位,并通过实例展示了如何使用Java代码实现点击百度首页的“奥运奖牌榜 最新排名”链接,进入相应页面。如果link text不准确,则无法定位到元素,这说明linkText是精准匹配,而非模糊匹配。文章还提到了partial link text作为link text的模糊匹配版本,将在后续内容中介绍。
35 4
|
11天前
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
42 0
|
30天前
|
Web App开发 安全 Java
《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)
【2月更文挑战第16天】本文介绍了如何通过查看源码理解Selenium启动Chrome浏览器的过程。首先,展示了启动Chrome的Java代码,包括设置系统属性、创建WebDriver实例、最大化窗口、设置隐性等待、打开网站、获取页面标题以及关闭浏览器。文章还讲解了包(package)、import导入、setProperty设置系统属性、WebDriver接口、driver实例、manage方法、get方法加载网页以及quit方法退出浏览器的基本概念和作用。适合没有Java基础的读者了解Selenium与Java的交互方式。
45 3
|
3天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
24 0
|
6天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)
【4月更文挑战第11天】按计划今天宏哥继续讲解css的定位元素的方法。但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用。
27 2

热门文章

最新文章