已经有不少朋友从后台咨询我怎么学习恶意样本分析?有做渗透测试的,有做大数据分析的,还有做安全服务的,一直想给大家写一篇关于如何学习恶意样本分析以及在当前企业安全的环境下,做恶意样本分析有什么作用?因为只有知道它有用,你才会花时间去学习
事实上很多人对恶意样本分析这项工作并不了解,也不懂,这篇文章帮大家深入的了解一下这项工作,都在做什么,以及从事这项工作是否有前途?
很多人理解的恶意样本分析就是点样本,觉得没啥意思,是这样的吗?你真的对点样本了解吗?你真的了解样本吗?你知道样本的价值吗?事实上你真的一无所知,你知道的只是一些人给你传达的一些错误的信息,事实上这项工作是任何一家真正的安全企业核心的部门之一,样本也是一家安全企业的核心资产之一,所以任何一家专业的安全公司都会恶意样本分析人员,如果一家专业的安全公司,连样本分析人员都没有,那这家公司应该不是专业做安全的
我先从传统的安全公司说起吧,传统的安全公司,比方瑞星、金山毒霸、江民,事实上这些公司都有自己的恶意样本分析团队,在国内可能有一个更熟悉的名字,叫反病毒工程师,主要从事公司样本的运营与分析,这些人主要在公司做什么呢?
1.恶意样本的运营
2.流行病毒样本分析
恶意样本的运营,也就是大家俗称的:点样本!有一批人会专门从事这个工作,安全公司会从各种渠道收集样本回来,然后加入到自己的病毒库里,然后通过一些扫描引擎进行分类处理,做样本的运营,但是不管是任何一家公司开发的引擎都会存在误报、漏报的问题,这样就需要一批人从事样本的快速鉴定与筛选工作,这类工作就是点样本,每天需要人工处理上百个样本,有一些分析团队还会开发一些自动化的工具,帮助人工分析入库,一天可以处理几百,几千甚至上万的样本……
上面的工作需要有一些快速鉴定样本的能力,说实在话,这样的工作,不需要知道太多的恶意样本分析知识,只需要知道一些简单的知识即可,或者直接通过第三方网站进行过滤,根本不用分析样本,所以很多安全公司后面为了节约成本都会找一些外包公司,将这类工作外包出去,或者请外包人员从事这类样本运营的工作,也许大多数人理解的恶意样本分析就是这样的吧
真正的恶意样本分析师,主要从事的是一些流行样本的分析与处理工作,不仅仅需要很强的专业安全知识,而且需要很强的逆向分析能力,最后的产出包含两样:
1.专业的安全分析报告
2.提取样本的规则,交给引擎开发工程师
为啥我说样本是一家安全公司的核心资产呢?以前做TO C安全产品的时候,可能会因为一个样本就可以给公司带来巨大的用户量,也许很多人不明白,为什么?因为你压根也没有经历过那个时代,所以也不会了解,今天我就给大家说一下为啥会这样
在TO C的时候,大家拼的是客户端安装量,也就是用户量,360以前最高的时候的用户听说达到几个亿,这也就是为啥它后面敢和腾讯叫板的原因,同样你看看现在的今日头条,也是一样的,它同样可以跟腾讯叫板,因为它有用户量,以前我们做TO C安全,如果发现了一款流行的病毒样本,哪个公司第一时间发布了相应解决方案,马上就会发布出来,然后自然会有不少用户下载安装,因为软件都是免费的,360为啥安装量一下子上来了,第一可能是因为免费,还有一个原因是因为几个流行病毒,它处理的比较快,一下子抢占了先机,以前有一款流行病毒叫鬼影,从鬼影一代到六代,不断的变种,感染了几百万台机器,如果谁能先发现并处理自然就会有用户下载安装了,也就带来了安装量,有了安装量自然就会给公司带来收益了
那如果捕获到了这些流行病毒样本,该怎么办?谁来分析处理?大多数开发是没有逆向能力,这个时候就需要专业的病毒分析人员了,由专业的病毒分析人员对样本进行详细分析,然后给出相应的解决方案,然后协助开发人员进行专杀工具的开发和测试,不然样本都没有分析,怎么写专杀?又怎么处理?
当时我们这些病毒分析人员的工作就是流行病毒的分析与处理,然后提取病毒规则,如果一家安全公司没有病毒分析人员,我不知道它是怎么做终端安全软件的,所以在传统的安全公司恶意样本分析人员是必不可少的,也是非常重要的一个岗位……
好了,说了传统的安全公司,我也来说一下现在的一些新型的安全公司吧,现在有一些安全研究人员,动不动就说什么传统的安全不行了,我们要采用新的安全技术,要创新,要改革,动不动就谈人工智能、大数据、机器学习,事实上天天谈这些的人很多都不是真正做安全的人,也不懂安全研究,对安全也并不了解……
真正做安全的人,不管是渗透测试、漏洞挖掘、逆向分析,都不会动不动就谈人工智能、大数据、机器学习之类的,因为你连安全都没搞明白,就谈这些有啥意义呢?现在大家都在做企业安全,企业安全真的需要人工智能、大数据、机器学习?这些真的能解决企业安全问题?
我来告诉你现在做企业安全需要什么吧?需要好的产品+好的服务,而不是什么人工智能、大数据、机器学习,这些东西解决不了所有的安全问题,安全问题总是会一直存在,企业安全的重点是提供客户需要的产品,以及提供好的安全服务,当客户需要你的时候,能给客户提供专业的安全咨询和服务,这是企业需要的
那说了这么多,恶意样本分析人员怎么才能在企业安全中体现出自己的价值呢?我就从上面两个方面来给说一下
1.企业安全需要好的产品
怎么才能打造一款好的企业安全产品,我之前写过一篇《做安全有什么用?价值何在》,主要讲解了如何做好企业安全产品,你做的这些产品是否是客户需要的?能给客户解决事实问题,有兴趣的可以去阅读那篇文章,里面提到了企业如何去做一款好的安全产品,分别从目前流行的几款企业安全产品做了讲解:边界防御类产品防火墙、终端安全产品EDR、内网感知类产品态势感知
事实上这三款产品,如果没有安全研究人员提供持续的安全能力输出,这三款产品啥也做不了,基本解决不了任何安全问题,至于恶意样本分析人员,就不用多说了,这三款产品的核心都是特征,这些特征从哪里来?应该怎么防御,这些都需要安全研究人员进行安全研究,给这些产品输出安全能力,提高这些安全产品的安全能力,安全本质永远是攻防对抗,为啥要做安全就是因为有做黑产的,如果没有做黑产的,还要做安全的做什么?那既然我们要做的就是对抗黑产,那不去研究黑产,不去研究安全技术,怎么做安全?通过什么方式研究呢?事实上样本就是最好的方式,研究样本,你就可以从样本中得到最有价值的东西,从样本中可以得到黑产运用了哪些技术手段,以及哪些方式进行传播?通过什么漏洞?使用了什么免杀技术绕过安全软件?怎么样清理这些样本?还可以通过分析样本,得到各种IOC特征,然后加入到威胁情报库里,关联出更多有用的信息,提从给企业安全的客户进行参考,这些都是非常有价值的,也是做企业安全最重要的,因为这就是企业安全客户想要的
2.企业安全需要好的服务
任何一款安全产品都是不可能100%的防住病毒的,当企业购买了你的产品之后,他们其实需要的是一种安全服务,没有安全服务和安全应急的人员,想做企业安全,基本上是不可能的,也许前期靠一些关系和资源可能会有一些客户,但当客户遇到安全问题,不能及时给客户提供好的安全服务,基本后面就很难做了,我做过很多应急响应工作,接触过很多客户?其实现在企业安全的最大问题,仍然是恶意样本攻击事件,所有的应急响应工作有90%以上是由恶意样本攻击导致的,特别是现在勒索病毒攻击、挖矿病毒流行的时代,网络安全事件也大部分是基于恶意样本攻击的,那客户关心的主要有哪些问题呢?主要的问题,大致就是两类:
1)我的企业中了什么病毒?这些病毒什么危害?会不会传播?该怎么处理?
2)这个病毒是怎么进来的?后面怎么防止再次中毒,能不能提从一些安全防护手段?
一般的企业安全安服人员以及应急响应人员在对企业做应急响应之后都会给客户提从一份应急响应报告,里面就是包含了上面的这些东西,然后再去推广自己的产品,说自己的产品可以解决这类的安全问题
恶意样本分析员,在企业应急响应中可以充分的体现出自己的价值了,通过分析病毒样本,可以得出这是什么类型的病毒,这个病毒有什么危害,会不会传播,该怎么清理,以及通过在客户机器上进行样本的回溯和查找,弄清这个病毒可能是通过什么方式进来的,然后再输出详细的应急响应报告,客户自然就会很满意了,客户满意了自然就会买单了
如果不分析病毒样本,你怎么回答客户的问题?我想问……
好了,说了这么多,只是想说,如果你想做安全,就先去了解客户,客户需要什么?不管你做什么安全研究,最后都是需要创造价值才有意义,没有价值的安全研究没有意义?不管做漏洞挖掘、病毒分析、渗透测试,威胁情报,能给客户解决安全问题,才是做安全的价值
上面我已经说了恶意样本分析对企业安全的价值,以及都在做什么,还有是否有前途,我跟你说一定会有前途,只要有做黑产的存在,就一直需要做安全的,全球每天都在发现各种安全攻击事件,大多数的安全事件都是由恶意样本攻击导致的,可以去看国内外大多数的安全报告和安全事件,我每天都在关注全球发生的各种安全事件,真的太多的样本需要去分析研究了,只有去分析和研究了这些样本,你才能更加了解安全,了解黑产,才能做好安全,给企业的安全产品输出强大的安全能力,不然怎么提高企业安全产品的安全能力
那怎么入门恶意样本分析呢?需要学习哪些知识呢?由于现在安全大环境,会有各种不同平台的,但是企业安全,目前来说主要是以Window/Linux平台为主,MAC平台和移动平台的企业安全需求现在不多,我这里先以Windows平台为主进行讲解
之前我看过一篇文章,好像叫十分钟学会恶意样本分析,后面我在星球写也一篇文章《恶意样本在线分析网站,你想要的都在这里》,帮助一些没有安全分析能力的朋友快速分析样本
如果这些在线分析网站都解决所有的恶意样本了,那还需要恶意样本分析人员做什么?事实上大部分专业的恶意样本分析人员,从来不会上传样本到这些网站的,就像我之前说的样本就是一个公司的核心资产,你随便上传样本到这些网站,相当于上传了公司的资产,哈哈哈哈
如何学习入门恶意样本分析?我之前列举了一个学习线路,可以按照下面的步骤进行学习
1.病毒形为分析
通过一些样本动态形为监控工具,对样本的基本行为进行分析,同量还可以通过一些威胁情报网站进行查询分析,对病毒了有一个基本的了解
2.逆向工程分析
需要学习PE文件格式、汇编语言,Windows程序设计,软件调试方法等,通过对样本进行静态分析与动态调试,了解病毒的核心技术原理,Windows上一般的调试工具主要有OD、Windbg、X64DBG等
学习一些逆向工程的方法与技术,对二进制样本进行逆向分析,有些病毒样本可能加壳了,这个时候需要对一些常用的壳比较熟悉,能手工脱壳
如果样本利用了漏洞进行传播,需要去学习一些常见的漏洞原理,可以去看一些漏洞分析与挖掘方面的书籍
3.实战实战实战
通过上面的学习基本的方法和技能都已经掌握了,后期主要就是不断的实战,去分析各种不同类型的病毒样本,了解各处不同病毒样本的原理,包含:蠕虫病毒、感染型病毒、勒索病毒、挖矿病毒、下载器、盗号木马后门、APT攻击样本、僵尸网络等,通过分析这些样本,可以获取到很多有价值的东西
我给大家整理了一份书单,从入门到精通需要看哪些书,可以通过学习这些书单中的书,深入学习了解恶意样本分析,这份书单就是学习路线,有需要的可以到知识星球进行下载
恶意样本分析是一项非常复杂的工作,需要学习的东西很多,涉及到的知识面也很广,后面可能还会遇到各种不同平台的文件需要分析,做恶意样本分析工作都需要不断的学习,任何一家专业的安全公司都会拥有一支强大的安全分析团队,这支团队负责各种恶意样本的分析与处理工作,以及跟踪全球最新的安全威胁事件
做安全首先要懂安全,然后才知道需要做什么,好好做好自己的事,坚持研究安全技术,研究黑产,从样本中去寻找更多有价值的东西,帮助企业提高安全产品能力,帮助客户解决安全问题,才能做好安全,才能更好的体现自己的价值