• 恶意代码分析——动、静态分析基础技术


    一、静态分析基础技术

    1、可通过用软件计算恶意程序MD5值,然后检索该MD5值来获取信息并作为标签使用  【md5deep  winmd5】

    2、通过检索恶意代码字符串获得相应的功能调用解释、功能行为及模块调用。当可检索字符串非常少时,有可能被加壳处理,(注意"LoadLibrary"和"GetProcAddress"两个字符串,它们是用来加载或调用其他函数功能的),此时需要用外壳检测工具进行检测、脱壳处理  【字符串检索:Strings  外壳检测:PEiD】

    3、PE文件头中包含代码信息,恶意代应用程序类型,所需库函数与空间要求,非常有用。可通过工具检索其动态链接库(函数),然后再MSDN文档库中查找其功能。【动态链接(库)函数检索:Dependency Walker、  PEview、  PEBrowse Professional、PE Explorer】

    4、查看可疑代码的的资源节来获得一部分可见的特征,如图标、菜单界面、代码版本等【Resource Hacker(可将嵌入文件提取出来)】


    二、动态分析基础技术

    1、配置“沙箱”环境,模拟真实执行结果【Norman沙箱、GFI沙箱、Joe沙箱、ThreatExpert、BitBlaze、Comodo恶意代码分析】(以GFI为例)
    ??***沙箱的缺点***
    沙箱只能自动简单的运行可执行程序,对待需要提供命令行参数或需要特定条件的后门程序,将无法被启动和分析,可能无法得出测试结果,还有可能与操作系统,文件调用等因素有关联,导致不能完整的甚至准确的得到分析结果。

    ******************************

    2、Dll类型文件的启动运行
    windows命令行环境下用rundll32.exe程序调用,格式如下:
    "rundll32.exe DllName,Export arguments"
    *DllName:Dll文件名*
    *Export:一个Dll文件导出函数表中的函数名或序号,通过工具查看【PEview、PE Exporer】

    3、对运行起来的恶意代码,可以用一些系统监视类软件捕获其系统调用,从捕获的信息中就可以得到其对注册表,文件读写等一系列操作,便于进一步分析,【process monitor、process explorer、regshot】

    4、必要的时候,需要从本机模拟出一个虚拟的网络应答来响应恶意代码的网络访问,监控其网络动态,从而了解网络相关特性【Apate Dns(检测恶意代码的域名访问)、netcat(网络监听)、wireshark嗅探器、INetSim(模拟网络服务,linux环境)】

    基础分析技术主要是一些基础工具的应用,从最基本的字符串及基本行为分析入手,做最基础的行为分析概述,然后对行为梗概运用高级分析技术予以分析及验证,高级分析技术包括动态和静态分析两个方面,会在以后的总结中予以提出。

  • 相关阅读:
    3.1 虚拟机执行子系统--类文件结构
    13.分解让复杂问题简单(3)
    中文文本中的关键字提取
    中文分词工具 jieba 和 HanLP
    中文NLP的完整机器处理流程
    IDEA导入Eclipse的Web项目
    【ML-15】主成分分析(PCA)
    【ML-13-4】隐马尔科夫模型HMM--预测问题Viterbi(维特比)算法
    【ML-13-3】隐马尔科夫模型HMM--Baum-Welch(鲍姆-韦尔奇)
    【ML-13-2】隐马尔科夫模型HMM--前向后向算法
  • 原文地址:https://www.cnblogs.com/zlgxzswjy/p/4839841.html
Copyright © 2020-2023  润新知