精华内容
参与话题
问答
  • 恶意软件

    2018-12-20 00:44:00
    恶意软件 我们所关心的威胁是针对应用程序、实用程序(utility program,如编辑器,编译器)以及内核级(kernel-level)程序的威胁 恶意软件的类型 名称 描述 病毒 当其执行时,设法...

    恶意软件

    我们所关心的威胁是针对应用程序、实用程序(utility program,如编辑器,编译器)以及内核级(kernel-level)程序的威胁

    恶意软件的类型

    名称

    描述

    病毒

    当其执行时,设法将自己复制到其他可执行代码中的恶意软件。如果复制成功,就称这个可执行代码被感染了。当被感染的可执行代码运行时,病毒即被执行

    蠕虫

    能够独立执行并且将自己完整的可执行版本传播到网络中其他主机上的计算机程序

    逻辑炸弹

    被入侵者插入到正常软件中的程序。当预定义的条件满足时,逻辑炸弹被触发,从而开始执行非授权的操作;其他时间出于休眠状态

    特洛伊木马

    一种计算机程序,看上去具有有用的功能,但还具有隐蔽的,潜在的恶意功能。这些恶意功能可以用来避开安全机制的检查,有时是利用特洛伊木马程序的系统实体的合法授权来实现的

    后门(陷门)

    能够绕过正常安全检查的任何机制,它允许未经授权就访问某些功能

    移动代码

    能够不加修改地移植到不同类型的系统平台上并按照完全相同的语义执行软件(例如,脚本,宏或其他可移植的指令)

    漏洞攻击程序

    针对某个或多个漏洞进行攻击的代码

    下载器

    在被攻击的机器上安装其他内容的程序。通常下载器是通过电子邮件传播的

    Auto-rooter

    用于远程入侵到新的机器上的恶意攻击工具

    病毒生成工具包

    一套自动生成新病毒的工具

    垃圾邮件程序

    发送大量垃圾邮件的程序

    洪泛攻击程序

    通过向联网的计算机系统发送大量数据包来实现拒绝服务攻击的程序

    键盘记录器

    捕获受控系统中键盘输入的程序

    Rootkit

    攻击者成功入侵计算机系统并获得root访问权限之后使用的一套攻击工具

    僵尸

    在被感染的计算机中运行,激活后向其他计算机发动攻击的程序

    间谍软件

    收集一台计算机的信息并将信息发送给另一台计算机的软件

    广告软件

    集成在软件中的广告程序,导致弹出式广告或者重定向浏览器到某个商业网站

        恶意软件大致可以分成两类:依附于宿主程序和独立于宿主程序的。前者被称为寄生程序(parasitic),其本质是不能独立于应用程序,实用程序或系统程序而存在的程序片段,例如病毒程序,逻辑炸弹和后门等。后者是可以被操作系统调度和执行的独立程序,例如蠕虫和bot程序等。

        也可以根据恶意软件是否进行复制而将其分成两类:不进行复制的和进行复制的。前者是触发执行的程序或程序片段,如逻辑炸弹、后门和bot程序。后者是一个程序或程序片段,执行时会生成一个或多个自身的拷贝,这些拷贝在合适的时机会在当前系统或其他系统中被激活,例如病毒、蠕虫

    展开全文
  • 来自:FreeBuf.COM*参考来源:csoonline,Karunesh91编译当今时代,网络世界处处充满了危机,对于网络用户来说,能够对各种类型的恶意软件进行了解,...
        
    来自:FreeBuf.COM
    *参考来源:csoonline,Karunesh91编译

    当今时代,网络世界处处充满了危机,对于网络用户来说,能够对各种类型的恶意软件进行了解,也许有助于在网上冲浪的过程中保全自身。

    病毒

    640?wx_fmt=jpeg

    计算机病毒,可以说是最广为人知的一个概念,所有计算机的问题都能够归咎于“病毒”。但有一点需要了解,多数恶意软件程序并不是病毒。计算机病毒会以修改合法主机文件的方式来执行病毒本身。


    现在的网络环境下,计算机病毒并不常见,在所有恶意软件中仅不到10%。这算是件好事,毕竟病毒是唯一可以“感染”其他文件的恶意软件,这一特点使其极难清理。由于其执行来自合法应用程序,所以即使是最好的防护软件也难以做到完全杜绝计算机病毒。因此在大多数情况下,针对染毒文件,只会对其进行隔离或删除受感染文件的操作。

    蠕虫

    640?wx_fmt=jpeg

    蠕虫出现的比电脑病毒还要早,甚至可以追溯到大型计算机的年代。当然,真正使其流行开来的还是因为上世纪90年代电子邮件的出现。彼时,任何一封电子邮件都有可能是蠕虫的携带者,每个计算机相关工作人员都对其头疼不已,一旦打开邮件,那么基本上整个公司的网络都难以幸免。


    蠕虫的独特之处在于其能够自我复制。以臭名昭著的Iloveyou蠕虫为例:当其被攻克时,基本上已经感染了世界上的每一个电子邮件用户,该蠕虫造成了电话系统超载(因为发送了带有欺诈性的文本)、电视网络关闭、甚至延迟了当天的报纸推送时间。除此之外,还有SQL Slammer以及MS Blaster等蠕虫,其造成的破坏性,确保了蠕虫在计算机安全历史中的稳固地位。


    蠕虫能够造成如此大的破坏力的原因,在于它具备不需要用户操作就能够进行自我复制并传播。相比之下,病毒的传播至少还需要用户去启动相应的文件。例如SQL Slammer蠕虫就是用了Microsoft SQL中的一个漏洞,在其连接到网络之后,大约十分钟之后,网络上所有存在该漏洞的SQL服务器都会出现缓冲区溢出的问题,这个传播速度至今仍是一项纪录。

    木马

    640?wx_fmt=jpeg

    曾经风靡一时的计算机蠕虫,如今已基本被木马等恶意程序所取代,成为了多数黑客的首选工具。木马程序往往是包含着恶意指令并伪装成合法应用程序的程序,存在时间同样久于病毒,但论对计算机的掌控能力,任何恶意软件都比不了木马。


    木马的触发机制与病毒类似,也需要用户执行相应的程序才能激活其功能。通常,木马会潜藏于电子邮件或网页中。当然,也有一种路子比较野的,会伪装成防病毒程序,告知用户系统已被感染需要执行杀毒程序,极具欺骗性。


    木马程序极难防范,原因有两点。其一,木马的编写难度低;其二,木马一般通过欺骗用户进行传播,杀毒软件、防火墙以及任何传统的防御机制均无法对其进行有效防范。尽管安全人员在不断的打击木马程序,但其快速的更新迭代,导致防御手段远远落后。

    杂交程序和僵尸网络

    640?wx_fmt=jpeg

    如今,市面上流窜的大多数恶意软件基本都是多种恶意程序的组合,可能会包括木马、蠕虫,偶尔也带着病毒。一般这种程序会以木马的形式示人,但是在执行之后,便会展现出蠕虫的特点——在网络上疯狂的传播。


    现在很多的恶意软件程序都被认为是rootkit。从本质上讲,恶意软件就是试图修改底层操作系统,以便最终获取系统控制权并隐藏自己的程序。


    Bots的本质也算是木马/蠕虫的组合体,其目标是将被攻击的目标变成更大的恶意网络的一部分。一般来说,僵尸网络的规模能够达到几千台计算机,并且一个僵尸网络的主机,可能能够控制数十万个系统。这类网络通常会用于对外出租,目标多数为网络犯罪分子。

    勒索软件

    640?wx_fmt=jpeg

    近年来,加密劫持成为了网络犯罪最常见的一种方式,勒索软件也成为了恶意软件中占据比例最大的一部分,并且这个比例仍然在持续增长。


    多数勒索软件都是由木马演变而来。同样,其传播也必须寄托于某些社交工具,并被用户启动。一旦在系统内执行,勒索软件会在极短的时间内查找并加密用户计算机中的重要文件。当然,有些程序还会在执行加密之前观望一阵子,通过对机主的观察来判断他能接受的赎金是多少(可以说是非常智能了)。


    幸运的是,勒索软件也同样可以被安全防护手段阻止。但一旦被执行,如果系统或关键文件没有经过备份,那么就很难有好结果了。根据调研,在受到勒索软件攻击的用户中,大约有四分之一的受害者支付了赎金,而在这些人当中,也仍然有30%的人没有被解锁文件(所以说,黑客的嘴,骗人的鬼)。


    无论如何,解锁加密文件,这都是概率问题,还是建议广大用户养成备份的好习惯。

    无文件恶意软件

    640?wx_fmt=jpeg

    无文件恶意软件实际上并不能算作一种“恶意软件”,但也具备其单独的存在和利用方式。传统的恶意软件往往通过文件传播感染系统内的文件,无文件恶意软件则可以不经过文件系统就完成操作,而是在内存中进行传播,利用注册表项、API或者计划任务等。目前,这种恶意软件形式在所有的恶意软件中已占据了超过50%的比例。


    很多无文件攻击都起始于对现有合法程序的利用,或是使用操作系统内置的工具(例如PowerShell),从而使得其更难检测和制止。

    广告软件

    640?wx_fmt=jpeg

    相比其他恶意软件,广告软件简直是其中的一股清流。其目的仅仅是对受感染用户推送潜在的恶意广告或垃圾广告。常见的广告软件程序会将用户的浏览器搜索重定向至一些包含其他产品促销信息的网页等,可以说是危害性非常小了。

    恶意广告

    640?wx_fmt=jpeg

    不要与上一条搞混了,这与广告软件不同,恶意广告是指借助合法的广告页面或软件将恶意软件暗中发送出去的行为。例如很多犯罪分子会在广告网页中嵌入恶意软件,用户一旦点击则会在系统中自动安装,并且在未经用户允许的情况下自动执行,这种行为也被称作“偷渡式下载”。


    一般来说,一些热门网站往往也都是犯罪分子的目标,比如各类媒体、金融网站等等,多数都存在恶意广告的行为。


    对犯罪分子来说,其本身的目的是盈利,因此恶意广告中,也可能包含多种恶意软件,包括勒索软件、加密脚本或者银行木马等。

    间谍软件

    640?wx_fmt=jpeg

    很多情况下,一些对计算机具有监控功能的软件就行使了间谍软件的功能,当然这可能是合法的。但是在网络犯罪中,攻击者可以通过使用间谍软件记录目标用户的键盘、鼠标行为获取其密码或其他关键信息。


    一般来说,广告软件和间谍软件是最容易发现以及删除的,因为它们的目标与常规的恶意软件完全不同,只需要找到其可执行文件并删除就能够解决问题。


    相比之下,广告软件和间谍软件带来的更大问题,是它们会利用计算机或用户系统的特点,包括但不限于社工、软件漏洞等。虽然其不具备勒索类软件的强大破坏性,但也都是通过相似的方法感染用户系统。所以,换个角度来说,这两种软件对系统/设备的安全性检测也有积极的影响。

    查找和删除恶意软件

    现在,很多恶意软件程序都是由木马或蠕虫病毒演化而来,但最终造成的影响却不全相同,用户的计算机可能会变成广大僵尸网络一员,可能成为一次APT攻击的起始点,也可能成为入侵大型企业网络的一个缺口。但最终都会向一个目标汇集——谋利。


    对于普通计算机用户来说,查找/删除恶意软件并不是一件容易的事,很多时候,如果该软件已经对系统做出了更改,擅自删除非但不能解决问题,还可能带来更严重的后果。因此,如果没有接受过恶意软件方面相关的培训或了解,那么还请养成良好的计算机使用习惯,例如定时备份,不乱访问不该访问的站点等。网络安全也还是要从基础做起。 


    精彩回顾

     程序员究竟能干多少年?

     互联网公司各岗位真实工作内容起底

     一次尴尬的采访和程序员的传奇脑洞!

     天一冷,程序员都穿上格子衫

     史上最真实的行业鄙视链曝光

     IT公司老板落水,各部门员工怎么救

     宿命之战:程序员VS产品经理

     作为一个前端,可以如何机智地弄坏一台电脑?

     程序员跟产品经理打起来了,这是一个需求引发的血案...

     后端说,你个前端不会用 headers吧,我怒了!

     有个厉害的程序员女朋友是什么体验?

     多年来,程序员经常加班的真相终于揭开了…




    640?wx_fmt=gif




    展开全文
  • 恶意软件检测技术综述

    千次阅读 2018-05-29 16:48:32
    2018体系结构安全大作业申明:转载请注明出处恶意软件检测技术综述摘要本文介绍了恶意软件恶意软件探测技术和探测器的定义,以及研究它们的现实意义。概述了恶意软件探测技术的具体分类和各个类别的研究现状。结合...
    2018体系结构安全大作业

    申明:转载请注明出处

    恶意软件检测技术综述

    摘要

    本文介绍了恶意软件、恶意软件探测技术和探测器的定义,以及研究它们的现实意义。概述了恶意软件探测技术的具体分类和各个类别的研究现状。结合研究现状,总结了软件探测器性能损耗高,覆盖范围有限的特点,提出了可以结合计算机组成结构原理,开发底层硬件分类器的思想,并且结合国内外硬件探测器研究,列举了几个常用的检测指标,总结了他们的贡献和不足。最后,提出了发展软硬结合的多级探测技术的展望。

    第一章 绪论

    恶意软件是任何旨在损害计算机,服务器或计算机网络的软件。恶意软件在植入或以某种方式引入目标计算机后会造成损害,并可采取可执行代码,脚本,活动内容和其他软件的形式。该代码除计算机病毒,蠕虫,特洛伊木马,勒索软件,间谍软件,广告软件,恐慌软件外,还包括其他形式的恶意代码。

    一般来说,恶意软件的植入是分时间段的,放在软件的生命周期中来看,有预发布阶段和发布后阶段。内部威胁或者内部人员通常是唯一能够在将软件发布给最终用户之前将恶意软件插入软件的黑客类型。其他黑客人员或者组织在发布后阶段插入恶意软件。

    恶意软件在未明确提示用户或未经用户许可的情况下,在计算机上安装运行,一般具有下述行为的一种或多种:强制安装、浏览器劫持、窃取、修改用户数据、恶意收集用户信息、恶意卸载、恶意捆绑及其他侵犯用户知情权、选择权的恶意行为等。这些行为将严重侵犯用户合法权益,甚至将为用户及他人带来巨大的经济或其他形式的利益损失。所以,研究恶意软件检测技术,不仅仅是学术界的一个研究方向,也是维护网络世界安全的重要责任。

     

    第二章  理论准备

    2.1 恶意软件检测技术与恶意软件检测器

    恶意软件检测器是恶意软件检测技术的实现和检验方式。

    一般来说,恶意软件检测技术分为两类:基于异常的检测和基于签名的检测。基于异常的检测主要是基于对正确程序行为的积累和了解,如果程序的行为不符合正常程序行为的轨迹,那么就判断它为恶意软件。在基于异常的检测中,有一个子类叫做基于规范的恶意软件检测,是对程序运行建立一系列的标准和准则,认为只有符合这些标准或者准则的程序才是正常的程序,如果不符合这些标准,则认为是恶意代码或者恶意软件。基于签名的检测主要是基于对恶意行为的积累和检测,系统会建立一个恶意行为存储库,如果软件的行为与已经存储的恶意行为匹配,那么就认为他是恶意软件。

    每一种恶意软件检测方法都可以根据具体的检测方式再细分为静态、动态和混合态三类。例如,静态的基于签名的方法只会利用结构信息(比如字节序列)来确定恶意,而动态方法则会利用程序运行时的信息(例如:在运行时间堆栈中监察系统堆栈行为是否正常),一般来说,静态方法试图在执行被检查程序之前检测恶意软件,相反动态方法试图检测程序执行期间或者程序执行后的恶意行为。两种方法的混合是混合检测技术。具体分类如下图所示:

     

     

    2.2 恶意软件检测研究现状

    2.2.1基于异常的检测研究现状

    基于异常的检测通常发生在两个阶段,分别是学习阶段和检测阶段。在训练阶段,探测器学习正常的行为,在检测阶段,探测器利用学习到的知识对恶意代码进行检测。

    动态检测

    目前世界上基于异常的动态检测方法主要有以下研究成果:wangstolfo提出的PAYL工具,它是一种为系统上的每个服务(端口)计算预期有效负载的工具,在学习阶段,PAYL学习正常程序行为为每一个端口建立一个质心模型,然后在检测阶段,将检测程序的有效载荷与质心模型进行比较,检测两者之间的马氏距离,如果检测程序与质心模型距离太远,则认为有效负载是恶意的;

    LeeStolfo提出了将数据挖掘与动态检测相结合的方法,使用数据挖掘技术,通过学习正常程序建立规则集合,应用规则集合检测程序;Sekar等人创建了基于有限状态自动机(FSA)的异常检测方法,FSA中的每个节点表示PUI中的状态(程序计数器),该算法利用该算法来更快地学习正常数据并执行更准确的检测;

    佐藤等人提出了基于系统调用频率的检测方法,监控系统调用的频率是否符合正常程序特征;TaylorAlves-Foss提出了一种低成本的检测异常流量的名为异常交通事件的网络分析(NATE),该技术专注于利用网络协议漏洞的攻击。

    静态检测

    在基于静态异常的检测中,使用受检查程序的文件结构特征来检测恶意代码。基于静态异常检测的一个关键优势,是它的使用可以使在执行之前检测恶意软件成为可能,而不必在主机系统上执行恶意软件执行程序。

    现在主流的静态异常检测技术是Li等人提出的文件打印分析技术(Fileprint),该技术在训练阶段推导出一个模型或者一组模型,根据他们的结构(字节)组成来表征系统上各种文件类型的特征,这个技术的前提是良性文件的组成中拥有特定的可预测的常规字节。然后在检测阶段看软件是否具有相同的结构特征。

     

    2.2.2基于签名的检测研究现状

    动态签名检测

    基于动态签名的检测特点是仅使用在执行PUI期间收集的信息来确定恶意软件,换句话说,就是在程序的执行过程中或者执行后才能判断出它是不是恶意软件,基于动态签名的检测可以揭示恶意程序真实的恶意目的。

    Ilgun等人提出了基于规则的IDS检测方法,把攻击过程建模为状态转移图,然后检测过程中将程序行为与状态转移图进行对比。AIice等人提出了一种基于已知恶意行为的基于签名的蠕虫检测方法,这种方法是通过监视数据流来识别签名。

    静态签名检测

    静态的基于签名的恶意软件检测的特点是检查程序的代码序列,以揭示程序的恶意意图。基于签名的方法使用系统积累的知识,也就是系统积累的恶意软件指令序列来做软件检测,这些代码序列也成为签名。基于静态签名的方法的优点是,可以在不需要运行可执行文件的情况下较为准确地分析PUI和恶意代码行为。

    Jha等人提出了可执行文件静态分析器,Sulaiman等人提出通过比较PUI的汇编代码和已知的恶意签名來识别恶意软件,其中PUI使用生成ASM代码的PE

    Explorer进行反汇编。在christodorescu等人的工作中,提出了使用语义感知来识别恶意软件的技术,恶意软件签名由模板表示,每个模板是指令、变量和符号常量的三元组,恶意软件检测过程需要三步,

    首先将PUI转换为独立于平台的中间表示(IR),接下来针对PUI的中间表示计算控制流图,并将它与模板的控制流图进行比较,最后通过使用def-use进行比较,如果相同则程序是恶意的。另外,kumarSpafford还提出了一种基于正则表达式的匹配检测病毒的通用扫描器,利用模式匹配算法搜索匹配文件输入流,看是否有与恶意模型匹配成功的恶意软件。

     

    第三章 从计算机系统结构看恶意软件检测

    本章将从计算机系统结构角度简述恶意软件检测技术。前几章所讲的内容,都是介绍什么是恶意软件,什么是恶意软件检测技术和恶意软件探测器,以及恶意软件检测技术的分类,本章将着重讲述恶意软件检测技术在计算机底层硬件上的实现。恶意软件可以分为基于异常的和基于签名的两大类,但是分类的标准是检测的方法和原理,分类的过程中并没有对技术的具体实现进行规定,实际上,技术的实现是可以基于计算机结构的任何一个层次的。结合以后的研究方向,本报告本章会重点探讨在处理器底层硬件上实现恶意软件检测。

    恶意软件的日益复杂化使其检测变得更加困难,恶意软件检测所面临的一个大的挑战就是,恶意软件探测器所需的软硬件资源成本使其不能始终监控每个应用程序,这个问题在利用高级信息的软件检测上尤为突出。也就是说,恶意软件探测器在工作的过程中,会消耗计算机的软件、硬件和网络等等资源,伴随着恶意软件日益复杂隐蔽的攻击,需要的资源也会越来越多,但是计算机本身的资源是有限的,所以这即会对计算机性能造成损失,也会影响恶意检测的效果。典型的在线恶意软件检测技术包括VM内省,动态二进制检测,信息流追踪和软件异常检测等,这些解决方案覆盖范围都有限制并且引入了大量的开销。应用层探测器软件的特点,在一定程度上将恶意软件检测限制为基于静态签名的扫描工具,这些扫描工具使用模式匹配来查找已知恶意软件的签名,然而使用程序混淆或者简单的代码转换可以轻松避开检测,这些工具的已知的局限性,给攻击者绕过他们提供了机会。

    所以,开发底层的恶意软件探测器,使用更简单的分类器实现硬件,可以更高效并且以更低的性能损耗成本实现恶意软件检测。

    在本报告中,我们使用底层来表示关于执行程序的计算机架构信息 。底层信息是指计算机架构事件,如高速缓存未命中率,分支预测结果,动态指令混合以及数据引用模式。

    使用底层信息进行恶意软件检测的研究在国内外都有开展,Bilar等研究了恶意软件中操作码的使用频率,发现了恶意程序与常规程序操作码的使用频率差异很大。Santos等人和Yan等人采用了基于操作码序列签名的检测方法,分类器通过对操作码序列的检测来进行分类。Demme等人收集了执行中的程序和恶意软件的性能计数器统计数据,通过分析可知离线机器学习工具可以有效分离恶意软件。Tang等证明,基于底层信息的无监督学习也可以成功地对恶意软件进行离线分类,无监督学习更适用于检测新型恶意软件和攻击的演变,但是需要更复杂的硬件实现。

    总体来说,基于底层信息的恶意软件检测效率更高,但是目前仍旧只能局限于离线的程序检测。在另一方面,引入机器学习等前沿技术辅助底层恶意软件检测,虽然能够显著提升检测准确性,降低漏判率和误判率,但是复杂的机器学习算法会在一定程度上增加硬件实现的复杂性。

     

     

    第四章 总结

    恶意软件检测技术无论是基于异常的还是签名的,检测方法是动态的还是静态的,都存在其局限性,不仅仅是表现的检测准确性上,还是表现在对计算机性能的损耗上。为了降低计算成本,减少性能损耗,国内外专家提出了基于硬件的恶意软件检测机制,并计划将机器学习技术结合到分类器的设计中,这必然会增加硬件实现的复杂性。在未来,或许我们可以尝试实现一种多级的恶意软件检测机制,在底层硬件实现简单分类器的集成,再结合上层的算法和检测机制,在实现复杂度和计算性能之间,在软件和硬件之间寻找一个更好的平衡点。

     

    参考文献

    [1] Tang A, Sethumadhavan S, Stolfo S J. Unsupervised Anomaly-Based Malware Detection Using Hardware Features[C]// International Workshop on Recent Advances in Intrusion Detection. Springer International Publishing, 2014:109-129.

    [2] Idika N, Mathur A P. A survey of malware detection techniques[J]. Purdue University, 2007.

    [3] Kolbitsch, Clemens, Comparetti, et al. Effective and efficient malware detection at the end host[J]. 2009.

    [4] Ozsoy M, Khasawneh K N, Donovick C, et al. Hardware-Based Malware Detection Using Low-Level Architectural Features[J]. IEEE Transactions on Computers, 2016, 65(11):3332-3344.

    [5] Khasawneh K N, Ozsoy M, Donovick C, et al. Ensemble Learning for Low-Level Hardware-Supported Malware Detection[C]// International Symposium on Research in Attacks, Intrusions, and Defenses. Springer-Verlag New York, Inc. 2015:3-25.

    [6] Bilar D. Opcodes as predictor for malware[J]. International Journal of Electronic Security & Digital Forensics, 2008, 1(2):156-168.

    [7] Bletsch T, Jiang X, Freeh V W, et al. Jump-oriented programming:a new class of code-reuse attack[C]// ACM Symposium on Information, Computer and Communications Security. ACM, 2011:30-40.

    [8] Christodorescu M, Jha S, Seshia S A, et al. Semantics-aware malware detection[C]// Security and Privacy, 2005 IEEE Symposium on. IEEE, 2005:32-46.

    [9] Demme J, Maycock M, Schmitz J, et al. On the feasibility of online malware detection with performance counters[C]// International Symposium on Computer Architecture. ACM, 2013:559-570.

    [10] Elwell J, Riley R, Abughazaleh N, et al. A Non-Inclusive Memory Permissions architecture for protection against cross-layer attacks[C]// IEEE, International Symposium on High PERFORMANCE Computer Architecture. IEEE, 2014:201-212.

     


    展开全文
  • 使用CryptCreateHash API调用中设置的MD5算法对从受感染设备收集的数据进行哈希处理,方法是将ALG_ID设置为0x8003,然后附加到互斥锁名称中。 收集和哈希有关受感染设备的数据 成功采集数据后,Bazar后门连接到...

    使用CryptCreateHash API调用中设置的MD5算法对从受感染设备收集的数据进行哈希处理,方法是将ALG_ID设置为0x8003,然后附加到互斥锁名称中。

    新型恶意软件Bazar 的出现(下)

    收集和哈希有关受感染设备的数据

    成功采集数据后,Bazar后门连接到C2服务器。如果连接失败,它将继续重试。

    这个版本的另一个有趣的方面是它如何使用本地地址从服务器获取数据。独步考虑到这是早期的开发版本,开发者可能是为了测试目的而使用这种方法

    新型恶意软件Bazar 的出现(下)

    Bazar开发者可能的测试环境

    成功收集数据并连接到C2服务器后,后门将解析在HTTP响应中接收到的命令。命令的每个字符都与生成的MD5字符串中的下一个字符一起使用

    新型恶意软件Bazar 的出现(下)

    从C2检索到的命令与机器标识符哈希进行异或处理

    在检查并分析了XOR数据之后,后门将根据以下切换情况记录并执行检索到的命令https://www.dubuhu.com/

    新型恶意软件Bazar 的出现(下)

    切换从C2服务器收到的命令的大小写

    如上图所示,Bazar后门可以处理相当多的命令。下一节将关注示例1它检索受感染设备上的各种附加信息。

    在从C2服务器接收到值1并解析响应之后该值被映射到相关的执行方法

    新型恶意软件Bazar 的出现(下)

    内存中显示的方法和映射值

    在这个示例中,值1的对应方法是0x3fab15b0这种方法从受感染的设备收集其他数据如其公共IP地址、计算机名称和安装的Windows版本。

    新型恶意软件Bazar 的出现(下)

    收集有关受感染计算机的其他信息

    然后执行WMI查询以检索有关安装在计算机上的防病毒引擎的信息

    新型恶意软件Bazar 的出现(下)

    WMI查询以获取有关已安装的防病毒引擎的信息

    此外,Bazar加载程序使用Windows\CurrentVersion\Uninstall注册表项检索已安装的应用程序列表

    新型恶意软件Bazar 的出现(下)

    查询设备上安装的程序

    最后,加载程序生成cmd.exe来执行一系列侦察命令,以获取关于网络和域的信息。

    新型恶意软件Bazar 的出现(下)

    运行net和nltest工具的cmd.exe

    由于该恶意软件是开发版本,因此上述大多数数据在其日志中都有详细记录。

    新型恶意软件Bazar 的出现(下)

    Team9后门日志

    随后的网络通信使用Bot ID哈希格式,使人联想起2019年以来在Anchor攻击家族中使用的客户端ID(即MD5哈希值)。

    如先前的Anchor感染所示,Anchor的唯一标识符生成遵循以下模式:

    [Machine_NAME]_[Windows_Version].[Client_ID]

    当一台设备被Anchor感染后,它会使用openNIC解析器来解析一个Bazar域,比如toexample[dot]bazar。然后它将以下信息回调到远程服务器,格式如下:

    [campaign]/[Machine_NAME]_[Windows_Version].[Client_ID]/[switch]/

    同时,生成的Bazar bot ID是由计算机名称、系统文件夹创建日期和系统驱动器序列号组成的MD5哈希。

    Bazar bot ID是一个由主机信息组成的MD5哈希,其中包括:

    · [creation date of %WINDIR% in ASCII]

    · [creation date of %WINDIR%\system32 in ASCII].

    · [NETBIOS_Name]

    · [%SYSTEMDRIVE% serial number])

    Bazar后门通信遵循botID和数字命令开关的模式。

    [botID] / [switch]

    后门回调从受感染的主机到Bazar域使用botID和命令开关' 2 '等待接收一个新任务

    新型恶意软件Bazar 的出现(下)

    使用唯一的botID从受感染的主机到.bazar域的网络通信

    Bazar后门向远程服务器发送一个 ‘group’ 标识符,以及botID和开关来发送数据或接收命令。到2020年5月,有两个硬编码组。这些后门与cookie组字符串“two”和“five”相关联。同时,新的加载程序与cookie组字符串“1”相关联。

    新型恶意软件Bazar 的出现(下)

    通过HTTP请求“cookie”参数发送的Bazar后门 ‘group’标识符

    尽管URI字符串已从Trickbot和Anchor变体中更改,但网络钓鱼策略和感染后侦察命令的使用仍然相同。在Bazar后门中,用于标识Trickbot攻击告系列的标签(gtag)已从C2 URI中删除,它可能已经被移动到cookie HTTP头参数。

    使用Bazar,受感染的计算机名称和Trickbot攻击标识符不再在同一HTTP请求中发送。取而代之的是,在加载程序执行后,发送'/ api / v {rand}'URI以便从云托管服务器中检索后门。 C2服务器和客户端之间的后门通信使用分配给受感染主机的botID进入.bazar域。

    活动标签和客户端设备名称与Bazar C2服务器的解耦是特定于这个后门的。由于发现感染后,bot通信通常会迅速终止,因此从uri中删除活动和客户端设备名称会减少停机时间,降低重新感染设备的需要。

    TRICKBOT连接

    如我们先前所述,Bazar加载程序和Bazar后门与签名的加载程序与Trickbot和Anchor恶意软件联系在一起。两者之间的相似之处包括

    1. 使用被撤销的证书签名恶意软件

    2. 域重用,例如machunion[.]com and bakedbuns[.]com

    3. 在Bazar和Trickbot加载程序中几乎相同的解密例程,包括使用相同的winapi,自定义RC4实现,以及在最新加载程序变体中使用API-Hammering,这在Trickbot中也可以找到

    4. .bazar域的后门命令与控制

    该恶意软件不会感染具有俄语支持的计算机这一事实提供了其起源和预期目标的线索。

    Bazar加载程序使用已撤销的证书进行签名,之前的研究表明,Trickbot小组使用已撤销的证书在证书被撤销六个月后签署文件,例如使用2020年1月发给subject“VB CORPORATE PTY. LTD.” 的证书。从12月开始,Anchor攻击也使用了签名的骗术加载程序文件、文件名与预览文档相关。新加载程序变体中使用的当前已撤销的证书是由“RESURS-RM OOO”颁发的。

    此外,在这两个攻击系列中都观察到类似的网络钓鱼电子邮件策略,Google Drive诱饵预览,签名的恶意软件以及欺骗性文件图标的使用。我们观察到重用了可能受到威胁的域,以托管以前为Trickbot装载机服务的Bazar装载机。例如,域名 ruths-brownies[dot]com在1月份的Trickbot攻击中被使用,并在2020年4月托管了Bazar加载程序。

    Bazar恶意软件有一个新的命令和控制模式,botID不同于Trickbot和Anchor,但保留了这两个恶意软件攻击的攻击指标。最后,从2019年12月开始,在传播Anchor的Trickbot感染中观察到了Emercoin(.bazar)域的使用。

    总结

    在这篇文章中,我们将Bazar loader和Bazar后门与Trickbot背后的攻击者以及我们之前从2019年12月开始对Anchor和Trickbot的研究联系起来。根据我们的调查,Cybereason估计,这个新的恶意软件家族是Trickbot团伙的最新开发的复杂工具,目前已经有选择地对有价值的目标发起攻击。

    Bazar恶意软件擅长于逃避、隐匿和持久性。恶意软件的开发者们正在积极地测试他们的恶意软件的几个版本,试图尽可能地混淆代码,并隐藏最后的有效载荷,同时在另一个进程的上下文中执行它。为了进一步逃避检测,Bazar加载程序和后门使用与以前看到的Trickbot相关的恶意软件不同的网络回调方案。

    感染后,该恶意软件为攻击者提供了多种命令和代码执行选项,以及内置的文件上传和自删除功能。这种多样性使攻击者可以动态地窃取数据,在目标计算机上安装其他有效载荷或在网络上进一步传播。一般而言,拥有更多选择可以确保威胁行为者可以适应其目标或受害者环境的变化。

    区块链域名的使用将Bazar加载程序和Bazar后门作为依赖其他域名系统(如EmerDNS域名)的攻击家族的一部分。在2020年4月第一个恶意软件变种的出现之后,在持续了将近2个月的时间,直到2020年6月发现了一个新的变种。我们的研究,涵盖了Bazar恶意软件家族的演变,清楚地表明威胁行动者花了时间重新检查和改进他们的代码,使恶意软件更加隐秘。Bazar的开发者改变了之前变种的一些最容易检测到的特征,比如以前的硬编码字符串,以及对已知shell代码解密例程的修改,类似于之前在最近的Trickbot变种中观察到的

    虽然这个恶意软件仍在发展阶段,但Cybereason估计其最新改进和重新出现可能表明一旦完全准备好进行操作,就会出现新的强大威胁。

    主教法冠ATT&CK技术

    新型恶意软件Bazar 的出现(下)

    展开全文
  • 安卓恶意软件检测

    2020-08-11 17:52:14
    找数据集发现了安卓恶意软件检测这个方向 就找到了 看了下也不是很新 但是近几年发文章的人挺多 就这个了 反正也找不到我写啥 这是几个安卓恶意软件数据集 入手 先看几篇中文论文 别人怎么做的 前两章讲恶意软件...
  • 恶意软件检测

    2019-09-23 08:26:58
    https://habo.qq.com/腾讯哈勃分析系统 https://www.virustotal.comvirustotal 转载于:https://www.cnblogs.com/AtesetEnginner/p/11494601.html
  • 本文转载自:https://resources.infosecinstitute.com/machine-learning-naive-bayes-rule-for-malware-detection-and-classification/ 目录 0x01 摘要 0x02 人造模型 0x03 条件概率 ...本文将统计学和机器学...
  • 在这篇文章中,我们将学习人工网络架构以及如何使用其中一个(卷积神经网络)来帮助恶意软件分析师和信息安全专业人员检测和分类恶意代码。 恶意软件是每个现代组织的噩梦。攻击者和网络犯罪分子总是想出新的恶意...
  • 导言在这篇文章中,我们将学习人工网络架构以及如何使用其中一个(卷积神经网络)来帮助恶意软件分析师和信息安全专业人员检测和分类恶意代码。恶意软件是每个现代组织的噩梦。攻击者...
  • Android恶意软件检测

    千次阅读 2019-08-14 10:13:52
    Android 恶意软件检测 求大量google良性apk 我有100g的恶意软件,求大量良性的google apk
  • 基于安卓系统恶意软件检测的多模式深度学习 一 .课题引入 (1)背景:安卓系统允许用户从第三方市场下载应用程序,攻击者可以引诱或者诱导安卓用户从攻击者服务器上下载恶意的或者可疑的应用程序 (2)研究具体...
  • 恶意软件可以说是我们现代生活的一大威胁,为了保护我们电子设备中的财产和资料安全,我们往往需要寻求安全软件的帮助。前段时间,来自贝尔法斯特女王大学和亚利桑那州立大学的研究者提出并开源了一种使用神经网络来...
  • 20200828 - 0. 引言 本篇文章介绍《Auto-detection of sophisticated malware using lazy-... Security,从论文名字来看是一篇利用CFG和深度学习来进行恶意软件检测的内容。 摘要(经过自己阅读后凝练):当前反病毒
  • Malware is one of the most serious security threats on the Internet today. Unfortunately, the number of new malware samples has explosively increased: anti-malware vendors are now confronted with ...
  • 论文分析---APP恶意软件检测

    千次阅读 热门讨论 2018-03-11 20:12:10
    恶意软件检测 Towards a Network-Based Framework for Android Malware Detection and Characterization Canadian Institute for Cybersecurity(网络安全研究所) 概述:建立数据库,1900个APP,其中1400个...
  • 1.恶意软件的基本检测方法 2.机器学习:概念和定义 1.无监督学习 2.有监督学习 3.深度学习 3.网络安全中的机器学习应用细节 1.需要大规模代表性数据集 2.训练的模型是可解释的 3.误报率必须控制到极低 4....
  • 恶意软件检测和攻击 文献整理

    千次阅读 热门讨论 2019-01-19 20:19:28
    本文按照时间顺序整理了恶意软件攻防对抗近些年来的文献发表情况,希望能和对该领域感兴趣的研究人员做一个分享。 有些文献我只是大概地浏览了一下,如下文有错误,请为我指出来,感激不尽! 感兴趣的朋友可以在...
  • 1.恶意软件的基本检测方法  一个有效的,强大的和可扩展的恶意软件识别模块是每个网络安全产品的关键组成部分。基于预执行和执行后两阶段收集的数据,恶意软件识别模块来决定一个对象是否是一个威胁。  预执行...
  • 恶意软件是指任何旨在干扰或破坏计算系统正常运行的软件程序。虽然最臭名昭著的几种恶意软件有病毒、间谍软件和广告软件,但它们企图引起的危害不一:有的是...Linux恶意软件检测工具 换句话说,我们万万不可抱有这
  • 传统的基于权限的Android恶意软件检测方法检测率较高,但存在较高的误报率,而基于函数调用的检测方法特征提取困难,难以应用到移动平台上。因此,在保留传统权限特征的基础上,提出了以权限和资源文件多特征组合...

空空如也

1 2 3 4 5 ... 20
收藏数 104,546
精华内容 41,818
关键字:

恶意软件