- Computersicherheit ist ein Bereich, in dem Produkte, Konferenzen, Bücher und Gesetzesvorlagen ständig zunehmen, doch an der Wurzel der wiederkehrenden Fehlschläge stehen falsche Grundannahmen wie Default Permit und Enumerating Badness
- Das Kernproblem ist eine Struktur, die nicht eng definiert, „was erlaubt sein soll“, sondern endlos dem hinterherjagt, „was blockiert werden soll“; wenn man bei Firewalls, Code-Ausführung und der Reaktion auf Würmer nicht Default Deny wählt, gerät man in ein Wettrüsten mit Angreifern
- Das Auflisten schlechter Dinge bedeutet, mehr als 75.000 Viren und monatlich 200 bis 700 neue Bedrohungen zu verfolgen, und ist damit ineffizienter als Enumerating Goodness, also die Verwaltung der rund 30 tatsächlich benötigten legitimen Anwendungen
- Strategien, die auf dem Finden und Patchen von Schwachstellen, einer Kultur, die Hacking als cool konsumiert, oder auf Nutzerschulungen beruhen, führen alle eher zu wiederholter nachträglicher Reaktion, statt Designfehler zu reduzieren
- Bei neuen Technologien kann es sicherer sein, erst abzuwarten und sie zu prüfen, statt sie sofort einzuführen; Sicherheitspraktiker sollten vernünftiges Design und eine skeptische Haltung über Trends stellen
„Anti-gute Ideen“, die zu Sicherheitsversagen führen
- In der Computersicherheit tauchen ständig neue Produkte, neue Konferenzen, neue Bücher und neue Gesetzesvorlagen auf, doch die Probleme wiederholen sich
- Eine „dumme Idee“ ist ein Ansatz, der auf der Gegenseite einer guten Idee steht und entsteht, wenn man Unmögliches versucht oder die Realität ignoriert
- Solche Ansätze können aus gut gemeinten Missverständnissen entstehen oder aus gut verpackten Produkten, mit denen schnell Geld verdient werden soll
- Die sechs Ideen sind in der Reihenfolge angeordnet, in der sie häufig zu beobachten sind; wer insbesondere die ersten drei vermeiden kann, gehört vermutlich zu einer kleinen Gruppe hervorragender Sicherheitspraktiker
1. Default Permit: standardmäßig erlauben
- Default Permit ist ein Modell, bei dem alles erlaubt wird, was nicht ausdrücklich verboten ist; am leichtesten erkennt man es bei Firewall-Regeln
- Frühe Netzwerkadministratoren blockierten eingehendes telnet, rlogin und FTP und erlaubten den Rest
- Jedes Mal, wenn eine neue Schwachstelle entdeckt wurde, musste der Administrator entscheiden, ob sie blockiert werden sollte, und musste schneller sein, bevor er gehackt wurde
- Mit dem Auftreten der Würmer in den 1990er-Jahren hätte dieses Modell verschwinden müssen, doch viele Netzwerke haben noch immer eine offene Kernstruktur ohne Segmentierung
- Bei der Code-Ausführung wiederholt sich dasselbe Problem
- Wenn ein Nutzer klickt, wird standardmäßig alles ausgeführt; die Ausführung wird nur verweigert, wenn Antivirus- oder Spyware-Blocker es verhindern
- Tatsächlich häufig genutzte Anwendungen sind etwa 15, gelegentlich genutzte etwa 20 bis 30, dennoch erlauben Betriebssysteme standardmäßig die Ausführung von Viren oder Spyware
- Ein E-Banking-Sicherheitsprojekt nutzte den gegenteiligen Ansatz
- Statt dass der Load Balancer nur bekannte Angriffe in ein Blackhole leitete, schickte er jeden Traffic, der nicht mit der Liste gültiger URLs übereinstimmte, an einen gesperrten Server, der Bilder und 404-Seiten auslieferte
- Es ging also nicht um Default Permit, bei dem nur bekannte Angriffe blockiert werden, sondern darum, Anfragen abzulehnen, die von der legitimen Struktur abweichen
- Wenn man sich in einem Wettrüsten mit Angreifern befindet, ist das ein Zeichen dafür, dass man in Default Permit steckt
- Das Gegenkonzept Default Deny erfordert Hingabe, Nachdenken und Verständnis bei der Umsetzung, ist aber der bessere Ansatz
2. Enumerating Badness: schlechte Dinge auflisten
- Enumerating Badness ist der Ansatz, alle bekannten schlechten Dinge aufzulisten und sie dann zu erkennen oder zu blockieren
- Anfangs schien das möglich, weil es nur wenige bekannte Sicherheitslücken gab, doch etwa ab 1992 gab es im Internet weit mehr „schlechte Dinge“ als „gute Dinge“
- Ein typisches Antivirus-Produkt kennt mehr als 75.000 Viren
- Auf einem einzelnen Personal Computer geht man von etwa 30 legitimen Anwendungen aus
- Wenn man diese 30 legitimen Anwendungen verfolgt und alles andere nicht ausführen lässt, kann man zugleich Probleme mit Spyware, Viren, Remote-Control-Trojanern und selten genutzten, vorinstallierten Code-Execution-Exploits verringern
- Einigen Branchenanalysen zufolge erscheinen jeden Monat 200 bis 700 neue „schlechte Dinge“ im Internet
- Auf den Einwand, Unternehmensnetzwerke seien komplex und legitime Anwendungen daher schwer zu erfassen, wird entgegnet: Wenn ein CTO nicht einmal grob weiß, was die Technologie tut, kann er keine Kapazitäts-, Desaster- oder Sicherheitsplanung betreiben
- Die Log-Analyse eines Firewall-Produkts von 1994 suchte anfangs nach schlechten Bedingungen; die zweite Version nutzte jedoch Artificial Ignorance
- Logs, von denen man wusste, dass sie uninteressant waren, wurden verworfen
- Die verbleibenden Logs wurden als interessant betrachtet
- Dieser Ansatz erkannte Betriebsbedingungen und Fehler, auf die man sonst nicht gekommen wäre
- Antivirus, Intrusion Detection, Intrusion Prevention, Anwendungssicherheit und Deep-Packet-Inspection-Firewalls stützen sich häufig auf diesen Ansatz
- Ein System, das regelmäßige Signatur-Updates benötigt oder einen erstmals auftretenden Wurm passieren lässt, zeigt Anzeichen von Enumerating Badness
- Das Heilmittel ist Enumerating Goodness, doch Betriebssysteme bieten kaum Unterstützung für eine solche Kontrolle auf Softwareebene
3. Penetrate and Patch: eindringen und patchen
- Penetrate and Patch ist ein Zyklus, bei dem Firewalls, Software, Websites usw. von außen angegriffen werden, um Fehler zu finden, diese Fehler zu beheben und dann erneut zu suchen
- Dieser Ansatz schafft kein von Grund auf besseres System, sondern nur ein System, das durch Versuch und Irrtum gehärtet wurde
- Richard Feynmans Personal Observations on the Reliability of the Space Shuttle ist eine lesenswerte Quelle dazu, wie Zuverlässigkeit in komplexen Systemen erreicht werden sollte
- Die Kernbotschaft liegt eher bei: „Wenn ein System nicht dafür entworfen wurde, hackbar zu sein, sollte es auch nicht hackbar sein“
- Auch der Trend zu Schwachstellenveröffentlichungen und Patch-Updates beruht auf diesem Ansatz
- Schwachstellenforscher sehen sich als hilfreich für die Community, weil sie Löcher vor Hackern finden und deren Behebung ermöglichen
- Anbieter sehen sich im Recht, weil sie Patches veröffentlichen, bevor Hacker und Wurm-Autoren die Lücken ausnutzen
- Wäre Code jedoch von Anfang an sicher und zuverlässig entworfen, wäre das Finden von Schwachstellen langweilig und wenig lohnend
- Wenn in Internet Explorer zehn Jahre lang jeden Monat zwei bis drei Sicherheitsbugs auftauchten, ist schwer zu behaupten, Penetrate and Patch sei wirksam gewesen
- Einige Anwendungen wie PostFix und Qmail gelten als so entworfen, dass Berechtigungen und Verarbeitung modularisiert und abgeschottet sind, weshalb ihre Historie an Sicherheitsbugs sehr gering ist
- Penetrationstests haben dieselben Grenzen
- Netzwerke mit falschem Grunddesign oder schlechten Sicherheitspraktiken werden auch nach mehreren Penetrationstests weiter gehackt
- Bei Netzwerken, die von Anfang an so entworfen wurden, dass nur bestimmte Richtungen, bestimmter Traffic und sorgfältig konfigurierte Server passieren dürfen, kann ein gewöhnlicher Penetrationstest sinnlos sein
- Wenn man jedes Mal für den „Bug der Woche“ anfällig ist, steckt man in Penetrate and Patch fest
- Software und Systeme sollten secure by design sein und mit Blick auf den Umgang mit Fehlern entworfen werden
4. Hacking is Cool: die Vorstellung, Hacking sei cool
- Hacking is Cool ist eine Kritik an einer Kultur, die Hacker mit Aktienoptionen, Büchern, Kursen und hochpreisigen Penetrationstests belohnt oder glorifiziert
- Donn Parker sah im Remote Computing den Wegfall der physischen Nähe als Voraussetzung für Kriminalität; Anonymität und das Fehlen der direkten Konfrontation mit dem Opfer senkten die emotionale Hemmschwelle für Straftaten
- Hacking ist weniger ein technisches als ein soziales Problem
- Das Internet bietet Menschen mit schwacher sozialer Einbindung einen neuen Handlungsraum
- Wenn Sicherheitspraktiker Hacker zu Helden machen, fördern sie Hacking implizit
- Medien stellen Hacker mitunter als „whiz kids“ oder „brilliant technologists“ dar
- Auch dass Sicherheitspraktiker Hacking-Techniken lernen, wird als Teil dieser Idee betrachtet
- Exploits und ihre Nutzung veralten schnell, sobald die jeweilige Lücke gepatcht ist
- Die eigene Fachkompetenz hängt dann vom Wettrüsten des Penetrate-and-Patch-Ansatzes ab
- Es ist sinnvoller zu lernen, wie man hackresistente Sicherheitssysteme entwirft, als wie man hackbare Systeme findet
- Es wird vorhergesagt, dass „Hacking is Cool“ innerhalb von zehn Jahren verschwinden wird; es gebe jedoch keine Anzeichen, dass das Gegenteil, „Good Engineering is Cool“, an seine Stelle tritt
5. Educating Users: Nutzerschulung
- Educating Users ähnelt Penetrate and Patch, angewandt auf Menschen
- Schulung an sich wirkt gut, doch wenn sie wirksam wäre, hätte man ihre Wirkung bereits sehen müssen
- Mehrere Studien hätten gezeigt, dass ein erheblicher Anteil der Nutzer sein Passwort für ein Bonbon herausgibt
- Der Anna-Kournikova-Wurm wird als Beispiel dafür angeführt, dass fast die Hälfte der Menschheit auf alles klickt, was so aussieht, als enthalte es Nacktfotos einer halbwegs berühmten Frau
- Wenn Nutzerschulung die Strategie ist, muss man Nutzer womöglich jede Woche „patchen“
- Die eigentliche Frage lautet nicht: „Kann man Nutzer sicherer schulen?“, sondern: „Warum müssen Nutzer überhaupt geschult werden?“
- Warum erhalten Nutzer ausführbare Anhänge?
- Warum erwarten Nutzer E-Mails von einer Bank, bei der sie gar kein Konto haben?
- Auch der Umgang mit Anhängen und Phishing ist ein Default-Permit-Problem
- Wenn allen Nutzern erlaubt wird, E-Mail-Anhänge zu erhalten, erlaubt man standardmäßig alles, was gesendet wird
- Ein besserer Ansatz wäre, alle Anhänge zu isolieren, ausführbare Dateien zu löschen und nur erlaubte Dateitypen auf einem Staging-Server aufzubewahren
- Nutzer könnten sich mit einem SSL-fähigen Browser einloggen und die Dateien abholen; die Passwortanforderung schwächt viele Verbreitungsmechanismen von Würmern sofort
- Kostenlose Tools wie MIMEDefang können genutzt werden, um Anhänge aus eingehenden E-Mails zu entfernen, sie in nutzerspezifischen Verzeichnissen zu speichern und den Anhang in der Mail durch die entsprechende URL zu ersetzen
- Beim Betrieb eines kleinen Sicherheits-Startups mussten Mitarbeiter, die Windows nutzen wollten, es selbst installieren und verwalten können; andernfalls wurden sie nicht eingestellt
- Es wird vorhergesagt, dass Nutzer, die Schulung benötigen, innerhalb von zehn Jahren aus dem Hightech-Arbeitsmarkt ausscheiden oder sich zu Hause selbst weiterbilden werden, um wettbewerbsfähig zu bleiben
6. Action is Better Than Inaction: der Glaube, Handeln sei besser als Nichthandeln
- IT-Führungskräfte lassen sich in „early adopters“ und „pause and thinkers“ einteilen; diejenigen, die erfolgreiche und sichere missionskritische Systeme gebaut haben, gehörten eher zur zweiten Gruppe
- Wenn eine neue Technologie erscheint, kann es sicherer sein, nicht sofort zu installieren, sondern abzuwarten, die Ergebnisse anderer früher Anwender zu beobachten und erst nach dem Entstehen von Erfahrung auszurollen
- Ein hochrangiger IT-Manager formulierte seinen Plan zur Einführung eines drahtlosen Unternehmensnetzwerks so: „Zwei Jahre warten und dann jemanden einstellen, der bei einem größeren Unternehmen als unserem erfolgreich Wireless ausgerollt hat“
- In der Zwischenzeit wird die Technologie ausgereifter und die Preise sinken deutlich
- Die zentrale Nebenannahme lautet: „Oft ist es leichter, keine dummen Dinge zu tun, als kluge Dinge zu tun“
- Auch beim Security-Outsourcing folgt der Rat, ein bis zwei Jahre zu warten und die Empfehlungen und Meinungen der Organisationen einzuholen, die überlebt haben
- In einem Kundenfall, in dem ohne Prüfung viel Geld ausgegeben werden sollte, wurde vorgeschlagen, Mitarbeitende zur einschlägigen Konferenz LISA zu schicken, um Personen mit praktischer Erfahrung zu finden
- Diese Mitarbeitenden konnten Produkterfahrene zum Abendessen einladen und informelle Einschätzungen hören
- Ein IT-Manager berichtete, dass ein Abendessen für 200 Dollar mehr als 400.000 Dollar an technischem Schmerz erspart habe
- Professionelles „Kung-Fu“ besteht darin, durch Nichtstun dumme Dinge zu vermeiden und vom Vorgesetzten Anerkennung für diese Vermeidung zu bekommen
Weitere kleine Dummheiten
- „Wir sind kein Ziel“
- Würmer sind nicht klug genug, um zu beurteilen, ob eine Website oder ein Heimnetzwerk interessant ist
- „Wenn alle ein bestimmtes angesagtes Sicherheits-OS nutzen, sind wir sicher“
- Betriebssysteme sind komplex, deshalb haben sie Sicherheitsprobleme, und Systemadministration ist noch kein gelöstes Problem
- Wechselt man einem Trend folgend, kann es schwieriger werden, die Expertise aufzubauen, die Administratoren über Zeit gewinnen
- „Wir haben gute Host-Sicherheit, also brauchen wir keine Firewall“
- Wenn man dem Netzwerk-Fabric nicht vertrauen kann, ist jede Anwendung, die das Netzwerk durchquert, ein potenzielles Ziel
- Als Beispiel wird das Domain Naming System genannt
- „Wir haben eine gute Firewall, also brauchen wir keine Host-Sicherheit“
- Wenn die Firewall Traffic zu den dahinterliegenden Hosts durchlässt, muss auch die Host-Sicherheit dieser Systeme berücksichtigt werden
- „Lass es uns jetzt in Produktion bringen und Security später machen“
- Wenn man jetzt keine Zeit hat, es richtig zu machen, sollte man fragen, ob man nach dem Bruch Zeit hat, es noch einmal zu machen
- Es kann passieren, dass man die ersten paar Tage nicht investiert und dann jahrelang weiter repariert
- „Gelegentliche Probleme lassen sich nicht verhindern“
- Darauf folgt die Gegenfrage, ob man ein Verkehrsflugzeug besteigen würde, wenn die Luftfahrtindustrie bei Menschenleben so vorginge
Die Haltung, die Sicherheitspraktiker brauchen
- Computersicherheit habe sich zu sehr in „die neue Technologie dieser Woche“ verliebt und dabei den gesunden Menschenverstand aufgegeben
- Aufgabe von Sicherheitspraktikern ist es, Konventionen und den Status quo zu hinterfragen und sie, wenn nötig, frontal herauszufordern
- Der Text endet mit dem Problembewusstsein: Wenn die gängigen Annahmen wirksam wären, müsste die Rate kompromittierter Systeme sinken
1 Kommentare
Hacker-News-Kommentare
Schon wieder dieses Thema: https://hn.algolia.com/?q=six+dumbest+ideas+in+computer+secu...
An diesem Text gibt es viel auseinanderzunehmen, aber was ich immer ansprechen möchte, ist Ranums Haltung zu Schwachstellenforschung, gegen die er war. Ende der 90er bis Anfang der 2000er waren Marcus Ranum und Bruce Schneier prominente Stimmen der Ansicht, dass die Offenlegung von Schwachstellen mehr schade als nütze und dass nicht externe Forscher, sondern die Hersteller diese Arbeit machen sollten. Diese Sichtweise hat sich letztlich als falsch erwiesen; 2002 konnte man externe, vollständige Offenlegung in der Schwachstellenforschung noch unter „Hacking“ fassen, heute aber ganz und gar nicht mehr. Nicht nur die vier großen Konferenzen im Sicherheitsbereich, sondern sogar die kryptografische Literatur behandeln Angriffsforschung.
Vielleicht habe ich es übersehen, aber ich war überrascht, dass Passwörter nicht erwähnt werden. Erzwingene Zusammensetzungsregeln außer einer Mindestlänge, regelmäßige Änderungen und Versuche, „Passwörter zu ersetzen“, halte ich im Kern für dumm. Zusammensetzungsregeln führen dazu, dass Passwörter auf Papier notiert, wiederverwendet oder am Ende mit einer 1 versehen werden; Ersatzverfahren haben eine furchtbare oder verwirrende UX und fallen am Ende wieder auf Passwörter zurück. Lasst mich einfach mit Zeichen meiner Wahl ein Passwort ab X Zeichen Länge erstellen, dann kann ich es mir tatsächlich merken, auch wenn ich kein Handy oder keinen Computer dabeihabe oder im Ausland bin.
suckmyDICK123!!eingeben. Trotzdem werden Konten meist nicht leicht geknackt, weil der Durchsatz für Brute Force zu gering ist oder das Konto nach fünf Fehlversuchen gesperrt wird. Heute wissen die meisten zumindest, dass „Bots Passwörter mit übermenschlicher Geschwindigkeit ausprobieren“, und keine Passwortregel verhindert die Wahl schlechter Passwörter. Das ist ein Fall, in dem „verantwortungsbewusste“ Leute enorm viel Zeit verschwenden, um die Realität zu lösen. Abgesehen von ein oder zwei sensiblen Dingen wie Banken will man für Dienste, die einem erzwungene Konten abverlangen — etwa 80 Spiele, die man eine Minute ausprobiert hat — einfach dasselbe Passwort verwenden. Oft ist es eine separate GUI, in die man nicht einmal einfügen kann; man könnte zwar einen Passwortmanager benutzen, aber es gibt keinen echten Grund, das zu tun.Hacking kann cool sein. Nicht, wenn man auf die Daten und Systeme anderer zugreift, aber es ist cool, ein System, das mir gehört, so tief zu verstehen, dass ich Wege finde, es zu meinem Vorteil fehlfunktionieren zu lassen. Das Schloss des Nachbarn zu knacken ist nicht besonders toll, aber mein eigenes Schloss zu knacken ist cool; einen entfernten Computer zu manipulieren, um unberechtigten Zugriff zu erhalten, ist nicht besonders toll, aber meinen eigenen Computer dazu zu bringen, Dinge zu tun, die er eigentlich nicht tun sollte, ist cool. Die Haltung, die Ränder des Möglichen zu erkunden, bewegt die Welt voran, und es dürfte kaum eine erfolgreiche menschliche Gesellschaft gegeben haben, die das Verharren innerhalb des Rahmens gepriesen hat.
In diesem Text steckt sehr viel schlechtes Urteilsvermögen. Ein Satz wie „Ich habe mein System sorgfältig entworfen, implementiert und konfiguriert, also muss ich es nicht testen“ ist womöglich die schlechteste Sicherheitsauffassung, die ich je gehört habe. Auch die Aussage „Hacking ist ein gesellschaftliches Problem, kein technisches“ kommt Security through Obscurity nahe und ist außerdem nicht immer ein gesellschaftliches Problem. Bei Wirtschaftsspionage oder staatlichen Akteuren sieht man, dass das nicht stimmt.
Das Kernproblem ist meist der unglückliche Kompromiss Benutzbarkeit vs. Sicherheit, und die meisten der hier als dumme Ideen genannten Dinge sind das Ergebnis davon, dass man die Unannehmlichkeiten für durchschnittliche Nutzer verringern wollte und dafür Sicherheit geopfert hat. Zum Beispiel ist „standardmäßig erlauben“ für Sicherheit das Schlimmste und eine Ursache vieler Windows-Probleme, aber Nutzer mögen es nicht, jedes neue Programm explizit erlauben zu müssen. Auch als Microsoft Bestätigungsdialoge hinzufügte, hielten viele das für schlechtes Design, das die Software deutlich nerviger machte. Deshalb wurden „standardmäßig erlauben“, „Schlechtes aufzählen“ und „nach dem Eindringen patchen“ zu Defaults. Persönlich halte ich Passwörter selbst für eine der dümmsten Ideen in der Sicherheit. Denn die Definition eines guten Passworts ist praktisch, dass es schwer zu merken ist, auf Geräten ohne richtige Tastatur schwer einzugeben ist und für Nutzer in fast jeder Hinsicht unbequem ist. Aber es gibt auch keine realistische Alternative. E-Mail-Links sind komplett kompromittiert, wenn der E-Mail-Zugang kompromittiert ist, und beim Zurücksetzen von Passwörtern ist es meist genauso. Physische Authentifizierungsgeräte bedeuten, dass Nutzer sich außerhalb ihres Zuhauses nicht einloggen können oder ständig ein Zubehörteil mit sich herumtragen müssen, und fast jede Methode verlangt gute Sicherheitsgewohnheiten, für die sich 99,9 % der Bevölkerung kaum interessieren
Die Aussage „Mehrere Exploits und ihre Anwendung zu lernen bedeutet, Zeit darauf zu verwenden, Werkzeuge und Techniken zu lernen, die veralten, sobald sie gepatcht werden“ ist falsch. Tatsächlich lernt man praktische Aspekte zusammen mit der Theorie, und das ist sehr nützlich
Aus dieser Liste würde ich „Hacking ist cool“ streichen und Vertrauen in den Client aufnehmen. In letzter Zeit gibt es mehr Versuche, dem Client zu vertrauen. Beispiele sind mobile Apps, die einen Nachweis verlangen, dass das Betriebssystem nicht modifiziert wurde, oder Googles Versuch, ein ähnliches DRM ins Web einzubauen. Wenn ein Netzwerksicherheitsmodell darauf beruht, der Client-Software zu vertrauen, ist es bereits kaputt
Zu „standardmäßig blockieren“ heißt es, es sei „nicht viel schwieriger als standardmäßig erlauben und man kann nachts besser schlafen“. Der IT-Sicherheitsbeauftragte schläft dadurch vielleicht besser, aber der Rest des Unternehmens ist extrem genervt, weil nichts funktioniert, ohne dreimal mit der IT-Abteilung hin und her zu gehen. Und je genervter Menschen sind, desto eher nutzen sie Workarounds, die das Sicherheitskonzept untergraben. Wenn man monatliche Passwortwechsel erzwingt, verwenden sie eben Dinge wie
password1,password2,password3. Gute IT-Sicherheit bedeutet nicht einfach, das Netzwerkkabel zu ziehen; sie sollte für Nutzer magisch unsichtbar und unaufdringlich seinSicherheitsorientierte Texte werden meist von Menschen geschrieben, denen Sicherheit extrem wichtig ist, und blenden oft die Schwierigkeiten aus, die ein rein sicherheitszentrierter Ansatz für Nutzer sicherer Software mit sich bringt. Sicherheit betrachte ich immer als Schieberegler zwischen Sicherheit und Bequemlichkeit. Ein vollständig sicheres Design ist so unbequem, dass es kaum Nutzer hat, und ein vollständig bequemes Design ist nicht sicher genug und kann am Ende zum gleichen Ergebnis führen. Trotzdem ist dieser Text insgesamt lesenswert, aber der Vorstellung, es sei dumm, wenn Sicherheitsexperten Exploits schreiben oder lernen, wie man ein bestimmtes System missbraucht, widerspreche ich entschieden. Ich habe viel mehr über Sicherheit gelernt, indem ich Schwachstellen und Exploits untersucht und sie selbst auf White-Hat-Art implementiert habe, als durch das Studium von „sicherem Design“. Es ist ähnlich wie der Spruch: „Um den Kerl zu verstehen, musst du selbst zu ihm werden.“
Das ist größtenteils eine miserable Liste von vor 19 Jahren. „Software und Systeme sollten von Grund auf sicher sein und mit Blick auf Fehlerbehandlung entworfen worden sein“ bedeutet: „In einer perfekten Welt wäre alles von Anfang an sicher gewesen.“ Das wird nie passieren, also muss man Techniken nach dem Prinzip finden und patchen einsetzen, und sie haben für Unternehmen gut funktioniert, die entdeckte Schwachstellen tatsächlich patchen und aus ihren Fehlern für künftige Coding-Praktiken lernen. Außerdem sind die meisten Systeme nicht statisch. Man veröffentlicht nicht einmal ein sicheres System und aktualisiert es nie wieder; die meisten Anwendungen und Systeme werden häufig aktualisiert, und dabei gelangen neue Schwachstellen hinein.
scriptoderonclickenthalten.