一个问题最近在 GitHub 页面上开放了注重隐私的 VirtualBox 包装器 HiddenVM。开场者发布了他声称的本地缓存中的文件被发送到外部 IP 的指示:
当我使用 dmesg 时,我看到它在后台做了什么。我从众多消息中挑选了两条:
audit: type=1400 audit(1651914430.711:1128): apparmor="DENIED" operation="open" profile="torbrowser_firefox" name="/home/amnesia/.cache/thumbnails/large/3678dc849747c84908498dd948db8f71.png" pid=10995 comm="pool-firefox" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000 Dropped outbound packet: IN= OUT=wlan0 SRC=i removed the adress DST=i removed the adress LEN=48 TC=0 HOPLIMIT=255 FLOWLBL=762031 PROTO=ICMPv6 TYPE=133 CODE=0 UID=0 GID=0
因此看起来它将文件从我的缓存发送到了某个地址。例如,为什么一个应该更改设置的脚本会打开缓存文件并将其发送到某个地方?
开场白没有具体说明他们使用了什么命令或提供任何进一步的细节。
这两条消息是否表明文件正在从本地计算机发送到外部 IP?
答案1
GitHub问题中的问题描述是:
以下是我注意到的情况。当我尝试启动虚拟系统时,出现以下错误: VirtualBox Linux 内核驱动程序未加载或未正确设置。请尝试通过执行再次设置
'/sbin/vboxconfig'
作为根。
我做到了,但是由于一些权限问题,它不起作用。它失败了并告诉我使用 dmesg 找出原因。当我使用 dmesg 时,我看到它在后台做了什么。我从众多消息中挑选了两条:
以及日志消息:
审核:类型= 1400审核(1651914430.711:1128):apparmor =“拒绝”操作=“打开”配置文件=“torbrowser_firefox”名称=“/home/amnesia/.cache/thumbnails/large/3678dc849747c84908498dd948db8f71.png”pid=10995通讯=“池火狐”requested_mask =“r”denied_mask =“r”fsuid = 1000 ouid = 1000
此消息是由 AppArmor 阻止以用户 ID 1000 运行的进程 10995pool-firefox
对本地文件管理器的缩略图缓存进行读取访问而生成的。
我在这里没有看到任何内容表明此消息将以任何方式连接到/sbin/vboxconfig
以 root 身份执行。更有可能的是,用户只是打开了一个 Firefox 文件对话框(无论出于何种原因),并且对话框库正在寻找图像缩略图,但由于该库是作为 Web 浏览器的一部分执行的,因此 AppArmor 规则是注重隐私的发行版阻止访问(以防止通过浏览器泄露本地缩略图缓存的可能性)。
丢弃的出站数据包: IN= OUT=wlan0 SRC=i 删除了地址 DST=i 删除了地址 LEN=48 TC=0 HOPLIMIT=255 FLOWLBL=762031 PROTO=ICMPv6 TYPE=133 CODE=0 UID=0 GID=0
ICMPv6 类型 133 是路由器请求数据包,即该系统正在 上发送数据包wlan0
,请求 WiFi 网络上的 IPv6 路由器宣告自己。
它是 IPv6 自动配置正常功能的一部分,UID=0
表示数据包是由根级进程生成的。通常,此类数据包以多播方式发送到链路本地“所有路由器”IPv6 多播地址,因此,如果DST=
地址不是ff02::2
,则表明使用异常,可能表明 ICMPv6 消息可能被用作隐蔽的数据泄露通道。
但是,如此复杂的攻击(已经需要特权访问来制作自定义 ICMPv6 消息),同时不删除 iptables 过滤器阻止和揭示它,这将是不一致的,强烈表明这可能是用户的误解。
我没看到任何原始操作、第一条日志消息和/或第二条日志消息之间存在因果关系的证据。
这看起来更像是一个常见的逻辑谬误:“由于事件 Y 发生在事件 X 之后,因此事件 Y 一定是由事件 X 引起的。” (“事后因而事后”)
在这种情况下,用户只是假设日志消息完全是由他们运行命令产生的/sbin/vboxconfig
,而实际上系统上同时发生了许多其他进程,并dmesg
报告所有这些进程。