Slashdot Mirror


On the (Im)possibility of Obfuscating Programs

sl956 writes: "We all know that anybody using the words 'tamper resistant' to describe a software-based solution is incompetent at best. But some of the big players in the DRM field are believing in software-only protection schemes (see Cloakware, Hitachi, IBM or Intel). A mostly unnoticed paper presented to CRYPTO'01 (Santa Barbara, CA, August 19-23, 2001, LNCS vol.2139) *proved* the impossibility of efficiently obfuscating programs. It is the mathematical proof of the impossibility of a software-only DRM system on an untrusted client such as a PC. There are also a lot of interesting theoretical side-effects. You can read the html abstract here, or the postcript full paper here." The paper is from last year, but that doesn't make its conclusion less interesting. (Of course, even hardware isn't always all that secure, either.)

17 of 215 comments (clear)

  1. sssca by 7-Vodka · · Score: 2, Insightful

    well, if the sssca gets passed, I'm not gonna be the one trying to break any tamper proof software :(

    --

    Liberty.

  2. eh. not good science... by CowbertPrime · · Score: 3, Insightful

    I think the conclusion is at best, obfuscated...
    Yes you can say that obfuscatable programs can not be /generalized/ but that doesn't not preclude obfuscation under very specific conditions. Although they formalized a counter-example to an already special case, which precludes generalization of the concept, that does not mean other specific cases do not apply.

    1. Re:eh. not good science... by mgv · · Score: 4, Insightful

      Although they formalized a counter-example to an already special case, which precludes generalization of the concept, that does not mean other specific cases do not apply.

      Of course, mostly the DRM people are interested in making things sufficiently hard to do, not impossible.

      They are driven by profit, not purity of outcome, so if a scheme costs more to run than it delivers, it will not be used.

      Likewise, tweaking a DRM system to maximise returns involves evaluating the cost of the DRM system itself, and the hassle it gives to legitimate customeers. Just having a 100% success rate means nothing if you only have 2 customers left.

      Michael

      --
      There is no cryptographic solution to the problem where the intended receiver and the attacker are the same entity.
    2. Re:eh. not good science... by zapfie · · Score: 1, Insightful

      Exactly. You will never stop all people from breaking it, but as long as you make it sufficiently hard to do, most people won't bother trying to break it. It's kind of like mail in rebates versus instant ones.. even adding a simple step like mailing a form in for your rebate will greatly reduce the number of people who actually bother going for the rebate.

      --
      slashdot!=valid HTML
  3. Yes, this is actually a problem... by gnovos · · Score: 5, Insightful

    ...because it means that the ONLY recourse for these money hungry bastards in the "content industry" (is legal prostitution considered and "industry"?) is legislation. As long as they can be fooled into thinking that Mr. Wizbang's new ROT-14 encryption scheme is uncrackable by all but the most devious of minds, they will relax and let themselves sink slowly into the mire of contentment that will someday be thier graves. But when people come around spouting off how impossible it is to have DRM on "untrusted" machines, the only solution is legislate trust into all the machines in the most draconian and Brotherly way possible.

    PLEASE somone start publishing papers on how all digital content can be protected by XORing it with the number 0x42 and will be secure as such for decadeds to come.

    --
    "Your superior intellect is no match for our puny weapons!"
  4. It was obvious before they proved it. by Henry+V+.009 · · Score: 5, Insightful

    It was already obvious that this was true.
    Quick proof:
    1)A software-only DRM system attempts to make a product run in cases where it is not a copy.
    2)It makes it's decision based on information content of some kind.
    3)A copy will perfectly replicate all information content. (If it can't, then you don't need DRM.)
    4)If a copy has the same information content as the original, then the DRM cannot distinguish between the copy.
    5)Therefore DRM has no way to shut down only the copies.
    6)The only way to make DRM work is to have some sort of information that is impossible or very much harder to copy. Thus, the web-activation type scheme, although IP packets could easily be spoofed.
    7)God, I should have published this years ago, if it weren't so GODDAMN OBVIOUS!

  5. Bad news for .NET Programmers... by Anonymous Coward · · Score: 1, Insightful

    ... if they want to use the features of "late-compiling". IL reads very easy, and there are some obfuscators around. :-)

  6. "Tamper Resistant" by JohnBE · · Score: 5, Insightful

    I don't want to be a pedant, but resistant doesn't mean immune in all contexts, it also means "the attempt to prevent something by action or argument" [or something to that effect - I don't have a dictionary within reach].

    So tamper resistant isn't an absolute statement and often refers to the ability to buy time. However many companies (typically the saled dept.) often refer to it as though it buys *complete* piece of mind, yet even physical bank safes are rated by time to resist cracking/breaking.

    I think this paper is good because it means that PR claims can be provided with a counter argument from a third party that provides a proof. However I think that anyone using the word tamper resistant is not an imbecile, I think that anyone who uses it in the context of tamper-proof is an imbecile. Resistant has so many contexts.

    --
    e4 e5
  7. Everything can be cracked by neonstz · · Score: 5, Insightful

    If a piece of software (with some kind of copy-protection) runs on a computer, it can be cracked to run without that protection. Tools such as Procdump will start the program, and after the user has clicked yes on a nag box and the program is decryptet, procdump will scan the memory and rebuild the executable.

    If a movie or music file is protected by some encryption it still has to be decrypted to be played. There are many ways to crack this. Crack the encryption, intercept the data stream after it has been decrypted or just record the analog stream. A small quality loss, but with no protection at all. I remeber reading an article by Tron Øgrim, where he had interviewed a boss in a publishing corporation or something like that about DeCSS and ways to protect digital data (movies in this case). He asked if they had some way to stop people from just using a camcorder to record the tv, and the boss-guy said no, and I had the impression that they just hadn't thought of it. They can protect their movies and music with super-strong encryption, but people still have to be able to watch the movies or listen to the music. If people can watch or listen to it, they will be able to record it.

  8. Trivially obvious surely? by geoff+lane · · Score: 4, Insightful

    All programs have to be "interpreted" by something when run. Usually it's a hardware CPU but it could just be a good software emulator. If a program is running on a s/w interpreter emulating a CPU it's trivial (though lengthy) to determine the algorithms and data used by the program. It doesn't matter how hidden the code and data are, when they hit the CPU they must make sense.

  9. Its all time, cost & effort based by WyldOne · · Score: 3, Insightful

    Its the reason that 40 bit encryption of no longer considered secure. And why RSa is secure with 1024 bits for now.

    When beowolf clusters came out (obligitory reference) lots of 'unbreakable' encryption was considered suspect (eg DES) Any encryption system is only secure for a limited amount of time. When new hardware/software comes out the limit is shortened.

    I remember a hardware 'key' system that plugged into the parallel port, and all the circuitry was encased in a solid block of black plastic. It was broken by sampling the data in & out then wedged itself in and emulated the hard key (software replaced hardware). The real trick is to spend a resonable amount of money to protect your data/programs for what you might get in monetary compensation. Eg don't put a $40,000 dollar lock on a $2 product.

    I think the real question is this: what are they trying to protect, and for how long? Could you guarantee that some code would get 5 yrs of time where the encryption is unbreakable? A twisty mind may think up a interesting 'unbreakable' codec, but a differently twisted mind can crack it.

    --

    make Linux, not Microsoft. sin(beast) = -0.809016994374947424102293417182819
  10. An expanded take. The maze analogy. by CptnKirk · · Score: 4, Insightful
    For folks who liked the maze analogy, lets take a look at this scenario again.

    The first time a traveling salesman walks into my living room, I complain to my maze provider. He then releases Labyrinth 2.0. Instead of a maze of brick, the maze is now full of mirrors.

    Of course this maze is foiled by crafty salesmen who lay breadcrumbs and place markings on the ground to indicate where they'd been (sure they could have done this before, but lets say they didn't).

    So again I complain and the maze provider offers another solution. But this time the maze provider does something new. Labyrinth 3.0 offers support for trolls who live under the maze and can rearrange the markings and discard the breadcrumbs left by the salesmen. You can buy the trolls from the maze provider as well as troll food each month.

    Now I've paid for 3 versions of my Labyrinth security product, and am continuing to pay now for trolls and food on a per month basis. My maze provider is now a huge corporation. Should they have to pay if their supposed security system fails?

    What if they knew all along that the maze technology was insecure and that no matter the obfuscation there was always a way an intruder could enter your house through supposedly legal means (assume that simply using the maze fairly is not illegal). If it can be shown that the maze provider knew ahead of time that maze tech was inherently insecure and that while the upgrades seemed to fix security holes as they were discovered, that these types of holes would always be present and are indeed unfixable. Should a company be allowed to continue to "upgrade" their technology and make even more money, while they know their product will never be fit for this particular purpose?

  11. Reverse-engineering of chips, in practice. by eddy · · Score: 3, Insightful

    Want to know what is possible? Want something to think smile about when you hear about the latest and greatest smartcard system? Just curious about how one actually can go about rev-eng'ing a chip?

    You owe it to yourself to read the following paper: Design Principles for Tamper-Resistant Smartcard Processors and check out the slides for lots of interesting pictures.

    Everything from how you use acid to remove the packaging without destroying the chip logic itself, to the actual microprobing to extract information from the circuit.

    --
    Belief is the currency of delusion.
  12. Re:An expanded take. The maze analogy. by markmoss · · Score: 3, Insightful

    The only thing that could come from this is a lawsuit for misleading advertising, and then only if the company advertised the maze as completely secure.

    But a certain software company is advertising that it's latest server software is completely secure, and will run long periods unattended. The default installation turns out to be wide open, and I rather suspect that the servers will have to be rebooted far more often than is true of well-tuned installations of several competing products, two of which are _free_. The problem here is that American courts will generally figure that obfuscated phrasing in the fine print of contracts override public claims like this...

  13. But it is possible by Great_Geek · · Score: 3, Insightful

    First of all, let me state that my day job is CTO of Cloakware (as mentioned in the post - the leader in Tamper-Resistant SOftware, along with some other 2-bit companies :-) This is actually jumpping the gun on some announcement that we are about to make (but those will be mostly PR pieces that are of less interest to this audience).

    I like to make several points:
    - what the "(im)possibility" paper says
    - "we all know" does not mean its true
    - lots of other published works
    - resistance is not an absolute thing

    timothy has mis-understood the importance of the "(im)possibility" paper. The breakthrough is that this is the first real theoretical treatment of obfuscation. They show that it is not possible to build a totally automated system that is Really Secure (to vastly over-simplify, they construct program that actively leaks a single bit and then show that no obfuscation program can protect this program against itself). This is really interesting but not directly applicable to what we do - we work with our OEM customers to help design the system, the protocol, the programs so that all the pieces are working together; then we "cloak" the critical pieces. (I spoke to some of the authors before the conference, and many Big Names during Crypto'01; I think it is fair to say that most knowledgable people have this view).

    As to the "we all know" truism; it is clearly not true. Real life examples abound - any old, large software system is hard to fix since people don't understand the relations between modules (i.e., the market for reverse-engineering tools). These systems are Tamper-Resistant. The well know IOCC (International Obfuscated C Contest) is another good source of Tamper-Resistant programs. In a manner of speaking, the goal of Cloakware is to achieve this Tamper-Resistance on-demand, for easily maintained code.

    The "(im)possiblity" paper is breakthrough on the theory side, but many other people (including us) have published on the practical problems. Some names include Cohen, Collberg, Forest, Wang, Knight. There are many schemes that are reducible to various complexity classes, usually NP-complete and we have one that is PSPACE-hard. All of these papers are correct, there is no conflict.

    Lastly, "security" is not binary and has many different attributes. Each application has its unique requirements. For example, diplomatic files are protected for many decades or centuries; a Britney Spear song probably needs only a few months; real-time stock market quotes for 15 minutes. Factors like Usability, Speed, Deployment are often more important than raw security.

  14. Re:Isnt this obvious? by Score+Whore · · Score: 2, Insightful
    We all know that anything readable by a machine is readable by a human (ie cracker) in some shape or form and therefore is crackable.


    Yes, but you are missing an important point: if the people creating the obfuscated code are orders of magnitude more intelligent than the crackers, it is impossible for them to create protection that can't be broken. Unfortunately for the industries that want this kind of protection, the really really smart people typically don't get into computing.
  15. Re:software protection by Anonymous Coward · · Score: 1, Insightful

    Sheesh, it's not like he's running for office! Besides, if "The problem is that I trusted others not to distribute this," he said. "There were four or five people that I gave it to...The real truth is that I never released this program." is true then it's just the case of a practical joke that got a life of its own.

    Do you realize how many tojans and other malicious software is out there and nobody knows (by full name) who wrote it? How dumb would you have to be for them to know who you are if you're trying to screw over thousands of people like that?

    Don't be such a jerk.