因此,我最近在考虑病毒,并且想知道反病毒到底如何保持正常运行?考虑到已经编码了几周的任何人都可以一起破解某些确实会对某人的PC造成不良影响的东西,仅此数量就可以构成一个简单的哈希禁止列表,那么杀毒软件该如何做呢?他们是否监视流程活动并且对执行类似病毒的行为有3条警告规则?如果是这样,是什么阻止它触发完全无害的事情(例如我在\ system32中移动文件)?
我做了一些谷歌搜索,但是常规的地方并没有特别的帮助,而且我在这里找不到骗子,所以我想问一下:)
因此,我最近在考虑病毒,并且想知道反病毒到底如何保持正常运行?考虑到已经编码了几周的任何人都可以一起破解某些确实会对某人的PC造成不良影响的东西,仅此数量就可以构成一个简单的哈希禁止列表,那么杀毒软件该如何做呢?他们是否监视流程活动并且对执行类似病毒的行为有3条警告规则?如果是这样,是什么阻止它触发完全无害的事情(例如我在\ system32中移动文件)?
我做了一些谷歌搜索,但是常规的地方并没有特别的帮助,而且我在这里找不到骗子,所以我想问一下:)
Answers:
2002年的这篇文章讨论了如何构建防病毒引擎。
本文将从开发人员/软件工程师的角度从头开始描述开发防病毒程序所涉及的基本思想,概念,组件和方法。它将侧重于防病毒引擎(以下称为AV引擎)的主要元素,并将不包括图形用户界面,实时监视器,文件系统驱动程序和某些应用程序软件(例如Microsoft Exchange或Microsoft插件)的方面。微软办公软件。尽管可以以相同的方式设计在单个平台(例如Palm OS或EPOC / Symbian OS)上运行/扫描的AV引擎,但本文将重点介绍设计复杂得多的多平台扫描引擎。
摘自防病毒软件如何工作?(AntivirusWorld):
防病毒软件程序是一种计算机程序,可用于扫描文件以识别和消除计算机病毒和其他恶意软件(恶意软件)。
防病毒软件通常使用两种不同的技术来完成此任务:
病毒词典方法 在病毒词典方法中,当防病毒软件检查文件时,它指的是由防病毒软件的作者识别出的已知病毒的词典。如果文件中的一段代码与字典中标识的任何病毒均匹配,则防病毒软件可以删除该文件,对其进行隔离,以使其他程序无法访问该文件,并且其病毒无法传播或尝试通过从文件中删除病毒本身来修复文件。
为了在中长期取得成功,病毒词典方法要求定期在线下载更新的病毒词典条目。当发现新病毒是“狂野的”时,具有好奇心和技术倾向的用户可以将其感染的文件发送给防病毒软件的作者,然后由其在词典中包含有关新病毒的信息。
基于字典的防病毒软件通常在计算机的操作系统创建,打开和关闭文件时检查文件;以及通过电子邮件发送文件的时间。这样,可以在收到已知病毒后立即对其进行检测。通常,还可以安排该软件定期检查用户硬盘上的所有文件。
尽管字典方法被认为是有效的,但病毒作者还是试图通过编写“多态病毒”来保持这种软件的领先地位,“多态病毒”会对自己的某些部分进行加密或以伪装的方式对其进行修改,以使其与病毒的签名不匹配。在字典中。
可疑行为方法 相反,可疑行为方法不是试图识别已知病毒,而是监视所有程序的行为。例如,如果一个程序试图将数据写入可执行程序,则将其标记为可疑行为,并向用户发出警告,并询问该怎么做。
因此,与字典方法不同,可疑行为方法可提供针对任何病毒词典中尚不存在的全新病毒的保护。但是,它还听起来会产生大量误报,并且用户可能对所有警告不敏感。如果用户在每个此类警告上均单击“接受”,则该用户显然无法使用防病毒软件。在过去的7年中,此问题尤其严重,因为更多的非恶意程序设计选择了修改其他.exe,而没有考虑这个假阳性问题。因此,大多数现代防病毒软件越来越少地使用此技术。
其他检测病毒的方法 某些防病毒软件会在将控制权转移到可执行文件之前,尝试模拟正在执行的每个新可执行文件的代码开头。如果该程序似乎正在使用自修改代码或以其他方式显示为病毒(它会立即尝试查找其他可执行文件),则可以假定该可执行文件已被病毒感染。但是,此方法会导致很多误报。
另一检测方法是使用沙箱。沙箱可模拟操作系统并在此模拟中运行可执行文件。程序终止后,将对沙箱进行分析以查找可能表明有病毒的更改。由于性能问题,这种类型的检测通常仅在按需扫描期间执行。
关注的问题
如果Microsoft可以修复与Outlook相关的Microsoft Outlook和Microsoft Office中的安全漏洞,则可以更廉价,更有效地预防宏病毒(可以说是最具破坏性和最广泛的计算机病毒),而无需所有用户购买防病毒软件。执行下载的代码,并提高文档宏的传播和破坏能力。
用户培训与防病毒软件一样重要。简单地对用户进行安全计算实践的培训,例如不从Internet下载并执行未知程序,将减慢病毒的传播速度,而无需使用防病毒软件。
计算机用户不应始终以管理员权限访问自己的计算机来运行。如果它们仅在用户模式下运行,则某些类型的病毒将无法传播。
由于不断产生新病毒,词典方法通常不足以检测病毒,但由于误报问题,可疑行为方法无效。因此,当前对杀毒软件的了解永远不会战胜计算机病毒。
有多种加密和打包恶意软件的方法,这些方法甚至会使知名病毒无法被防病毒软件检测到。要检测这些“伪装”的病毒,需要强大的拆包引擎,该引擎可以在检查文件之前对文件进行解密。不幸的是,许多流行的防病毒程序没有此功能,因此通常无法检测到加密的病毒。
销售反病毒软件的公司似乎在经济上有动机编写和传播病毒,并让公众对威胁感到恐慌。
(我喜欢这篇文章,我只是从AntivirusWorld复制并粘贴。)
Phoshi,您的问题很有趣,但是我建议您从另一个开始。我建议这样做,因为对您所提问题的答案可能会误导您。
我建议您首先考虑一下您认为病毒,其定义是什么。
精英病毒作者是安全研究人员,而不是脚本小子。他们对病毒的定义是:“病毒是一段可以自我繁殖的代码”。而已。如您所见,这里没有提到破坏性功能。所有强制性的病毒都是邪恶的-这是您从专有防病毒制造商处获得的FUD,因此他们可以出售其软件。
恕我直言,明智的做法是将病毒视为整个软件生态系统的一部分,而不应视为外部邪恶的“外星人”。
查看病毒的一种非常重要的方法是另一种方法。病毒如何危害系统。这通常是通过软件漏洞引起的。防病毒软件意识到了这些漏洞,并正在寻找影响这些漏洞的软件。无论哪种方式,病毒总是会产生某种作用。因此,他们需要一个工作流程来尽其所能。有时这是存在的,有时是他们自己创造的。
但是,MOST病毒的工作方式相似,病毒扫描程序可以轻松区分它们。利用同一漏洞的病毒有很多!