Starting the kdbus discussions

Daniel J Walsh dwalsh at redhat.com
Thu Jan 2 06:40:45 PST 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/02/2014 09:23 AM, Kay Sievers wrote:
> On Thu, Jan 2, 2014 at 2:46 PM, Marc Deslauriers 
> <marc.deslauriers at canonical.com> wrote:
>> This is pretty interesting. Are there any benchmarks available to show
>> what the performance gains are when switching to kdbus?
> 
> No, not really. At least no direct comparison. Simple benchmarks to compare
> different systems are in the kdbus and systemd repos, but they do not
> compare to dbus-daemon: 
> https://plus.google.com/+KaySievers/posts/PrFZMYihbXS
> 
>> In the PORTING-DBUS1 document, you mention that the kernel will not do
>> access filtering by userspace payload, and that policy enforcement needs
>> to be done by the receiving process. This is quite a big change from the
>> current dbus-daemon, and is going to remove functionality we are
>> depending on.
> 
> Right, the actual payload is opaque to the kernel. Only metadata is added
> to a bloom filter, and the kernel filters on that data. Due to the nature
> of bloom filters, that cannot be used to provide any sort of security.
> 
>> We are about to submit a patch that adds AppArmor mediation alongside
>> the current SELinux mediation in dbus-daemon. This allows us to properly
>> confine untrusted applications with AppArmor and enforce a fine-grained
>> policy on path, interface and method names, not only for the system bus,
>> but for the session bus as well.
> 
> That cannot work in the kernel that way.
> 
>> Are there any plans on extending the kernel support to be able to parse
>> the userspace payload and ensure proper LSM integration? How do security
>> frameworks such as SELinux and AppArmor fit into kdbus?
> 
> They will probabaly work on the primitives only, like who can talk to which
> peer, who can own which set of names. Just like SELinux works for sockets,
> the kernel in this case will also never look into the payload of sockets.
> 
> It needs to be so sorted out, we haven't talked to the SELinux guys so far,
> it will happen soon.
> 

We already somewhat block which domains can dbus chat with with domains,
although I prefer to drop to the level of which domain can read/write on a
particular service.  This would need to be controlled at the application
server level.

What we would be interested in is controlling which process can assume the
service name.  IE NetworkManager_t could assume the NetworkManager Service,
and be blocked from assuming the AccountsDaemon Service name.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlLFem0ACgkQrlYvE4MpobOe5wCdFGIzDcQXIvIVhmHpls1E36I8
pZ4AoIRb8MEZfC218oqMqVdGboLRv8rq
=14JX
-----END PGP SIGNATURE-----


More information about the dbus mailing list