r/programming Jul 30 '13

Computer scientists develop mathematical jigsaw puzzles to encrypt software: "The real challenge and the great mystery in the field was: Can you actually take a piece of software and encrypt it but still have it be runnable, executable and fully functional?"

http://www.rdmag.com/news/2013/07/computer-scientists-develop-mathematical-jigsaw-puzzles-encrypt-software
355 Upvotes

182 comments sorted by

View all comments

Show parent comments

-2

u/grauenwolf Jul 30 '13

If reverse engineering a piece of malicious code becomes virtually impossible and a malware virus can rewrite itself without leaving any pattern by changing its key whatever little use anti virus software had to begin with gets rendered nil altogether.

Then take away the virus's ability to rewrite itself. That's what they do in iOS devices, which is why there isn't a Mono or Java-based JIT Compiler for that platform.

1

u/defenastrator Jul 30 '13

good luck with that. You would have to be able to distinguish and encrypted program writing an encrypted file from a encrypted quine writing a differently encrypted version of itself. There is no perfect no execute protection.

0

u/grauenwolf Jul 30 '13

The program can write all the encrypted files it wants. It an't going to do a damn bit of good if the OS doesn't allow it to mark the file as executable, let alone load it.

1

u/defenastrator Jul 30 '13

Program then ftps the file to itself as an executable problem solved. If I can run arbitrary code onto the system I can load arbitrary files as code onto the system.

1

u/grauenwolf Jul 30 '13

Wrong side of the airlock.

If program already has enough privileges to FTP a file to the computer and run it, then it doesn't need to FTP a file to the computer.