Shipping Executables

Steven D'Aprano steven at REMOVE.THIS.cybersource.com.au
Tue Feb 16 21:11:15 EST 2010


On Tue, 16 Feb 2010 13:41:21 -0800, rodmc wrote:

> Hi,
> 
> I have been merrily programming away in Python now for a few years and
> have a couple of applications I would like to possibly publish at some
> point - with the exception of certain libraries they are more or less
> 100% Python. However I have read elsewhere online that Python due to
> it's architecture is not so good for this, especially as it is easier
> for people to hack into the code.

Looks like you are looking to apply the philosophy "No user serviceable 
parts inside".



> Also where software requires some
> security aspects I guess it would also not be much use, is this correct?

Absolutely 100% wrong. It is an fundamental principle of security that 
you must not assume that the enemy is ignorant of your procedures. 
"Security by obscurity" is not security at all.

See, for example:

http://en.wikipedia.org/wiki/Kerckhoffs'_Principle

If you are trusting that your software will be secure because people 
cannot read the source code, you have already failed. Hackers break into 
computer systems without the source code as a matter of course: allowing 
the source to be available generally makes so little difference as to be 
no difference. Worse, keeping the source code secret *as a security 
measure* lulls people into a false sense of security, letting them use 
weak security confident that since nobody knows how weak it is, it will 
be strong. That's not how it works.

If you have other reasons for wanting to keep the source code secret, 
that's one thing. But doing it because it is more secure is foolish: 
software simply isn't more secure when supplied as a binary instead of 
source code.


> Anyway I would appreciate any views or tips that people have?

Don't worry about it. If your application is secure, it will be secure 
even if everybody knows how it works. If it's not secure, then the bad 
guys will learn how it works even without the source code.



-- 
Steven



More information about the Python-list mailing list