新闻产经轻工日化电器通讯仪器机械冶金矿产建筑建材石油化工食品医药电子电工能源电力交通运输农业环保图片手机版
当前位置:中国市场调查网>产业>科技>  正文

软件行业职场访谈——走近病毒分析师(图)

中国市场调查网  时间:08/17/2010 20:02:00   来源:天极网

  

  

  

  随着计算机及电子信息技术的飞速发展,病毒和木马的伪装越来越深,相应的,反病毒软件作为电脑的守护神,也在不断地识破这些病毒的各种伪装。而这群终日和病毒打交道,同黑客斗法的人就是真正的安全守护神——病毒分析师

  

  病毒分析师的职业需求

  1.较强的汇编语言知识及高级语言代码编写能力
  2.对Windows系统体系结构及底层有所了解
  3.Windows PE文件构型
  4.熟练使用诸如OD、IDA等工具对文件进行脱壳解密和逆向分析

  病毒分析需要多种技术知识融合才能达到一个比较高的境界,但每个步骤都需要我们有一定的专业知识做基础才能有所扩展,而且知识的入门阶段往往会晦涩难懂,略显枯燥,经常会有没有任何进步的感觉,但一定要有明知山有虎,偏向虎山行的精神。

  举个例子:学习汇编知识,大家都知道,汇编是机器语言的一种表示方法,虽然有较机器语言好的可读性,但是学习过程中一般会经历,一点都看不懂,能看懂但自己写不出来,能写一些简单的过程,最后达到精通。但是当你精通了汇编,后面的脱壳等步骤可能就会有柳暗花明的感觉,很容易上手,多加练习即可。

  就像之前提到过的,病毒的发展是日新月异,时刻不停的,那么反病毒工作也必须夜以继日,这样才能尽可能地让大多数人在安全的环境下使用电脑,尽可能地减少计算机犯罪的发生以及用户信息和财产的丢失。

  看病毒分析师如何“解剖”病毒

  一切都从折腾电脑开始

  我和大多数我这个年龄段的人接触电脑的过程差不多,从红警、QQ等开始接触计算机,后来大学选择了计算机专业,大学阶段主要给自己补充了计算机相关知识原理的基础部分,对能够影响计算机的各种病毒产生了浓厚的兴趣。为什么同样是程序(病毒也是一段程序),病毒却能够达到这么大的破坏力呢?

  起初我对于病毒也和大多数人一样,仅限于说自己或朋友的机器中毒了,会去参谋怎么手工修复,也就是看看进程管理器,改改注册表之类的,而且最重要的是常常弄到最后,灰头土脸地发现重装系统才是正道……

  后来工作中接触了病毒才发现,其实当时的操作也算是一种正确的努力,只不过缺少专门的工具和发现解决问题的经验。当时的折腾也给我带来了浓厚的兴趣和不屈不挠的钻研精神,而这正是这份工作需要的,因为这个工作要面对枯燥代码。

  我这样进行病毒分析

  病毒分析其实跟很多软件的白盒测试相同,需要在虚拟系统的环境下对病毒发挥作用时影响到的位置进行监测,并对病毒最后造成的效果进行评估。这中间就会用到虚拟机去模拟病毒运行的环境,用监测软件对虚拟机中受病毒影响的位置进行监控,针对有加壳的病毒(换句话说就是病毒的变种)使用脱壳软件进行脱壳,然后使用反编译软件对病毒的编码进行破解,下面就是一个标准的病毒分析流程。

  第一,在虚拟机中模拟它的运行,但有时必须是在真机上,因为某些病毒狡猾无比可以检测是否在虚拟环境下运行。此过程中我们要从以下几个方面进行检测获取相应信息:

  1.文件系统的变化,即与样本运行前相比,系统是否增减了某些文件,一些原有文件是否有被修改的痕迹,注册表的修改痕迹。

  2.进程变化,即样本运行后进程中是否出现某些可疑进程。

  3.网络链接监控,检查进出系统的数据包是否异常。

  4.API调用,其实就是样本与操作系统的交互,程序希望系统完成什么任务。

  以上可称之为主动检测,即主动获取系统变化。常用Process ExplorerFilemonTracePlus/Win32Wireshark等来完成。

  另外我还会通过例如Installwatch或者Installspy等工具对系统进行监控,称之为系统完整性检测,查看系统的变化。

软件行业职场访谈——走近病毒分析师
用Installwatch对系统进行有效监控

  第二,软件尤其是恶意软件,常常在生成时就使用一些加壳或加密程序,以避开安全保护设备,或反病毒软件的查杀追捕,为了更加全面地分析样本文件,需要将其从壳中提取出来。

  这个过程一般都会利用例如PEid等查壳工具检验壳的类型,然后或者利用专门的脱壳工具例如ASpack等进行操作,或者使用OllyDbg来查找程序真正的入口点,手动脱壳。脱壳后的程序一般是不可执行的,因为某些部分例如导入表被破坏了,这时我们就需要用一些专门软件或OD插件来修复此PE程序。然后我们在确认壳被成功脱去后,就该去检查它的一些嵌入文本,例如某些包括有效信息的字符串、文件信息等。

软件行业职场访谈——走近病毒分析师
用OllyDbg查找程序真正的入口点

  第三,对文件进行反汇编,常用功能强大的IDA Pro,比如木马类样本,我会通过监控它的API来查看函数命令,可以知道它主要偷偷地记录些什么内容,通过什么方式发送给木马操控者等。

  第四,通过以上的步骤我大概能明白样本的行为及目的,但为了更全面的理解有必要对PE文件本身进行一个深入的分析。此步骤中我们会对PE文件的一些资源进行检查,针对不同高级语言类型有不同的编辑工具,可以获得此样本在执行时可能会显示的一些资源文件,比如窗体、某些小控件、类似虚拟键盘、按钮等。从中可以发现更多有关恶意行为的线索。

  第五,根据之前的分析,我会获得一些程序运行所依赖的函数或命令,我还可以利用比如SpyStudio等工具进行函数剖析,具体查看程序的返回值,从中可以获得大量恶意行为的证据,例如某些木马文件通过调用某些网址呈现给用户一个假的页面来截获账户密码及其他隐私信息等。

  过程描述相对简单,但是其中包括环境搭建及调整,以及软件操作需要的相关知识还是需要专门学习才能更好地应用和掌握。整合所有分析发现的文件行为及编码,给此文件编写一个特征码并纳入病毒库,此病毒便可以被有效地查杀了。

  为掌握趋势扮黑客

  其实所有的行业都可以套用“不学习就会被淘汰”这句话。但是做病毒分析工作,可以算是这句话的极端表现。随着电子技术日新月异的发展,每秒钟世界上都会有大量新的病毒及其变种产生。所以只有不断去充电,了解当前病毒的发展趋势和黑客关注的方向,我才能在得到病毒后有一个大体的认知,从而有的放矢地“解剖”病毒。

  为了第一时间掌握安全界的动向,我和我的同事都是各大黑客论坛的常客,而且我们也会有一些黑客身份,以便我们去探知最新的消息。当然了,我从没有去干过什么入侵的事情,这可是违法的。讨论技术可以,被邀请参与某些活动的时候,往往都会以工作或者其他原因去拒绝,因此,也会被一些黑客嘲笑为眼高手低,但是谁又知道我的真正目的呢?

    请点击“下一页”,我们对一个病毒分析师做嘉宾访谈,听听他对这个工作的理解。

手机 诺基亚 MP5 电脑包 双卡双待 手机链 U盘 笔记本电脑 -->


  

  

  

  

  嘉宾访谈:同黑客只有一线区别的工作

  嘉宾:孙瑞 (Michael)
  从业时间:两年
  职业:病毒样本分析师
  所在企业:ESET NOD32中国区总代理二版科技公司

  记者:你觉得自己这个工作和黑客有什么区别?
  孙瑞:这个工作中会用到很多黑客技术,但是我们的出发点和带来的效果是好的。另外,刚才讲到病毒分析的过程,其中的几个步骤诸如脱壳解密、反汇编分析等在某些国家是法律明文规定不允许的,这个还希望读者谨慎对待。
  我们在做任何的文件分析时都要以法律为依据,不能越雷池一步, 以下行为是非法的:a.破解软件后,进行销售获利;b.对已有版权归属的软件进行破解后的注册号传播;c.在别人不知情的情况下,提供任何形式进入对方电脑的方法; d. 受版权保护的软件一般是不允许进行逆向分析的。 另外不同国家地区的法律还可能有不一样的条款。而黑客可能更多地牵扯到个人利益的扭曲实现了,我觉得区别还是挺大的,你说呢?

  记者:病毒分析学起来难吗?
  孙瑞:我觉得任何知识的学习都是一个由浅入深的过程,“伤仲永”类型的人还是很少,所以我说首先要有浓厚的兴趣,有很强的求知欲,然后从基础知识开始准备,多进行测试分析,最终总会有一个自己比较满意的结果的。各位有兴趣的朋友,有想法就来做吧,迈出第一步,在逐步深入的过程中,你会发现很多有趣的东西,成为你学习的动力。

  记者:一般来说病毒分析需要用到的工具有哪些?
  孙瑞:病毒分析的各个过程会有许多不同的工具软件,大概可以分为:系统完整性检测工具(Installwatch、Microsoft Installation Monitor),动态分析工具(Process Explorer等),查壳脱壳工具(PEid、OllyDbg等),反汇编工具(IDA Pro等),PE分析工具(ResourceExtract等)。当然还有一些其他的工具,在具体学习过程中,多上网了解,多向论坛及其他一些高手请教就会逐步有长进了。

  记者:来说说对新人的建议吧,如何让他们更快地提高?
  孙瑞:我个人也在不断的学习中,提出的意见是希望能尽可能帮助大家,和大家一起进步。首先要夯实基础知识,针对病毒分析的相关知识,吃透一本教材,教材可以在书城及论坛中查询。其次要多和其他人进行交流,交换学习心得。最重要的是自己要多测试,多分析,多看多写代码。比如看雪论坛就是个学习交流的好地方。另外多去一些知名反病毒网站查看相关博客文章及病毒分析案例等,通过阅读博客能了解病毒的发展趋势、最新病毒技术,增强文件分析的方向把握。

MP5 电脑包 双卡双待 手机链 U盘 笔记本电脑 -->