防病毒软件的源代码泄漏有多严重?

信息安全 杀毒软件
2021-08-20 16:07:10

我读到赛门铁克遭遇源代码泄漏,我想知道这对防病毒产品有多糟糕。这些产品是否严重依赖“ (in)Security Through Obscurity ”或者它真的很重要?ClamAV 是开源的,这是否会削弱它可以提供的安全性?

4个回答

我不确定这是否一定是通过设计默默无闻的安全性。与之前的许多公司实体一样,赛门铁克将其源代码视为知识产权,而不一定只是为了保护其产品免受定向攻击而受到保护。(请注意,只要它不是您唯一的保护手段,通过默默无闻来获得一点安全性并没有什么坏处。)

然而,话虽如此,读取他们的(旧)源代码可以为漏洞利用开辟新的途径。尽管它已有 5 年的历史,但完全有可能(并且通常很可能)部分源代码已在他们的许多最新产品中被重用。

就个人而言,作为我工作的一部分,我已经审查了过去 10 年或更长时间一直在迭代的产品的源代码。最新版本几乎总是至少有一些来自初始版本的代码,因为通常情况下核心只是简单地扩充而不是重写。

如果您明确知道它们正在检查什么并使其不再是黑盒测试,那么避免基于启发式的算法肯定会更容易。除此之外,取决于泄露的内容,如果他们自己获得签名,这将是无价的,因为您将确切地知道他们在寻找什么,并且您可以进行相应的修改。

我在想有可能发现和利用 AV 本身的漏洞,并制造直接攻击 AV 的病毒。看到赛门铁克对操作系统有很大的权力,拥有 AV 将是相当的 rootkit。

病毒和杀毒软件玩了一场精心设计的捉迷藏游戏;至少在过去的 20 年里,他们一直这样做。防病毒软件试图“查看”病毒可能隐藏的所有地方;新病毒试图寻找新的藏身之处,而杀毒软件还不知道。逆向工程是双向进行的,并且可以访问源代码肯定会使逆向工程更容易。

尽管如此,在这个方向上访问源代码不应该是致命的。默默无闻是病毒库中的唯一武器;一旦进行逆向工程,病毒如何自我复制、如何检测以及如何删除它就变得一目了然。拥有病毒的源代码会杀死它。另一方面,拥有防病毒软件的完整源代码并不能告诉您如何打败它。它只告诉你什么样的病毒不会逃脱它。病毒开发者仍然需要找到一条新的病毒传播途径,这是反病毒开发者没有想到的。病毒开发者可以通过测试收集相同的信息。因此,可以访问防病毒源代码使病毒开发在数量上不那么令人厌烦,但在质量上并不容易。

令人沮丧的是,大多数防病毒软件主要通过所谓的签名(出现在某些已知病毒中但可能不在“普通软件”中的代码块)检测病毒,并且大多数病毒试图通过简单地具有新的、独特的签名来逃避防病毒。这令人沮丧,因为这意味着病毒和防病毒开发人员基本上仍处于石器时代。防病毒开发人员通过尽快添加新签名而获胜。病毒开发者的数量如此之多,以至于反病毒开发者不堪重负。这里没有优雅,只有原始数字。但是,这意味着防病毒软件主要是一个大grep引擎。此类系统的实施理论已广为人知并被巧妙地描述几十年来(特别是从 1973 年开始的第 3 卷)。因此,对于病毒开发人员来说,从防病毒软件的源代码中可以学到的东西很少。

综上所述,我想说杀毒源代码泄露造成的损害,多半是公关问题:作为“安全公司”,他们应该知道,不能让自己的企业资产那样泄露。但它对产品本身提供的实际安全性并没有太大影响。