Slashdot Mirror


New Software To Balance Privacy and Security?

An anonymous reader writes "Claiming to provide both security and privacy, researchers at UCLA say they have developed a system to monitor suspicious online communication that discards communications from law-abiding citizens before they ever reach the intelligence community." From the article: "The truly revolutionary facet of the technology is that it is a new and powerful example of a piece of code that has been mathematically proven to be impossible to reverse-engineer. In other words, it can't be analyzed to figure out its components, construction and inner workings, or reveal what information it's collecting and what information it's discarding -- it won't give up its secrets. It can't be manipulated or turned against the user."

82 comments

  1. Evil potential here by ribuck · · Score: 5, Insightful
    That means lawful U.S. citizens who don't fit the parameters are automatically ruled out.

    It also means that lawful citizens who do fit the parameters are reported on. The same as if the agencies are grepping.

    a savvy person may be able to tell that the program is running in the background ... by distributing this software all over the Internet to providers and network administrators, you can easily monitor a huge data flow

    How will this software be "distributed"? Virus? Payload in a Sony rootkit? Thousands of patriotic sysadmins? Plenty of potential for evil to be done here!

    1. Re:Evil potential here by Isao · · Score: 1
      That means lawful U.S. citizens who don't fit the parameters are automatically ruled out.

      And this says almost nothing. The following would also be true:
      . Unlawful U.S. Citizens who don't fit the parameters are automatically ruled out.
      . Lawful U.S. Citizens who fit the profile are automatically rules in.
      . Unlawful non-U.S. Citizens who don't fit the profile are automatically ruled out.

      And equally content-free.

      So one state we want, plus three we don't, equals...

      To be able to judge the value of this, we'd need a count of how many fall in each category. Schneier reminds us that we have no way of reliably determining intent.

  2. This magic software only finds bad guys? by BadAnalogyGuy · · Score: 2, Insightful

    If that isn't putting the priest in charge of Sunday School, I don't know what is.

    The problem is not Privacy vs. Security. You will never have Security. Not yours. You can have privacy, though.

    The problem is, and always has been, balancing privacy and convenience.

    1. Re:This magic software only finds bad guys? by WoodieR · · Score: 1

      you can have a strong level and measure of security, the age of privacy has ended

      --
      Question Authority before IT questions You ...
    2. Re:This magic software only finds bad guys? by clydemaxwell · · Score: 1

      the age of privacy has ended?
      you're going to hell.

      --
      Browsing with classic discussion, noscript, at -1 and nested
      no hidden comments and I only mod UP
  3. Scary, but encouraging... by themysteryman73 · · Score: 0, Insightful

    This new development both scares and encourages me. This is a step forward in surveillance, which involves watching people, eventually probably watching all of us. Fortunately, though, that would have an upside in that people can't get away with things when they're caught red handed... Unless they have some really good lawyers. Anyways that's just my two cents.

    1. Re:Scary, but encouraging... by vandon · · Score: 1
      A secret filter inside the box dismisses some data as useless and collects only relevant data according to the confidential criteria that can be programmed into the software

      Who wants to bet the secret filter might end up being /.*/
  4. spin doctors by Hakubi_Washu · · Score: 5, Insightful

    So, it collect all data fitting into the criteria set by the agency without any chance of anyone ever knowing what those criteria were? How is the "law-abiding" citizen to know he's not accidentaly fitted one? They say it improves privacy, but it actually removes it, since you can never know you've not been deemed a "terrorist".

    1. Re:spin doctors by zxnos · · Score: 1

      wait for there to be a 'disturbing trend' of -insert vice here- and the law abiding citizen is no longer...

      --
      always mosh clockwise
  5. What good is this? by NoMoreNicksLeft · · Score: 4, Insightful

    So, when I take my case to court, that they're illegally intercepting my communications just to look for dirt to ruin my political campaign, it's impossible to reverse engineer and prove that they were only looking for terrorists?

    I mean, the captured documents could already have been altered, no way to prove that they didn't, now.

    Not to mention the way it works amounts to what is essentially an eternal wiretap of everyone, guilt, innocence and suspicion matter not.

    1. Re:What good is this? by rtb61 · · Score: 1
      Oh it's not for everyone, it's never for everyone, the few as selected by that institution pretending to be your government will never have a problem avoiding it.

      Is this blogvertising, crappy possible software that promises the world but really only delivers a large amount of funding to a particular group of individuals.

      To me it sounds just like your typical advertising spyware (now didn't the department of homeland security hire that particularly nasty fellow of spyware fame, are we now starting to see the results).

      --
      Chaos - everything, everywhere, everywhen
  6. Mathematical proof of code is a tough business by javaDragon · · Score: 5, Insightful
    Their greping thing is not interesting per itself, but I'd like to see this:
    [...]a new and powerful example of a piece of code that has been mathematically proven to be impossible to reverse-engineer[...]
    I'd like to see the demonstration. Until such time, I call bollocks and I refuse to believe an "impossible to reverse-engineer" piece of code ever exists.
    --
    -- javaDragon is an instance of JavaDragon.
    1. Re:Mathematical proof of code is a tough business by Anonymous Coward · · Score: 0

      That statement says one thing to me. Haskell. The only vaguely practical language I'm aware of where the code is capable of being proven mathematically. It's called "proof-carrying code".

    2. Re:Mathematical proof of code is a tough business by Ckwop · · Score: 4, Interesting

      I'd like to see the demonstration. Until such time, I call bollocks and I refuse to believe an "impossible to reverse-engineer" piece of code ever exists.

      I second your bullshit and raise! The problem with proofs such as this is that they assume broad axioms that in reality might not be true in the hardware. For example, they may well have proved the theorem if they assume all operations of a certain set take the same length but in reality they might not. The processor might take a ten billionth of a second longer to do one operation than it does another, or it might release more heat when it does one operation than it does when it performs another, or it might release a certain magnetic field when it does one operation and not another.

      Side-channel attacks, as these are called, are often totally devastating. There was one attack where simply heating the computer up can cause a system to get owned. If the proof is correct, it's certainly interesting but practically we're a long way from getting to this gold standard.

      Simon

    3. Re:Mathematical proof of code is a tough business by wannabgeek · · Score: 3, Insightful

      I think you misunderstood. They did not prove what the program does. They claim they have proven that the it cannot be determined by other what the program does.

      --
      I'm much more funny, interesting and insightful than the moderators think
    4. Re:Mathematical proof of code is a tough business by Anonymous Coward · · Score: 0

      What about Clean, then?

    5. Re:Mathematical proof of code is a tough business by Chris6502 · · Score: 1

      Reading the article it seems to me that they are talking about a TPM/TCPA/palladium type application. If running on a TPM equipped machine then debugging is no help nor is a decompiler. The OS either won't let you run the debugger or decompiler while this programme is running or will refuse access to the secure memory area where it is running. Cracking the "secure box" where the data is stored is simply a case of breaking whichever type of strong encryption is used. The same goes for trying to decrypt the code itself. Good luck with that :(

      As to mathemtaical proof? If they are really referring to the mathematical difficulty of decrypting the code in order to decompile it I would hardly call it proof but I'll leave that argument to philosophers and those more knowledgeable in the field.

      --
      UNIX: 'cuz you can tattoo it on your knuckles!
    6. Re:Mathematical proof of code is a tough business by jonadab · · Score: 1

      > They claim they have proven that the it cannot be determined by other what the program does.

      Yeah, but it's a totally bogus claim. I want thirty minutes in a room with the "mathematician" who "proved" this and a blackboard. It isn't possible to make code that can't be reverse engineered because, fundamentally, the processor that executes the code has to know what the low-level operations are in order to execute them. Quite aside from that, in order to prove that code can't be reverse-engineered, you'd have to define in mathematical terms either what reverse engineering is or how it works. Any such definition is likely to have substantial holes in it.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    7. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 1

      Until such time, I call bollocks and I refuse to believe an "impossible to reverse-engineer" piece of code ever exists.

      They're solving the problem of program obfuscation for a certain class of programs. It's known that obfuscation is impossible in general, but for certain classes of programs (like "check if the input text equals a specific string") it can be done. (If you're willing to believe some new, non-standard number theoretic assumptions that seem plausible.)

      Yes, it is tough to prove that the obfuscator really works correctly. However, there are very good, rigorous definitions of what obfuscation means, and these definitions are independent of computer architecture/tracing the code execution/whatever. The definitions are very strong, and if you can rigorously prove that your obfuscation scheme satisfies them, then you really do have strong assurances that the code can't be reverse-engineered.

    8. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 2, Interesting

      The problem with proofs such as this is that they assume broad axioms that in reality might not be true in the hardware.

      Nah, side-channels have nothing to do with it. Even though the article doesn't mention it, the authors are doing rigorous program obfuscation. In the security model for this problem, the adversary gets access to the code and can do whatever he wants to it: run it (on whatever architecture he pleases) on different inputs, insert or delete instructions, slow it down, speed it up, whatever. The definitions are totally hardware-independent. With all this power, the adversary still cannot learn anything about what the program does, other than what he could learn by having "black-box" access to whatever function the program computes (i.e., we allow him to pick inputs and see the correct outputs).

      The only catch is the proofs of security usually make some non-standard assumptions about number-theory problems (think RSA, but much weirder). These assumptions are independent of computer architecture, and only relate to whether certain abstract mathematical problems are easy or hard to solve.

    9. Re:Mathematical proof of code is a tough business by wild_berry · · Score: 1

      That's why I'm reading the paper these guy published. Scholar.google.com provided listed it first; The IACR's e-print archive is kind enough to supply the full postscript document...

    10. Re:Mathematical proof of code is a tough business by stg · · Score: 1

      mathematically proven to be impossible to reverse-engineer

          I imagine they are using something like Bruce Schneir's Clueless Agents:
      http://www.schneier.com/paper-clueless-agents.html

          I've read the paper a few years ago, but the gist of how it might work in this case is that instead of the agent comparing the actual keywords to a database, they parse the document and try decrypting some of its code against hashes of the keywords (or, say, sorted sub-sets of keywords).

          That way, even the response behaviour would be "mathematically proven to be impossible to reverse-engineer" until it reacts. The only way to know what it's looking for is discovering each input it reacts for - it could be a huge search space.

          The concept is quite interesting for use in mobile agents. It'd be even more interesting if they were as popular now as people predicted they'd be, though .

    11. Re:Mathematical proof of code is a tough business by AuMatar · · Score: 1

      Ok. But how does this stop me from installing a debugger and using a disassembler to read the code in assembly? And from there using standard reverse engineering techniques to find the interesting parts, and disassemble those? It can't. Nothing is impossible to reverse engineer, because at some point a computer with a known ISA is going to have to interpret it. If the computer can, so can you.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    12. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 1

      But how does this stop me from installing a debugger and using a disassembler to read the code in assembly?

      It doesn't, and it's doesn't try to. You are allowed to have full access to the obfuscated code. Still, having all this access doesn't allow you to learn (for example) what strings the code is "grepping" for in the input. Whether there is a match or not, the execution path of the code remains the same, but it produces different outputs.

      If this sounds like magic, yes, it pretty much is. But so does public-key cryptography to most people, and there are ways to do that too.....

    13. Re:Mathematical proof of code is a tough business by AuMatar · · Score: 1

      But it must be searching for a match to something- for example, a hash with a known algorithm. This something must be unique enough to have few to no false positives in order for it to be useful. Due to that combination of qualities, you could find out what hash they were looking for (or whatever they use in place of a hash) and do a dictionary attack to find what it matches. Or feed it large amounts of fake data on a local network (so it can't report back) and find out by trial and error.

      There's always a way.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    14. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 1

      In fact, these matching algorithms are done in a way much similar to password hashing (though they require much more sophistication).

      You mention a dictionary attack, which is certainly something an adversary could attempt. There are two models: in the "plain" obfuscation model, a dictionary attack may succeed, but this doesn't break anything -- if you were given a black-box that truthfully answers "is the password X?" then you could also run a dictionary attack on that. So that doesn't count as "figuring out how the code works."

      In the other model, the output of the program is encrypted, and the adversary doesn't know how to decrypt it (but a third party does). This is akin to getting a black-box that takes inputs, and outputs nothing to the adversary (but still performs some computation on the input and gives it to a third party). In this model, a dictionary attack doesn't work, because you never get confirmation of whether your guess is correct. Still, the third party who decrypts the output learns all of the inputs (or just the ones that the program flags), without the adversary knowing how that flagging is being performed, or what terms are being flagged.

    15. Re:Mathematical proof of code is a tough business by AuMatar · · Score: 1

      It doesn't work like that. At some point in the program, the program does a check equivalent to:

      if(hash(word)==hash_were_looking_for)

      This will translate into machine code as being a cmp, followed by a conditional branch (with a bit more cruft, it won't be quite that simple but there has to be a branch somewhere). We know wether we got a hit by which branch we follow- the path we follow 99.99999% of the time is the no match branch. The path we follow once in a blue moon is the match branch. So by seeing which branch we take, we know wether we got a match or not.

      Like I said- if it runs on a device with a known ISA, it is going to be reversable.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    16. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 1

      It doesn't work like that. At some point in the program, the program does a check equivalent to:

      if(hash(word)==hash_were_looking_for)


      The code doesn't have to do any such thing, and you are arguing from incredulity ("I don't see how it could be done any other way"). Fortunately, solid mathematical proofs destroy this fallacy.

      In the "plain" obfuscation model, it is not successful reverse-engineering to discover when you've got the correct password, because you can discover that when you have a black-box too.

      For "public-key" obfuscation, the output is an encrypted answer, and none of the branches reveal any useful information about the output or whether the input matched the desired words. Calculations just proceed unconditionally on encrypted values, without any explicit tests or branches being performed on the unencrypted data itself. Read the paper if you don't believe it.

    17. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 1

      Here is the money quote from the paper:
      "both matching and non-matching documents appear to be treated precisely the same way. The machine, or anyone else who views the execution is totally unaware if condition is satisfied, as it is executed as a strait-line [sic] code, where condition is never known unless you can break the underlying encryption scheme."

      So, there are no conditional statements in the resulting code.

    18. Re:Mathematical proof of code is a tough business by AuMatar · · Score: 1

      That shows an utter lack of knowledge of processors. There IS a branch, unless you're coming up with a type of ISA that does not currently exist on the market. At some point, you need to output A if its true or B if its not. That REQUIRES a branch, or setting a predicate register. Both of these can be detected. It is NOT possible to make it non-reversible.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    19. Re:Mathematical proof of code is a tough business by cpeikert · · Score: 1

      C'mon, now you're showing an utter lack of knowledge of this work.

      Of course every processor has branch instructions. But the obfuscated programs don't ever use those branch instructions -- at least not when comparing the input to the desired keywords. You do acknowledge that it is possible to write a computer program that doesn't perform any branches, don't you?

      As I've said several times before, the output is basically an encrypted yes/no bit. However, there is no place or time in the program execution where this bit is every explicitly computed. Instead, the output ciphertext is constructed implicitly, via clever number theory, as the program runs -- in a straight line, without any branches. This theme of computing implicitly on ciphertexts is actually quite common throughout cryptography in other applications.

      Look, you don't have to believe me; read the paper. The introduction is quite accessible and gives good intuition about how this can be possible.

    20. Re:Mathematical proof of code is a tough business by Money+for+Nothin' · · Score: 1

      I second your comments. That claim reeks of bullshit.

  7. The software is infallible by Anonymous Coward · · Score: 1, Funny

    Mrs. Buttle. And the Agency will compensate you for any errors, should we determine we are capable of one.

    Secret evidence, secret law. secret court. Secret Government.

    1. Re:The software is infallible by Directrix1 · · Score: 1

      America is quickly becoming a scarier version of Brazil.

      --
      Occam's razor is the blind faith in the natural selection of least resistance and in universal oversimplification. -- EF
  8. Social Engineering by mwvdlee · · Score: 2, Insightful

    So, it has been mathematically been proben impossible to reverse engineer... has it also been mathematically proven impossible to socially engineer?

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Social Engineering by jonadab · · Score: 1

      > So, it has been mathematically been proben impossible to reverse engineer...
      > has it also been mathematically proven impossible to socially engineer?

      I'd like to see a definition of reverse engineering that excludes social engineering without making a special exception for it. Any such definition would be so narrow that it would also exclude numerous other common types of reverse engineering. (No, it won't do to say that the information obtained by the process has to be obtained directly from the item that is being reverse engineered. Such a definition excludes several common types of non-social reverse engineering, e.g. wherein timing and network traffic are analyzed.)

      Obviously it hasn't been mathematically proven to be impossible to social-engineer, has it? Given that, it follows almost as a correllary that it also hasn't been mathematically proven to be possible to reverse engineer, given any reasonable definition of "reverse engineer". The claim sends the needle on my bogosity detector spinning.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    2. Re:Social Engineering by lhand · · Score: 1
      has it also been mathematically proven impossible to socially engineer?
      Give me some time with the guy in charge of the program, a wooden chair, some duct tape, a pair of pliers, and a ball peen hammer. I'll tell you exactly what the program does.
  9. Like the Stasi? by frinkacheese · · Score: 2


    And who gets to define what a "law abiding" citizen is? It may be OK now but what happens when the law is that you do not oppose the state, whoops, too late, there is already the infrastructure in place to find out where those damned pro-democracy scum are and what they are upto.

    Next, when we're all watching TV and doing our VoIP on the net, all have our home security systems on the net then the government 'sees' everything, 'knows' everything and you have entered into the police state where you can't even move without it being reported on.

    1. Re:Like the Stasi? by DrSkwid · · Score: 2, Interesting

      My only option is to recall Nazism, so please don't apply Godwin's Law to this =)

      Prior to the occupation of Europe, Dehomag (IBM's European Subsidiary) tabulated the census data of unoccupied European Countries at their behest. This seemingly innocent data was then co-opted by the Nazi state, with the help of IBM. IBM had recently introduced Hollerith machines and the Nazis were IBM's best punch card customer. In 1937 Thomas J. Watson was decorated by Hjalmar Schacht, the Nazi Economics Minister with the Merit Cross of the German Eagle, whilst draped in Swastikas at a party thrown by Goebbels, at a cost of 4 million Reichsmarks, in front of 3000 people on Peacock Island, Berlin.

      Census seems like the most innocent seeming question of all : who are you ?

      What do you do, exactly ?

      Is not a question I feel like anyone has the right to just know. Humans lie all the time "I can't, I'm busy" or "Sorry I'm late" or everyone's favourite "nothing, it's nothing", it is part of getting by.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    2. Re:Like the Stasi? by symbolic · · Score: 1

      You have just pointed out what I believe is one of the THE major issues with information. Once someone has it, there is no telling, or even controlling, who else may acquire it, or otherwise gain access to it.

      Since they can't have what doesn't exist, the best protection is to avoid producing it in the first place. Affording oneself greater protection isn't difficult, but it *is* a matter of shedding some of the conveniences to which people have grown so accustomed. "Dangerously easy", or "inconveniently safer" - take your pick.

  10. Nonsense! by gweihir · · Score: 1

    In other words, it can't be analyzed to figure out its components, construction and inner workings, or reveal what information it's collecting and what information it's discarding -- it won't give up its secrets.

    Maybe they have a mathematical proof that makes reverse-engineering impossible. Fine. But it is still possible to find out what it does in practice, since the nature of the data it processes is known. Just run it in a simulation and see what it does. No reverse-engineering required. From there onwards, it can be turned against the user and manipulated.

    Lesson: Mathematical proofs are fine. But they have a specific scope. Not understanding that scope makes the proof useless and can result in faulty claims about how possible or impossible something is.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Nonsense! by slightlyspacey · · Score: 1
      From the article:

      The filter cannot be broken in the same sense that one cannot crack time-tested public-key encryption functions such as those already used for Internet commerce and banking applications. In that aspect, it's essentially a bullet-proof technology.


      Professor Ostrovsky (cited in the article) has written in the past about public key encryption with keyword search (PEKS). Here's the abstract as well as the paper itself (warning PDF file).

      INAC (I'm Not A Cryptologist), so take my comments with a grain of salt. Given enough time and resources (i.e. distributed processing) any system including those based on public-key encryption can be compromised (unless we're talking about one-time pads or quantum cryptography - and we're not).

      Sometimes though it isn't necessary to break the algorithm, just find ways around it. It's the equivalent of installing a bank vault door on your front door, but leaving the windows open. Does the bad guy have access to the machine that this algorithm is to be run? Could he correlate increased CPU activity/ network output with say the list of open files and the current file pointer locations on that machine? Does the implementation encrypt the message and then do the comparison or does it decrypt the filter and then run the filter against the plain text leaving the filter briefly exposed in memory?

      What about potential abuses? Who has control of the keyword/filter selection and what is to prevent a rogue agent from changing the filter from "nuclear AND improvised" to "cross-dressing AND senator"? etc, etc, etc.
    2. Re:Nonsense! by jonadab · · Score: 1

      > But it is still possible to find out what it does in practice, since the nature of the
      > data it processes is known. Just run it in a simulation and see what it does.
      > No reverse-engineering required.

      Actually, that's one of the most common and useful reverse engineering techniques: run it in a controlled environment and see what it does. The people who are claiming that they have a mathematical proof that this thing _can't_ be reverse engineered are either very dishonest or very ignorant about computer technology, likely both.

      "imposible" is not one of the four words that Schneier said make no sense in the context of security, but it could have been; certainly in this context it means basically the same thing as "unbreakable" or "absolute".

      --
      Cut that out, or I will ship you to Norilsk in a box.
    3. Re:Nonsense! by jonadab · · Score: 1

      > From the article:
      > The filter cannot be broken in the same sense that one cannot crack time-tested
      > public-key encryption functions such as those already used for Internet commerce
      > and banking applications.

      In _what_ same sense. Public-key cryptography relies on the attacker not having any access to the computer system where the private key is stored. Otherwise, it can be broken very very easily. If this filter cannot be broken in the "same sense", it implies only that it cannot be broken by someone without any access to the system running the filter. Is that really all they're claiming? That doesn't seem like a particularly useful or meaningful claim.

      > In that aspect, it's essentially a bullet-proof technology.

      This sentence is grade-A snake oil.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  11. How to run encrypted code without the key? by grimJester · · Score: 2, Interesting

    If it can be run, it can be read. If it can be read, it can be decompiled. If it can be decompiled, it can be understood.

    The core claim in the article is that an attacker with access to the code has no possibility of knowing if a given input will be flagged or not. I can see how someone with access only to the data storage could be prevented from knowing if the gigabyte of noise it stores just changed randomly or if his message was stored there in public key encrypted form. I can _not_ see how the applying of selection criteria can be hidden from someone with access to the code. The code _must_ make the decision on whether to save something or not.

    1. Re:How to run encrypted code without the key? by gweihir · · Score: 1

      If it can be run, it can be read. If it can be read, it can be decompiled. If it can be decompiled, it can be understood.

      Actually it is not that simple. It is possible to make the functionality ununderstandable. Goedel's incompleteness Theorem states that. But for most practical purposes you are quite correct. Especially if the input data set is known.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    2. Re:How to run encrypted code without the key? by stg · · Score: 1

      As I mentioned in another post http://it.slashdot.org/comments.pl?sid=175056&cid= 14558431, I imagine it's something like Clueless Agents.

      So if it's comparing if hashes of keywords match to hash sets, you can't know what it'd match to until it does, even if you have the code (unless you run all possible keyword sets through it, which could be quite a large search space).

    3. Re:How to run encrypted code without the key? by Alsee · · Score: 1
      It is possible. Here's a link to the research paper itself, but it's extremely technical and dense. I wouldn't recommend even trying to read it unless you're extremely familiar with reading this sort of research paper on abstract math and cryptography.

      I can give a an example to illustrate how such a system can work. Of course my example will be extremely simplified... analyzing my simplified system to figuring out what it is secretly tracking will merely be an interesting (and hopefully non-obvious) puzzle, rather than a real cryptographicly secure system.

      For my example, lets took at tracking supermarket shoppers. The keyworks will be Apples, Bananas, Corn, Diapers, Eggs, French Fries, and Grapes. What we want to track are suspicious shoppers making suspicious purchases. We will identify shoppers based on their serial numbered "shopper discount cards". Adam has customer number 1, Bob is 2, Charlie is 3, Dave is 4, Ed is 5, Fred is 6, and Greg is 7.

      Here's the software... Apples have the code number 373. Babanas have the code number 526. Corn has the code number 645. Diapers have the code number 220. Eggs have the code number 407. French Fries have the code number 306. Grapes have the code number 594.

      The software says that for each shopper checkout you add up the codes for the products that they bought, then add the number of items they bought, multiply that by their shopper number, and add that to a running total for the day. Each night you send that total to the FBI, and each morning you start again from zero.

      Our first Monday morning shopper is Charlie (3) buying Bananas (526) and Grapes (594).

      Charlie's shopping list codes are 526 and 594 which adds up to 1120. Then we add 2 for the number of items he bought, makes 1122. Multiply by Charlie's shopper number (3) to get 3366.

      Our next shopper is Fred(6) and he buys Bananas (526), Eggs (407), and French Fries (306). His shopping list adds up to 1239, plus 3 items gives us 1242. We multiply by his shopper number 6 and get 7452. 3366+7452 brings the day's total to 10818.

      Then Greg(7) comes in and buys Apples (373), Bananas (526) and Grapes(594). His shopping list totals 1493, plus 3 items is 1496. Multiply by his shopper number 7 to get 10472. Add that to the day's total and get 21290.

      Dave(4) is a proud new father and confusedly runs in and out three times during the day. First he buys Bananas and Diapers, then comes back and buys Grapes and more Diapers, and then runs in for a third to buy yet more Diapers. All told this brings our day's total to 28430.

      Anyone who wants to take this example as a personal puzzle should stop reading here. The puzzle is to figure out what single food item our software is secretly recording, how it is recording it, and to identify our suspected terrorist.

      Just calculating and sending the number 28430 does not keep a list of everyone and their purchases. There is no way to tell from that number that Charlie did shop that day or what he bought, and no way to tell that Adam and Bob didn't shop at all that day. All of the information we *weren't* looking for is effectively erased, lost in the random sum of all of the shoppers.

      Final warning! Spoiler Alert! Spoiler Alert!

      If you don't know the code I used to create the system, it is nonobvious from looking at that software what information is *was* designed to secretly record. In this case the crypto key to unlock the system is seventeen. When you add the +1 for counting the item itself (for adding in the number of items), the code number for every item except one is a perfect multiple of the key, every code number is an "encrypted" zero when you "decode" it modulo the key. The day's total of 28430 divided by the key is 1672 with a remainder of 6. We ignore the 1672 as random noise and just look at the the "decrypted" remai

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  12. And what are the criteria? by Skreems · · Score: 1

    How much you want to bet that some of the criteria include using encrypted communications and annonymizing proxies and other legitimate security measures that people will start adopting exactly because this kind of snooping system exists? It's a self-fulfilling prophecy.

    --
    Slashdot needs a "-1, Wrong" moderation option.
    The Urban Hippie
  13. Impossible to reverse engineer! by Moflamby-2042 · · Score: 2, Interesting

    ...it is a new and powerful example of a piece of code that has been mathematically proven to be impossible to reverse-engineer...

    Brrrrrr.. spooky! This sounds like an incredible misinterpretation of whatever the original paper/research is actually doing though. Devices may be reverse engineered without even looking inside if you have access to its inputs and outputs and can continually test and hypothesize and retest, etc. A device that distinguishes between 'evil' and 'regular' packets (as input) and outputs a bit that indicates 1='evil' or 0='not evil' (or a floating point degree of evil, say..) is no different. If you have access to the code that runs this particular device running on a router or somewhere packets drift by then obviously the situation can be no worse. I'd definitely like to see the link to this mathematical proof..

    1. Re:Impossible to reverse engineer! by drnlm · · Score: 2, Informative
      Based on the very little information available in the article, this sounds like an offshoot of the work on interactive proofs, and the UCLA professor quoted does indeed seem to have done some work in the field - see http://www.cs.ucla.edu/~rafail/PUBLIC/index.html for his publications.

      A glance at the paper titles suggests "Private Searching on Streaming Data" as being the closest to the original article.

  14. Impossible to reverse engineer? by jonwil · · Score: 2, Informative

    Which CPU does it run on?
    Which executable format does it use?
    Unless its running on dedicated hardware with really strong encryption (and even then, thats no gaurantee), it is possible to reverse engineer any piece of code piece by piece (for example, start with the first instructions the program executes and unwrap it from there). If you wanted to go deep, you could use an ICE or similar (or a software emulator with a built-in debugger that cant be detected from the emulated side)

  15. Here's a more informed article on this software by Anonymous Coward · · Score: 1, Informative
    1. Re:Here's a more informed article on this software by Anonymous Coward · · Score: 0

      I have a hunch about what it is. I don't know how they do it but this is my guess, consisting mostly of holes, based on the description:

      If I am right, there are some misleading words (reverse engineering) in the heading. Obviously, it doesn't matter if you take program apart, the catch is in the algorythm it uses and it is some kind of strong encryption which allows some operation to be performed on data without decryption. If you don't have key, tough luck.

      The input stream is probably immediately and unconditionaly encrypted, the keyword database is encrypted, search operation is done by calculating if encrypted document and encrypted base of trigger words belong to same set. The outcome is encrypted too (not a simple true/false) and all consequential actions (adding, or not adding document into "basket") are encrypted too.

      Let's say, in order to prevent analysys by measuring disk workload or "basket" file size, program must "save" each (still encrypted) document it processes, only some of them are flagged differently, or just pretend to save them... but instead save some dummy filler, encrypted of course.

      The "basket" obviously has to be emptied and/or compacted regularily but it is done in different thread and practicaly unpredictable sequence, so that elimination of fillers or unflagged documents could not help potential analyzers determine when the flag was raised.

      It all works as one large linear algorythm for some calculation, without conditional branches, that's why it is hard to reverse engineer - there is nothing to!

  16. Proof? by egypt_jimbob · · Score: 1

    How can they claim it has been "mathematically proven to be impossible to reverse-engineer" without having first submitted the code to peer review? My house can be mathematically proven to be impossible to break into. But tell that the the guy with the ski mask and the crow bar.

    --
    I am a leaf on the wind. Watch how I soar.
  17. It can't be manipulated or turned against the user by overshoot · · Score: 1
    Of course not -- after all, it's already against the user.

    For crying out loud, this is spyware, by definition.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
  18. What's the bets that VISTA will have it? by advocate_one · · Score: 1
    "With this new technology, based on highly esoteric mathematics, the software can be distributed to many machines on the Internet, not necessarily trusted or highly secure. The software works by analyzing all of the data and then having the appearance of putting all the data into a 'secure box.' A secret filter inside the box dismisses some data as useless and collects only relevant data according to the confidential criteria that can be programmed into the software. And because it's all done inside encrypted code, it's not apparent which, if any, of the data has been selected and kept, except by the person who has deployed the filter and has the decryption key."

    methinks this will be stuck into VISTA and possibly forced onto XP users via a mandatory update.

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  19. One step closer to Big Brother ..... by hurlpigeons · · Score: 1

    Isn't this like profiling? Everything can be reversed. Just wait until the dark side gets a hand in this.

    1. Re:One step closer to Big Brother ..... by vexx0 · · Score: 0

      Good, let the hate flow through you...

  20. Here is the source of all this by digitalrevolution · · Score: 0

    If you have a stomach for cryptography this is the research paper that triggered these claims.
    There is nothing in there about particular software, but it is not surprising one might dream up these claims.
    http://www.cs.ucla.edu/~rafail/PUBLIC/Ostrovsky-Sk eith.pdf

  21. So let me get this straight by Fnord666 · · Score: 1

    This new software selects which communications are of interest to the intelligence community using an undisclosed algorithm. This algorithm "cannot" be reverse engineered. We just have to take the government's word for it that the selection criteria are correct and are unrelated to anyone's personal or political agendas. This will somehow "may ease some of these privacy concerns by making the tracking of terrorist communications over the Internet more efficient, and more targeted, than ever before."? I don't know about you, but it doesn't ease my concerns in the slightest. Just the opposite in fact.

    --
    'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
  22. Yeah, right by MikeRT · · Score: 1

    Anyone want to bet that this "amazing, mathematically proven impossible to reverse engineer" software is going to implicate at least a few innocent people? A major part of the 9-11 problem was that the CIA had all but abandoned human intelligence in favor of the computerized variety. Computers can prove a lot of intel, but only so much and an agency that doesn't rely on agents and contacts in the field is one that'll miss key intel that could be disasterous. Only humans at this point can use intuition. We need that intuition in order to piece together intelligence reports correctly.

    This software will only contribute to the "if you have nothng to hide, you have nothing to fear" mentality. People will ask why you showed up in the sweep if you aren't hiding something. Things like this just undermine guilty until proven innocent and will only serve to make our agencies lazier, not more efficient.

  23. 'based on highly esoteric mathematics' by Anonymous Coward · · Score: 0

    ...said Ostrovsky, before running away in terror from a white cockrel and a plate of beans.

  24. It really is possible to stop reverse-engineering by cpeikert · · Score: 3, Interesting

    Many commenters are claiming "it is always possible to reverse-engineer a program!," using such reasons as "you can always watch the processor perform the instructions and eventually figure it out."

    Let me tell you, as a cryptographer, that these claims are false. The recent field of program obfuscation gives surprisingly strong ways to prevent reverse-engineering, in a very rigorous and strong way.

    Not every program can be obfuscated (this has been proven). However, programs that fit a certain template (like: "check if the input string matches the user's password") can be obfuscated. What this means is that you can give the program's entire code to the adversary -- he can run it on his own computer (no DRM required) on whatever inputs he likes, alter it, stretch it, twist it, whatever. After all this he still will not be able to guess the password, any more than if he had some mathematically-perfect black-box that truthfully answered the question: "is [X] the password?" (Actually the definition is even stronger than this, but that's the gist of it.)

    Yes, this seems extremely hard to do -- after all, the adversary has complete and total power over the code that is running. Yet it can be done, rigorously and provably, if you're willing to believe that there are some number-theory problems out there (like RSA) that are hard to solve.

    For the work described in the article, it sounds like the "black-box" does something like the following: if your input string contains some "watch words," then the output is the same as the input, but encrypted under the government's key. If your input string is "benign," then the output is just "THIS WAS A BENIGN INPUT", encrypted in the government's key -- i.e., it ignores any benign input and replaces it with a placeholder. By running the obfuscated program and looking at the output, you can't tell if the input was flagged or not. Even while watching the program run, you can't tell if the program is flagging the input or not (or learn anything about the government's key). When the government collects the output and decrypts it, it only sees the flagged inputs, as the rest have been ignored.

    As I've said, none of this depends on the program requiring any DRM or TPM or any other specialized hardware. It only relies on the mathematics.

  25. Re:It can't be manipulated or turned against the u by jonadab · · Score: 1

    > For crying out loud, this is spyware, by definition.

    No, spyware by definition runs on the user's computer. I don't think that's the case here.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  26. wow, is this for real? by catahoula10 · · Score: 1

    If this can be done, and i see no reason why it cannot, then wait till the bad guys find out how it works and start to make worms that cannot be reverse-engineered.

    Oh brother.

    --
    This has been another valuable and informative opinion from:
    Catahoula!
  27. Um...WTF by Hard_Code · · Score: 2, Insightful

    Uh, have we entered some new bizarre Orwellian Twilight Zone? So basically an uncrackable secret black box that the government can install on any machine to intercept any traffic with no ability for the surveilled party to repudiate the content (or perhaps even be aware of the surveillance?) is somehow a win for privacy? WTF.

    BREAKING NEWS. The government has devised a fool proof plan to protect your privacy. They will simply garrison an intelligence agent in your house recording everything you do to make sure that the government doesn't inappropriately invade your privacy. (for your own safety please do not attempt to resist; you will have to be beaten to protect your own privacy, after which you will be dumped in a shallow unmarked grave - again for your privacy)

    --

    It's 10 PM. Do you know if you're un-American?
  28. Abiding by the law and mathematical proof. by QuestorTapes · · Score: 1

    > "...researchers at UCLA say they have developed a system to monitor suspicious
    > online communication that discards communications from law-abiding citizens
    > before they ever reach the intelligence community."

    "Law-abiding": which laws might that be? The laws intended to prevent disruption of society, like the ones used to jail many civil-rights activists in the 50s and 60s? The laws that declared a black man couldn't marry a white woman? Or the ones that declared a woman can't own real property?

    Some of the very -best- people are by definition lawbreakers.

    > From the article: "The truly revolutionary facet of the technology is
    > that it is a new and powerful example of a piece of code that has been
    > mathematically proven to be impossible to reverse-engineer.

    That's a very broad statement. I haven't read the proof, so I can't say they're wrong. I will just point out that there are things "proven mathematically" in consumer statistics everyday that just aren't so. There is a difference between "mathematically proven" as used in colloquial speech and "a mathematical proof."

    I wonder which this is?

    1. Re:Abiding by the law and mathematical proof. by flooey · · Score: 1
      There is a difference between "mathematically proven" as used in colloquial speech and "a mathematical proof."

      I wonder which this is?
      Considering it's coming out of somewhere like UCLA, you can be fairly certain it's the latter. In case you're interested, the related paper appears to be at http://www.cs.ucla.edu/~rafail/PUBLIC/Ostrovsky-Sk eith.html.
    2. Re:Abiding by the law and mathematical proof. by QuestorTapes · · Score: 1

      > Considering it's coming out of somewhere like UCLA, you can be fairly certain
      > it's the latter.

      Except for the fact that this is a news piece, not a direct report from the scientists. You never know what the scientists actually said after the reporters get through with it.

      > In case you're interested, the related paper appears to be at
      > http://www.cs.ucla.edu/~rafail/PUBLIC/Ostrovsky-Sk eith.html.

      Many thanks, I'll look it over.

  29. Can't be reverse-engineered, eh? by n6kuy · · Score: 1

    Sounds like Famous Last Words...

    --
    If you disagree with me on social issues, then it's pretty clear that you are a narrow-minded bigot.
    1. Re:Can't be reverse-engineered, eh? by SmurfButcher+Bob · · Score: 3, Insightful

      Oh the funny part - there's no need to reverse engineer it; the guts would be fully described in the resulting Software Patent.

      Worst case, pull an SCO and sue them for violating your stuff, and demand un-obfuscated *everything* during discovery.

      On the fun side, wait until RIAA/MPAA gets their agenda piggybacked into these little boxes.

      --

      help me i've cloned myself and can't remember which one I am

  30. How it works? by quentin_quayle · · Score: 1

    Parent is correct.

    If I understand this correctly, if it's running locally, you can be spied upon successfully, because encryption prevents you from analyzing the operation of the program, yet it has access to all your data (presumably including encryption keys):

    "While a savvy person may be able to tell that the program is running in the background, they will not be able to tell what data is being selected [...] For example, even if Al Qaeda had an extremely knowledgeable programmer and, say, they steal a laptop with this program, they would not be able to figure out which documents were selected and kept inside the 'secure box' and which were not. [...] The filter cannot be broken in the same sense that one cannot crack time-tested public-key encryption functions such as those already used for Internet commerce and banking applications."

    This would necessarily rely on some hardware support, a la "trusted computing"; otherwise you could get at its keys eventually.

    But it would be easy to evade if you control and can trust your own hardware - just prevent it from running locally. If it's running elsewhere, say at the ISP, then use a clean-built system, and encrypt your communications, and the bad guys - i.e. NSA spies, Bush administration, etc. - can see what addresses you connect to, and file sizes and such but not the contents.

    " By distributing this software all over the Internet to providers and network administrators, you can easily monitor a huge data flow in a distributed, cost-efficient manner, and choose only those documents that look promising based on your secret criteria."

    Well, yes, but adept targets can avoid having their data intercepted, by the precautions indicated above, unless they run compromomised systems like Vista or TC-supporting OS's with TPMs.

  31. This is a scam by Master+of+Transhuman · · Score: 2, Insightful

    "Because the code cannot be analyzed, terrorists using the Internet to communicate will never know if the filter has pinpointed their data or not."

    Uhm, excuse me, but this is exactly the situation right now. Since when do terrorists ever KNOW that security is on to them until they're caught? Terrorists take precautions against being detected by ANYTHING. Terrorists with the slightest brains do not talk about operations in the clear at any time. What then is this software supposed to detect? Where is the benefit?

    Supposedly the benefit is that "harmless" communication is never seen by the Fed. Bullcrap. The parameters of the software are SET by the Fed - they can see anything they want. That's obvious from the article as it glosses entirely over the matter of "criteria" in the first place.

    This software would only be safe in the hands of someone who IS safe. In the words of the DRM enthusiasts, it only "keeps honest people honest." And since the criteria is changeable - as well as the appointment (or election) of the people who set the criteria - this is no security at all.

    In the hands of George Bush, Dick Cheney and General Hayden, you're screwed, blued and tattooed.

    This is nothing more than a propaganda piece put out at this time because Bush is in danger of being impeached over the spying issue. That's the bottom line.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  32. Care to offer more information? by Anonymous Coward · · Score: 0

    > Not every program can be obfuscated (this has been proven). However, programs that fit a certain template (like: "check if the input string matches the user's password") can be obfuscated.

    That doesn't seem very new or very useful, really.  Moreover, even with salting, you'd have to think that dictionary attacks were quite feasible.  For example:

    #!/usr/bin/perl

    use warnings;
    use strict;

    my $hash = "paaTTskLMsSEI";  # If you can't crack this you suck :)
    my $guess;

    print "What is the password? ";
    chomp ($guess = <STDIN>);

    # I prefer disambiguating parentheses to going without warnings & strict.
    print (((crypt($guess, "pa") eq $hash)? "You guessed it!" : "Nope!"), "\n");

    exit 0;

    1. Re:Care to offer more information? by cpeikert · · Score: 1

      That doesn't seem very new or very useful, really. Moreover, even with salting, you'd have to think that dictionary attacks were quite feasible.

      The newness and usefulness is the strength of the definition of obfuscation. It goes far beyond just "hash and compare equality" -- a lot of sophistication is needed to construct an obfuscator that satisfies the rigorous definition of security.

      A second aspect is that for this application, the adversary is not told whether the input matched the keywords or not, because the yes/no output is encrypted in the key of a third party. So dictionary attacks are useless, because the adversary can't tell when he's succeeded.

  33. False Premise by tom's+a-cold · · Score: 2, Insightful

    There is no tradeoff between privacy and security, so there is no need to "balance" them. An individual is not secure if their privacy is being routinely violated.

    The tradeoff is between privacy and totalitarianism. Solutions that attempt to split the difference are not helpful.

    --
    Get your teeth into a small slice: the cake of liberty
  34. Trusted Network Connect by tepples · · Score: 1

    If it's running elsewhere, say at the ISP, then use a clean-built system, and encrypt your communications

    And not get a routable IP address at all because your PC doesn't have an active TPM.

  35. George Orwell says "I told you so" by luigi6699 · · Score: 1

    "Any sound that Winston made, above the level of a very low whisper, would be picked up by [the telescreen], moreover, so long as he remained within the field of vision which the metal plaque commanded, he could be seen as well as heard. There was of course no way of knowing whether you were being watched at any given moment. How often, or on what system, the Thought Police plugged in on any individual wire was guesswork. It was even conceivable that they watched everybody all the time. But at any rate they could plug in your wire whenever they wanted to. You had to live -- did live, from habit that became instinct -- in the assumption that every sound you made was overheard, and, except in darkness, every movement scrutinized. "

    --George Orwell, 1984

    Anyone see a parallel here? A black box that watches everything you do, with no way to know whether what you are doing is ThoughtCrime or not. Way to safeguard my privacy and rights.

    --
    **** You never REALLY learn to swear until you own a computer. ****
  36. Mathematical certainly not important here by Chronoflux · · Score: 1

    I've an idea then for how to circumvent this, that doesn't require defeating the mathematics involved.

    Alright, so say you're running this software for whatever reason, maybe just to keep up appearences. But you don't want your traffic flagged, and you don't want to filter at the router. We can still decompile though. So... What about extracting the placeholder and the public key, then replacing the software with your own version that ALWAYS outputs the encrypted placeholder regardless of the input?

    Just a thought, thanx for your attention.

    1. Re:Mathematical certainly not important here by cpeikert · · Score: 1

      What about extracting the placeholder and the public key, then replacing the software with your own version that ALWAYS outputs the encrypted placeholder regardless of the input?

      Obfuscation doesn't prevent you from changing the functionality of the code. If you have control over the code that is running on a router, then of course you can just delete the filtering code entirely, or replace it with whatever you want.

      All that obfuscation does is prevent you from understanding what the original code does, even if you examine/run/make changes to that code. Forcing the original, proper code to run on a router is another matter entirely.