Differences between revisions 12 and 13
Revision 12 as of 2009-02-24 21:52:39
Size: 2888
Editor: hachoir
Comment:
Revision 13 as of 2009-03-19 15:33:21
Size: 2979
Editor: PaulBoddie
Comment: Added sandbox links.
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:
 * SandboxedPython
 * [[How can I run an untrusted Python script safely (i.e. Sandbox)]]

Notes about Python Security.

tav's jail

http://tav.espians.com/a-challenge-to-break-python-security.html

  • Remove evil attributes like frame.f_globals or object.subclasses

  • Remove evil builtins like compile(), import() or reload()

Zope security

http://svn.zope.org/zope.security/trunk/src/zope/security/

  • Sandboxing
  • Object proxies

Taint mode

Nicole King (cats-muvva.net) wrote a taint mode for CPython 3.0: Python Taint Management.

Problems:

  • amaury: The patch is indeed huge!

  • fijall: it seems that every function that returns a PyObject must be modified

  • fijall: need to patch (...) all places that might modify anything. (All side effects)

=> ncoghlan: PyPy is still a *much* better platform for that kind of experimentation than CPython

See also the presentation: Securing Python: Controling the abilities of the interpreter, PyCon US 2007, Brett Cannon and Eric Wohlstadter

Related issue: Taint a la Perl?.

Python Security Response Team

Some members:

  • Brett Cannon

Email: security AT python.org

Controlling Access to Resources Within The Python Interpreter

Sandboxing

Unsafe modules

Restricted

Fuzzing

Victor Stinner wrote a fuzzer called Fusil to test Python. It already helped to fix many bugs. fusil-python works on Python 2.4 .. 3.0.

Fusil was also used on PyPy (Finding Bugs in PyPy with a Fuzzer).

Security (last edited 2009-09-14 09:54:15 by PaulBoddie)

Unable to edit the page? See the FrontPage for instructions.