TL;DR:是的,攻击者有可能对您的系统进行指纹识别,是的,这将帮助他攻击您的系统。因此,您应该正确保护您的系统(防病毒软件是不够的)。
指纹如何工作?
指纹有很多种,主要是网络层的指纹和应用层的指纹。
在网络层面
操作系统确实对标准中未精确定义的用例做出不同的回答。例如,TCP 协议允许不同的选项,每个操作系统使用不同的选项。因此,可以主动(通过生成发送到主机的自定义数据包,例如使用工具 nmap)或被动(通过使用诸如 p0f 之类的工具侦听数据包)对系统进行指纹识别。如果您只考虑您的家用笔记本电脑,只要您受到正确的防火墙保护(现在许多家用路由器阻止所有传入连接),这没什么大不了的。如果您还考虑服务器,它会更复杂,并且已经开发了几种解决方案来阻止指纹识别,但是它们通常很复杂并且大多已经过时(请看这篇文章)
在应用程序级别
在服务器端,许多服务在横幅中提供非常精确的信息(例如Apache/2.0.48 (Fedora) Server at 127.0.0.1 Port 80 for an appache web server),您应该注意正确配置服务以禁用这些横幅(当然禁用无用的服务)。
在客户端,最关键的应用程序是您的网络浏览器,因为 99% 的流量都在使用它,而且很容易识别您的浏览器:
- 您的浏览器通过 User Agent 参数在每个请求中提供他的名称和版本。您可以使用浏览器插件对其进行修改
- 即使没有用户代理,也可以通过浏览器收集大量系统信息(屏幕大小、字体、扩展...)。EFF 已通过其应用panopticlick证明,可以唯一识别超过 99% 的浏览器
所以呢 ?
这没什么大不了的,因为这些信息只会帮助攻击者,但不会让他们破坏您的系统。它给了他们你家的地址,而不是钥匙。因此,您应该尽可能限制攻击者可用的信息,但首先,您应该注意正确保护您的系统
如何保护您的系统?
防病毒软件的效率真的很差,修改恶意软件以使其不会被 99% 的防病毒软件检测到是微不足道的。您应该遵循一系列最佳实践来避免攻击:
- 更新您的系统和应用程序:这是第一条规则!在类 unix 系统上,您可以依赖包系统。在 Windows 上,像 Secunia PSI 这样的工具可以帮助您识别易受攻击的软件。最关键的软件是您的浏览器及其插件(Flash、Java、Silverlight...),因此请随时更新它们
- 使用强密码并为不同的网站使用不同的密码:现在有很多密码泄露,所以你应该注意你的密码。像keepass这样安全存储密码的工具会很有帮助。尽可能使用双因素身份验证
- 使用个人防火墙:即使你应该大部分时间都在家庭防火墙后面,它总是有用的
- 使用杀毒软件:在我看来,不要花钱买它,但 Windows 上有免费的杀毒软件
- 在互联网上要聪明:处理奇怪的电子邮件、奇怪的网站......
所以在 2014 年 4 月之后继续使用 Windows XP 肯定是危险的,你真的应该考虑升级(或转移到另一个操作系统)。