On Fri, 2017-06-09 at 09:18 -0400, Matt Brown wrote: > On 6/9/17 9:16 AM, Mimi Zohar wrote: > > On Fri, 2017-06-09 at 05:55 -0700, Kees Cook wrote: > >> On Fri, Jun 9, 2017 at 3:18 AM, Mimi Zohar <[email protected]> > >> wrote: > >>> On Thu, 2017-06-08 at 23:50 -0400, Matt Brown wrote: > >>>>>> > >>>>>> * Issues: > >>>>>> * Can be bypassed by interpreted languages such as python. You can > >>>>>> run > >>>>>> malicious code by doing: python -c 'evil code' > >>>>> > >>>>> What's the recommendation for people interested in using TPE but > >>>>> having interpreters installed? > >>>>> > >>>> > >>>> If you don't need a given interpreter installed, uninstall it. While > >>>> this is common sense system hardening it especially would make a > >>>> difference under the TPE threat model. > >>>> > >>>> I don't have a knock down answer for this. Interpreters are a hard > >>>> problem for TPE. > >>> > >>> You might be interested in the minor LSM named "shebang", that I > >>> posted as a proof of concept back in January, which restricts the > >>> python interactive prompt/interpreter, but allows the scripts > >>> themselves to be executed. > >> > >> https://patchwork.kernel.org/patch/9547405/ > >> > >> Maybe these could be merged and the interpreter string could be made > >> into a configurable list? > > > > I updated shebang, but didn't bother to post it, as nobody seemed to > > be interested at the time. The updated version already has support > > for the configurable list. Re-posting ... > > > > That would be awesome. I think it's the perfect complement to TPE as it > protects a key hole in its current threat model.
Hm, I hadn't looked at it in since January. It still needs to be cleaned up and expanded a bit. The original version used a pathname for identifying the interpreter. This version converts the list of pathnames to a set of inodes, which is better, but now requires a method for updating the inode number after a software update. Please feel free to expand on it or re-use whatever you like. Mimi

