我有一个疑问,至于如何得出 exe/dll 来自特定国家的结论?PE 结构中是否有保存此信息的字段?
我知道这样的信息(时间戳等)可以被覆盖,并且没有办法可以 100% 确定,但仍然......在大多数恶意样本的分析报告中总是有这样的声明,比如“这个样本似乎起源于 xyz 国家”。
我想要一个没有工具作为解决方案的答案。
我有一个疑问,至于如何得出 exe/dll 来自特定国家的结论?PE 结构中是否有保存此信息的字段?
我知道这样的信息(时间戳等)可以被覆盖,并且没有办法可以 100% 确定,但仍然......在大多数恶意样本的分析报告中总是有这样的声明,比如“这个样本似乎起源于 xyz 国家”。
我想要一个没有工具作为解决方案的答案。
PE/COFF 格式中没有任何字段或元数据会泄露节目来源国的任何指示。PE 规范可在此处获得:http: //msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx - 它确实包含应该由编译器设置的时间戳字段,但这很容易伪造。
我知道(尽管不确定)恶意软件的来源国是通过与生物流行病学相同的方式确定的:通过将感染追溯到源头,并且考虑到互联网的运作方式,这非常困难。通常,通过 HTTP 传播的感染(例如)可以通过具有源 IP 地址的网络服务器日志文件进行检查,然后可以对其进行地理定位。
其他时候,恶意软件包含关于其来源的直接线索 - 对于老式恶意软件(想想:ILOVEYOU),作者的狂妄自大是他们的垮台,在 ILOVEYOU 案例中,作者实际上输入了“by:spyder / ispyder@mail.com /@GRAMMERSoft Group/Manila,Philippines”直接在编写病毒的 VBScript 源代码中。
对于表面上是在中国或朝鲜编写的病毒(您可能在暗示 - 考虑到最近有关索尼影业攻击的消息),他们可能会根据程序中包含的中文或中文字符串做出有根据的猜测韩文/字符。
...依赖这些启发式方法的问题在于,很容易“框定”一个国家并让某人离开你的踪迹。如果我缺乏道德部门,我可以通过编写包含外文字符串的病毒并使用 Tor 或其他网络从另一个国家/地区发起攻击,从而不留下任何暗示真正的起源。
简而言之,我不相信任何人都能真正知道——大多数情况下是基于目标的猜测以及谁最讨厌目标——或者实体无意中透露他们编写了它的情况(例如以色列和 Stuxnet)。
了解可执行文件的原产国的一种可能方法是检查字符串部分以查看是否可以找到返回某个主机服务器的任何链接。这可能表明用户正在尝试使用您的 exe 将一些信息/数据发送回其自己的服务器。
Dai 建议的另一种解决方案是搜索字符串以查找字符串并检查其可能指示原产国的语言。
但是对于这两种解决方案,可能会更改语言以使您偏离轨道,或者由于各种原因在某些不同的国家/地区选择了服务器。因此,没有明确的方法可以告诉 exe/dll 文件的原产国,但您可以做出合乎逻辑的猜测。