Live data from Hacker News

Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

spectrum.ieee.org

11–20 of 31 posts

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#11
post #3

> What is the overhead for Morpheus? > Todd Austin: It’s about 10 percent slower on average. If you accept that kind of overhead, why not just go the Burroughs B5000/Lisp Machine/etc. route and have a hardware instruction set which is essentially byte code for a safe machine, which cannot be tricked into reading and writing in arbitrary places. Of course, then you would still have the problem of actual security holes…

I think you're omission of what Todd Austin really answered in the article, on this question, is close to insincere.

> Todd Austin: It’s about 10 percent slower on average. We could reduce those overheads if we had more time to optimize the system. You know, we’re just a couple of grad students and some faculty. If a company like Intel, AMD, or ARM built this, I would expect that you’d get the overheads down to a few percent.

Edit: Take into account current performance hits for e.g. Spectre, Meltdown patches.

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#12
post #11
post #3

> What is the overhead for Morpheus? > Todd Austin: It’s about 10 percent slower on average. If you accept that kind of overhead, why not just go the Burroughs B5000/Lisp Machine/etc. route and have a hardware instruction set which is essentially byte code for a safe machine, which cannot be tricked into reading and writing in arbitrary places. Of course, then you would still have the problem of actual security holes…

I think you're omission of what Todd Austin really answered in the article, on this question, is close to insincere. > Todd Austin: It’s about 10 percent slower on average. We could reduce those overheads if we had more time to optimize the system. You know, we’re just a couple of grad students and some faculty. If a company like Intel, AMD, or ARM built this, I would expect that you’d get the overheads down to a few…

> insincere

I was not criticizing the Morpheus CPU. I was using it to make a tangential point about other possible design choices.

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#13
post #8
post #2

> you change what it means to add a value to a pointer. Morpheus encrypts pointers. How does it allow C to access an array or a struct and prohibit access beyond bounds to the return address somewhere beyond the bounds of said array or struct, I wonder.

Perhaps it could have pointer arithmetic instructions, where "ptr + n" makes code that uses special instructions to decrypt "ptr", add "n", and encrypt the result before giving it back to you?

I don't see how that works. If such an instruction exists, why couldn't an exploit developer use it to defeat pointer encryption?

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#14
post #12
post #11

Earlier quoted context omitted.

I think you're omission of what Todd Austin really answered in the article, on this question, is close to insincere. > Todd Austin: It’s about 10 percent slower on average. We could reduce those overheads if we had more time to optimize the system. You know, we’re just a couple of grad students and some faculty. If a company like Intel, AMD, or ARM built this, I would expect that you’d get the overheads down to a few…

> insincere I was not criticizing the Morpheus CPU. I was using it to make a tangential point about other possible design choices.

Fair enough!

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#15
post #10
post #7

Earlier quoted context omitted.

A 10% performance hit for "secure mode" doesn't seem at all that bad - run at last year's speed for an additional layer of security. Something like this for IoT devices might actually provide some of the missing security thereof.

Do processing speeds really still increase 10% every year?

Even if they're not, the processing power at a given price point is increasing by 10% a year, which effectively works out to the same - especially if you use these in low-cost devices that are never updated (IoT seems a perfect fit).

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#16
post #10
post #7

Earlier quoted context omitted.

A 10% performance hit for "secure mode" doesn't seem at all that bad - run at last year's speed for an additional layer of security. Something like this for IoT devices might actually provide some of the missing security thereof.

Do processing speeds really still increase 10% every year?

Thanks to AMD, it's actually a little better than that (for one specific year, though the entire ryzen line has been roughly similar)

https://www.cpubenchmark.net/compare/AMD-Ryzen-5-5600X-vs-AM...

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#17
post #6

I'm a bit confused - how do you do pointer arithmetic if the cpu encrypts pointers for your automatically and doesn't let you know the actual address in memory that they point to?

I know nothing of the implementation, but hypothetically a compiler could translate:

    p++
to instructions that effectively do:

    p = enc(dec(p)+1)
Without exposing p outside the CPU. The implementation described (seems to be) new instructions for incrementing and dereferencing pointers.

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#18
I wish this was more a technical paper. The interview tries to dumb it down to the point where you can't follow what they actually did, or what type of attacks are actually in scope.

Is this just encrypting pointers, where the encryption key changes very frequently?

Re: Morpheus Turns a CPU into a Rubik’s Cube to Defeat Hackers

#20
post #8
post #2

> you change what it means to add a value to a pointer. Morpheus encrypts pointers. How does it allow C to access an array or a struct and prohibit access beyond bounds to the return address somewhere beyond the bounds of said array or struct, I wonder.

Perhaps it could have pointer arithmetic instructions, where "ptr + n" makes code that uses special instructions to decrypt "ptr", add "n", and encrypt the result before giving it back to you?

Homomorphic encryption does that, yes. But in the interview, he talks about it hypothetically.
Post reply on HN