在安装时检测run key和启动文件夹项目需要监视特定注册表和文件系统路径的变更情况。可以通过平台文档或通过引用一些实用程序来报告是否存在这些配置来列举这些路径。此外,可能会成功检查任何已知与这些路径结合使用的文件类型,例如LNK。要检测已安装且处于休眠状态的持久化,可以检查同一注册表和文件系统路径的内容中是否存在可疑条目。创建一个基准并定期监视是否有偏移基准的情况,以此来减少调查工作量。
当然,持久化永远不会单独发生,它始终是达到目的的手段。因此,监视预期某些变更会涉及哪些进程以及尚未观察到的进程之间的关系也是非常有效的。
5. “伪装”是绕过防御的最佳办法
伪装是指为了逃避防御和观察而操纵或滥用合法或恶意的可执行文件的名称或位置的情况。攻击者利用伪装作为绕过防御技术的手段或欺骗手段。攻击者使用该技术通过使恶意可执行文件和软件看起来合法或预期来破坏机器和人工分析。伪装的实现范围很广,从简单地重命名可执行文件(从而让这些文件看起来更像是正常系统进程)到更复杂的方法(例如命令行欺骗)。伪装在攻击者中使用很普遍,因为它满足了绕过防御技术和人为分析的简单需求,并且相对容易实施。
检测伪装技术的一种策略是利用二进制元数据,例如在文件创建或签名时的原始文件名。例如,如果要查找wscript.exe,则应查找具有该名称的二进制文件,也应查找具有原始文件名WScript的任何二进制文件。
虽然,可以检测名称或元数据为wscript.exe的任何二进制文件,但基于文件的签名、哈希或其他标识符并不可信。因此可对文件位置建立一个基准,对上述方法进行补充。如果我们了解给定二进制文件通过哪个路径执行,则可以在其他任何地方看到该标志时,就可以触发报警。
6. “混淆文件或信息”可逃避基于签名的检测系统
攻击者可能会试图通过加密、编码或其他方式混淆系统上或传输中的可执行文件或文件内容,从而使其难以发现或分析。这是一种可以跨不同的平台和网络使用,以绕过防御的常见行为。
许多网络安全检测产品(防病毒软件、IDS等)设计为基于恶意软件的签名运行。一旦发现了在野使用的特定恶意软件变体,便会提取出该恶意软件的独特功能黑客web脚本攻击与防御技术核心剖析,并用于在未来感染中对其进行检测和识别。将通过网络边界或下载到主机的每条数据与这些签名进行比较。如果找到匹配项,则将采取措施(删除、隔离、警报等)。
混淆的目的是绕过这些基于签名的检测系统,并增加对恶意软件样本进行取证分析的难度。如果以某种方式混淆了签名所基于的数据或代码,则检测引擎在寻找纯文本签名时就无法找到匹配项。
存在许多混淆算法,例如压缩、编码、加密、隐写等等。恶意软件使用者可以隐藏各种不同类型的文件和数据。例如,恶意软件可能被设计为使用混淆来隐藏其恶意代码。或者,恶意软件变体可能会对其配置文件进行加密,从而使恶意软件分析师更难于理解其功能。
想要检测混淆文件或者信息,除非在混淆过程留下了可以检测到的独特伪像,否则很难检测文件混淆。如果无法检测,则可以去检测执行混淆文件的恶意活动(例如,用于在文件系统上写入、读取或修改文件的方法)。标记并分析包含混淆指示符和已知可疑语法(例如未解释的转义字符辅助论坛,如'''^''' 和'''"''')的命令。反混淆工具可以用来检测文件/有效载荷中的这些指标。
此外,可以在网络上检测到用于初始访问的有效载荷中使用了哪些混淆方法。还可以使用网络入侵检测系统和电子邮件网关筛选来识别压缩和加密的附件和脚本。某些电子邮件附件展示系统可以打开压缩和加密的附件。通过网站从加密连接传递的有效载荷需要进行加密的网络流量检查。