Yes, I'd like to know something about the security of the binder
implementation.
Can I just forge an IPC by talking to /dev/binder?

-Earlence

On Feb 9, 2:01 pm, dh <david.her...@uni-ulm.de> wrote:
> Hi,
>
> > I had thought about before too. From the implementation point of view,
> > you need someone to send you either a binder or handler (like
> > invitation) to be able to create a kernel level reference (numbered
> > locally), which you can then use to start transaction with. As the
> > reference number is created locally, there's no point of guessing or
> > forging, because if you don't have a local reference, the kernel will
> > simply reject it. From that perspective, it's probably secure.
>
> That's my point; if I'm wrong, point it out.
>
> /dev/binder is world-writeable on the filesystem. Is it possible to forge
> an IPC transaction (the id/ref number of the remote node, transaction code
> which is simply an integer, the parcel data, binder flags, ...) and send it
> directly from application A to application B, thus circumventing the
> service manager.
>
> Does the binder implementation perform security checks for such things? If
> I get you right, the binder module in the kernel DOES do these security
> checks?!
>
> > The first priority of my project was to implement a version that can
> > be used as a drop replacement, well as much as possible. So logic
> > mentioned above mostly applies to my implementation too, but I'd
> > certainly consider those security aspects along the way.
>
> I see that you focused on concurrency and performance. I was just wondering
> about the security things of binder in earlier work. If the default
> implementation is secure, then fine. If there are some vulnerabilities,
> maybe that's interesting for your project.
>
> Cheers, David

-- 
unsubscribe: android-kernel+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-kernel

Reply via email to