Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.021 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'context': 0.04; 'seattle,': 0.05; 'imply': 0.07; 'system;': 0.07; 'chose': 0.09; 'context.': 0.09; 'am,': 0.14; 'wrote:': 0.14; 'subject:python': 0.14; 'comparable.': 0.16; "developer's": 0.16; 'hans': 0.16; 'posix': 0.16; 'properties.': 0.16; 'subject:distribution': 0.16; 'verifying': 0.16; 'argument': 0.16; 'cc:addr:python-list': 0.17; 'meant': 0.18; 'voting': 0.19; '(which': 0.20; 'header:In-Reply- To:1': 0.21; 'seems': 0.21; 'thu,': 0.22; 'tools,': 0.22; 'cc:2**0': 0.22; 'cc:no real name:2**0': 0.23; 'trying': 0.23; 'event,': 0.23; 'levels.': 0.23; 'subject:code': 0.23; "they've": 0.23; 'fix': 0.23; 'installation': 0.25; '(and': 0.25; 'statement': 0.26; 'definition': 0.26; 'received:209.85.161': 0.26; 'says': 0.27; "i'm": 0.27; 'message-id:@mail.gmail.com': 0.28; 'concern': 0.29; 'interpret': 0.29; 'true,': 0.29; 'bit': 0.30; 'least': 0.30; "won't": 0.30; 'cc:addr:python.org': 0.30; 'fairly': 0.30; 'understands': 0.30; 'it.': 0.31; 'seem': 0.32; 'operating': 0.32; 'does': 0.33; 'break': 0.33; 'actually': 0.33; 'comment': 0.33; 'initial': 0.33; "isn't": 0.33; 'things': 0.33; 'rather': 0.34; 'there': 0.35; '-0700,': 0.35; 'fraction': 0.35; 'purely': 0.35; 'using': 0.35; 'towards': 0.35; 'quite': 0.36; 'actual': 0.36; 'properties': 0.36; 'speaking': 0.36; 'open': 0.36; 'probably': 0.36; 'uses': 0.36; 'similar': 0.37; 'received:google.com': 0.37; 'useful': 0.37; 'received:209.85': 0.37; 'mechanisms': 0.37; 'another': 0.37; 'two': 0.37; 'think': 0.38; 'anything': 0.38; 'run': 0.38; 'but': 0.38; 'worry': 0.38; 'subject:: ': 0.38; 'should': 0.39; 'received:209': 0.39; 'system.': 0.39; 'version:': 0.39; 'really': 0.40; 'more': 0.60; 'kind': 0.60; 'your': 0.60; 'lower': 0.64; 'here': 0.66; 'automotive': 0.67; 'tiny': 0.68; 'safe': 0.69; 'size.': 0.72; 'verified': 0.73; 'verification': 0.76; 'assurance': 0.77; 'products.': 0.78; 'claims': 0.82; 'complexities': 0.84; 'headed': 0.84; 'isolated': 0.84; 'pocket.': 0.84; 'systems-': 0.84; 'tomorrow.': 0.84; '2012.': 0.91; 'satisfactory': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Lv5E+SSqjG2IJrtUdfK2xwy9ywmZcBO9TiVokREgX1A=; b=bszREVALhhwxCfqyJcES766q+X4EXosx328iust/7e6WFR90dHWxmpWoYOEQqW1+en xhO5sgOiEwbDdOKsqdcLoNOKHalJY/XeJNrshadjEARDghiIvpTE/1hu17cqaj56vKIg XqzP6aW+7HZF0GLEd1efv7rN31kUHnqicM2QE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=Nng831N/qxp+I58x0m3L3P0JeD+2Uf/hkJ6MTfXv53nG1ewrtxNsb8SDzDmqjzftUV 9iIYrcn7j7HM5PvgC4M+RGBOQGqZwZh7RCtYn/96qRkhlPgjahDLM6fBHZNKszRepdET 3tPkDeKQpxhsCOtE+3U11CClMPuATxOTQZ2Mk= MIME-Version: 1.0 In-Reply-To: <0q3ga8-s2v.ln1@svn.schaathun.net> References: <4DD08620.4030507@tysdomain.com> <5h9ca8-ekq.ln1@svn.schaathun.net> <1skda8-3as.ln1@svn.schaathun.net> <4vlea8-55t.ln1@svn.schaathun.net> <0q3ga8-s2v.ln1@svn.schaathun.net> Date: Thu, 19 May 2011 17:56:12 -0700 Subject: Re: obviscating python code for distribution From: geremy condra To: Hans Georg Schaathun Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: python-list@python.org X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 67 NNTP-Posting-Host: 82.94.164.166 X-Trace: 1305852977 news.xs4all.nl 49042 [::ffff:82.94.164.166]:33840 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:5801 On Thu, May 19, 2011 at 11:23 AM, Hans Georg Schaathun w= rote: > On Thu, 19 May 2011 10:23:47 -0700, geremy condra > =A0 wrote: > : =A0Let me get this straight: your argument is that operating *systems* > : =A0aren't systems? > > You referred to the kernel and not the system. =A0The complexities of > the two are hardly comparable. I don't know about that. Among the many verified microkernels, at least two projects have formally verified both their kernel and their toolchain, and one of them claims they've verified everything in their TCB and are headed towards verified POSIX compliance in 2012. That would seem to be a fairly large system (and definitely a complete OS) to me. Another (seL4) says they've formally verified security of a complete system that includes a userspace and the ability to run other OSes in fully isolated containers, which also seems to be quite complete. Finally, there's one from Microsoft research that claims similar properties but which apparently isn't interested in compatibility, which I'm not sure how to interpret in terms of usefulness and size. In any event, higher level systems- like electronic voting mechanisms and automotive sensor networks- have also been verified, which seems to run counter to your original point. Also, not sure if it's open to the general public but if you're interested in this kind of thing and live near seattle, I think there's actually going to be a talk on verifying a POSIX userspace implementation here tomorrow. TL;DR version: large systems have indeed been verified for their security properties. > There probably are different uses of system; in computer security > literature=B9 it often refers, not only to a product (hardware/software) > an actual installation and configuration of that product in a specific > context. =A0/I/ did not redefine it. You chose a word with a many meanings, used it to make a very broad statement which is only a little bit true, and then pretended that you had the One True Definition in your pocket. I don't think that's legitimate, but whatever; let's just say that we meant different things by the word and drop it. > Speaking of reasonable assumptions, one necessary assumption which is > particularly dodgy is that whoever deploys and configures it > understands all the assumptions and do not break them through ignorance. Yup. Nothing is safe from idiots. > Is your concern with security purely from a developer's viewpoint, > so that you don't have to worry about the context in which it will > be deployed? My viewpoint is that of an attacker, since that's more or less my job. > I read your initial comment to imply that if you cannot get satisfactory > assurance using the lower levels, you won't get any at the higher > levels. =A0That does not make any sense. Well, this is kind of like my point. My point was that you really don't get anything at the lower levels, and that they should fix that (which is far more useful to a normal consumer) rather than trying to talk about formal verification and similar tools, which are only going to be used on a tiny fraction of products. Geremy Condra