2015-03-30 63 views

回答

2

不是。不包括做了键盘记录的物理适配器,您将无法在任何操作系统中完全禁止内核空间键盘记录器。你可以在内核和应用程序之间引入某种信任,但是没有办法完全防止在应用程序级别或某些恶意的内核级别代码(例如设备驱动程序)上欺骗信任,从而读取输入并将其传递。

我会想象不同的操作系统对恶意(或潜在的恶意代码)有不同的保护措施,但总会有一些方法可以绕过这些安全措施以允许内核级别的执行。请考虑安装驱动程序并确保它们来自可信来源等的警告。

还有其他一些策略可能会针对特定应用程序进行保护,例如确保各种驱动程序由正确的可信来源签名,但你可能不会比操作系统做得更好。最终,愚蠢的用户在使用提升的权限安装他们不理解的东西时可以阻止所有这些。

我能想到这个真正有效的唯一方法是使用密码保护的静态内核和应用程序代码的嵌入式系统 - 换句话说,不允许加载任何外部代码的操作系统,在每天的计算中都很有用(但在许多嵌入式和其他敏感系统中很有用)。即便如此,固件可能会有负载需要考虑,但甚至可以正确锁定固件数据 - 尽管如此,即使有人足够聪明且足够持久,如果他们能够物理访问设备,也可以找到解决办法,如果你甚至离开了执行外部代码的最小开口,他们甚至无法物理访问设备。研究方程组(http://arstechnica.com/security/2015/02/how-omnipotent-hackers-tied-to-the-nsa-hid-for-14-years-and-were-found-at-last/)为例。

+0

操作系统至少在理论上可以提供这样的功能吗?即使与驱动程序接近内核的东西也可以防止被篡改。 – 2015-03-30 22:35:24

+0

完全阻止它的唯一方法是在内核和用户级别加密保护完全静态代码 - 认为嵌入式系统的操作系统和应用程序代码不能被修改,并且操作系统被硬编码为只适用于不可修改的应用程序。 – 2015-03-30 22:41:45

+0

即使在固件级别上,您也必须获得该保护;请参阅此文章http://arstechnica.com/security/2015/02/how-omnipotent-hackers-tied-to-the-nsa-hid-for-14-years-and-were-found-at-last / – 2015-03-30 22:45:14