top | item 46840036

(no title)

promiseofbeans | 29 days ago

They made C memory safe? This is a big thing to gloss over in a single paragraph. Does anyone have extra details on this?

> On devices with iOS 14 and iPadOS 14 or later, Apple modified the C compiler toolchain used to build the iBoot bootloader to improve its security. The modified toolchain implements code designed to prevent memory- and type-safety issues that are typically encountered in C programs. For example, it helps prevent most vulnerabilities in the following classes:

> • Buffer overflows, by ensuring that all pointers carry bounds information that’s verified when accessing memory

> • Heap exploitation, by separating heap data from its metadata and accurately detecting error conditions such as double free errors

> • Type confusion, by ensuring that all pointers carry runtime type information that’s verified during pointer cast operations

> • Type confusion caused by use after free errors, by segregating all dynamic memory allocations by static type

discuss

order

vsgherzi|29 days ago

Sort of. From my understanding they’ve been heavily using clang with fbounds checks to insert checks into functions. I think there was work done to try to insert them into existing code as well. They memory tagging in new processors help avoid overflow exploitation. Maybe someone can jump in and add more details

pjmlp|28 days ago

Yes, that is however a dialect, and one of the goals to Swift Embedded roadmap is to replace it.

ksec|28 days ago

So they were not joking when they say they want Swift to replace from Assembly to Javascript.

I dont think this will end well.