Okay, making barry setuid just got dropped from my list :)

Thanks for the very detailed explanations!

Niels


On Thu, Jul 17, 2008 at 8:02 PM, Chris Frey <[EMAIL PROTECTED]> wrote:
> On Thu, Jul 17, 2008 at 05:27:38PM +0200, Niels de Vos wrote:
>> Hello,
>>
>> attached is a patch for the specfile for setting the setuid-bit on
>> some executables. It would be really cool if a normal (non-root) user
>> is able to use the barry utilities.
>> This patch only displays what could be done in the specfile to achieve
>> this. As some execuatbles read/write files, this is very dangerous at
>> the moment; any user would get root-rights for reading/writing files.
>>
>> I would like to compose a TODO-list with:
>> * how to make an executable secure?
>> * which binaries should be secure?
>> * does barrybackup call other binaries or does it use libbarry?
>> * ...
>>
>> Any thoughts?
>
> Hi Niels,
>
> Of your proposed list of binaries, here's my reasoning regarding each one:
>
> bcharge
>
>        There are 2 jobs that need to be done when plugging a Blackberry
>        into the system:  1) change the mode and have it reset itself so
>        that charging is possible, and 2) set the device permissions so that
>        other programs can access the device without root privileges.
>
>        Option 1 is performed by bcharge, and should be done automatically
>        by udev.  Option 2 is already handled by udev rules.  So there is
>        no need for bcharge to be setuid root.
>
> breset
>
>        If bcharge is setup correctly as above, you can reset your device
>        without being root, so setuid root is not needed here either.
>
> pppob
>
>        This program is really only called by pppd, which is already setuid
>        root on many systems.  Even so, pppob talks to the Blackberry the
>        same way that any other Barry program does, and if bcharge and udev
>        are setup correctly, there is no need for setuid root.
>
> bidentify
>
>        This is a helper program to identify what Blackberry devices are
>        attached to the system.  It was added for Martin Owens and his
>        device identification system.  I believe this could be called via
>        HAL or similar, or just any curious user can call it.  If it is
>        called before bcharge, then you need to be root, and if it is part
>        of a system configuration process, then the calling system is
>        likely root as well.  If bcharge is setup correctly, bidentify
>        does not need setuid root anyway.
>
> btool
> brecsum
> upldif
> barrybackup
>
>        All of these programs are user level programs. (I realize your spec
>        file patch did not include barrybackup as setuid.)  As such,
>        they are intended to be run as a non-root user, and any need for
>        root privileges is bug in your system's setup, and should be
>        addressed by changing the udev rules and how bcharge is called.
>        There's no need or intent to add setuid root for these programs.
>
>
> Comments on your TODO list:
>
>> * how to make an executable secure?
>
> This is a tricky task, and best left to the Wietse Venema's and
> Daniel Bernsteins of the world. *wink, wink, nudge, nudge* :-)
>
> Seriously though, to make a program ripe for setuid root privileges,
> it needs to be as simple as possible, as small as possible, focused in
> its task, and peer reviewed.
>
> Currently none of the above programs meet that criteria, except maybe
> breset, which is a really simple program using libusb.  Bcharge is fairly
> simple, but it supports a command line option to write to sysfs to adjust
> autosuspend settings, which would either need to be removed, or have
> a special case.  And the more special cases you put in, the harder it is
> to secure a program.
>
>
>> * which binaries should be secure?
>
> They should all be secure for the target environment they are running in.
> I'm specifically aiming for no program to need to run as root, except
> bcharge, and that is run automatically in a very defined way, by udev,
> so is already fairly secure.
>
>
>> * does barrybackup call other binaries or does it use libbarry?
>
> Barrybackup uses libbarry.  All the above programs use libbarry except
> bcharge and breset.
>
> - Chris
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> Barry-devel mailing list
> Barry-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/barry-devel
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to