Skip to content

Latest commit

 

History

History
131 lines (92 loc) · 14.1 KB

linux-and-windows-insecurities--theory-vs-practice.md

File metadata and controls

131 lines (92 loc) · 14.1 KB

There's a popular website by someone called "madaidans" which lists a lot of issues with Linux security, and claims Windows does it better. All of the points are technically true, but in the real world the picture is somewhat different, which that site and its fans appear to ignore.

I got tired of debating this with them; their arguments are subjective, often patronising, and interacting with them is very enervating. At the same time, I wasn't going to let go without something to add when someone asks a genuine question.

This is the result: a list of in the wild exploits that have happened on both OSs (see "scope" in the next section for more).

Let me emphasise this for people whose knee-jerk response is "CVE counting is not a good metric". These are not just CVEs, these are actual, in the wild, exploits that were/are actively used by attackers. If you're a sysadmin (even a competent one who does all the right things) this is your reality to deal with, and neither the theoretical arguments in madaidnas's page nor any other kind of rationalising will change that.

Of course, there is a Linux section, though as of 2022-11-09 it has only one entry. Feel free to send me any links to Linux issues that are "in scope" which I may have missed. Also, if you think one of the entries should actually be "out of scope" by the criteria below, let me know. All other responses will be cheerfully ignored.

what is in scope

  • I arbitrarily picked Jan 1, 2022 as the earliest I will go.
  • I include vulnerabilities for which an "in the wild" attack has happened or was suspected to have happened at some point before a patch became available.
  • I exclude vulnerabilities (regardless of severity) that were exploited after a patch became available (for instance, because people failed to upgrade).
  • For Windows, I also ignore ancillary products like Exchange, IE/Edge, MS Office, etc.

other notes

Sources of similar information:

  • https://www.cisa.gov/known-exploited-vulnerabilities-catalog is a good place to look at. Download the CSV, and fiddle with it using the excellent visidata tool or if you're more comfortable use a spreadsheet. Delete all rows for "vendorProject" other than Microsoft and Linux. Then, in the Microsoft set, delete all rows for "product" other than "Windows" and "Win32k". As of 2022-06-01, this leaves 97 rows for Microsoft (breakup: 77 Windows, 20 Win32k), and 5 rows for Linux.

Other notable responses to that page:

bonus link

https://www.reddit.com/r/linux/comments/hzyu8j/comment/fznndez/ is from Jason Donenfeld, the guy who created the wireguard VPN. He describes the problems in trying to port it to Windows in language that... well here is the juiciest quote:

layers and layers of complexity, and so many competing ideas and modalities all put into adjacent and overlapping libraries, with functionality duplicated and contradictory all over the place, and a million ways that different Microsoft binaries do different things, and highly complex state machines with multiple interlocking moving parts, and endless abstractions upon abstractions, and separations upon separations combined with layering violation upon layering violation, and a supremely interesting kernel design

So much for the "theory" of windows being better at security.


windows

(Reverse chronological order)

Linux

  • 2022-01-25: Pwnkit, https://www.bleepingcomputer.com/news/security/linux-system-service-bug-gives-root-on-all-major-distros-exploit-released/
    • "An exploit has already emerged in the public space, less than three hours after Qualys published the technical details for PwnKit. BleepingComputer has compiled and tested the available exploit, which proved to be reliable as it gave us root privileges on the system on all attempts."
    • note: I've actually not been able to find any news items that say this was being exploited in the wild, but including it because of the quote above. At the same time, we also have:
    • "Linux distros had access to the patch a couple of weeks before today’s coordinated disclosure from Qualys and are expected to release updated pkexec packages starting today."
    • so it was a bit of a judgement call if it fits or not, but I chose to include it

This section has no more entries. Some "also ran"s:

out of scope, but interesting nevertheless