Evaluating Windows Security Descriptors.

Christopher R. Hertel crh at ubiqx.mn.org
Wed Dec 19 20:52:00 GMT 2007


Tridge,

Thanks for this.  The analysis, all of it, is quite helpful.

I am relying on the know-how of the folks here at Quantum.  They've been
working on their distributed file system for a while, and some of the
developers have experience with Linux GFS (the Sistina product, now
maintained by Red Hat).  You may recall that I co-presented on Samba running
on GFS a few years ago.

Anywhich, I'm here providing the CIFS know-how and they're providing the
distributed meta data know how and we're working on filling in the grey area
in between.  So I appreciate all of the feedback.

I'll be traveling for the next couple of days but I will try to keep up with
this conversation when time and location permit.

Thanks!

Chris -)-----

tridge at samba.org wrote:
> Chris,
> 
> I am not as pessimistic about your plan as Volker is. It does need to
> be done very carefully, but I think that with careful design you may
> be able to make it secure.
> 
> For example, the simple race Volker mentioned can be avoided as
> follows:
> 
>  1) before you open, you stat() and remember the device:inode 
> 
>  2) after you open, you fstat() and cross-check. If it's unchanged, then
>  no symlink games were played. If it has changes then loop back to (1)
>  and re-do all checks.
> 
>  3) if the stat() showed the file didn't exist, then add O_EXCL
> 
>  4) if you thought the file didn't exist, and O_EXCL causes an open
>  failure, then loop back to (1)
> 
> There are other races too, not just this simple one, but with some
> careful thought you may find you can beat them.
> 
> Samba has had this style of race for years. We've worked around some
> of them, but not all. In your design these races become more critical,
> but don't give up completely. Try and think it through instead.
> 
> Cheers, Tridge

-- 
"Implementing CIFS - the Common Internet FileSystem"    ISBN: 013047116X
Samba Team -- http://www.samba.org/    -)-----     Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/  -)-----  ubiqx development, uninq
ubiqx Team -- http://www.ubiqx.org/    -)-----          crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/   -)-----             crh at ubiqx.org


More information about the samba-technical mailing list