Kory Heard Profile
Kory Heard

@XNUniverse

Followers
434
Following
719
Media
152
Statuses
1K

Software Researcher & Engineer

United States
Joined November 2022
Don't wanna be here? Send us removal request.
@XNUniverse
Kory Heard
5 hours
Darwin has two worlds. World A is Apple’s. Their system policy, networking, filesystems, and drivers live in the kernel. World B is everyone else. Our networking stack, system policy, filesystems, and drivers live in user-space. They are slower but I can use any library.
0
0
2
@XNUniverse
Kory Heard
1 day
You have to go beyond the libraries listed in your executable format to get a full SBOM. Every software project is going to have files from outside the project compiled into the binary statically. That code is still a dependency and often unmaintained.
0
0
0
@XNUniverse
Kory Heard
1 day
Older papers on operating systems explored the merits and flaws of solutions in existing systems. With the world standardizing on Linux that's largely gone away.
0
0
3
@XNUniverse
Kory Heard
3 days
The windows sandbox implementation is difficult to worn with IMO. Look at Capsicum, Seatbelt, and pledge as those have quite a few less practical ways to be defeated.
@arekfurt
Brian in Pittsburgh
4 days
The sandbox escape vulnerability described by Kaspersky here is quite interesting. Especially in that the technical root cause of the issue bit both Chromium and FireFox developers. Other Windows apps along with OS components might well have similar vulnerabilities.
0
0
2
@XNUniverse
Kory Heard
4 days
With Darwin you have to copy data into the message then the privelaged helper performs the system call copying data again on input and return. Then you copy the data back to the original process. That’s several hopes between processes and in/out of the kernel. Flexible but slow.
@XNUniverse
Kory Heard
4 days
FreeBSD’s Capsicum can be much faster than the equivalent implementation in Darwin as once a process in the sandbox has a capability it can directly call kernel methods on the object. Darwin requires you copy the data twice as it uses message passing.
1
0
4
@XNUniverse
Kory Heard
4 days
FreeBSD’s Capsicum can be much faster than the equivalent implementation in Darwin as once a process in the sandbox has a capability it can directly call kernel methods on the object. Darwin requires you copy the data twice as it uses message passing.
0
0
1
@XNUniverse
Kory Heard
5 days
I’m not an Apple fan but I am not a fanboy. Apple has great technologies but they are all built for specific use cases centered around consumer electronics and choices about how the system should work.
0
0
5
@XNUniverse
Kory Heard
5 days
In my 20s I thought I needed to find new ideas in tech. In my 30s I understand I’m looking for new ways to package old ideas that were limited by the technology and experience of their time.
0
0
2
@XNUniverse
Kory Heard
6 days
Capability based systems have some fundamental hurdles like how do you stop a process from giving away a capability once it acquires it and how do you revoke capabilities.
0
0
4
@XNUniverse
Kory Heard
6 days
XPC is not an IPC mechanism. It’s a protocol that sits on top of an IPC mechanism (Mach messaging) providing serialization (replacing MIG), remote procedure calls through objc_msg_send on the remote and higher level security through process checks like code signatures.
0
0
3
@XNUniverse
Kory Heard
6 days
Does anyone know if pledge and unveil have any published research papers? I have a few for Capsicum style capabilities and search hasn’t been helpful.
0
1
1
@XNUniverse
Kory Heard
6 days
I misjudged the learning curve for OpenBSD. Typically I’d like a 600 page book that captures a moment in time for a system so I can focus on the changes since but OpenBSD doesn’t have that. What it does have is source you can jump right into. I’ve never seen code this clean.
0
0
14
@XNUniverse
Kory Heard
6 days
Mach’s influence is also felt in Linux. The NSA sponsored DTMach, which begat DTOS, which begat Flask the base for what is now known as SELinux.
0
0
2
@XNUniverse
Kory Heard
7 days
If security is important enough to halt the processing of data, you should panic the kernel when the Audit system fails. Otherwise you have no record of what events took place after the subsystem failed. In @freebsd this is tunable.
0
0
2
@XNUniverse
Kory Heard
8 days
I can’t support all hardware across the application stacks for WiFi, Bluetooth, USB, etc so I am left with a choice to make. Either support a popular family of hardware like Texas Instruments or support one application stack for a variety of hardware. I can’t have both.
0
0
6
@XNUniverse
Kory Heard
10 days
but that can be done for most use cases.
0
0
1
@XNUniverse
Kory Heard
10 days
The operating systems that gained popularity in the 2000s (Android, Darwin) both implement a distinct non-UNIX message passing interface based on capabilities and is largely the reason these systems enjoy the security posture they do. You still have to protect against UNIX
1
1
4
@XNUniverse
Kory Heard
10 days
Here is an early figure for my 2026 talk Constraining UNIX Applications. I want to leave the listener with a clear understanding between MACF, Capabilities, and namespace transformation.
0
1
4
@XNUniverse
Kory Heard
11 days
Apple is able to innovate Darwin at a much faster pace than BSD because Apple is a hardware company. Most hardware vendors design thier processors with proprietary firmware blobs that put the UNIX application processor into a box that it can’t break out of.
0
0
3