安全问题是否可以通过监视dbus隐藏dbus方法调用?

问题描述

请理解我的英语不好。

我开发了一个由多个过程组成的身份验证系统,它们使用dbus相互通信。

我刚刚发现,可以使用dbus-monitor监视通过dbus进行的每一次通信。这样的交流密码和ID。我只想将其隐藏。

使用dbus专用连接,可以将其隐藏,因为它不会通过dbus-daemon。但是私人联系是一种复杂而肮脏的工作。

那么,有什么方法可以使用dbus开放连接(而非私有连接)隐藏dbus通信吗?

很抱歉再次输入乱码。感谢您的阅读。

解决方法

我刚刚发现,通过dbus进行的每一次通信都可以 使用dbus-monitor观看。这样的交流密码和ID。我只想要它 隐藏。

情况并非如此:policykit规则仍然适用。例如,作为非特权用户,我无法监视wpa_supplicant

dbus-monitor  --system interface=fi.w1.wpa_supplicant1.Network
dbus-monitor: unable to enable new-style monitoring: org.freedesktop.DBus.Error.AccessDenied: "Rejected send message,1 matched rules; type="method_call",sender=":1.6957" (uid=1002 pid=206438 comm="dbus-monitor --system interface=fi.w1.wpa_supplica") interface="org.freedesktop.DBus.Monitoring" member="BecomeMonitor" error name="(unset)" requested_reply="0" destination="org.freedesktop.DBus" (bus)". Falling back to eavesdropping.
signal time=1600511999.087722 sender=org.freedesktop.DBus -> destination=:1.6957 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.6957"

由于policykit规则:

<!DOCTYPE busconfig PUBLIC
 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
        <policy user="root">
                <allow own="fi.w1.wpa_supplicant1"/>

                <allow send_destination="fi.w1.wpa_supplicant1"/>
                <allow send_interface="fi.w1.wpa_supplicant1"/>
                <allow receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/>
        </policy>
        <policy context="default">
                <deny own="fi.w1.wpa_supplicant1"/>
                <deny send_destination="fi.w1.wpa_supplicant1"/>
                <deny receive_sender="fi.w1.wpa_supplicant1" receive_type="signal"/>
        </policy>
</busconfig>

当然root仍然可以读取所有数据。

如果您担心数据会出现在日志文件中,则可以使用Unix文件描述符(类型签名h)传递数据。因此,数据对dbus-monitor

的用户而言是不透明的 ,

那么,有什么方法可以使用dbus开放连接(而非私有连接)隐藏dbus通信吗?

不,没有。

dbus-monitor需要特权才能运行,因此不必担心机密泄漏。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...