Differences between revisions 10 and 16 (spanning 6 versions)
Revision 10 as of 2009-02-24 18:14:01
Size: 2452
Editor: hachoir
Comment:
Revision 16 as of 2009-09-14 09:54:15
Size: 3100
Editor: PaulBoddie
Comment: Revert spam.
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

== 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()
Line 41: Line 48:
 * SandboxedPython
 * [[How can I run an untrusted Python script safely (i.e. Sandbox)]]
 * [[http://mail.python.org/pipermail/python-dev/2009-June/090038.html|CPython in the web browser under Native Client]]
Line 49: Line 59:
== Restricted ==

 * Deprecated (disabled?) since Python 2.3
 * http://docs.python.org/library/restricted.html
 * http://docs.python.org/library/rexec.html
 * http://docs.python.org/library/bastion.html

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 2019-12-15 07:15:55 by FrancesHocutt)

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