Selling Python Software
Andrew Dalke
adalke at mindspring.com
Tue Nov 4 16:03:09 EST 2003
More information about the Python-list mailing list
Tue Nov 4 16:03:09 EST 2003
- Previous message (by thread): Selling Python Software
- Next message (by thread): Selling Python Software
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Bengt Richter: > Even if you knew exactly where on a chip to look, and it wasn't engineered > to have the key self-destruct when exposed, what would you do with the key? As I mentioned, I'm not a hardware guy. What I know is that trying to hide code on a chip is open to its own sorts of attacks and that at least some companies which have tried to do so (like pay-TV companies) have had their systems broken, and not broken by the efforts of a three letter agency. > That was then. Yup. Crypto software is notoriously hard to write. Even with the good libraries we have now, people make mistakes and misuse them. Similarly, while it people can make chips that are hard to decode, doing so in practice is likely to be even harder. > Plus remember this would not be an isolated card chip that you can > probe, it's one or more specialized cores someplace on a general purpose > multi-cpu chip that you can't get at as a hobbyist, because opening it without destroying > what you want to look at requires non-hobby equipment, by design. Then perhaps a small business instead of a hobbyist. Still doesn't require large government-based efforts to crack it. > Changed a conditional jump to unconditional? Some schemes aren't so > static and centralized ... That's what I did for that one. Another time I was working for a company. We were shipping a time-locked program and had forgotten about it (there was a big lay off a few months before I came in). Then one day our customers started complaining that it wasn't working. The builds were done at another site, so as a backup plan I figured out how to break our own scheme. In that one I looked for the time call then added some code to shift the return value some arbitrary time in the future. > I once ran into a scheme that IIRC involved a pre-execution snippet of code that had to > run full bore for _lots_ of cycles doing things to locations and values in > the program-to-be-executed that depended on precise timing and obscured info. Another one is the code in an old copy of MS Windows which gave a warning message when run on top of DR-DOS (which had about 1/300th of the marketplace). See http://www.ddj.com/documents/s=1030/ddj9309d/ But these are defeatable. For example, run the program under an emulator, save the state after the license check occurs, and restart by reloading from that state. Or write a wrapper which intercepts all I/O calls and returns the results from a known, good call (a replay attack). The system you propose seems to require a lot of changes to how existing computer hardware is built, so that people can attach dedicated compute resources. It's definitely an interesting idea, and not just for program hiding. But a big change. I'll end with a quote from E.E. "Doc" Smith's "Gray Lensman" (p10 in my copy) Also, there was the apparently insuperable difficulty of the identification of authorized personnel. Triplanetary's best scientists had done there best in the way of a non-counter- feitable badge -- the historic Golden Meteor, of which upon touch impressed upon the toucher's consciousness an unpro- nounceable, unspellable symbol -- but that best was not enough. /What physical science could devise and synthesize, physical science could analyze and duplicate/; and that analy- sis and duplication had caused trouble indeed. (I realize this is not at issue and that everyone agrees this to be the case. I just like the quote ;) Andrew dalke at dalkescientific.com
- Previous message (by thread): Selling Python Software
- Next message (by thread): Selling Python Software
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list