Appearance
Appearance
Wireshark 会处理来自网络和抓包文件的大量外部数据,因此使用时需要把它当作有攻击面的分析工具,而不是普通文本查看器。
安全使用 Wireshark 的核心原则是:不要用高权限运行不必要的解析工作,不要在关键生产环境中直接打开不可信抓包文件。
Wireshark 的大量代码都在解析外部输入:
这和普通应用不同。普通程序通常只有一小部分代码直接处理外部输入,而 Wireshark 的协议解析器覆盖面非常大。历史上,Wireshark 经常出现在安全公告中,主要就是因为解析器 bug 可能被恶意构造的数据触发。
| 操作 | 风险原因 |
|---|---|
| 打开未知来源的捕获文件 | 文件内容可能专门构造,用来触发解析器漏洞 |
| 实时抓包并开启实时更新列表 | 数据包会边进入边被解析和显示 |
| 停止抓包后打开完整解析视图 | 大量 dissector 会处理刚捕获的数据 |
| 用管理员/root 权限运行 GUI | 一旦被利用,影响范围更大 |
GUI 小问题通常只是崩溃或显示异常;真正需要关注的是处理外部数据的解析路径。
很多人误以为 Wireshark 必须使用 Administrator 或 root 才能工作。实际上,大部分查看、过滤、解析和统计功能不需要高权限。
通常只有以下操作可能需要额外权限:
更安全的做法是:让底层抓包组件具备必要权限,而不是让整个 Wireshark GUI 长期以高权限运行。
| 建议 | 目的 |
|---|---|
| 使用最新版本 Wireshark | 获得安全修复和解析器修复 |
| 避免以 root/Administrator 运行 GUI | 降低漏洞被利用后的影响范围 |
| 在非关键环境分析不可信文件 | 隔离潜在风险 |
| 使用 dumpcap/tcpdump 负责抓包 | 用更小的程序完成高权限捕获动作 |
| 将抓包文件转移到分析环境 | 避免在关键生产机器上做复杂解析 |
| 对敏感抓包做访问控制 | 抓包文件可能包含账号、token、业务内容和内部拓扑 |
Wireshark 能看到网络上传输的数据,这本身不是 Wireshark 的漏洞,而是网络协议、加密和访问控制设计的问题。不能依赖“别人看不到”来保证安全;应优先使用加密协议、最小权限和安全的网络边界。
Wireshark 开发者长期通过以下方式降低风险:
Imported from https://wiki.wireshark.org/Security on 2020-08-11 23:24:32 UTC