如何判断一个软件是否包含恶意软件?

信息安全 恶意软件
2021-08-17 15:30:00

我的问题有点复杂;我正在尝试评估Selenium是否包含恶意软件。我知道 SO 上很多人都在使用它,我并不太担心,但我在一家保守的亚洲公司工作,现在他们对安装新软件非常严格,因为害怕病毒。所以真正的问题是,我如何证明它是安全的/让他们相信它是安全的?我的老板对我使用它来提高效率感到非常兴奋,但我认为他的老板会认为潜在的风险是值得的。

2个回答

判断一个软件是否“安全”是一项极其困难的任务。但是,在阅读您的评论后,您的评论是否包含恶意软件?

我建议你开始:

  1. Virus Total - 在线病毒扫描程序
  2. COMODO - Valkyrie - 签名数据库
  3. COMODO - CAMAS - 过程分析

但是,您依赖病毒扫描程序和现有的已知哈希来检测恶意恶意软件和常见行为。

您还可以通过使用虚拟机 (VirtualBox/VMWare) 或沙盒 (Sandboxie) 软件将您的主机与潜在的恶意软件隔离开来,从而保护自己。

配置强化沙箱:

  • 网络 - 将应用程序限制在您知道它需要访问的网站上,在您的情况下是美国政府网站
  • 文件 - 它需要什么写入权限?如果有的话?
  • 注册表 - 再次相同。

现在,让我们假设您正在运行一些恶意软件,攻击范围已大大缩小。

不幸的是,这通常是不可能的。

在许多情况下,软件是经过签名的,这样您就可以验证编写该软件的公司。但是,在您的情况下,您是直接从作者那里获得软件的,因此您知道他们是谁。

如您所知,即使知道作者,恶意软件仍然存在被作者包含的风险。许多大公司不会这样做,因为他们有太多的损失,但在技术上是可行的。

进行一些研究以查看其他用户是否报告了问题可能是明智的。

没有实用的方法来扫描“未知”恶意软件。防病毒程序只能从先前报告的恶意软件数据库中进行扫描。(你也必须禁用自动更新功能)

所以底线是

  • 要么您足够信任创建者来运行该软件。(并安装他们的更新)
  • 或者,您限制了软件可以运行的范围。

限制范围意味着

  1. 在独立的 VM 上运行,该 VM 无法访问您的任何操作系统。
  2. 限制互联网访问,使潜在的恶意软件无法回家。
  3. 也可以选择在单独的物理计算机上运行,​​但这可能是矫枉过正。

遵循这些步骤将限制与运行恶意软件相关的风险,但与您最初检测是否存在恶意软件的请求截然不同。

最后几点:

  • 软件是否开源更好?这值得考虑,但不在此答案中。

  • 在技​​术上可以反编译程序并手动检查它,但这并不实用。

  • 您可以编写自己的工具来达到类似的目的。