Quo vadis, IT-Security?
Ein Leser fragt an.
Hallo Hadmut,
Wie siehst du folgende Aussage im Internet in Bezug auf IT-Security?:
Gerade entgleist uns wieder flächendeckend die IT-Security. Wir müssen umdenken. Fortinet, Ivanti, Palo Alto, überall werden gerade massenhaft Sicherheitslücken entdeckt. Es ist zur Normalität geworden, dass wir haarsträubende Sicherheitslücken in sogenannten “IT-Security-Produkten” haben. Aktuell bei Trend Micro: https://lnkd.in/e6c4xhWQ Der “Deep-Security-Agent” ermöglicht das Einschleusen von Schadcode. Ein Totalschaden. ⚠️ Ich bin der Meinung, dass wir einen falschen Ansatz verfolgen, wenn wir immer mehr Security-Lösungen aufbauen – aus 2 Gründen:
1️⃣ Mehr Komplexität führt zu mehr Fehlern. Wir haben die jetzige Komplexität nicht im Griff, was zu den ganzen Sicherheitsproblemen führt. Das wird nicht besser, wenn wir weitere hoch komplexe und damit fehleranfällige Sicherheitssoftware installieren!
2️⃣ Wir leben im Kapitalismus. IT-Security-Firmen arbeiten genau so, dass sie mit minimalem Invest den maximalen Outcome kriegen. Es gibt keinen Grund zur Annahme, dass deren Produkte qualitativ besser sind, als das, was wir jeden Tag unter Zeitdruck mit zu wenig Budget zusammenbasteln. Es wird genau so viel gemacht, wie gerade nötig ist, um das Produkt zu verkaufen. Und zur Zeit verkaufen sich die Produkte ja auch mit Sicherheitslücken gut. Indikatoren, dass das so ist, kriegt man, wenn man sich die Art der Lücken anschaut. Da wird teils gröbster Pfusch sichtbar, der so nie in Produktion hätte gehen dürfen – wie hier z.B. bei Palo Alto:
Da wird PHP(!) eingesetzt das wild Shellbefehle ausführt(!) und dabei offen wie ein Scheunentor ist. Das hat niemand geschrieben, der auch nur einen Hauch von Ahnung von IT-Security hat.
Was können wir tun? Ich glaube, wir müssen wieder anfangen, aktiv Dinge wegzulassen, wenn es um Security geht.
☕ Wenn ich z.B. eine Java-Anwendung betreibe, brauche ich neben der JVM: ein paar shared libs, libc, Linker und Kernel. Und ggf. ein minimales Init-System. Mehr nicht. Distroless-Container sind hier ein Ansatz, der in diese Richtung geht. Minimale VM-Images ebenfalls.
️ Wenn es um high Security geht, müssen wir uns von der Idee verabschieden, mehrere Anwendungen auf einem Host zu betreiben. Das betrifft auch Kubernetes. Denn selbst der Linux-Kernel, eines der sichersten Stücke Software die existieren – explodiert regelmäßig mit local privilege escalation vulnerabilities. Wenn mehrere Anwendungen im Container auf einer Node sind, reißt die schwächste Anwendung das Security-Niveau für alle anderen mit runter. Bei high Security würde ich genau eine Anwendung auf meinem Server betreiben und dann versuchen, diesen an der TCP/IP-Schnittstelle zu verteidigen. Das ist schon schwer genug, aber realistischer machbar.
Wie seht ihr das? Mehr Security-Lösungen oder radikales Weglassen?
Leider ohne Quellenangabe, lässt sich aber googeln. Ist wohl von dieser Linked-In-Seite.
Kurz gesagt: Ja.
Länger gesagt: Naja, schreibe ich ja schon seit Jahren, im Prinzip ist das ein Spezialfall der Effekte, die wir auch bei Open-Source sehen.
Der ganze Haufen Software-Mist ist nicht sicher zu kriegen, und es sind immer mehr Leute dran – Diversität und Code of Conduct zu Dank – die schlicht und einfach nicht ordentlich programmieren können. So von der Sorte, wie Ranga Yogeshwar trötete: „Jeder kann programmieren“. Der marxistische Ansatz. Quality is a myth.
Ich habe doch neulich über die neuen IP-Paketfilter unter Linux geschrieben: Linux-Paketfilter nftables: Broken by design Das Ding enthält einen zentralen schweren Konstruktionsfehler – aber man darf es nicht mal sagen, weil man sonst wegen Verletzung des Code of Conduct gesperrt wird. Man darf nichts mehr sagen, wovon sich irgendwer unwohl fühlen könnte. Neulich hatte ich beschrieben, dass die Ubuntu-Installer nicht mehr in der Lage sind, das System in eine verschlüsselte LVM-Partition zu installieren. Beim schlimmeren Installer Calamares bekommen sie es gar nicht auf die Reihe und diskutieren, ob sie es einfach rauslassen. Wenn man aber schreibt, dass das die letzten 20 Jahre funktioniert hat und statt der Funktion lieber die Programmierer rauswerfen sollten, wird das sofort gesperrt, weil sich die Programmierer ja dann unwohl fühlen könnten. Wie sich die Ubuntu-Nutzer mit so einem Scheiß fühlen, interessiert nicht. Überall haben solche Stümper Einzug gehalten und dürfen nicht mehr kritisiert werden.
Dazu kommen inkompetente Führungsschichten in den Firmen, die ständig neue Features reindonnern lassen, aber nicht auf Qualität achten. Wettbewerb, Marketing.
PHP ist eine konstruktive Vollkatastrophe, weil bei den meisten Anwendungen die PHP-Skripte im HTTP-Dateibaum rumliegen müssen. Mir hatte mal jemand in der Frühzeit meines Blogs (WordPress) eine Backdoor ins Blog gehauen. Weil ich irgendein Modul, ich glaube, ein Theme, kurz ausprobiert hatte, dann wieder deaktiviert und nicht daran gedacht, es über das Deaktivieren hinaus auch wieder zu löschen. Obwohl das Modul nicht in Gebrauch und rauskonfiguriert war, konnte man den Code und damit die Sicherheitslücken darin einfach so über den passenden URL aufrufen und ausführen lassen. Und dann ist WordPress in der Standardkonfiguration auch noch so gebaut, dass es seinen eigenen Code überschreiben kann um sich selbst zu aktualisieren, also jede Lücke gleich Code schreiben kann. Wer baut so einen Schrott? Konstruktive Superscheiße, aber alle fahren sie auf PHP ab, weil’s so einfach ist.
Wir produzieren heute so viel Software in so hohem Takt, dass wir nicht mehr hinterherkommen, das Zeug überhaupt zu verstehen.
IT-Sicherheit in Deutschland ist sowieso eine Katastrophe.
Die Sabotage der Kryptographie habe ich breit beschrieben.
Faktisch hat man die IT-Sicherheit zu einem Bürokratiedschungel gemacht, in dem jede Menge Papier produziert wird – ohne dass man jemals IT-Sicherheit verstehen müsste. Ich habe einen erlebt, hochbezahlter CISO (Chief Information Security Officer) eines großen, weltweit agierenden Konzerns, der bei einem Virenbefall nicht in der Lage war, einen PC im Firmennetz, der Malware verteilte, auch nur insoweit zu lokalisieren, auf welchem Kontinent der Rechner steht. Aber er sorgt zuverlässig dafür, dass der Vorstand ganz viel Papier mit ganz viel grünen Haken hat, damit der im Krisenfall belegen kann, seine Aufgaben und Pflichten erfüllt zu haben. Alle grünen Haken sind da.
Allein schon Webbrowser – die kriegen wir nicht mehr sicher. Strotzen vor Fehlern und Lücken. Mail-Clients ebenso.
Und anstatt das alles mal so zu machen, dass man robuste, verwendbare Sicherheitbausteine hat, wird das alles irgendwie hingerotzt, und jeder macht irgendwas anderes.
Ich bilde mir ein, dass ich ziemlich Ahnung von IT-Sicherheit habe.
Aber nicht einmal ich kann meine Systeme adäquat sicher halten, weil mir die Zeit fehlt, alles das zu tun, wovon ich weiß, dass man es tun müsste. Es ist halt einfach alles so komplex und umständlich, und alles irgendwie anders und unterschiedlich und schlecht dokumentiert, dass man da unendlich Zeit reinstecken muss.
Dazu kommen dann die Sparmaßnahmen, alles auf einen Rechner zu packen und zu virtualisieren. Und dann haben wir Katastrophen wie Meltdown und Spectre, wo man dann einfach hinschmeißen kann, weil man erst einmal fast gar nichts dagegen tun kann.
Oder so eine Superscheiße wie neulich in Java, das aus Logs Befehle nimmt, um beliebige Programmteile von beliebigen LDAP-Server zu laden und auszuführen.
Man weiß überhaupt nicht mehr, was Software noch macht, weil die aus Hunderten von Bibliotheken zusammengerührt wird, von denen niemand weiß, woher sie kommt und was sie macht. Stichwort xz utils backdoor.
Warum etwa hat ein schlichtes „Hello World“ in angesagten Sprachen wie Go oder Rust als Binary über ein MByte, passt nicht mal mehr auf eine Diskette? Was brauchen die alles, um einen String auf STDOUT auszugeben? Je mehr Schrott, desto mehr Sicherheitslücken.
Und ständig wird der Haufen größer, weil ständig neue Versionen, neue Funktionen auf einen einprasseln und ständig irgendwer mit irgendeinem neuen Scheiß um die Ecke kommt.
Ich nehme seit Wochen, Monaten wahr, dass die Dichte von Phishing-Mails immer mehr zunimmt. Die Mühe würden sie sich ja nicht machen, wenn sie nicht auch Erfolg damit hätten. Vor ein paar Tagen war gerade wieder was mit Firefox/Thunderbird. Pointer nach Freigabe weiter benutzt.
Und dann kommt die Bundesregierung und blubbert von Cyberwar – nachdem sie mit Kryptokrieg und Genderquote alles kaputt gemacht hat.
Das Schlimmste und Verheerendste ist aber, dass IT-Sicherheit politisch nicht gewollt ist und sabotiert wird. Ich habe ja beschrieben, wie man die IT-Sicherheitsprofessoren systematisch sabotiert und mit Pfeifen besetzt hat.
Ja, es wäre richtig, wenn unsere Software einfacher wäre, simpler, überschaubarer, aber dafür sicherer. Aber mach das mal Leuten klar, die ständig die neuesten Features und Gimmicks auf dem Handy haben wollen und müssen.
Ja, es wäre besser, für jede Applikation einen eigenen Rechner zu verwenden. Aber woher sollen die kommen? Und was ist mit dem Strompreis? Der Umwelt, dem Müll?
Ich sage es offen: Mir hat IT-Sicherheit schon seit Jahren keinen Spaß mehr gemacht, weil man immer mehr gegen Mauern rennt, gegen kontraproduktive Management-Entscheidungen, gegen den schieren Unwillen, IT-Sicherheit überhaupt haben zu wollen.
Wir sind oft immer noch auf dem Stand von „With Microscope and Tweezers“ – und das ist von 1988.
Dazu der Schweinezyklus: Ich erkläre Politikern spätestens alle 10 Jahre wieder denselben Kram, weil dann wieder Neue da sind, und die wieder beim selben Blödsinn anfangen.
Und man kann es den Leuten nicht mal erklären. Studienabbrecher und so.
Es ist ziemlich hoffnungslos.
Man kann ein paar Dinge vernünftig machen, indem man offensichtlichen Blödsinn vermeidet, Disziplin wahrt und die Sachen sorgfältig baut. Einen gewissen Schutz bietet, dass wir heute immer in Container wegschließen. Falls die denn sicher sind. Aber das reduziert zumindest eine Angriffsfläche.