[Info-vax] Computing is Complex (was: Re: A meditation on the Antithesis of the VMS Ethos)

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Jul 29 12:58:51 EDT 2024


On 2024-07-21 09:41:06 +0000, Subcommandante XDelta said:

> A meditation on the Antithesis of the VMS Ethos, and the DEC way.

A heady mix of entertainment and omissions and economically-problematic 
hopes and dreams, that.

Brandolini's Law is always in scope, of course. The bulk of the 
citations first:

CrowdStrike-related:
https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/
https://forums.rockylinux.org/t/crowdstrike-freezing-rockylinux-after-9-4-upgrade/14041 

https://www.thestack.technology/crowdstrike-bug-maxes-out-100-of-cpu-requires-windows-reboots/ 


Microsoft has had legal entanglements here:
https://www.techtarget.com/searchsecurity/news/450420491/Microsoft-accused-of-blocking-independent-antivirus-competition 

https://www.theregister.com/2024/07/22/windows_crowdstrike_kernel_eu/

Microsoft has been working on security here:
https://www.microsoft.com/en-us/security/blog/2021/12/08/improve-kernel-security-with-the-new-microsoft-vulnerable-and-malicious-driver-reporting-center/ 

https://learn.microsoft.com/en-us/windows/win32/services/protecting-anti-malware-services- 

https://opensource.microsoft.com/blog/2021/05/10/making-ebpf-work-on-windows/

Other vendors have been moving kernel code to user mode, and reducing 
the apps that can load extensions, which is somewhat helpful for 
security and definitely helpful for avoiding kernel crashes, but then 
attacks against user-mode code with access to kernel APIs can be bad, 
too.
https://developer.apple.com/support/kernel-extensions/
https://www.sweetwater.com/sweetcare/articles/kernel-extensions-on-mac-with-apple-silicon/ 

https://ebpf.io on Linux
https://developer.apple.com/documentation/coreservices/file_system_events 
(and 
https://www.crowdstrike.com/blog/using-os-x-fsevents-discover-deleted-malicious-artifact/ 
and 
https://www.crowdstrike.com/blog/i-know-what-you-did-last-month-a-new-artifact-of-execution-on-macos-10-13/ 
)
https://support.apple.com/guide/security/welcome/web
https://developer.apple.com/documentation/endpointsecurity


As for kernel mode APIs and design more generally, OpenVMS has gaps 
here too, with VCI being the not-really-equivalent and 
not-generally-documented API for network interface. And it's a kernel 
API, with all that entails. The closest analog to the file change 
notification API (FSEvents-like) is parsing security alarms arriving 
via an app-declared mailbox, something which I've encountered in only a 
handful of apps. An approach which gets scruffy. The only 
kernel-code-accessing-user-mode mechanism in OpenVMS is the 
ill-documented ACP mechanism, which really isn't an isolation mechanism 
given it's passing around kernel data structure pointers such as I/O 
request packets. Having written various ACPs, that all works pretty 
well, but the APIs are very much set up for mounting and dismounting 
file systems, and areas such as mount and dismount are completely 
lacking customizations, which usually means writing up your own $mount 
and $dismou analog. ACPs aren't a great way to avoid kernel code, and 
are more intended for allowing kernel code to call outer-mode APIs. 
Which is definitely scruffy.  IIRC, the TCP/IP Services package — why 
that's still separately installed, a packaging decision straight out of 
the last millennium — has a kernel callout for packet filtering too, 
but that's still not documented AFAIK.

In short, there's no good place to tie in endpoint security, or tools 
akin to CrowdStrike. There are no endpoint security APIs.

Outside of legal entanglements, biggest issue with APIs and API-level 
changes for Microsoft is app and API compatibility, and there's a 
lineage there from Microsoft back through MICA to OpenVMS and the goal 
of OpenVMS compatibility, too. A laudable goal, with 
occasionally-intractable results. Such as trying to stuff a modern and 
robust password hash into an eight-byte field.

As for the referenced mess, CrowdStrike was basically testing in 
production, and seemingly lacked any sort of continuous integration 
(what they had reportedly returned a "yep" when it wasn't actually 
tested), and given that vendor's other recent issues with other 
platforms, hasn't particularly been learning how to deal with and 
reduce the damages and damage control arising from their own errors. 
Maybe hiring a billionaire former CTO of McAfee as your CEO didn't work 
out?
https://en.wikipedia.org/wiki/Continuous_integration
https://www.businessinsider.com/crowdstrike-ceo-george-kurtz-tech-outage-microsoft-mcafee-2024-7?op=1 


Alternatives to CrowdStrike exist with some vendors, Microsoft has 
Defender (whatever its proper product name is now), Apple has XProtect 
and XProtect Remediator and the Signed System Volume and App 
Notarization. OpenVMS has no analog. (Yeah, I think you can actually 
sign stuff with the long-deprecated CDSA, but I've never seen anybody 
use that mechanism outside of OpenVMS Secure Delivery, which itself 
moved away from CDSA.) There have been third-party apps that tried to 
manage malware and change control on OpenVMS too, and DEC had 
DECinspect.


As for the OpenVMS Ethos, the problems and the systems and the 
interconnections are vastly more complex than is OpenVMS, and the pace 
of required changes in many environments are necessarily far faster 
than OpenVMS has ever managed. Any snarking at billionaires and at 
ever-loquatious newsletter texts aside, this ever-increasing complexity 
is built upon myriad very difficult problems and dependencies. We 
aren't ever going back to the pre-millennial era of simpler and less 
interconnected computing, either.

Ever-increasing complexity? Yeah. There are issues with Secure Boot and 
with self-bricking Intel Raptor Lake 65W+ processors, among many other 
recent problems:
https://arstechnica.com/security/2024/07/secure-boot-is-completely-compromised-on-200-models-from-5-big-device-makers/ 

https://www.tomshardware.com/pc-components/cpus/intel-cpu-instability-crashing-bug-includes-65w-and-higher-skus-intel-says-damage-is-irreversible-no-planned-recall 


Yeah, and CrowdStrike absolutely blew it. I expect Microsoft will use 
some of the fallout to push vendors into APIs, though that push won't 
be free of vendor complaints, and not without the possibility of and 
the risks of poorly-secured or poorly-written user-mode code now 
causing mayhem.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list