假设我创建了一个文件压缩库,该库被用于 1000 个(非恶意)程序。但是现在恶意软件开发人员决定创建一个恶意软件并使用我的库来压缩一些文件。
根据我对防病毒软件工作原理的了解,它从恶意软件中选择一组字节字符串并将其存储在其数据库中。现在,当防病毒软件扫描包含这些字节字符串的程序时,它会提醒用户这是恶意软件。
但是,如果防病毒软件选择了与我的库代码的一部分相对应的字节串,这是否意味着我的库现在被检测为恶意软件(因此 1000 个非恶意程序现在被检测为恶意软件)?
假设我创建了一个文件压缩库,该库被用于 1000 个(非恶意)程序。但是现在恶意软件开发人员决定创建一个恶意软件并使用我的库来压缩一些文件。
根据我对防病毒软件工作原理的了解,它从恶意软件中选择一组字节字符串并将其存储在其数据库中。现在,当防病毒软件扫描包含这些字节字符串的程序时,它会提醒用户这是恶意软件。
但是,如果防病毒软件选择了与我的库代码的一部分相对应的字节串,这是否意味着我的库现在被检测为恶意软件(因此 1000 个非恶意程序现在被检测为恶意软件)?
检测恶意软件有两种技术,第一种是通过文件签名,例如卡巴斯基每天都会收到大量恶意代码,专家会对其进行分析,然后为每个恶意代码生成一个签名。因此,当防病毒软件分析文件时,它会将签名与其数据库中的所有签名进行比较。然后将结果返回给用户。确定软件是否恶意的第二种方法是使用数据挖掘技术。将软件的静态和动态分析结果作为输入,然后返回结果。在这种情况下,它可能会返回误报结果,具体取决于防病毒软件。
如果防病毒程序将广泛使用的一段代码标记为恶意代码,那么是的,它会(错误地)将许多程序检测为恶意软件。但是恶意软件签名不是随机选择的;它们是由研究恶意软件的人类分析师开发的,以了解它的作用和工作原理。这些分析人员小心翼翼地根据恶意软件实际特定的内容构建签名,而不是恰好包含在其中的一段非恶意库代码。
如果您是合法库的作者,并且一些恶意软件人员使用您的库,那么 AV 开始使用您的库检测干净的程序,处理它的唯一方法是联系 AV 公司并告诉他们从您的库中删除检测库。他们可以检测恶意代码而不是库代码。检查每个 AV 公司网站上的投诉表格或联系他们的支持部门。