更新:今天我发现了该程序存在不当行为的决定性证据。VirusTotal 对其安装程序的沙盒分析报告显示该程序具有使用网络摄像头进行视频捕获的功能。
看分析链接这里。
我最近发现一个代理程序(Windows 版 Clash) 总是链接到与其功能无关的 DLL。
它的安装目录中有 FFmpeg、DirectX、OpenGL 和 Vulkan 的 DLL。并且通过进程探索器,我确认它确实加载了这样的 DLL(始终是 FFmpeg,但并非总是其他三个)。
正如我提到的,应该只能充当代理程序,而它加载低级图形 API 的 DLL 的唯一合法理由(我能想到的)是为了硬件加速其 UI——但我没有在其中找到相关设置。最重要的是,我想不出一个理由来证明它的加载是合理的FFmpeg
。
众所周知,FFmpeg 能够将视频流式传输到远程客户端,我怀疑该程序是间谍软件——它使用低级图形 API 来捕获屏幕并通过 FFmpeg 进行流式传输。
这当然是我的猜测。我的问题是,
- 它加载的 DLL 是否可以以我没有想到的其他合法方式使用?
- 有没有办法进一步调查并获得其是间谍软件的决定性证据?
- 该程序仅以普通用户身份在我的 PC 上运行。如果它确实是间谍软件,它会造成多大的损害,我如何才能减轻损害(例如,作为普通用户,它会留下什么样的后门)?
我真诚地感谢您提供的任何见解以及提前付出的时间。
答案1
从应用程序的官方截图中的整体外观以及 DLL 列表中的存在en-US.pak
(GPUCache
也就是说,不仅仅是“GPU 缓存”,而是具体的名称),我猜程序的界面是用某种方式编写的持续教育基金(可能电子) – 前者是“Chrome 嵌入式框架”,本质上只是将 Chrome 网络浏览器打包成一个看起来像应用程序的东西,而 Electron 是 CEF+NodeJS。
(这是一个极其如今流行的选择。例如,Discord 通过 Electron 使用 CEF;VSCode 和 Steam 直接使用 CEF;Dropbox 通过 QtWebEngine 使用 CEF……这就是你耗尽 RAM 的原因。)
CEF 实际上是 Chrome-in-a-box,整个应用程序界面是一个 HTML/CSS/JS“网页”,它仍然具有 Chrome 通常具有的相同功能:GPU 加速 HTML 渲染(带有 CSS 着色器和其他花哨的东西)、视频播放支持(Chrome 使用 FFMPEG 作为 <video> 标签)等等。
然而,它可能不一定是整个 UI;也有一些应用程序只需要嵌入 Web 视图以用于某些特定目的(例如登录屏幕或帮助文档),并且这些应用程序几乎总是最终通过 QtWebEngine 或 Microsoft 的 WebView2 使用 CEF。
.pak
您可以从 CEF用于其内部资产的各种存档文件中识别出它;文件夹名称GPUCache
也是 CEF 使用的一个症状。(目前,我在 Linux 上的用户目录有24单独的“GPUCache”目录,每个目录属于不同的应用程序,该应用程序要么完全基于 CEF,要么仅将 CEF 用于某些特定目的。)