谭昕,周安民,张磊,陈航
(1.四川大学电子信息学院,成都 610065;2.四川无声信息技术有限公司,成都 610041)
基于机器学习的Mac OS平台加密勒索软件主动防御方案
谭昕1,周安民1,张磊2,陈航2
(1.四川大学电子信息学院,成都 610065;2.四川无声信息技术有限公司,成都 610041)
近年来,由加密型勒索软件引起的网络安全事件的数量大幅度增长,受害者广布全球。加密型勒索软件采用高强度加密算法对用户文件加密,目前对加密型勒索软件没有可靠的事前防御和检测措施,用户数据一旦被勒索软件加密,传统的反病毒软件无能为力。为了解决以上问题,从恶意软件主动防御的思想出发,提出一种基于机器学习的针对加密型勒索软件的防御方案,并在Mac OS平台实现。通过对程序的实时行为监控,从文件操作行为的关键数据中提取多种特征,采用不同的分类方法对加密数据和正常数据进行识别,捕捉加密型勒索软件行为,并采取相应的控制手段。
勒索软件;文件加密;机器学习;主动防御;行为监控;Mac OS平台
勒索软件是一种特殊的恶意软件,通常以木马病毒的形式传播,与常规恶意软件最大的不同在于其行为。勒索软件在受害者计算机上运行起来以后,会通过锁定操作系统或加密计算机上的档案数据等手段影响受害者的正常使用,并要求受害者支付赎金以恢复操作系统或档案数据。2013年,利用难以追踪的比特币进行勒索的勒索软件CryptoLocker出现以后,由勒索软件引起的安全事件数量得到爆发式的增长。
在本研究中,我们以高表达her-2的NCI-N87胃癌细胞株为研究对象,通过研究不同浓度的槐耳清膏在处理细胞不同时间后,对NCI-N87细胞增殖、凋亡及相关自噬蛋白表达的影响。
勒索软件就其行为可以分为非加密型勒索软件和加密型勒索软件。非加密型勒索软件锁定受害者计算机,影响其正常使用,这种锁定可以通过各种技术手段进行恢复。加密型勒索软件采用加密算法,对受害者的档案、邮件、图片等数据进行加密,传统的恶意软件检测方法无法应对此行为,而对于受害者来说,破解高强度加密算法是徒劳无功的。目前针对加密型勒索软件的防御技术主要有构建社会关系模型[1]和蜜罐技术[2],能够防御已存在的加密勒索软件,但是都有被其变种绕过的风险。
鉴于以上问题,本文设计了一种基于机器学习的针对加密型勒索软件的主动防御模块,并在Mac OS平台上进行初步实现。从程序对文件的操作行为中提取各种特征出发,训练稳定的行为判别模型,在对文件操作的实时监控中利用该模型鉴别正常行为和异常行为,并对异常行为做出反应。
1.1 基本思想
由于最近我认真复习,模拟考试一连几次都是“优”,尤其是数学,连考了好几次一百分。我想:只要自己继续努力,期末一定能考出好成绩。想到这些,我的心里甜甜的。
加密型勒索软件执行在普通用户权限下就可以完成其行为,且目的性极强。所有加密型勒索软件都是以要求受害者支付赎金为最终目的,对用户的文档或图片等文件进行加密。加密型勒索软件的关键行为是对文件的操作,主要是对文件内容的加密和对原始文件的改写或破坏。根据这个特点,本文采用基于机器学习[3-4]的分类方法识别文件操作中的加密行为和正常行为,并在主动防御控制模块设置相关策略,监控程序对文件的改写或破坏行为。
为了区分程序的加密行为和正常行为,首先需要提取能够描述其行为的关键数据[5]。关键数据可归纳为关系描述元素和数据描述元素两类。关系描述元素是能够表述程序执行流程或依赖关系的元素,如函数调用序列、程序控制流程、数据依赖关系等。数据描述元素是程序执行流程中实际操作的数据,如程序执行的系统调用及其参数、程序对系统资源的操作情况等。根据程序的关系描述元素提取特征并训练有效的判别模型通常需要对大量的样本程序进行系统性的分析,考虑到目前勒索软件样本数量较少的情况,本文将关键数据定位为程序执行关键系统调用的数据元素。对加密型勒索软件来说即是程序执行文件操作中的数据,通过提取文件操作过程中所操作数据的多个特点作为区别加密数据和非加密数据的主要特征[6]。
模8校验根据绝大部分加密算法的密钥长度是一个8字节的倍数这个特点对文件数据的长度进行特征提取。主要衡量两个指标:数据经过操作以后字节长度是否是8的倍数,数据经过操作以后字节长度改变量是否是8的倍数。采用模8校验的布尔型结果作为数据是否被加密的一个辅助特征。
2.3 训练结果
控制模块通过监控程序执行过程中的关键系统调用获取其行为[7-8],控制策略捕捉对文件的改写或破坏行为,根据判别模型判定程序行为是否异常,并采取对应的措施。为了保证时效性,主动防御模块作为内核扩展运行在ring0级权限。
马克思主义群众史观的确立为国际共产主义运动指明了方向,一个半世纪以来,在东西方的无产阶级革命斗争中、在“三个国际”的奋斗历程中充分展示了理论魅力和实践效应。与此同时,马恩的后继者们也在不断地进行着把马克思主义群众史观与本国国情相结合的具体化工作,不断丰富和发展着马克思主义的群众史观。到目前为止,马克思主义群众史观的共识性理念已基本形成,具体来说,主要包括以下三个方面:
1.2 模块架构
本文选取J48决策树,SVM两种主流分类方法对样本数据进行分类与识别,以两种分类方法的准确度、灵敏度、特异度三种评价指标作为为主动防御模块选取分类策略的依据。在本实验中,准确率反映的是分类器对全部样本的综合判别性能,灵敏度反映的是分类器预测非加密数据为非加密数据的能力,特异度反映的是分类器预测加密数据为加密数据的能力。
图1 主动防御模块架构
良好的板书设计能力,能够让教师的课更加受学生欢迎。谁都会喜欢美观、设计感强的东西。如果教师的板书在内容上高度概括,在语言上简洁明了,在书写上清晰整洁,在形式上具有审美价值,那么学生便会更加喜欢上课,同时教师在无形中也会给学生起到潜移默化的示范作用。
为了便于特征提取,本文以加密型勒索软件的主要目标文件对象作为数据样本。样本正例为包括压缩文件在内的正常文件,具体为大小、数量均匀的.ppt、. pptx、.doc、.docx、.pdf、.xls、.xlsx、.csv、.jpg、.png、.gif等多种扩展类型的档案数据类文件1200个以及对这些文件采用gzip、bzip、lzma压缩算法进行压缩以后的文件总计4800个。反例为对原始文件数据进行AES、DES、RSA不同位数秘钥加密算法进行加密以后的加密文件4800个,采用交叉验证的方法进行分类与测试。
小学老师都有一颗长不大的心,只有这样才能和小学生亲近。小学生都是好动的。在课堂上,他们不会放弃一点点可以动的机会,那么老师就可以充分运用小学生的这一点心理,在动中教会他们知识。如在汉语拼音第6课教j、q、x的儿歌时,老师可以和学生一起做动作来加深印象:星期天(一起做7的手势),洗衣裳(做两手搓衣服的动作);洗衣机,嗡嗡响(加入手指转动的动作);妈妈洗衣,我帮忙(两手放在胸口,做“我”的动作)。除了动作,面部表情也蕴含了大量的情感信息,老师和学生一起运用表情和动作来增进课堂教学的情感交流,使拼音教学课堂充满生机!
表1 样本正例类别及数量
表2 样本反例类别及数量
2.2 特征提取
本文从多个角度以提取信息量、卡方校验、蒙特卡罗方法、模8校验这4种方法提取每个文件数据的结构特征。
信息量即熵,对文件数据来说就是通过统计数据内容中每个字符出现的数量来反映该文件的信息密度。计算熵的公式如式(1)所示。
根据表4所示的分类结果可知,采用J48和SVM分类算法识别加密数据和非加密数据的准确率都达到了95%以上,比较可靠。而从主动防御思想的关键指标特异性的角度来说,SVM分类算法要优于J48分类算法。
在重庆,沙千里曾与何惧创办工厂,并曾任建国机器厂经理、建成实业公司经理、和春麦粉厂经理等职,与重庆的工商界有一定的联系。当时重庆的不少中、小资本家对“四大家族”的压迫和吞并十分不满,沙千里就团结他们反对国民党腐败的经济制度。沙千里还组织基层公务员和企业职工讨论物价上涨、生活困难的原因,指明这是和“四大家族”在经济上的掠夺有密切关系。
蒙特·卡罗方法是一种基于概率统计理论的一类数值计算方法,主要是利用随机数以一种“部分估计整体”的思想来解决计算问题,往往用于求解某种随机事件出现的概率,或者是某个随机变量的期望值。本文利用蒙特·卡罗求解π的思想来提取数据中字节分布的随机性特征。将文件中的数据按字节分为X={x1,x2,x3,…,xn}和Y={y1,y2,y3,…,yn}两个序列作为坐标集,统计位于半径为字节排列总数256的单位圆内的坐标个数,记为C,若X和Y为高随机性序列,则C近似于nπ/4。因此由(3)式可以计算C与的偏差,偏差越低表明该数据的字节分布越随机。
例如,我在高中数学基本初级函数的第一课指数函数教学中就运用了微课程。在网络上找到优秀的相关内容教学视频并下载下来,在课堂教学中适时地加以利用。比传统的板书教学更加形象和容易让学生接受,学生很快就熟练掌握了函数的定义图像等知识点。并且微视频短小精悍,内容直奔主题,收放自如,对于教学中重点知识又能给予充足且详细的讲解。指数函数课堂教学中使用微课程取得了非常明显的成果,学生也更愿意接受这样的方式。
对提取出来的每个特征计算信息增益以衡量其对分类效果的贡献程度。信息增益被广泛用于特征筛选,其计算公式下:
在(4)式中,H为式(1)中的熵函数,X表示样本集,Z表示一个特征。一个特征的信息增益可以直观表示该特征对分类算法提供了多少信息,简而言之,若特征Z对分类效果毫无贡献,即Z与X相互独立,H(X)= H(X|Z),则特征Z不会为分类算法提供任何信息,即信息增益为0。
diff=(parent_diff+(parent_diff/2048 * max(1- (block_timestampparent_timestamp)/10,-99)))+ 2^(periodCount-2)
表3为对9600个样本计算每种特征方法所提取特征的信息增益。可以看到,这些特征都对分类效果有一定贡献程度,都反映出了加密数据和非加密数据的差异,其中以信息量最为显著。
第二,电永磁吸附式上部装配平台:电永磁吸附式上部平台(见图1右侧部分)主要用于搭接及对接激光焊接试验,可以实现厚度为3mm+2mm或以上组合不锈钢搭接试板的压紧。电永磁吸盘通过螺栓连接固定在下部支撑框架平台上,连接可靠拆卸方便。导磁块安装于电永磁吸盘上,安装好后进行整体加工,加工后导磁块厚度为20mm,最后进行表面镀铬处理。镀铬处理后,镀层附着良好,不会出现脱落剥离现象。
表3 特征的信息增益
本文的学术贡献有3点:第一,研究视角上,专门论证了签证政策对入境旅游的影响,从而为签证政策的进一步改革提供理论支撑;第二,研究内容上,对过境免签政策进行梳理并进行有效性论证,分析过境免签政策的动态效应及其在时间上的变化趋势;第三,研究方法上,首次将更为前沿的倾向得分匹配—双重差分法(PSM-DID)引入旅游政策的论证中,有助于推进旅游管理与旅游经济研究的深入开展。本文后续安排如下:第二部分概述过境免签政策并确定研究对象;第三部分进行研究设计;第四部分为实证结果;第五部分为结论和建议。
主动防御模块的基本框架如图1所示,模块主要分为两个阶段:训练阶段和控制阶段。训练阶段主要完成对样本数据的特征提取和对样本的训练,其中特征提取部分选取多种方法提取所需的特征,以便于分类算法训练分类器,方法包括提取信息量、卡方校验[9]、蒙特卡罗方法[10]、模8校验。样本训练部分根据样本特征通过多分类算法训练、集成分类器。控制阶段即监控程序的文件操作行为,模块采取系统调用表劫持和Mac OS平台固有的内核授权系统(Kauth)结合的方案。系统调用表是内核系统调用的地址索引集合,程序运行期间产生的各种操作一般都要通过内核系统调用来实现,因此,通过修改系统调用表文件操作相关的系统调用函数地址为主动防御模块函数地址来使主动防御模块接管内核系统调用,达到监控和阻止异常行为的目的。或者通过内核授权系统标记不可信程序,尽量减少了系统负担。
将2.2节描述的4种特征作为组合特征,采用10折交叉验证进行分类。分类结果如表4所示:
表4 分类结果
卡方校验主要用于统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小。卡方检验根据样本构造统计量,再由卡方分布建立检验规则。统计学家卡尔·皮尔逊提出的卡方检验统计量公式如式(2)所示,其中pi为由理论分布确定的个体概率,则npi为样本的理论频数,fi为样本实际频数,该统计量服从自由度为k-1的卡方分布。本文对实际文件中的字节数据进行卡方校验以提取能够体现加密数据和非加密数据差异性的关键特征。
3.1 实现流程
主动防御模块的功能实现分为两个阶段:事件标记阶段和行为控制阶段。流程如图2所示:
第1步模块初始化,构造白名单列表和监听列表。检测系统中二进制可执行文件是否具有官方签名,将有官方签名的可执行文件添加至白名单列表。
制度不是挂在墙上看的,只有切切实实的执行,才能真正见效。乡镇财政所要积极促进资金监管工作的有序开展,将分配涉及群众切身利益的各项财政补助资金,切实纳入涉农资金公开范围,公开分配结果,将资金使用情况公开化、透明化,接受群众监督。坚持自查与整改相结合,建立健全事前、事中、事后相结合的监督机制。倡导乡镇财政干部增强财经法规意识,强化依法理财意识,自觉遵守财经法纪。发现问题,严格责任追究,确保财政资金监管的权威性。例如,针对这次巡查,泰安市对在巡查中发现的问题,及时研究解决处理意见,并对存在问题的单位下达整改通知书,发现涉及违纪违规的按相关规定办理。同时,与审计、纪检等部门建立巡查结果共享机制。
第2步事件标记阶段监听系统中所有程序的文件资源请求,根据白名单辨别其是否是系统合法程序。有文件资源请求的非白名单程序及其请求操作的目标文件将被加入监听列表。
2.1 样本选取
第3步行为控制阶段对监听列表中的程序和程序操作目标进一步监控,判断其是否存在向操作目标写入加密数据或生成加密文件并破坏原始文件等符合加密型勒索软件特点的可疑行为。
第4步如果未知程序存在第3步中的可疑行为,行为控制模块立刻处理并隔离该程序。
第5步程序的文件操作行为结束以后,更新监听列表。
图2 主动防御模块实现流程
3.2 事件标记阶段
为了降低误报率和减少对系统造成的负担,事件标记阶段根据系统程序白名单实时对系统中存在文件打开请求的程序进行分类,并将无官方签名的程序加入监听列表。这一阶段的监听主要通过扩展Mac OS系统的强制访问控制框架中内核授权子系统来实现。
强制访问控制框架是Mac OS系统的一项安全特性[11],限制特定进程针对具体文件或资源的访问权限,是Mac OS和iOS系统沙盒机制的基础。内核授权子系统最初是为了实现强制访问控制框架中的访问控制列表组件,访问控制列表对程序的进程跟踪、文件操作、节点操作等访问系统资源的请求进行过滤,并根据策略拒绝非法资源请求或者授权合法资源请求。因此可以通过内核授权系统的内核接口扩展访问控制策略,以便于反病毒扩展的开发。本文通过注册监听器,扩展内核授权子系统以监听系统中所有程序对文件资源的句柄打开请求。
3.3 行为控制模块
行为控制阶段以程序的行为作为控制策略的核心,主要关注加密型勒索软件的恶意行为,如向文件写入加密数据或生成加密文件并破坏原始文件的行为。本文在Mac OS系统上通过修改系统调用表中文件操作类系统调用函数地址,接管相应的内核系统调用以对3.1节所述监听列表中程序的文件操作进行监控。对程序持续跟踪,根据第3章所述的分类方法识别正常数据和加密数据,并在加密数据破坏原始文件之前主动阻止,以达到主动防御的目的。图3以部分文件操作相关的系统调用为例展示行为控制模块工作方式。
图3 控制模块工作方式
Mac OS系统为了防止内核内存被修改[13]主要采用了两种保护机制,内核地址随机化和内核内存写保护。内核地址随机化使系统在每次启动时,内核空间加载在不同的基地址上,通过一个有效内核地址遍历内核地址空间可以找到准确的内核基地址,比如通过指令rdmsr读取MSR_IA32_LSTAR寄存器中保存的地址信息。内核内存写保护防止内核内存被修改,可以通过修改控制寄存器CR0的写保护位(WP位)以关闭。
本文采用Pedro Vilaca在2015年发布的概念证明性加密型勒索软件Gopher对主动防御模块进行测试。从系统控制台中获取的模块日志信息如图4所示,可以看到在程序对一个26KB的文件进行操作的过程中,行为控制模块的分析和控制过程总共额外耗时在5毫秒以内,没有给系统造成过多负担。
图4 系统日志信息
本文从分析加密数据和非加密数据的信息量、差异性、随机性等特点出发,采用机器学习中的决策树,支持向量机两种分类方法,基于恶意软件主动防御思想,提出了一种针对Mac OS平台加密型勒索软件的主动防御方案,并进行了初步的实现。实验和测试结果表明采用支持向量机分类方法对加密数据和非加密数据的分类有较高准确度,主动防御方案能够以此识别加密型勒索软件的文件加密行为,并在行为发生之前高效主动阻断加密型勒索软件。
[1]Sittig D F,Singh H.A Socio-Technical Approach to Preventing,Mitigating,and Recovering from Ransomware Attacks[J].Applied Clinical Informatics,2016,7(2):624-632.
[2]Moore C.Detecting Ransomware with Honeypot Techniques[C].Cybersecurity and Cyberforensics Conference.2016:77-81.
[3]Pedregosa F,Varoquaux,Ga,Gramfort A,et al.Scikit-learn:Machine Learning in Python[J].Journal of Machine Learning Research, 2013,12(10):2825-2830.
[4]Rieck K,Trinius P,Willems C,et al.Automatic Analysis of Malware Behavior Using Machine Learning[J].Journal of Computer Security,2011,19(4):639-668.
[5]Wang R,Feng D G,Yang Y,et al.Semantics-Based Malware Behavior Signature Extraction and Detection Method[J].Journal of Software,2012,23(2):378-393.
[6]Ng W K,Ravishankar C V.Data Compression and Encryption System and Method Representing Records as Differences Between Sorted Domain Ordinals that Represent Field Values:US,US 5678043 A[P].1997.
[7]Nguyen N,Reiher P,Kuenning G H.Detecting Insider Threats by Monitoring System Call Activity[C].Information Assurance Workshop,2003.IEEE Systems,Man and Cybernetics Society.IEEE,2003:45-52.
[8]Jia C F,Zhong A M,Zhou X,et al.Research on Syscall-based Intrusion Detection Technology for Linux System[J].Application Research of Computers,2007,24(4):147-150.
[9]Fred B.Bryant,Albert Satorra.Principles and Practice of Scaled Difference Chi-Square Testing[J].Structural Equation Modeling A Multidisciplinary Journal,2012,19(3):372-398.
[10]Sen S K,Agarwal R P,Ali Shaykhian G.Golden Ratio Versus pi as Random Sequence Sources for Monte Carlo Integration[J].Mathematical&Computer Modelling An International Journal,2008,48(1-2):161-178.
[11]Levin J.Mac OS X and iOS Internals[J].Wiley John+Sons,2012.
[12]Wang F,Zhou D S.Design and Implementation of Active Defense System Based on White list[J].Computer Engineering&Design, 2011,32(7):2241-2240.
[13]Argyroudis P,Glynos D.Protecting the Core Kernel Exploitation Mitigations[J].
Ransomware Active Defense Method for Mac OS Platform Based on Machine Learning
TAN Xin1,ZHOU An-min1,ZHANG Lei2,CHEN Hang2
(1.College of Electronics Information Engineering,Sichuan University,Chengdu 610065;2.Silent Information Technology Co.,Ltd,Chengdu 610041)
In recent years,due to the rapidly increasing number of cyber security incidents caused by ransomware,the victims spreading worldwide. Ransomware uses high-intensity encryption algorithm to encrypt user’s files.There are no reliable pre-defense and detection measures for ransomware.The traditional anti-virus software is inability to do anything once user’s data is encrypted.In view of the above problems,based on the idea of active defense against malicious software,proposes an active defense method based on machine learning for ransomware and implements on the Mac OS platform.Extracts a variety of features from the key data information of the file operation behavior through the real-time behavior monitoring of the program,uses different classification methods to identify the encryption data and normal data,captures the behaviors of ransomware and takes corresponding control measures.
Ransomware;File Encryption;Machine Learning;Active Defense;Behavior Monitoring;Mac OS Platform
1007-1423(2017)04-0058-06
10.3969/j.issn.1007-1423.2017.04.013
谭昕(1990-),男,四川成都人,硕士研究生,研究方向为恶意代码检测
2016-12-06
2017-01-19
周安民(1963-),男,四川成都人,研究员,研究方向为信息系统安全保护技术