Live data from Hacker News

A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

googleprojectzero.blogspot.com

271–280 of 360 posts

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#271
post #175

And still, in 2021, after so many exploits, realizing the futility of trying to fix these bugs and adding their "blast door" process, some Apple dev calls image parsing code where it doesn't belong. The people that are supposed to maintain the element of the OS that has been abused most by nation states do not know the internal APIs they are working with, even just to display looping GIFs. This negligence is killing…

[deleted]

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#272
post #144

Earlier quoted context omitted.

I feel the same way about all the smart engineers solving problems for Facebook, Twitter, etc...

Those engineering problems are trivial compared to many real problems. Turning out all those engineers to work on say cancer wouldn't necessarily result in any new breakthroughs . Case in point: all the brilliant software engineers who thought they could solve Covid ( https://www.protocol.com/Newsletters/pipeline/very-venture-c... ) only to find themselves out of their depth. The software engineering approach doesn't…

Usually software developers have big egos, but in reality it's much more difficult to handle DNA meaningfully than scaling computers

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#273
post #53

As other have commented, this is absolutely mind-bogglingly hard core. Kudos to the NSO group engineers who designed and built this (regardless of your allegiances and whether you like or dislike that they do this and whether it's objectively good or evil or somewhere in between, you have to admit that it's deeply technically impressive). Does anyone have a sense of who they sold this to and who used this particular…

The Indian government used it to spy on opposition politicians https://theprint.in/opinion/only-15-indians-know-about-pegas...

I remember reading this. Are you aware of a detailed account? Regardless of Indian politics, has it actually been proven/researched?

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#274
post #225

I think that allowing overflows to go unnoticed is a mistake. Overflow on addition should cause an exception by default. It should be easy to implement in hardware and as it is UB in C, correctly written programs wouldn't break. For example, imagine if you are counting money and because of the overlow millions turn into several cents. Another evil thing is indirect jumps. They should be implemented using an index int…

integer overflow is UB because on some architectures it was trapping. In practice for the last 30+ years the default behaviour has been non-trapping. So much so that making it trapping would break vast amounts of software that depend on it, so you can't change the general case behaviour in C, C++, etc, or "safe" languages like Java, C#, etc. Newer languages do recognize this and make trapping the default behaviour, b…

> In practice for the last 30+ years the default behaviour has been non-trapping. So much so that making it trapping would break vast amounts of software that depend on it, so you can't change the general case behaviour in C, C++, etc

You can change it in C and C++, since the current behaviour is undefined i.e. give control of your computer to hackers.

GCC and Clang should make -ftrapv the default. They won't, because whichever one does it first will then perform worse on benchmarks than the other, and that's the only thing the devs care about. But they should.

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#275

It's a real shame that the people who came up with this exploit are working for NSO and not on solving P = NP or something. I'm sure if we got them and the ones working on crypto at NSA in a room together, we'd have it and clean unlimited energy in a week. I often feel sad thinking about how many brilliant engineers are dedicating their time to helping governments spy on people or other governments.

“The best minds of my generation are thinking about how to make people click ads. That sucks.” ~ Jeff Hammerbacher, fmr. Manager of Facebook Data Team, founder of Cloudera This quote isn't just about people working directly on ad tech and ad targeting algorithms, but any product that is "free" and ad supported.

It's not really true, this was true 15 years ago when the smartest people worked at Google (whose goal is to get people to click on ads), but now a lot of very smart people found other business.

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#276
post #109

NSO get way too much credit/dramatization these days. They are mostly 2 things * a shiny UI for customers * a bank of 0-days Those 0-days could be found in house, could be brought in from a new employee copying a previous employer, or could simply be purchased. Most people in the IDF understand when a great security researcher leaves 8200, the company they move to will probably have some of their secrets, theres real…

I think you get credit for having a bank of actual zero days, self-discovered or not Trying to trivialize the threat they pose only helps NSO Plus, "willing to sell to nations with bad human rights records" should be on that list

[deleted]

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#278
post #274
post #225

Earlier quoted context omitted.

integer overflow is UB because on some architectures it was trapping. In practice for the last 30+ years the default behaviour has been non-trapping. So much so that making it trapping would break vast amounts of software that depend on it, so you can't change the general case behaviour in C, C++, etc, or "safe" languages like Java, C#, etc. Newer languages do recognize this and make trapping the default behaviour, b…

> In practice for the last 30+ years the default behaviour has been non-trapping. So much so that making it trapping would break vast amounts of software that depend on it, so you can't change the general case behaviour in C, C++, etc You can change it in C and C++, since the current behaviour is undefined i.e. give control of your computer to hackers. GCC and Clang should make -ftrapv the default. They won't, becaus…

No, you can't.

Because too much code is completely broken if you do.

The only things that make use of overflow being UB are optimizing compilers, and they have reliably broken code for because of this for 20 years. This means most developers have realized that pretending non-twos-complement architectures still exist is nonsense, and both C and C++ have significant pressure to actually define overflow as being 2c.

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#279
post #53

As other have commented, this is absolutely mind-bogglingly hard core. Kudos to the NSO group engineers who designed and built this (regardless of your allegiances and whether you like or dislike that they do this and whether it's objectively good or evil or somewhere in between, you have to admit that it's deeply technically impressive). Does anyone have a sense of who they sold this to and who used this particular…

I admire its purity. > Does anyone have a sense of who they sold this to and who used this particular 0-click exploit? From the article: > Earlier this year, Citizen Lab managed to capture an NSO iMessage-based zero-click exploit being used to target a Saudi activist.

[deleted]

Re: A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution

#280
post #278
post #274

Earlier quoted context omitted.

> In practice for the last 30+ years the default behaviour has been non-trapping. So much so that making it trapping would break vast amounts of software that depend on it, so you can't change the general case behaviour in C, C++, etc You can change it in C and C++, since the current behaviour is undefined i.e. give control of your computer to hackers. GCC and Clang should make -ftrapv the default. They won't, becaus…

No, you can't. Because too much code is completely broken if you do. The only things that make use of overflow being UB are optimizing compilers, and they have reliably broken code for because of this for 20 years. This means most developers have realized that pretending non-twos-complement architectures still exist is nonsense, and both C and C++ have significant pressure to actually define overflow as being 2c.

> Because too much code is completely broken if you do.

Any code that gets broken by that already has a security bug.

> The only things that make use of overflow being UB are optimizing compilers, and they have reliably broken code for because of this for 20 years.

Exactly! Code that can be broken by this is already broken. Using -fwrapv won't make it any more broken, it just makes the way it breaks safer.

Post reply on HN