Zephyrnet-Logo

S3 Ep65: Lieferkettenverbindung, NetUSB-Lücke, Honda-Rückblende, FTC-Muskel [Podcast + Transkript]

Datum:

HÖR JETZT ZU

Klicken und ziehen Sie auf die unten stehenden Schallwellen, um zu einem beliebigen Punkt zu springen. Du kannst auch direkt zuhören auf Soundcloud.

Mit Doug Aamoth und Paul Ducklin. Intro- und Outro-Musik von Edith Mudge.

Ihr könnt uns auf hören Soundcloud, Apple Podcasts, Google Podcasts, Spotify, Stitcher und überall, wo gute Podcasts zu finden sind. Oder lass es einfach fallen URL unseres RSS-Feeds in Ihren Lieblings-Podcatcher.

LESEN SIE DAS TRANSKRIPT


DOUG AAMOTH. JavaScript, NetUSB, Log4Shell, FTC…

All das und mehr: Das ist der Naked Security Podcast.

[MUSIKMODEM]

Willkommen zum Podcast, alle zusammen.

Ich bin Paul; er ist Doug…


PAUL DUCKLIN. [LACHT] Ich denke, Sie haben da einen echten Fehler gemacht, nicht wahr?


DOUG. Ich tat.


ENTE. Es war eigentlich kein Scherz.


DOUG. *Ich bin* Doug… Ich bin wie immer in der ersten Minute der Show auf Autopilot.


ENTE. Nun, wir werden über jede Menge Software-Bugs sprechen… es ist leicht, solche Fehler zu machen.


DOUG. Wir haben viel zu besprechen, also werden wir uns darauf einlassen.

Wir haben heute so etwas wie eine Blitzrunde; viele Geschichten zu erzählen.

Und wie Sie wissen, beginnen wir die Show gerne mit einem Fun Fact: Wenn Sie in Bezug auf Freitag, den Dreizehnten, abergläubisch sind, sind Sie nicht allein, es sei denn, Sie leben in Griechenland, Spanien oder Italien.

Griechenland und Spanien betrachten Dienstag, den Dreizehnten, als den unglücklichsten Tag; Italiener sind misstrauisch gegenüber Freitag dem Siebzehnten; und Paul, wie Sie wissen, werden wir dies zurück in die binden Diese Woche in der Tech-Geschichte Segment später in der Show.


ENTE. Triskaidekaphobie!


DOUG. Ich habe das an einigen Stellen geschrieben gesehen, und ich bin froh, dass Sie es laut gesagt haben, weil es fast unmöglich ist, es zu lesen, wenn Sie es nicht schon einmal gehört haben …


ENTE. Τρισκαίδεκα… es ist nur das altgriechische Wort für dreizehn, mit dem Wort für Angst.

Also eigentlich ist das Angst vor dreizehn, und nicht unbedingt nur Freitag der Dreizehnte, aber sie gehören irgendwie zusammen.


DOUG. Ein Tag, an dem unheimliche und seltsame Dinge passieren.

Apropos gruselig und seltsam, die Geschichte dieses „JavaScript-Entwicklers“ ist wild!


ENTE. Ich weiß nicht, ob es gruselig ist, aber ja, es ist seltsam. Vielleicht ein bisschen traurig.


DOUG. Also, was ist hier passiert?


ENTE. Nun, es war das, was man einen Supply-Chain-Angriff nennen könnte, bei dem Leute in JavaScript geschriebenen Code in ihre Projekte saugen – von NPM oder GitHub oder wo immer sie ihn bekommen, von einem Open-Source-Modul, das von vielen verschiedenen Projekten verwendet wird, ausgegeben unter der MIT Open Source-Lizenz.

Sie können es also frei verwenden, vorausgesetzt, Sie behaupten nicht, dass es Ihnen gehört – Sie können es sogar in kommerziellem Code verwenden.

Und der Entwickler zweier solcher Projekte, faker.js und colors.js, entschied plötzlich, dass er genug hatte.

Er hatte vor ein paar Jahren angedeutet, dass er es ein bisschen satt hatte, all diese Arbeit zu machen und nicht bezahlt zu werden …

… wie der berühmte XKCD-Cartoon Doug.


DOUG. [Lacht]


ENTE. „Alles wird von dieser dünnen kleinen Programmsäule gestützt, die seit 2003 von irgendeiner zufälligen Person in Nebraska unermüdlich gepflegt wird“ – *dieser* XKCD-Cartoon.


DOUG. Ja.


ENTE. Dieser Typ entschied offensichtlich: „Nun, ich habe genug.“

Also hat er für faker.js einfach den Stecker gezogen – er hat den gesamten Quellcode entfernt.

Er hat, wenn Sie so wollen, eine endgültige Version des Projekts erstellt, die keinen Quellcode enthält; es hat den Kommentar „Endgame“; und in der README steht nur: „Was ist mit Aaron Schwartz passiert?“

Er war der berühmte Hacktivist, der sehr traurig Selbstmord beging, nachdem er verhaftet worden war, weil er eine ganze Ladung Akten mitgenommen hatte – wissenschaftliche Arbeiten, von denen er glaubte, dass sie nicht hinter einer Firewall sein sollten, aber das Gesetz sah das anders.

Das hat er also mit dieser faker.js gemacht

Und obwohl es ein seltsamer Name für ein Programm ist, war es tatsächlich sehr nützlich, es zu haben, weil es gefälschte Daten für Sie erstellt.

Du hast kürzlich in einem Podcast darüber gesprochen, nicht wahr, Doug?

Über die Wichtigkeit, keine echten Daten zu verwenden, damit Sie keine Probleme mit der Privatsphäre bekommen.

Nun, er hat den Stecker gezogen, wenn Sie also auf die neueste Version aktualisieren, ist alles weg.

Sie müssen nicht aktualisieren – Sie sind gesetzlich berechtigt, das ältere weiter zu verwenden – aber er hat eindeutig entschieden, dass es an der Zeit ist, Dodge City zu verlassen.

Aber mit colors.js… hat er leider einen weniger verständlichen Ansatz gewählt, indem er eine neue Version herausgab, die eine Endlosschleife enthielt, was im Grunde dazu führte, dass sie seltsam aussehenden Müll druckte, wenn Sie es ausführten, anstatt Sie nur Farben hinzufügen zu lassen Ihre Konsolenausgabe.

Sie wissen, wie Menschen Farben mögen, um Wörter wie FEHLER, WARNUNG oder was auch immer hervorzuheben.

Aber wenn Sie dieses Update automatisch akzeptierten, als Teil dessen, was Sie Ihre Lieferkette nennen könnten, dann würde Ihr Programm plötzlich einen Denial of Service erleiden, weil es in diese Schleife geraten würde, die von einem Startwert von 666 aus lief …


DOUG. [Lacht]


ENTE. …bis zu, aber nicht einschließlich, dem JavaScript-Wert Infinity.

Diese Schleife gibt „Testen, Testen, Testen, Testen, Testen“ aus, wobei eine ganze Menge Müll hinzugefügt wird.

Man könnte sagen, das war keine sehr schöne Sache, aber Sie mussten die neue Version nicht akzeptieren, und der Code war für Sie sichtbar: Er war in keiner Weise versteckt.

Es ist Open Source, Sie könnten es überprüfen.

Wie auch immer, einige Leute wurden getroffen und mussten zur alten Version zurückkehren, und dies löste eine ganze Kette von Kommentaren auf seinem GitHub-Konto aus.

Ich glaube, er wurde aus seinem GitHub-Konto gesperrt, vielleicht verständlich, aber es gibt dort Hunderte von Kommentaren.

Einige Leute sagen: „Ja, ich bin bei dir, Bruder; Ich verstehe, woher du kommst“, und andere sagen: „Weißt du was? Wahrscheinlich ein Schritt zu weit.“


DOUG. Denken Sie darüber nach, wie viele kommerzielle Softwarepakete auf solche Dinge angewiesen sind …


ENTE. Da hättest du fast Log4j gesagt, Doug.


DOUG. [LACHT] Lassen Sie uns etwas später darüber sprechen.


ENTE. Nun, ich frage mich, ob der Zeitpunkt dafür vielleicht nicht durch die Aufregung um Log4j> beschleunigt wurde

Vielleicht hat das diesen Kerl provoziert?

Soweit ich weiß, hat er versucht, das faker.js-Toolkit zu kommerzialisieren, was sehr nützlich ist; ziemlich umfangreicher Code, der realistische Daten aller Art erzeugen könnte.

Er hat versucht, es zu kommerzialisieren und Online-Dienste zu schaffen, die Leute, die wollten, bezahlen konnten, aber es scheint, dass das für ihn nicht funktioniert hat, und daher war es nicht wirklich nachhaltig.

Da hat er den Stecker gezogen.

Aber leider hat er bei dem anderen Projekt den Brunnen vergiftet, und da stehen wir.


DOUG. Ich nehme an, dies lässt die Frage nach der Idee von a wieder auftauchen Software-Stückliste, oder eine Zutatenliste, wenn Sie so wollen, für Verbraucher oder Leute, die Ihre Software kaufen werden …

… damit sie sehen können, wie viele Open-Source-Komponenten es hat oder woher alles kommt.


ENTE. Ja, vielleicht ist das der Silberstreif am Horizont.

Log4j hat das zugrunde liegende Problem nicht gelöst: Diese Funktion wurde 4 zu Log2013j hinzugefügt, was?

Und niemand hat es bis jetzt bemerkt, und dann, als sie es taten, "Oh Gott, wie kannst du es wagen?"

Nun, Sie haben den Code vor vielen Jahren in Ihre Software übernommen, ohne zu bemerken, dass es dieses Problem gab, und Sie haben nicht dafür bezahlt; Vielleicht ist es ein wenig übertrieben zu behaupten, dass es jemand anderes als Ihre eigene Schuld war, weil Sie erwischt wurden.

Also vielleicht ist der Silberstreif am Horizont, dass, obwohl man sagen könnte, es war ein bisschen infantil, vielleicht hilft es uns allen, wie Sie sagen, a zu akzeptieren Software-Stückliste – „aufgeführte Inhaltsstoffe“.

Vielleicht ist das eine gute Idee.


DOUG. In Ordnung, viele gute Diskussionen dort.

Diese Geschichte heißt JavaScript-Entwickler zerstört eigene Projekte in Supply Chain „Lektion“ unter nakedsecurity.sophos.com

Sie können also dorthin gehen, um zu lesen und zu kommentieren.

Und jetzt werden wir über NetUSB sprechen.

Ich erinnere mich an den Nervenkitzel, vor wie vielen Jahren meinen Drucker über USB direkt an meinen Heimrouter anzuschließen und zu sagen: „Wow, wir haben es geschafft! Die Technologie hat endlich ihren Höhepunkt erreicht!“


ENTE. NetUSB ist ein Produkt, das Sie von einer Firma in Taiwan namens Kcodes lizenzieren können.

Sie behaupten in ihrem Marketingmaterial, dass über 20 % der weltweiten Netzwerkgeräte inzwischen Kcodes-Code eingebettet haben, also scheint es, als seien sie recht erfolgreich gewesen.

Und NetUSB ist, wenn Sie so wollen, ein generischer USB-Virtualisierer.

Sie können also nicht nur eine zentralisierte Festplatte oder ein NAS oder einen Drucker anschließen, wie Sie es getan haben.

NetUSB kann andere Dinge wie TV-Tuner, Audiogeräte und alle möglichen Dinge zentral verwalten.

Es gibt also eine Art virtuelles USB-Kabel, das über Ihr Netzwerk läuft, zwischen Ihrem Computer und (leider) einem speziellen Kernel-Treiber auf Ihrem Router …

…ein Treiber, der sich als fehlerhaft herausstellte, der es theoretisch fast jedem hätte ermöglichen können, Ihren Router zu übernehmen.

Ach je.


DOUG. Oh je, in der Tat.


ENTE. Dieser Fehler wurde also von einem Forscher namens Max van Amerongen bei Sentinel One gefunden.

Anscheinend wollte er am Pwn2Own IoT-Hacking-Wettbewerb für 2021 teilnehmen.

Er sah, dass Netgear ein Gerät auf der Liste hatte, also dachte er: „Oh, ich habe mir diese Geräte schon einmal angesehen; Lass mich mal sehen."

Er fand heraus, dass es einen Kernel-Treiber gab, der TCP-Port 20005 abhörte … diese Zahl scheint willkürlich zu sein, also ist das kein zuverlässiger Indikator dafür, dass Sie dieses Problem haben, aber es könnte ein Ausgangspunkt sein, wenn Sie wissen, wie man Port-Scanning durchführt .

Und Max dachte: „Hey, Auflistung der Kerneltreiber auf allen Netzwerkschnittstellen – localhost, LAN und WAN? Wenn dort eine Schwachstelle vorhanden ist, kann sie aus der Ferne ausgenutzt werden. Da fange ich an, mich zu konzentrieren.“

Und so grub er sich dort in den Code ein.

Wie Sie sich vorstellen können, wird etwas wie NetUSB – es wird viele verschiedene Funktionen haben, die es unterstützt.

Wenn Sie an HTTP denken, nun, das hat Dutzende von Befehlen: GET, POST, HEAD, OPTION … aber etwas wie NetUSB mit Dutzenden von verschiedenen Gerätetypen, mit Dutzenden von verschiedenen Funktionen, unterstützt wahrscheinlich Hunderte von verschiedenen Befehlen.

Und er fand heraus, dass der Befehl 0x805F – ich denke, das ist nur willkürlich, 32863 …

Dieser Befehl hatte bei der Verarbeitung der zu sendenden Daten einen fiesen kleinen Fehler, Douglas, der die Nummer 17 beinhaltete.

Im Grunde geht der Fehler so.

Wenn Sie diesen Befehl ausführen möchten – der Befehl hat etwas mit einer Nachricht zu tun; Ich weiß nicht, was der Befehl macht, weil es tatsächlich die Vorverarbeitung ist, die das Problem verursacht, nicht der Befehl selbst ...

… sagt der Kernel-Treiber als Erstes: „Okay, ich brauche einige Daten von Ihnen. Sagen Sie mir, wie viele Daten Sie senden werden“, und es akzeptiert einen Vier-Byte-Wert. (Sie können sehen, wohin das führt …)

Dann weist es so viel Speicher zu.

Nun, das klingt schlecht, weil es keine Längenprüfung durchführt.

Was ist, wenn die Person sagt: „Oh, ich möchte drei GB RAM zuweisen?“ [LACHEN]

Nun, Sie stellen sich vor, auf einem durchschnittlichen Heimrouter wird es einfach nicht funktionieren und es wird elegant scheitern.

Das Problem ist, wenn Sie sagen: „Ich möchte 4 GB minus ein Byte“, also FFFFFFFF im Hexadezimalformat.

Dann, anstatt zu versuchen, so viele Bytes zuzuweisen, was offensichtlich nicht funktionieren wird, weil ein 32-Bit-Router Ihnen keine 4 GB RAM zur Verfügung hat …

… was der Code tun würde, würde er sagen: „Nun, ich werde so viel Speicher zuweisen, wie Sie möchten, falls Sie so viel benötigen, selbst wenn Sie ihn nicht verwenden. Und ich brauche 17 zusätzliche Bytes für meinen eigenen temporären Gebrauch.“

Es würde also eine sehr, sehr große positive Ganzzahl ohne Vorzeichen * plus 17 Bytes * Speicher zuweisen.

Dies würde einen Millennium-Bug oder einen Auto-Kilometerzähler-Stil umfassen.

Ein Angreifer könnte also sagen: „Ich möchte, dass Sie mir 4 GB-1 Byte RAM zuweisen, und das bedeutet, dass ich Ihnen in Zukunft Nachrichten in beliebiger Größe bis zu dieser Menge senden kann.“

Aber der Kernel würde dann wegen des Integer-Überlaufs einen Puffer von nur 16 Bytes allokieren.

Dann würde der Kernel sagen: „Richtig, schick mir deine Daten“, und du schickst so viel du willst…

Wenn Sie dann natürlich mehr als 16 Bytes senden, was versehentlich alles ist, was zugewiesen wurde, haben Sie einen Pufferüberlauf im Kernel!

Danke fürs Kommen; Spiel ist aus.


DOUG. OK, hört sich so an, als müssten wir auf ein Firmware-Update warten!


ENTE. Nun, die gute Nachricht ist, dass dies verantwortungsvoll offengelegt wurde.

Der Grund dafür, dass es nur über dieses Jahr geschrieben wurde, obwohl die Arbeit bereits Mitte 2021 erledigt wurde, ist, dass dies verantwortungsbewusst gegenüber dem Unternehmen offengelegt wurde, das das NetUSB-Produkt herstellt, und dann gegenüber allen Anbietern, die es möglicherweise lizenzieren Produkte.

Sie waren sich also alle bewusst, dass es diesen Fehler gab und dass sie ihn beheben mussten.

Es wurde also verantwortungsvoll offengelegt, und Patches sind verfügbar.

Das einzige Problem ist: Wie finden Sie heraus, ob Sie angreifbar sind?

Wie ich bereits erwähnt habe, könnten Sie versuchen, ein Programm wie Nmap oder so etwas zu verwenden, einen Port-Scanner, und nachsehen, ob Sie Port 20005 auf Ihrem Router geöffnet haben, was ein guter Hinweis darauf wäre, dass Sie dieses Ding haben könnten, denn so geht es der Forscher fand es überhaupt erst.

Aber das ist natürlich nur ein Symptom: Ob Sie diesen Port offen oder geschlossen haben, bedeutet nicht, dass Sie den Fehler haben oder nicht.

Wenn Sie also einen Router haben, der diese NetUSB-Funktion unterstützt, mit der Sie nicht nur Drucker, sondern fast jedes USB-Gerät zentral anschließen können, gehen Sie zur Website Ihres Router-Anbieters und prüfen Sie, ob es ein Update gibt.


DOUG. OK, und wir haben noch einige andere Ratschläge, die uns helfen können, solche Fehlverhalten in Zukunft zu mildern.


ENTE. Ja, der andere Rat, den wir in dem Artikel gegeben haben, war nicht für Benutzer von Heimroutern, die gefährdet sein könnten, wo wirklich alles, was wir sagen können, ist: „Patch früh, patch oft; Prüfen Sie, ob ein Patch verfügbar ist.“

Wir haben einige Ratschläge für Programmierer hinzugefügt: drei schnelle Dinge.

Hören Sie zunächst nicht standardmäßig auf allen Netzwerkschnittstellen, es sei denn, Sie müssen es wirklich.

Zweitens: Überprüfen Sie immer die Ergebnisse der Integer-Arithmetik, insbesondere wenn es um die Speicherzuweisung geht.

Und der dritte Tipp ist, sowohl auf Integer-Unterlauf als auch auf Integer-Überlauf zu prüfen.

Wenn Sie sich vorstellen, einen alten Auto-Kilometerzähler rückwärts laufen zu lassen, ist die Zahl vor 000000 999999, nicht -1, weil Auto-Kilometerzähler keine negativen Zahlen darstellen können.

Denken Sie nicht: „Es werden zwangsläufig 17 Bytes übrig bleiben“, denn es gibt möglicherweise keine …

…Sie sind es Ihren Benutzern schuldig, dies zu überprüfen.


DOUG. OK.

Der Artikel lautet: Heimrouter mit NetUSB-Unterstützung könnten ein kritisches Kernel-Loch haben, auf nakedsecurity.sophos.com

Jetzt ist es Zeit für Diese Woche in der Tech-Geschichte!

Wir haben früher in der Show über Freitag, den Dreizehnten, gesprochen….


ENTE. Ich habe eine Ahnung, wohin das führen wird, und ich denke, dass es mit Computerviren zu tun haben wird, Doug. [LACHEN]

Das ist mein Verdacht…


DOUG. Woher wusstest du das? [LACHEN]

Diese Woche, am Freitag, dem 13. Januar 1989, infizierte ein Freitag-der-Dreizehnte-Virus Computer in ganz Großbritannien.

Dies war nicht der erste Freitag-der-Dreizehnte-Virus, und es kann eine Variante des sogenannten Jerusalem-Virus davor gewesen sein, der ein Zeitbombenvirus war, der am Freitag, dem 1988. Mai, losgehen sollte 1989, das war der letzte Freitag, der Dreizehnte vor Januar XNUMX.

Beide Viren verlangsamten die Computer, ließen COMMAND.COM jedoch in Ruhe.

Und Paul, du hast eine großartige Farbe in all diesen Dingen, weil du es durchlebt hast. „Du warst dabei, Mann.“


ENTE. Wie sich die Geschichte wiederholt!

Viele Lektionen aus dieser Zeit können wir heute aufgreifen, aber die über COMMAND.COM ist ziemlich interessant.

Aus dem Gedächtnis war einer der allerersten dateiinfizierenden Viren in der DOS-Welt – ich glaube, es könnte der Lehigh-Virus aus den USA gewesen sein – sehr offensichtlich, denn als er die COMMAND.COM-Datei infizierte, gab es nur wenige Varianten von COMMAND.COM, und einige Leute hatten sich die Größe dieser Datei gemerkt.

So sprach sich schnell herum: „Hey, dieses Virengeschäft ist trivial zu handhaben. Sie müssen nur auf die Größe von COMMAND.COM achten, und wenn sie sich ändert, haben Sie einen Virus!“

Und die Schlussfolgerung, zu der die Leute eingeladen wurden, lautete daher: Wenn es sich *nicht* ändert, haben Sie *keinen* Virus.

Also, was haben die Virenautoren fast sofort zu tun begonnen?


DOUG. [Lacht]


ENTE. Sie infizierten jede Datei *außer* für COMMAND.COM, denn das war diejenige, auf die sich alle konzentrierten.

Aber es zeigt, dass dies eine andere Ära war … als man einen Virus nach einer ganzen *Stadt* benennen konnte, in der Annahme, dass es so wenige Viren gab, wie hoch ist die Wahrscheinlichkeit, dass es jemals ein anderer vom selben Ort sein würde?


DOUG. Ja, die Zeiten ändern sich und nicht immer zum Besseren.

Apropos Zeiten ändern sich, es scheint, dass Honda entweder seinen eigenen kleinen Y2K-Moment hat oder versehentlich etwas gebaut hat, das wie eine Zeitmaschine funktioniert.


ENTE. Ich liebe deine Arbeit dort, Doug – das ist ein sehr guter Übergang.


DOUG. Vielen Dank!


ENTE.Ich wusste, was als nächstes kommen würde, und ich habe das nicht vorhergesagt.

Ja, die Zeitmaschine von Honda.

Es ist auf jeden Fall Zurück in die Vergangenheit, nicht wahr? Nicht Zurück in die Zukunft.

Anscheinend Besitzer von Honda-Autos eines bestimmten Alters – keine brandneuen und auch keine brandneuen; Die Autos müssen anscheinend ungefähr ein Jahrzehnt alt sein …

… am Neujahrstag 2022, wenn die Leute ihre Autos starteten, stellte sich die Uhr nach einer Weile auf den 01. Januar 2002 um Mitternacht zurück.

Und ich sollte das nicht sagen, weil es eine grausame Sache ist, aber ich werde sagen, dass, wenn Sie sich nicht an 2002 erinnern können …


DOUG. Oh, nein, nein, neeeeeeein….


ENTE. Darf ich das?


DOUG. Nein!


ENTE. Sagen wir einfach, es gab einen Song in den Charts mit dem Text „La la la, la la la la-la, la la la la-la la la-la“ des kleinen australischen Popstars Kylie Minogue – so ist es weit zurück sind wir gegangen.

Und niemand wusste genau warum.

Die bisher beste Vermutung scheint zu sein, dass es mit dem sogenannten GPS-Rollover zusammenhängt, genauso wie der Millennium-Bug von Leuten verursacht wurde, die sagten: „Weißt du was? Wir leiten einfach 19 ab und verwenden zwei Ziffern für das Jahr.“

Nun, natürlich wurde GPS in den 1970er Jahren erfunden, und die Bandbreite dieser weit entfernten Satelliten ist sehr, sehr begrenzt.

Und sie dachten, nun, was wir tun werden, ist, dass wir in Intervallen von 1024 Wochen statt in Jahren laufen werden.

Es gibt also eine „Wochennummer“, und es stehen nur 10 Bits für die Wochennummer zur Verfügung.

Alle 1024 Wochen kehren also GPS-Geräte der alten Schule zu dem zurück, was man Day Zero nennen könnte.

Ich nenne sie „Kilowochen“ und diese Kilowwochen gehen von 1980 bis 1999; 1999 bis 2019; und 2019 bis 2039.

Nun gab es am 06. April 2019 einen berüchtigten Kiloweekary-Reset, bei dem sich Leute mit alten GPS-Empfängern fragten: „Werden sie zurück ins Jahr 1999 springen?“

Manche taten es, manche nicht.

Aber natürlich müssen Sie, wie beim Millennium Bug, nicht davon *nur zum genauen Rollover-Zeitraum* getroffen werden.

Wie Sie sich erinnern, hat eine Menge Software mit dem Millennium-Bug angenommen, dass sich alles vor 50 tatsächlich auf das nächste Jahrtausend bezieht.

Daher bedeutet 50 1950, aber 49 bedeutet 2049 – Sie haben also immer noch einen Millennium-Fehler, aber Sie verschieben ihn ein wenig.


DOUG. Lassen Sie die zukünftigen Generationen damit umgehen!


ENTE. Unbedingt.

Natürlich können Sie das mit GPS-Rollover machen, und das macht eine Menge Software.

Woher wissen Sie, welches Startdatum Sie verwenden müssen? Nun, der offensichtliche Weg, dies zu tun, besteht darin, die Zeit oder das Datum oder das Jahr zu verwenden, in dem Sie die Software kompilieren, die gerade auf dem GPS-Gerät läuft – denn das kann nie rückwärts gehen.

Und so können Sie einen Vergleich anstellen, der besagt: „Ich erwarte nicht, dass diese Software vor, sagen wir, 2003 ins Spiel kommt. Wenn ich also jemals ein Jahr sehe, das vor 2003 liegt, gehe ich einfach davon aus, dass ich aus bin Palette."

Und was Sie tun, ist, dass Sie einige Tage, Wochen, Monate, Jahre vom Beginn einer 1024-Wochen-GPS-Periode angehen – ungefähr 20 Jahre; 19 Jahre, siebeneinhalb Monate….

… du nimmst dir im Grunde einige Tage und verschiebst sie an das Ende der aktuellen Kilowochenperiode.

Und der Vorschlag ist, dass das Honda hier draußen erwischt haben könnte.

Der Grund, warum ich vermute, dass dies der Fall ist, ist, dass ein Leser von The Register, einer beliebten IT-Publikation in Großbritannien, dort kommentierte, dass er einen Honda CR-V hatte, der davon betroffen war, und jedes Mal, wenn er sein Auto startete , springt die Zeit zurück auf den 01. Januar 2002, als wüsste die Uhr einfach nicht weiter.

Es wählt also standardmäßig den Beginn des Jahres. (Aber da die Uhr natürlich von GPS gespeist wird, können Sie sie nicht manuell einstellen.)

In diesem Fall sieht es so aus, als ob es die richtige Zeit kennt, aber es weiß nicht, welches Jahr es ist, also rechnet es sich aus: „Ich fange einfach um Mitternacht an, mehr oder weniger, plus oder minus egal in welcher Zeitzone ich denke, in welcher Zeit du dich befindest.“

Anscheinend hat dieser Typ herausgefunden, dass sein GPS dachte, es sei Mai 2002, vor ziemlich genau 1024 Wochen, was ihn glauben ließ, dass dies nach GPS-Überschlag riecht.


DOUG. Interessant.


ENTE. Und das ist die beste Vermutung, die mir dazu einfiel, wie das passiert ist: dass es durch so etwas wie den Millennium-Bug verursacht wurde, aber mit einer Einschränkung zusammenhängt, die verständlicherweise in den 1970er Jahren in GPS eingebaut wurde, weil jedes Bit zählt, wenn Sie muss es zuverlässig durchs Weltall bringen.

Also, wer weiß, was passiert ist, Doug?

Aber es ist ein Hinweis für jeden Programmierer, wenn Sie heute Code schreiben und denken: „Wie groß ist die Wahrscheinlichkeit, dass der Code, den ich heute herausbringe, im Jahr 2042 noch verwendet wird?“ …

…die Antwort ist *wahrscheinlich* nicht, aber sehr wahrscheinlich* könnte es sein.


DOUG. Man weiß nie!


ENTE. Und deshalb könnten die Entscheidungen, die Sie heute treffen, Menschen so weit im Voraus beeinflussen.


DOUG. „Denken Sie bitte an die Kinder“, wissen Sie, was ich meine?


ENTE. Genau!

Wie der Millennium-Bug bewies; wie Bugs wie dieser beweisen: 20 Jahre sind eine sehr lange, aber auch eine kurze Zeit, wenn es um die Langlebigkeit von Computersoftware geht.


DOUG. Unbedingt.

In Ordnung, das ist eine faszinierende Geschichte – wir haben einige gute Kommentare dazu, also kommen Sie und lesen Sie alles darüber: Honda-Autos im Rückblick auf 2002 – „Geht dir nicht aus dem Kopf“.

Und jetzt habe ich diesen Ohrwurm….


ENTE. Du hast es gesagt! Ich glaube nicht, dass ich diese Worte wirklich benutzt habe.

Ich sagte nur: [SINGT, ALLMÄHLICH AUSBLENDEND] „La la la, la la la la-la/La la la, la la…“


DOUG. Wir möchten hier nicht enttäuschen, aber leider haben wir keinen Apple-Bug…


ENTE. [ÄNGSTLICH] Ich habe mich selbst entwurmt!


DOUG. Du hast dich selbst ohrwurmt?

Wir haben diese Woche keine Apple-Bug-Story, aber wir können keine Log4Shell-Story anbieten.

Vielleicht ist das unsere neue Apple-Bubble-Geschichte – wir haben ein paar davon.


ENTE. Ich hoffe, dass Log4j mir diesen Song aus dem Kopf reißt, denn ich habe mich echt geohrwurmt, Doug, und ich kann mich nicht wirklich beklagen, oder?


DOUG. Nein Sir!


ENTE. Aaaargh.

Okay, es ist also nicht wieder ganz Log4j, aber es ist eine wichtige Erinnerung.

Wie Sie aus dem Podcast der letzten Woche wissen, sprachen wir darüber, wie der öffentliche Sektor der USA verfügte: „The Night Before Christmas: Du sollst das bis dahin erledigt haben. Lass es nicht. Mach es heute. Das geht nicht von alleine weg."

Nun, komm das neue Jahr; kommt die Federal Trade Commission – die FTC ist im Grunde die US-Verbraucherrechtsorganisation, und sie hat eine ziemlich schlagkräftige, kastenförmige kleine Erinnerung an Unternehmen herausgebracht, die in US-Gerichtsbarkeiten tätig sind.

Selbst wenn Sie Opfer einer Cyberkriminalität geworden sind, können Sie selbst haftbar gemacht werden, wenn Sie dies durch Patchen hätten verhindern können, und es vernünftigerweise zu erwarten war, dass Sie dies tun würden.

Sie waren ziemlich schlagkräftig in dem, was sie sagten, und die Warnung beinhaltet diese Worte, Doug: „Die FTC beabsichtigt, ihre volle rechtliche Befugnis zu nutzen, um Unternehmen zu verfolgen, die keine angemessenen Schritte unternehmen, um Verbraucherdaten in Zukunft vor einer Offenlegung durch Log4j oder ähnliche bekannte Schwachstellen zu schützen.“


DOUG. Whoa!


ENTE. Es ist nicht nur das Sprichwort von Naked Security: „Patch früh, patch oft“!

Es ist die FTC, die Sie daran erinnert, dass Sympathie nur so weit geht und dass Sie aus demselben Grund sowohl Opfer als auch Täter von Cyberkriminalität sein können – nämlich nicht gepatcht zu haben.

Es lässt die Gauner herein, und das wird uns leid tun.

Aber wenn es Gauner dort hineinlässt, wo man vernünftigerweise erwartet hätte, dass sie sie ferngehalten hätten, indem Sie die Vorsichtsmaßnahmen getroffen haben, die offen gesagt alle anderen getan haben, dann müssen Sie vielleicht die Dose für einen Teil davon tragen.


DOUG. OK, wenn sie also sagen „Log4j oder ähnliche bekannte Schwachstellen in der Zukunft“, nicht allzu weit danach, hatten wir eine ähnliche Schwachstelle mit diesem H2-Bug.


ENTE. Ja, überraschend ähnlich wie Log4Shell.

Und tatsächlich von Forschern gefunden, die Java-Code nach ähnlichen Arten von Programmierung durchsuchten, die überhaupt erst zu der Log4Shell-Schwachstelle geführt haben.

Dieser Fehler, CVE-2021-42392, wurde von einem Supply-Chain-Management-Unternehmen namens JFrog entdeckt.

Sie beschlossen: „Hey, schauen wir uns den gesamten Java-Code an, der eine ähnliche Verwendung dieses JNDI-Dings enthalten könnte“ – das hier Java-Namens- und Verzeichnisschnittstelle das stellte sich im Log4j-Bug als missbrauchbar heraus.

Und wenn Sie sich an JNDI erinnern, dann sagen Sie eigentlich: „Hey, ich möchte, dass Sie diese Daten nachschlagen. Oh, ich habe die Daten nicht, aber ich schicke Ihnen eine URL für einige Daten; Tatsächlich schicke ich Ihnen eine URL für ein Programm: Führen Sie das Programm aus und sehen Sie, was es Ihnen sagt.“

Ich schätze, JFrog hat sich gefragt, wie viele andere Programme Teile ihres Codes haben, in denen diese JNDI-Namenssuchfunktion verwendet und möglicherweise überbeansprucht werden könnte.

Leider fanden sie sehr schnell eine in einer beliebten Java-SQL-Datenbank-Engine namens H2.

Nun, ich muss ehrlich sein, Doug, ich hatte vorher noch nie von H2 gehört.


DOUG. Nein ich auch nicht.


ENTE. Ich habe von MySQL, PostgreSQL, SQLite und dem ganzen No-SQL-Datenbankkram gehört.

Aber ich hatte noch nie von H2 gehört, aus dem gleichen Grund, aus dem ich noch nie wirklich von Log4j gehört hatte: Sein ganzer Anspruch auf Berühmtheit war, dass es etwas war, das kompakt genug war, dass – im Gegensatz zu, sagen wir, MySQL oder Microsoft SQL, wo Sie laufen einen Server und verbinden Sie sich damit – hey, Sie können es einfach in Ihre Anwendung saugen, H2 als Teil Ihrer Anwendung haben.


DOUG. Oh cool!


ENTE. Es ist ein weiteres dieser Dinge, bei denen Anwendungen, die Sie möglicherweise installiert haben, dies eingezogen haben könnten, genau wie Java-Apps Log4j eingezogen haben könnten.

Die schlechte Nachricht ist, dass der Fehler fast genauso funktioniert wie die Log4Shell-Schwachstelle: Sie erhalten dieses JNDI-Ding, und anstatt nur eine lokale Suche durchzuführen, sagen Sie: „Hey, wissen Sie was? Für die Suche ist hier eine URL; Holen Sie sich diese Java-Klassendatei und führen Sie sie aus.

Es ist also dieselbe Abfolge von Ereignissen, die zur Ausnutzbarkeit führt.

Das sind die schlechten Nachrichten.

Die gute Nachricht ist, dass, soweit ich das beurteilen kann, die einzig realistische Möglichkeit für einen Angreifer darin besteht, die Konfigurationsdatei für diese H2-Komponente auf einem der Computer in Ihrem Netzwerk zu ändern.

Mit anderen Worten, es handelt sich eher um eine Erhöhung von Rechten oder einen Lateral-Movement-Trick als um die Remote-Code-Ausführung.

Denn obwohl Sie es für die Remote-Code-Ausführung verwenden könnten, wenn die Lücke offen wäre, müssten Sie lokalen Zugriff erhalten, um das Ganze für den Remote-Zugriff zu öffnen, wenn Sie verstehen, was ich meine.


DOUG. Ja.


ENTE. Mit anderen Worten, Sie müssen in das Netzwerk einbrechen, um in das Netzwerk einbrechen zu können.

Aber es ist trotzdem etwas, das Sie patchen möchten, weil es eine Funktion ist, die versehentlich vorhanden war, genau wie das Log4Shell-Problem.

Es ist also immer noch ein Fehler beim Patchen; Es ist einfach nicht ganz die potenzielle Katastrophe der Remote-Code-Ausführung, die wir bei Log4Shell gesehen haben.


DOUG. OK, wir haben einen Rat.

Wenn Sie wissen, dass Sie eine App haben, die die H2-Datenbank-Engine ausführt, können Sie auf Version 2.0.206 aktualisieren; Wenn Sie sich nicht sicher sind, können Sie in Ihrem Netzwerk nach Instanzen des H2-Codes suchen.


ENTE. Ja, das ist ein bisschen wie das Log4j-Problem, oder?

Als die Leute innehielten, um darüber nachzudenken, stellten sie fest, dass sie eigentlich nicht wussten, wie viele Apps sie hatten, die überhaupt in Java waren; und dann wussten sie nicht, wie viele davon Log4j enthalten hatten.

Als sie auf die Suche gingen, stellten sie fest: „Meine Güte, es gibt viel mehr Java-Apps, als wir dachten, und viele von ihnen haben zufällig Log4j.“

Dasselbe gilt für dieses H2: Es könnte sich um eine App handeln, ohne dass Sie es überhaupt merken.


DOUG. Da ist wieder diese Stückliste – wir brauchen diese Stückliste!


ENTE. Genau!

Also, wie Sie es bei Log4j getan haben, wo Sie nach log4j DASH gesucht haben, was auch immer …

…hier können Sie nach Dateien namens h2 DASH STAR DOT jar suchen – das ist Java Archive.

Wenn diese Dateien erscheinen, werden sie wahrscheinlich so etwas wie h2 DASH zwei PUNKT null DOT irgendeine Zahl oder ein anderes DOT-Jar enthalten.

Und wie Sie sagten, Doug, wonach Sie suchen, ist 2.0.206 oder höher.


DOUG. OK, hüpft drauf, alle zusammen!

Das wird .. genannt Log4Shell-ähnliche Sicherheitslücke in beliebter Java SQL-Datenbank-Engine H2 gefunden, auf nakedsecurity.sophos.com.


ENTE. Und nehmen Sie es uns nicht ab, dass Sie dazu springen müssen. Nehmen Sie es von der FTC!


DOUG. Ja, im Ernst! [LACHT]


ENTE. Ich möchte nicht sagen, dass sie Menschen bedrohen, aber sie sagen: „Es ist wichtig.“


DOUG. Sie seien „dringend dringend“.

Und Sie können mehr darüber auf nakedsecurity.sophos.com lesen: FTC droht mit rechtlichen Schritten wegen nicht gepatchtem Log4j und anderen Schwachstellen.

Und während wir die Show abrunden, ist es Zeit für die Oh! Nein! der Woche.

Reddit-Benutzer LordDragon24Aug965 schreibt…


ENTE. Das ist der ganze Name?


DOUG. Das ist der ganze Name, ja.


ENTE. Mach es nochmal, ich habe nicht alles verstanden…


DOUG. LordDragon24Aug1965…


ENTE. [SARKASTISCH] Das wäre nicht sein Geburtstag, oder?


DOUG. Es könnte sein, weil er damit beginnt, zu sagen: „Damals in den alten Tagen …“ [LACHEN]

Ich war der einzige Telefonsupport-Techniker für eines der allgegenwärtigen PC-Clone-Häuser, die früher in den Computerzeitschriften geworben haben.

Wir hatten 200 Computer an ein Softwareunternehmen verkauft, und der erste ging direkt an einen VP des Unternehmens, um ihn zu testen, während wir den Rest der Bestellung erstellten.

Der Verkäufer kam in voller Panik zu mir und sagte mir, dass die Maschine, die ich getestet hatte, bevor sie das Geschäft verließ, sich nicht einschalten ließe.

Ich rief den VP an, der sagte, dass an der Maschine überhaupt keine Lichter waren.

Ich bat sie, auf die Rückseite zu schauen und zu sehen, ob sich der Netzteillüfter – damals der einzige Lüfter – drehte.

Er sagte mir, ich solle durchhalten – er müsse das Licht anmachen.

Würdest du es nicht wissen?

Er hatte es an eine schaltbare Steckdose angeschlossen.

Und Paul, mich würde interessieren, ob das für dich überhaupt Sinn macht….

Es endet mit den Worten: „Der Vertriebsmitarbeiter hat mir Mittagessen gekauft, um seine Provision zu sparen.“

Haben Sie überhaupt ein Konzept für die „geschaltete Steckdose“ in Ihrer Ecke des Waldes?


ENTE. Tatsächlich denke ich, dass ich in jedem Gerichtsbezirk, in dem ich je gelebt habe, in meinem Leben …

…das Phänomen einer *ungeschalteten* Steckdose ist mir noch nicht begegnet.


DOUG. Ach, stimmt, ja!


ENTE. Warum nicht aus Sicherheitsgründen einen Schalter haben, damit Sie ihn ausschalten können?

Dies ist besonders relevant in Großbritannien, wo wir Ringleitungen verwenden – wenn eine Steckdose unter Spannung steht, sind alle unter Spannung.

Wir haben also Steckdosen, die, wie ich es verstehe, gesetzlich geschaltet werden.

Das Seltsame, was wir haben – in zwei der Länder, in denen ich gelebt habe, gibt es die Verordnung – ich glaube nicht, dass Sie sie in den USA haben –, dass Sie keine Lichtschalter im Badezimmer haben dürfen.


DOUG. Interessant.


ENTE. Sie müssen entweder einen normalen Lichtschalter außerhalb des Badezimmers haben oder – am häufigsten in Großbritannien – Sie haben einen Zugschalter, bei dem sich der Schalter in der Decke befindet und mit einer Schnur betrieben wird, die keinen Strom leitet.

Aber ein Schalter – oder eine Steckdose – ist im Badezimmer nicht erlaubt.


DOUG. Interessant!

Nun, ich habe heute so viel gelernt, also danke, dass Sie mich über dieses und all die anderen Dinge aufgeklärt haben, über die wir gesprochen haben.

Und wenn Sie eine haben Oh! Nein! Sie einreichen möchten, wir würden es gerne im Podcast lesen.

Sie können eine E-Mail an tips@sophos.com senden; Sie können jeden unserer Artikel kommentieren; oder Sie erreichen uns unter social@NakedSecurity.

Das ist unsere Show für heute – vielen Dank fürs Zuhören.

Für Paul Ducklin bin ich Doug Aamoth und erinnere Sie bis zum nächsten Mal daran, …


BEIDE. Bleib sicher!

[MUSIKMODEM]


Source: https://nakedsecurity.sophos.com/2022/01/13/s3-ep65-supply-chain-conniption-netusb-hole-honda-flashback-ftc-muscle-podcast-transcript/

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?