|
|
Log in / Subscribe / Register

Re: PEP 551: Security transparency in the Python runtime

From:  James Powell <james-AT-dontusethiscode.com>
To:  Steve Dower <steve.dower-AT-python.org>
Subject:  Re: PEP 551: Security transparency in the Python runtime
Date:  Fri, 25 Aug 2017 13:53:38 -0400
Message-ID:  <DBE55D32-4DA0-4BF8-97E1-32DD3169D87D@dontusethiscode.com>
Cc:  "os.urandom rehab clinic" <security-sig-AT-python.org>, lee.holmes-AT-microsoft.com


> On Aug 25, 2017, at 13:22, Steve Dower <steve.dower@python.org> wrote:
> (This is also the reasoning for using static variables internally rather than interpreter state -
it's much harder to infer the address of a static C variable with pure Python code than a field in
a struct.)

I'll add a little bit of detail. These aren't "security features"; they're "security transparency
features." We acknowledge that we cannot block every malicious payload, but we should at least make
it possible to audit interpreter state for post-mortem forensic purposes. 

We wouldn't want it to be too easy to turn off these auditing features, and I've done a good amount
of research into corrupting the running state of a CPython interpreter. Keeping things in builtin
modules and in memory not directly exposed to the interpreter creates a real barrier to these
techniques, and makes it meaningfully harder for an attacker to just disable the features at the
start of their payload.

:h


to post comments


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds