文件可能具有欺骗性。一个恶意文件表面上看起来可能毫无危害,比如简单的“invoice.pdf”,但其意图是诱骗人们点击该文件。这在当今网络世界中是一个大问题,因为数百万恶意软件被附加到众多文件上,一次不小心的点击就可能导致安全漏洞。
幸运的是,每个文件都携带一个唯一的标识符,就像指纹一样。这就是 VirusTotal 这类工具变得至关重要的原因。它们允许你在不打开 URL、文件和域名的情况下对其进行检测。
在数字世界中,安全性、完整性和身份识别至关重要。实现这些目标所需的基本工具之一就是哈希(hash)。虽然这个术语可能感觉有些技术性或抽象,但将哈希视为“数字指纹”就能使其易于理解。就像每个人都有独特的指纹来与其他人区分开一样,每一段数据都可以通过哈希过程获得一个唯一的数字指纹。
什么是哈希?
通过数学方法从数据中产生的固定长度字符串称为哈希。这些数据可以是一份文档、一个密码、一张照片、一个驱动器等等。
什么是哈希运算?
哈希运算是一种将任意数据(任意大小)转换为固定长度字符串(称为哈希值)的过程。
哈希的关键属性
- 单向函数(不可逆)
- 固定长度输出:每种哈希类型都有其固定长度。例如,SHA-256 的输出长度为 64 位。
- 雪崩效应:输入中最微小的变化都会使整个哈希值完全改变。
- 抗碰撞性:找到两个具有相同哈希值的不同输入极其困难。
VirusTotal
想象一个庞大的、众包的安全数据库,它汇集了全球数十家领先的杀毒软件公司、URL 扫描器和文件分析工具的情报。这就是 VirusTotal。它不是你需要安装的杀毒程序。这是一个由谷歌拥有的免费在线服务,充当数字威胁情报的中央存储库。
VirusTotal 的特点
- 扫描深度:它不依赖单一供应商提供威胁情报。它会通过 70 多种不同的杀毒引擎和各种安全工具运行你的文件或链接。
- 数字指纹:VirusTotal 不必上传危险文件本身,它可以上传文件的唯一数字指纹(SHA-256 哈希)。如果该特定哈希曾被其他任何人标记,它会立即揭示出来。
- 行为分析:VirusTotal 不仅仅依赖签名;它会在虚拟环境中运行可疑文件,并提供完整的报告上下文。例如:它是否尝试连接到可疑服务器?它是否尝试释放新文件?这提供了关键上下文。
想象一下,你刚收到一份名为“SOC 2 Report”的文档。在你悬停在这个诱人的 PDF 文件之前,你总是要问自己:我能信任发件人吗?我能信任这个文件本身吗?在网络钓鱼和恶意软件完美伪装的当今时代,盲目打开外部附件是你承担不起的最高风险。
不要打开文件来检查它。相反,花点时间生成它的哈希值(使用像 Powershell 或 Certutil 这样的工具)。这个过程提取文件的唯一数字签名,而不访问其可能有害的代码。有了哈希值,你就有了一个全球可验证的 ID。将该哈希值上传到像 VirusTotal 这样的多引擎扫描平台。几秒钟内,你就会知道该文件是否已被 70 多家安全供应商标记为安全、可疑或确认为恶意软件。这是终极安全检查:在处理文档之前先验证指纹。
在我们的例子中,我们想检查 VirusTotal 上下面的哈希值:275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f
结果:
第一个观察点:社区评分和基本信息
一旦我将样本上传到 VirusTotal,首先引起我注意的是社区评分:64/67。这意味着在 67 个社区投票中,有 64 个用户将其标记为恶意或可疑,这在意料之中,因为 EICAR 字符串是故意编写来触发杀毒引擎的。VirusTotal 还显示最后一次分析是在 10 分钟前进行的,文件大小为 68 字节。如此小的文件大小是合理的,因为 EICAR 实际上只是一行文本,旨在充当签名。
第二个观察点:代码洞察
代码洞察回答了文件到底是什么的问题。EICAR 是一个恶意软件字符串。它的目的是帮助用户、杀毒软件供应商和分析师确认他们的检测机制是否准确运行。简而言之,它是一个用来触发真实杀毒响应的虚假病毒。可以把它想象成一种疫苗。
第三个观察点:供应商标记
“谁标记了它?”接下来,我检查了标记该文件的供应商列表。正如所料,几乎每个知名的杀毒引擎都将其检测为“恶意”或“测试文件”。其中一些供应商包括:Alibaba、Bitdefender、Alicloud、Avast 等。
我在第二次分析中发现的哈希类型快速解析
我能够分析 VirusTotal 上的另一个哈希值。我的主要目标是了解不同的哈希算法在文件分析报告中是如何出现的。有趣的是,这个样本带有多种哈希类型——SHA-256、MD5 和两个模糊哈希。
- MD5 和 SHA-1:是较旧的哈希算法。虽然由于它们不具备抗碰撞性,如今被认为在密码学上已不安全,但 MD5 和 SHA-1 主要用于需要向后兼容性的遗留系统和平台。
- SHA-256:是当今的行业标准。它是一种更强大、具有抗碰撞性的哈希算法。SHA-256 是文件最可信、最稳定的表示形式。
- 模糊哈希(SSDEEP 和 TLSH):与标准哈希(MD5/SHA-256)不同——标准哈希如果文件中甚至一个字符发生变化就会产生完全不同的结果——模糊哈希旨在识别相似性。它们在恶意软件分析中至关重要,因为威胁行为者有时会对现有恶意软件进行微小更改,以规避简单的哈希匹配检测。
- 文件识别(Magic、TriD 和 Magika):这告诉分析师传递到用户浏览器的是什么内容(在本例中是一个网页)。此上下文对于识别感染链非常重要。
- 文件大小:大小有时可能是可疑活动的指标。一个标准的钓鱼页面或简单的重定向脚本通常只有几千字节。1.58 MB 的大小表明存在大量内容,可能是嵌入的图像、大量的 JavaScript 代码等,这促使分析师更深入地研究文件结构。
像 MD5 和 SHA-1 这样的哈希提供向后兼容性和在历史威胁数据库中的快速查找,尽管它们在密码学上容易发生碰撞。然而,SHA-256 提供了必要的密码学完整性,充当内容唯一且可靠的标识符。这使得安全系统能够有效地将分析的文件与全球已知的干净或恶意样本进行匹配。
同时,在行为上下文中,模糊哈希(SSDEEP 和 TLSH)超越了简单的身份识别,用于分析相似性。它们对于将文件关联到已知的威胁家族至关重要,即使已经进行了微小的更改。再加上文件识别和文件类型,这些为分析增加了上下文,帮助分析师理解文件的用途及其与现有威胁的潜在关系。 CSD0tFqvECLokhw9aBeRqkFRjKAi3lCSKNUWczIBycAf/oGylqNx+nh+d0cMZ2jyFsz7dhqoK7BEx1LDvFp7uZQ30xabLfiwxQurGruhASfByh7Y+chfLW0kmr0aQjqb3YZcN9dY0a1P9NbUBNC3Suco9ELiE6woj0dAXrufDyg=