Answers:
不,通常不。任务管理器(和操作系统的其他部分)本身可能会受到威胁,从而隐藏病毒。这称为rootkit。
如果我现在真的要确保Taskmanager中的所有流程都是安全的
您永远无法知道taskmanager中的所有过程都是安全的。病毒使用系统组件的名称是有原因的,有时甚至会取代它们。
使用防病毒软件。
防病毒软件只能检测到这么多(“在2011年第4季度,遇到的Web恶意软件中有33%是零日恶意软件,在遇到恶意软件时,传统的基于签名的方法无法检测到”),来源:http://blogs.cisco.com / security / cisco-4q11-global-threat-report /)。
经过一些培训,您就可以检测到某些恶意软件,因为它们以某种特定方式运行,这与操作系统上常见的行为有所不同。可能是网络流量增加,CPU使用率增加,磁盘访问异常或其他原因。恶意软件不仅可以通过任务管理器检测到的单个二进制文件形式获得,而且还可以作为附加到其他进程的动态库(dll)获得。
您可以使用Sysinternal Suite中的诸如Process Explorer这样的任务管理器来了解系统上正在运行什么的线索,并且可以使用同一套件中的Process Monitor之类的东西来观察系统上发生的事情。习惯使用工具并注意“奇怪”的迹象:
(“奇怪”部分是您需要进行的区分“正常”和“奇怪”的训练)
Sysinternal Suite的作者展示了使用上述工具的一些巧妙方法:
https://www.youtube.com/watch?v=7heEYEbFim4
因此,是的,您可以使用体面的任务管理器来检测某些恶意软件。恶意软件越复杂,检测起来就越容易。如果恶意软件试图检测使用诸如Process Explorer之类的任务管理器,则您可能甚至需要采取高级步骤,例如使用其他“ 会话 ”来检测奇怪的行为,但是仍然可能。
无法从任务管理器检测病毒。
有几种病毒。病毒,特洛伊木马,rootkit,广告软件/ puk等。某些病毒对任务管理器隐藏起来。因此,它不会出现在任务管理器中。
我建议您停止在任务管理器中寻找并安装防病毒软件。
如何:访问Windows®事件查看器?
从程序员的角度来看,我建议您尝试使用Windows API以及API挂钩学习编程。
OS内核会保留一个表,其中包含您需要识别和连接的本机API函数。然后,您的钩子将重定向并修改/过滤输出。这段代码必须在内核空间上运行,并且为了控制它(即加载/停止),您还必须在用户空间上拥有一块软件。尽管这些在用户空间上也是可能的,但现代AV很有可能将其标记为某种恶意活动。
该方法将是钩一段代码以拦截API调用(即,NtQueryDirectoryFile()),以便您修改/过滤输出-一种中间人方法。在用户空间上运行的进程(即TaskManager,Windows Explorer,Process Explorer)将仅显示由您的钩子提供的筛选后的输出...而且,ACL在此层没有电源
当然,现代的AV也有在内核空间上运行的代码,和/或PATTERN MATCHING(还记得什么时候将AV更新称为AV Patterns Update?),以检测并防止此类恶意钩子。