Man redet nicht über Geld. Lasst uns über Investments reden!

Nein, hier geht es definitiv nicht um Investments selbst, dementsprechend gibt es hier keine Empfehlung für oder gegen ein Produkt – zumindest in finanzieller Hinsicht.

Worum es mir geht, ist der technische oder vielmehr sicherheitstechnische Aspekt – zumindest in dem Umfang, wie ich es mit gefährlichem Halbwissen in Sachen Security bewerten kann.

Die E-Mail

Seit einer Weile habe ich Investmentsparen bei meiner lokalen Bank bzw. vielmehr bei UnionInvestment. Bis vor kurzem war das Teil auch recht ruhig, bis folgende Mail eintrudelte:

Kopf macht „bee-doo bee-doo“:

Mails werden bei mir grundsätzlich als Nur-Text angezeigt, was mehr als nützlich ist, um Spam/Scam/Phishing zu erkennen, also mal ein Blick auf alles klickbare:

  • Absendername passt nicht zur Absender-Mailadresse
  • Domain der eingebetteten Bilder passen nicht zur Absender-Domain
  • Hyperlinks passen nicht zur Absender-Domain
  • Rückfragen-Mailadresse passt nicht zur Absender-Mailadresse
  • Die Mail kommt an meine öffentlich einsehbare Adresse. Mach ich bei wichtigeren Dingen eigentlich nicht (mehr dazu später)

Zum Inhalt:

  • Subject ist reißerisch und unspezifisch, schreit „Klick mich! Klick mich!“ – das machen Spammer/Scammer/Phisher
  • Keine persönliche Anrede. Der Absender kennt mich offenbar nicht – das machen Spammer/Scammer/Phisher (und selbst die schaffen das mittlerweile)
  • Es wartet ein unspezifisches wichtiges Dokument auf mich und ich soll einen Link klicken. – das machen Spammer/Scammer/Phisher

Immerhin sind keine Tippfehler drin. Ich habe keine Zeit und lass die Mail ein paar Tage im Postfach liegen um später nochmal in Ruhe draufzuschauen. Einen Link klicke ich natürlich nicht, dafür hat die Mail einfach zu viele rote Flaggen, finde aber in der Browser History die Domain, auf der ich vor einiger Zeit einen Account angelegt habe.

Nach dem Login gibt es dann doch ein wichtiges Dokument, das allerdings nicht ganz so wichtig ist.

Meine zweckspezifischen Mailadressen

Wie vorhin angedeutet, verwende ich für wichtige Dinge spezifische Mailadressen, die den Absender eindeutig markieren. In etwa wie die Plus-Adressierung, wie sie Google Mail oder Outlook unterstützen, nur dass das bei meinem Hoster nicht geht. Also habe ich Mailforwardings mit sehr spezifischen Namen eingerichtet. Um ein fiktives Beispiel zu nennen: Wäre in Kunde bei der „Fischers Fritze“-Bank, würde ich eine Weiterleitung „von_bank_fischersfritze@“ einrichten. Bei Plusadressierung wäre die Variante „chris+fischersfritze@“, ihr versteht den Punkt.

Nach dem Motto: Was nicht passt wird passend gemacht. Also erst einmal das Telefon geholt, per TOTP-2FA (Zwinkersmiley, siehe später) im Hoster-Backend eingeloggt und eine neue Mailweiterleitung angelegt.

Bei MeinInvest in die persönlichen Daten navigiert, Ernüchterung stellt sich ein:

  • Meine vollständigen Kontaktdaten, Geburtsdatum, Steuer-ID, Geburtsort, Staartsangehörigkeit, Bankverbindung und noch dazu Mailadresse sind sichtbar – ok, letztere habe ich auch beim Login eingegeben, also soweit nicht schlimm. Aber der Rest: SPINNT IHR? DAS IST EIN FESTMAHL FÜR IDENTITÄTSDIEBE!
  • meine vollständige Mobilnummer für 2FA ist sichtbar – ok. ruhig bleiben. WAS ZUM? Jemand, der eine Session geklaut hat, weiß damit, WAS MEIN VERDAMMTER ZWEITER FAKTOR IST und kann IHN DURCH ANKLINGELN AUCH NOCH BEQUEM STEHLEN – ODER EINFACH ANRUFEN „Hallo hier ist $IhreBank, wir müssen Ihr Konto verifizieren und haben einen Code geschickt, sag mal“! HAT MAN EUCH ALS KINDER DIE MILCH GEGEN LACK AUSGETAUSCHT?

Durchatmen. Es wird hoffentlich nicht schlimmer.

Ich klicke also bei der Mailadresse auf Bearbeiten und tippe meine frisch erstellte Weiterleitungsadresse ein. Ding, schon ist die SMS da:

Die 2FA-SMS

Keine Ahnung, ob da im Template vergessen wurde „IhreBank“ durch den Namen meiner Bank oder zumindest UnionInvestment zu ersetzen (zum Verständnis: Dienst-SMS können mit einem Nummernüberdeckenden Namen gesendet werden, ich hab diesbezüglich nix im Telefonbuch), IMHO etwas ungeschickt ist, dass die TAN so ziemlich als erstes in der SMS steht. Manche Telefone zeigen zumindest einen Anriss von Nachrichten im Lockscreen an – würde die Nachricht gefüllt werden à la „Servus, an Ihrem Account wurde eine Änderung der E-Mail-Adresse vorgenommen, wenn Sie dies durchgeführt und beabsichtigt haben, bestätigen Sie dies bitte mit der folgenden mTAN: 123456“, wäre der Bestätigungscode zumindest bei manchen Telefonen hinter die Entsperrmauer verbannt.

Zugegeben an dieser Stelle: Mein Fehler. Solche Nachrichten sollte man im Sperrbildschirm deaktivieren. Dazu kommt, dass mTAN mittlerweile überholt und durch MultiSIM-Attacken mittlerweile ein leichtes Ziel für Identitätsdiebe ist. Wie wäre es mit modernen Verfahren wie TOTP, was komplett vom User getrieben ist und nicht auf ein verbundenes (und damit angreifbares Gerät) beschränkt ist.

Zähneknirschend gebe ich die mTAN ein und das könnte es gewesen sein.

Die (ausbleibende) Benachrichtigung

Ist es aber nicht.

Kurz darauf trudelt eine E-Mail zur Bestätigung der neuen Mailadresse ein. … auf der neuen Mailadresse. AUF DER NEUEN MAILADRESSE.

An die Alte ging nichts. In Sachen Schadensbegrenzung bei einem Accountdiebstahl ist das – diplomatisch ausgedrückt – nicht sehr vorteilhaft. Man bekommt nicht mit, dass etwas passiert ist. Wohlbemerkt bei einer Geldanlage die tendenziell davon lebt, dass man nicht jede Woche reinschaut.

Also im Zweifel: Account weg, Geld weg und vielleicht noch ein bisschen mehr.

Kontaktaufnahme

Eine security.txt ist bei meininvest.de zwar (nur mit https-Protokoll, HTTP-Status 200) erreichbar, hat aber eine Länge von 0 Byte. So war das nicht gedacht, Leute. Ok, mit www. vor der Domain kommt ein 404. Für eine Bank eher weniger cool. Bei union-investment.de schaut man genauso in die Röhre. Muss ich überhaupt noch erwähnen, dass es auf der Website meiner lokalen Bank ebenfalls keine gibt?

Also manuelle Kontaktsuche. Bei meiner Bankniederlassung gibt es unter Kontakt erst einmal nur ein popeliges Formular. In den Untiefen der Seiten finde ich dann doch noch eine Mailadresse zu einem Ansprechpartner für Kundendialog.

Aufschrieb hin (nicht im Umfang wie hier) und ab dafür. Die Eingangsbestätigung mit Hinweis auf eine Weiterleitung an UI kommt einen Tag später, eine Rückmeldung eine weitere Woche später.

Im Groben war die Antwort: mTAN ist zulässig und sicher, die Sicherheit wird regelmäßig bla-bla-bla. An 2FA wird gearbeitet und es wird geplant noch 2022 einzuführen.

Zur nicht idealen Benachrichtigung per Mail: kein Kommentar, gleiches bzgl. security.txt.
Der Vollständigkeit halber: Das anzeigen der vollständigen Mailadresse und Handynummer habe ich in meiner ersten Mail nicht erwähnt.

Vonseiten der lokalen Bank kam zur security.txt die Anmerkung, dass das aktuell nicht geht, aber es ja ein Impressum und eine Beschwerdeseite gibt. Ideal ist anders, insbesondere weil unnötige Hürden bleiben (z. B. für automatisierte Meldungen oder nicht-deutschsprachigen Forschenden).

Ein kleiner Kommentar in der Antwort hat mich allerdings auf Ideen gebracht: Meine Überweisungen vom Giro auf das Sparbuch hat wohl für Erheiterung gesorgt. Es war vermutlich ein Verwendungszweck wie:

Muss jemand das tatsächlich lesen?Ok,hier etwas für den Wortschatz: Als Gummikavalier wurde in den 1930er Jahren ein Schwimmring bezeichnet

Die nächsten drei Überweisungen sahen dann wie folgt aus:

1/3 Ueberweisungen haben eine Gemeinsamkeit mit dem Internet: Einmal drin, bekommt man Informationen ganz schlecht wieder raus.

2/3 In dem Sinne: Union Investmentlegt bei MeinInvest eher weniger Wert auf Schutz vor Onlinekontodiebstahl. Man bekommt keine Nachricht

3/3 auf die vorherige Mailadresse,dass sie geaendert wurde.Ein entsprechender Hinweis wurde von UI ignoriert. Nachbarschaftliche Gruesse 🙂

Eigentlich hätte ich noch mit dem Einwerfen des Wortes „Sextape“ die manuelle Prüfung triggern sollen. Auch nach etwa 3 Wochen (Zeitpunkt der Erstellung dieses Posts) hat zumindest noch kein Telefon geklingelt.

Wo stehen wir nun?

Nach knapp zwei Monaten (Stand 11.09.2022) sieht’s noch wie oben geschildert aus. (Änderung der Mailadresse habe ich allerdings nicht noch einmal getestet)

Nach der erhaltenen Rückmeldung (26.07.2022) könnte sich eigentlich niemand mehr über eine Veröffentlichung beschweren – auch sind die gefundenen Fehler nicht besonders kritisch, bieten aber unnötige Angriffsfläche für Accountdiebstahl und weiteren Missbrauch von verifizierten Daten.

Da sich dieser Aufschrieb jedoch von der ursprünglichen Meldung unterscheidet, habe ich mich für Responsible Disclosure entschieden, also vor der Veröffentlichung eine Möglichkeit zur Reaktion anzubieten.

Eine entsprechende Mail ging am 11.09.2022 mit einer Frist zum 19.09.2022 und dem Angebot einer einmaligen Verzögerung raus. Ja, das ist kurz, mit dem Vorlauf der ursprünglichen Inkenntnissetzung IMHO aber lang genug. Kurz nach dem Versand kam eine OOO-Benachrichtigung mit Rückkehr zum 12.09., bedeutet: Die Mail ist angekommen, und einer rechtzeitigen Reaktion meines Ansprechpartners stand nichts im Wege.

Nachdem auch am 20.09.2022 keine Rückmeldung erfolgte, wurde der Artikel mit leichten Modifikationen (dieser Abschnitt, hinzugefügter Angriffsvektor für 2FA) veröffentlicht.

Mal sehen, ob das Telefon doch noch klingelt.

Kommt ein Oszilloskop von Saleae?

Wer mich kennt weiß, dass ich ein großer Fan von Saleae Logic Analyzern bin. Auch wenn in der Logic 2 Software IMHO noch einige wichtige Features, gerade hinsichtlich der Dokumentation, fehlen, wächst und gedeiht die Software ganz ordentlich.

Eher durch Zufall habe ich nun entdeckt, dass die neue Version endlich wieder Automatisierung unterstützt, lediglich beim Blick in die Dokumentation gab es ein kurzes Stutzen – bei einem Screenshot zu „Finding the Serial Number of a Device“ ist das Menü zur Auswahl der Demo-Geräte zu sehen, darunter ein Eintrag „[Demo] Mso“:

Auszug aus der offiziellen Automation Documentation, abgerufen am 29.07.2022

Huch? Jeder, der in Sachen Elektronik bzw. Messtechnik bewandert ist, kennt diese Abkürzung: Mixed Signal Oscilloscope.

Auch wenn die Logics (oder Pods, wie sie vom Hersteller genannt werden) Analog sampeln können, gibt/gab es bis dato keinen Scope-View. Zum einen Schade, zum anderen aber auch verständlich: mit der -3 dB-Bandbreite von lediglich 5 MHz kann man erstaunlich wenig reißen – besser als die meisten Hosentaschen-Oszis wäre es allgemein. Aber irgendwo kann ich den Ansatz auch entstehen: Es ist eher ein schneller Logger als ein langsames Oszi, zudem muss man beachten, wo die Software her kommt.

Nichts desto weniger wäre der Schritt in Richtung Oszilloskop gar nicht so abwegig, auf Seiten des digitalen Pfad ist Know-How vorhanden, in Sachen Software auch – durch die Analog-Funktionalität der aktuellen Generationen ist auf jeden Fall schon mal ein Schuh in der Tür.

Müsste ich einen Tipp abgeben, würde ich auf einen auf einen Angriff in Richtung 3000er-Serie von Pico Technology tippen, also 2-4 Kanäle, 100 MHz, 1 GS/s und um 10 bit tippen. Aber das ist natürlich reine Spekulation.

Mal schauen, ob und wenn ja was da kommt.

Nachschlag vom 30.08.2022:

Ein Vögelchen kam mit folgendem Bild aus den Anwendungsressourcen aus einer aktuellen Logic-Installation (2.3.58) zugeflogen:

Also schon einmal vier Kanäle und eine Farbgebung und -reihung der Kanäle, die mich an die der großen Hersteller erinnert.

Offener Treffpunkt. Mit verschlossener Tür. #vshbleibt

Eher durch Zufall habe ich diese Woche gelesen, dass das Verschwörhaus in Ulm ein Problem hat.

Wer es nicht kennt: Das Verschwörhaus ist bietet Raum und Räumlichkeiten für Hacker, Maker, Breaker, und natürlich alle anderen – eben für Menschen wie du und ich. Der Name ist eine Anspielung auf das Schwörhaus, eines der Wahrzeichen in Ulm – und nur einen Steinwurf – oder vielmehr einen Hop im WLAN – entfernt.

Was wohl schon länger gebrodelt hat, ist nun wohl leider final eskaliert. Der SWR, Netzpolitik.org und der Tagesspiegel (hinter Paywall, daher nicht verlinkt) berichteten. donau3fm hat ebenfalls eine (Stand heute) in meinen Augen eine „gute“ Zusammenfassung.

Die Kurzfassung: Die Stadt hat vieles über die Köpfe des Vereins hinweg entschieden, das Image ohne Beteiligung (aus)genutzt und hat auch den Namen als Marke zur Anmeldung gebracht – ohne das Wissen der Vereinsmitglieder. Nachdem nun das zweite Mal – scheinbar ohne Ankündigung – die Schlösser des Hauses getauscht wurden, ist es nun wohl Schluss. Wenn man den Berichten Glauben schenken darf, ist das Verhalten der Stadt gegenüber den ehrenamtlichen, die nicht nur den Verein aufgebaut, sondern auch Leben – nicht nur ins Haus, sondern auch die (städtische) Digitalisierung – gebracht haben gelinde gesagt mehr als enttäuschend.

Als Außenstehender steht mir natürlich nicht zu, über Beteiligte zu urteilen. Fingerpointing oder Shitstorms bringt niemanden weiter. Das Kind ist im Brunnen und das Vertrauen mutmaßlich unwiederbringlich verloren. Ob und wie es mit oder gar in der Stadt Ulm weitergeht – ich bin gespannt.

Was bleibt ist Unterstützung – mit der Zeichnung des Offenen Briefes vorerst zumindest moralisch, für alles weitere werde ich meine Augen und Ohren offen halten.

Falls das hier jemand von den „Verschwörern“ liest: Lasst euch nicht von dem entstandenen Ärger und Frust einbremsen oder aufhalten. Ich bin mir sicher, dass der Neuanfang gelingt, ihr die Traktion aus den bisherigen Erfolgen mitnehmt, die negativen Erfahrungen in etwas Positives umwandeln könnt und das „Verschwörhaus 2.0“ ein gutes Upgrade wird 🙂

Auch LCDs können einbrennen.

Nachdem in letzter Zeit einmal mehr das Thema hochgekommen ist, dass LCDs/TFTs nicht einbrennen können, habe ich mich nun doch genötigt gefühlt nach den uralten Fotos auf dem Rechner zu suchen. Zugegeben, es ist wirklich aus grauer Vorzeit und es hat sich einiges getan, aber hier der Beweis:

Das Panel war schon einige Monate (wenn nicht sogar Jahre) aus der Anwendung raus und hier an einen einfachen LCD-Treiber angeschlossen, der es zum Leben erweckte. Nahm man dem Controller den Strom weg, die Hintergrundbeleuchtung aber weiter an, entspannten sich die Flüssigkristalle und sie gingen in den bevorzugten Zustand, der dem lange Zeit angezeigten Inhalt entspricht. Links oben sieht man sehr deutlich „Controller Interface“, links oben kann man das Wort „Agit“ erkennen.

Aus einer Serienaufnahme habe ich nochmal einen kurzen Clip gebastelt – man achte darauf, wie rechts oben eine Buttonleiste erscheint – „Config“, „Cal“ (?), „Gauge“, „Trend“, „Case“, „Sterile“, „Alarms“:

Mit den Angaben schwanke ich irgendwo zwischen Industriesteuerung und Medizinequipment. Unter dem vollständigen Fenstertitel „NBS Local Controller Interface“ konnte ich online leider nichts finden.

Code-Templates für AVR-Register

Warum sollte man sich für Dinge abmühen, die der Computer viel besser kann als man selbst?

Dieser Gedanke rückt viel zu oft in den Hintergrund. Auch wenn ich mich selbst immer wieder dabei erwische, Dinge manuell zu machen (weil man es halt doch nicht so oft braucht), poppt immer wieder folgender Gedanke hoch:

Wenn man einmal 2 Stunden für die Automatisierung einer 10-minütigen Aufgabe investiert, hat es sich nach 12-maliger Benutzung schon gelohnt. Mal ganz zu Schweigen von Flüchtigkeitsfehlern, Wiederholbarkeit, etc.

Mir war schon länger bekannt, dass Microchip Studio Definitionsdateien für Register mitbringt, das erste Mal aktiv genutzt habe ich sie beim updizombi (den ich im Nachhinein lieber updipuppeteer genannt hätte, weniger apokalyptisch), auf dessen Hilfsscript ein Tool entstand, das viel Fleißarbeit abnimmt:

Für die bessere Lesbar- und Wartbarkeit beim Schreiben von Registern habe ich mir angewöhnt, die Namensdefinitionen der Bits zu nutzen. Dafür liegt dann mindestens die Register Summary des Chips auf dem zweiten Bildschirm:

Das Abtippen ist reine (nervige, aber sinnvolle) Fleißarbeit. Nach einigen Jahren hat dann doch die Faulheit – oder Motivation? – gesiegt und es ist ein zusammengehacktes Script entstanden, das die beim Microchip Studio mitgelieferten Definitionsdateien in Codetemplates umwandelt.

Die Ausgabe sieht dann wahlweise so

...
/// Module USART - USART
/// Register group USART0 - USART
/// Register UDR0 - USART I/O Data Register 0
UDR0 = ;
/// Register UCSR0A - USART Control and Status Register A
UCSR0A = (0<<RXC0) | (0<<TXC0) | (0<<UDRE0) | (0<<FE0) | (0<<DOR0) | (0<<UPE0) | (0<<U2X0) | (0<<MPCM0);
/// Register UCSR0B - USART Control and Status Register B
...

oder so

...
/// Module USART - USART
/// Register group USART0 - USART
/// Register UDR0 - USART I/O Data Register 0
UDR0 = 
/// Register UCSR0A - USART Control and Status Register A
UCSR0A = 
      (0<<RXC0) // USART Receive Complete
    | (0<<TXC0) // USART Transmitt Complete
    | (0<<UDRE0) // USART Data Register Empty
    | (0<<FE0) // Framing Error
    | (0<<DOR0) // Data overRun
    | (0<<UPE0) // Parity Error
    | (0<<U2X0) // Double the USART transmission speed
    | (0<<MPCM0); // Multi-processor Communication Mode
...

aus.

Den Code und Details zur Benutzung gibt es im Git-Repository. Mal sehen, welche Tülchen in dem Dunstkreis sonst noch entstehen.

Gefällt mir nicht.

Hey YouTube, wer ist eure Zielgruppe?

Dass es die Benutzer eurer Plattform nicht sind, wurde schon öfter gezeigt bzw. bewiesen. Um wen es geht? Werbetreibende, also Geld.

Ein für User praktisches Hilfsmittel um vor dem Ansehen eines Videos (oder zumindest innerhalb der ersten paar Sekunden) zu erkennen, ob es inhaltlich taugt, kontrovers oder ziemlicher Mist ist war die Anzeige der Likes/Dislikes sowie dem Ratio.

Weil YouTube/Google/Alphabet natürlich die Positivität ihrer Plattform verbessern will (im Sinne von höhere positive finanzielle Zahlen) wurde der öffentliche Dislike-Counter entfernt. Für die jeweiligen Creator bleibt der Zähler allerdings sichtbar. Aber auch Benutzer müssen nicht unbedingt blind sein: Erweiterungen wie Return YouTube Dislike haben sich Schattenkopien der Statistiken per API geholt und führen nun selbst Buch.

Inwieweit das noch repräsentativ ist kann ich leider nicht einschätzen, wie brauchbar die Zahlen in Zukunft sein werden wird die Zeit zeigen, ich hoffe zwar, denke aber ehrlicherweise nicht, dass der offizielle Counter wieder zurück kommt.

Wenn es YouTube tatsächlich um Positivität gehen würde, wäre es sinnvoll, wenn statt einem „destruktiven Daumen“ konstruktive Kritik (abseits der Kommentare) geben würde. Sprich: Drückt man den Daumen nach unten, muss man es begründen (sei es multiple choice oder Texteingabe). Auf die Weise könnte man tatsächlich etwas verändern und einem „einfach nur weil dagegen“ würde zumindest eine kleine Hürde in den Weg gelegt.

Der Aufhänger für diesen Post?

Als sehr seltener „Creator“ bin ich gestern wieder durch den Uploadprozess gegangen und bin über folgende Option gestolpert:

Da muss wohl noch eine Übersetzung angepasst werden.

Shooting the messenger

Aus mehrfach aktuellem Anlass – und nachdem auch die Politik aktuell wieder heult, dass im letzten Jahr wieder massiv gecybert wurde.

Liebe Unternehmen: Bekommt eure Security und vor allem euer Verhalten gegenüber Sicherheitsforschenden endlich mal in den Griff.

Nachdem es bei Golem und Heise zu lesen war und es nicht der erste Fall von „Shooting the messenger“ dieses Jahr war und mir ehrlich gesagt mittlerweile der Kamm ein wenig schwillt, mal (m)eine Meinung und Erfahrung zum Thema Sicherheitsforschung und der Umgang von Unternehmen mit der Thematik.

Der Vollständigkeit halber (und nein, das soll keine Prahlerei sein): ja, auch ich habe schon Sicherheitslücken entdeckt und gemeldet. Details sind sind an der Stelle unwichtig, zur groben Einordnung, zwei Meldungen hatten IIRC einen CVSS-Score von 7,4 und 8,6.

Was ich in der Kommunikation mehrfach beobachten konnte waren folgende Reaktionen in dieser Reihenfolge:

  • „Kann gar nicht sein“
  • „Warum glauben Sie, dass es eine Sicherheitslücke gibt?“
  • „Oh.“
  • (vermutlich hektischer Griff zum Telefonhörer, keine Reaktion – nach längerem Warten und mehreren Rückfragen)
  • „Wir haben es gefixt, bitte prüfen“

Meine Gedanken dazu: Ok, ok, es kann ja jeder daherkommen und Dinge behaupten. Aber selbst mit einer groben Beschreibung was falsch läuft, sollte jemand der/die „security“ in der Mailadresse hat entweder seine Kompetenz nutzen oder entsprechende Ressourcen im eigenen Betrieb aktivieren.

Gleiches gilt für Punkt zwei. Muss man als unbezahlte(r) dritter wirklich immer einen proof of concept darlegen? War bei mir bis jetzt immer der Fall. Leute, es eure Sicherheit. Euer Kapital, eure Verantwortung. Muss man wirklich eure (bitte entschuldigt die Ausdrucksweise aber etwas milderes fällt mir dazu nicht ein) Nase in den Kackhaufen drücken, auch wenn man von weitem schon sieht, dass der einfach nicht auf den Parkettboden gehört?

Das darauf folgende „Oh.“ gibt zwar ein wenig Genugtuung – aber: man im Zweifel Stunden oder gar Tage für etwas aufgewendet, was eigentlich in der verdammten Verantwortung des „zerforschten“ liegt. Seis drum. Man hilft ja gerne.

Selten oder eigentlich eher so gut wie gar nicht habe ich Proaktive Kommunikation von der Gegenseite bekommen. Warum auch: man hat ihr unliebsame Arbeit beschert und nervt dann auch noch damit, wann endlich die ureigensten Probleme gelöst sind.

Und ja, auch der letzte Punkt ist nicht erfunden. „Will review for code and food“. Man muss sich echt wundern, mit welcher Erwartungshaltung manche Menschen durchs Leben gehen. Natürlich werde ich an einer Blackbox bestätigen, dass das Teil jetzt sicher ist, obwohl die Sicherheitslücke im Zweifel nur einen kleinen Schritt zur Seite gemacht hat – und zum Schluss noch „Haftung“ dafür zu übernehmen. Ja ne, is klar Kollege.

Eine andere Beobachtung (allerdings schon ein paar Jahre her): Es kann durchaus schwierig sein jemanden zu erreichen, der/die sich tatsächlich überhaupt verantwortlich für Sicherheit fühlt. Auf Anfragen über Kontaktformulare oder zentrale Mailverteiler wurde nicht reagiert und es war social engineering erforderlich, um einen Kontakt aufzubauen.

Was läuft falsch?

Die für mich markantesten Punkte sind:

  • Es ist erstaunlich schwierig, einen Kommunikationskanal aufzubauen
  • Man muss mehr beweisen als eigentlich nötig wäre
  • Probleme werden heruntergespielt oder die Tragweite verkannt
  • Um die Analogie „Daten sind das Öl des 21. Jahrhunderts“ auszuschlachten: Die Gewinne sind wichtig, aber für eine Tankerhavarie gibt es weder einen Notfallplan noch eine schnelle Eingreiftruppe. Zerstöre Ökosysteme: kann man nichts machen, das bringt der Fortschritt halt mit sich
  • Obwohl man hilft, bleibt man Bittsteller oder ein Störfaktor
  • Es gilt das Schubkarrenprinzip: Es bewegt sich nur was, wenn man schiebt

Grundsätzlich kann man es wie folgt zusammenfassen: Die Erwartungshaltung der beiden Parteien divergiert.

Zugegeben: ich habe den Eindruck, dass es (auch dank DSGVO und den damit verbundenen Strafen) etwas besser geworden ist und auch die Angst vor der Veröffentlichungen etwas größer geworden sind.

Dennoch ist die noch recht junge security.txt Stand Oktober 2021 leider noch nicht so richtig etabliert.

Liebe Unternehmen, bitte beachtet:

Sicherheitsforschende…

  • …machen das ggf. in deren Freizeit
    (nicht sie binden eure die Zeit, ihr macht das mit ihrer)
  • …sind nicht die Ursache eurer Probleme
  • …haben euch gegenüber keine keine Verpflichtung oder Bringschuld
  • …haben erst einmal keine persönlichen Vorteile, euch zu helfen
  • …haben kein Interesse, euch ans Bein zu pinkeln
    (sonst würden sie die Lücke gleich woanders verkaufen)
  • …sollten euch nicht erklären müssen, wie ihr es richtig macht
  • …sollten euch nicht den Hintern hinterher tragen müssen
  • …wollen sich nicht und lassen sich nicht gerne verarschen lassen

Herangehensweise

An der Stelle sei hervorgehoben: das sind keine verbindlichen Ratschläge, dafür habe ich weder die Expertise noch eine Autorität. Ein recht interessanten Artikel zum Thema bietet z. B. Heise Online.

Aus meinen bisherigen Erfahrungen halte ich für sinnvoll:

  • Diskretion bewahren
  • Wenn es nicht viel Aufwand ist, bereits ein proof-of-concept vorbereiten – die meisten Unternehmen werden euch nicht glauben. Je schnell man das „Oh“ erreicht, desto besser
  • So früh wie möglich Entdeckungen dokumentieren, auch wie man sich durchhangelt
    • Screenrecordings sind dank OBS mittlerweile sehr einfach zu erstellen und sicher auch schönes Futter, sollte man es beim Congress auf die Bühne schaffen 😉
    • Ist etwas physisches im Spiel: Video möglichst ohne Schnitte um zu zeigen, dass es keinen doppelten Boden gibt
  • Wenn Daten Dritter im Spiel sind: So viel wie nötig, so wenig wie möglich sehen/speichern, möglichst früh anonymisieren. Metainformationen reichen bereits oft für den „Aha-Effekt“
    • Wenn man nicht/schlecht anonymisieren kann: Kryptographie für die Dokumentation verwenden.
  • Zeitlich nachvollziehbar und nicht manipulierbar dokumentieren
    • Hashes von veröffentlichbaren Dokumenationen (Daten Dritter müssen irreversibel geschützt sein) auf nicht verfälschbaren Plattformen (z. B. Twitter) veröffentlichen, dadurch hat man einen Zeitstempel
    • Verschlüsselte Daten in ein öffentliches (z. B. Git) Repo packen
  • Noch vor der ersten Kontaktaufnahme prüfen
    • Wer ist steht einem gegenüber?
      • Gibt es eine Vulnerability-Kultur (Bug bounty-Programme, CVE)
      • Würde man für sie arbeiten wollen?
      • Sind sie schon durch Behandlung von Hackern in Erscheinung getreten?
  • Die erste Kontaktaufnahme gilt zum Aushandeln eines sicheren Kommunikationsweges, keine Details („Ich habe (vermutlich) eine Sicherheitslücke gefunden, bitte senden Sie mir eine verschlüsselte Mail mit Ihren Public Keys an …“)
  • Es kann sinnvoll sein, anonym oder unter Pseudonym an Firmen heranzutreten um Angriffsfläche zu verringern
  • Mit der ersten verschlüsselten Mail die „Spielregeln“ festlegen
    • Freundlich aber bestimmt bleiben („ich will euch nichts Böses, aber ihr müsst etwas machen“)
    • Auch wenn umstritten: CVSS-Score ermitteln und kommunizieren
    • Typ des Disclosures ansagen (Responsible oder Coordinated, siehe auch den oben verlinkten Heise-Artikel)
    • Durchführbaren aber festen Zeitrahmen/Meilensteine festlegen
      • Nicht vertrösten lassen, aber Verzug mit guter Begründung gewähren lassen
    • Konsequenzen beim Verstreichen von Fristen festlegen
      • Zero-Days sind nicht die beste Option
      • Zusammenarbeit mit Plattformen, Benachrichtigung von potenziell geschädigten Partnern/Kunden (nicht im Sinne von Endverbrauchern), Medien
    • Von vorne herein proaktive Rückmeldung des Gegenüber einfordern
    • Wenn es einem wichtig ist: Belohnung aushandeln
  • „Alles was Sie sagen, kann und wird gegen Sie verwendet werden“ gilt für beide Richtungen
  • Security Advisories vor der Veröffentlichung zum Gegenlesen verlangen (eigene Erfahrung: bei einer Stand ziemlich großer Unsinn und wurde trotz deutlichem Hinweis nicht korrigiert)
  • Wenn man zu Meetings eingeladen wird: jemanden im Hintergrund nach Pressemeldungen Ausschau halten lassen
  • Soweit wie sinnvoll möglich kooperieren – es geht um die Sache, nicht um Befindlichkeiten

Nachtrag, Januar 2022:

Die Hacker*innen von zerforschung hatten auf dem rc3 einen guten Talk zum Thema.

Auch wenn ich mich bei ihrem Argument „keine Druckmittel/Erpressung“ in Hinblick auf Konsequzenzen beim Verstreichen von fristen etwas ertappt fühlte, bleibe ich dabei: aufgrund bisheriger Erfahrungen ist ein Mittel, das man in Erwägung ziehen kann – wenn man nicht von vorne herein gemeinsam mit einer Vertrauensperson arbeitet, was je nach „Gewicht“ des Fundes und Breite des eigenen Rückens sehr sinnvoll sein kann.

Chapeau, Canon! Der MG6150 bleibt stark.

Man kennt die Geräte, die man immer wieder kaufen würde, egal wie überholt sie mittlerweile sind. Meine aktuelle Knipse ist da so ein Kandidat (die ich selbst dem Nachfolger bevorzugen würde). Bei Laserdruckern wäre das ganz klar mein Brother, den ich mir zum Studium zulegte und noch nie aus eigenem Antrieb mucken machte (der Papierstau mit dem Briefumschlägen sei ihm verziehen). Allerdings hatte der in den knapp 10 Jahren auch nur einen Toner und somit unter 10000 Seiten durch.

Bei Tintenstrahldruckern und Scannern sind meine Favoriten – vermutlich auch ein wenig der Nostalgie geschuldet – der Agfa SnapScan 600 und der Canon BJC-7000. Vermutlich auch, weil es die ersten Geräte waren, auf die ich Zugriff hatte. Gefühlt ist der Scanner noch immer der schnellste – auch bei hohen Auflösungen – den ich je erlebt habe. Eine Krankheit bei dem Teil war das Nachlassen der Helligkeit der verbauten Leuchtstofflampe (vor allem, wenn man vergessen hat das Scanprogramm zu beenden). Mit LED-Beleuchtung heute kein wirkliches Problem mehr, aber Agfa zählte die glücklicherweise wohl zu den user-servicable parts: Mit einem Kugelschreiber konnte man die Glasplatte herunternehmen (und sie bei der Gelegenheit auch innen putzen), lediglich eine kleine Plastikblende verdeckte die T5-Leuchtstoffröhre, die es in jedem Elektromarkt für 8 Mark (oder Euro, Umrechnung vermutlich 1:1) gab. Weißabgleich laufen lassen und das Teil werkelte wieder für ein paar Jahre.

Der BJC-7000 hatte zwei geniale Eigenschaften: riesige Tintenpatronen und eine Fixiereinheit.

Mein Vater druckte damit Klassensätze und brauchte vielleicht vielleicht 3 oder 4 Patronen im Jahr, dank Fixiereinheit hätte man die Dokumentenauflage durch ein Wasserbecken ersetzen können. Das Papier wäre dann zwar wellig, aber der Druck blieb dank Lackschicht sauber. Die Druckqualität war für damalige Verhältnisse erstklassig – nicht nur, weil es optional auch eine 6-farbige Patrone für Halbtondruck von CMY gab.

Danach kam länger nichts und dann der Canon iP3000, mit relativ vielen Features (IIRC Duplexdruck, CD-Druck) und sehr günstig im Verhalten.

Heute habe ich allerdings einen neuen Meister gefunden – und das, obwohl ich kein Freund von Multifunktionsgeräten bin. Der Canon MG6150. Allerdings begrüßte er mich erst einmal mit einem Fehler: 5B00, Tintenrestbehälter voll. Schon länger hat er davor gewarnt, jetzt ging er final in den Streik.

Nach einem längeren Kampf, das Teil in den Servicemode zu versetzen – die Anleitung auf easyfixs.blogspot.com ist leider etwas irreführend: Man darf nicht die Powertaste beim Einstecken des Stromes halten und dann x-mal auf Stopp drücken (und danach die Powertaste loslassen), sondern muss wie folgt vorgehen (Gedächtnisprotokoll, habe das Gerät nicht hier):

  1. Unbeleuchtete Stop-Taste suchen, drücken und halten
  2. Powertaste drücken und halten
  3. Stop-Taste (noch immer unbeleuchtet) loslassen
  4. Stop-Taste n-mal (IIRC 5 oder 6x) drücken (Modellabhängig, je nachdem ob das Modell der MG6000er-Serie einen Scanner hat oder nicht), die Power- und Status-LED schalten mit jedem Druck um
  5. Power-Taste loslassen

Danach taucht der Drucker als USB-Device auf und das Service-Tool lässt sich bedienen.

EEPROM-Druck und erwartungsgemäß ist der Resttintentank bei 100,2 %, bei der nächsten Zahl muss ich stocken und frage „Vielleicht ist es ein Fehler oder ich lese es falsch, aber hat der Drucker wirklich über 27000 Seiten durch?“ – „Ja kann sein, den haben wir ja auch schon gut 10 Jahre und drucken auch regelmäßig“.

Also sollte da tatsächlich kein Bit in der Zahl gekippt sein: Respekt. Der kann was.

Meine ehrliche Empfehlung war, eine passende Wanne oder zur Not ein Backblech unter den Drucker zu legen (damit es keinen „happy little accident“ auf dem Schreibtisch gibt) und ihn so lange weiter nutzen, bis er wirklich tot ist.

Ob der stete Einsatz von Originaltinte einen Unterschied gemacht hat, kann ich nicht bewerten. Bei Tinten von Drittherstellern habe ich habe ich Erfahrungen, wobei hier natürlich auch die Frage gestellt werden muss: was ist billig und was ist günstig?

HL-340 – man bekommt, was man bezahlt

Wie günstig oder vielmehr billig kann ein USB auf RS-232-Wandler sein?

Preislich lag das Teil bei 5,69 Euro mit Versand und einen Tag nach der Bestellung auf dem Tisch:

Da das Gehäuse halbtransparent ist, sieht man auch ein bisschen, was drin ist:

Nicht viel, um ehrlich zu sein. Auf dem Bild nicht ganz so gut zu erkennen: es ist wohl ein chip on board, zumindest sieht man einen schwarzen Blob. Nicht verwerflich, auch nicht unbedingt ein Merkmal von schlechter Qualität, sondern einfach ein Zeichen für Massenfertigung im Endstadium – und solange das Teil funktioniert habe ich nichts daran auszusetzen.

Am PC meldet sich das Teil als „USB-SERIAL CH340“ (VID: 1A86, PID: 7523), FTDI Chips zu faken lohnt sich offensichtlich nicht mehr, die CH340 sind mir bisher auch nicht als besonders unzuverlässig in Erscheinung getreten, soweit auch alles ok.

Allerdings habe ich immer noch meine Zweifel, ob das Teil hält, was es verspricht – ob da tatsächlich ein RS-232-kompatibles Signal rauskommt? Das Multimeter kurz an Pin 3 rangehalten: 0 V. Nope.

Das Oszi sagt ebenfalls nein:

Im Endeffekt ist es nur ein invertierter 5 V-TTL-UART in der Hoffnung dass das Gegenstück mit den Pegeln klarkommt. Auf der anderen Seite muss man hoffen, dass der kleine CH340 auch echte RS-232-Signale (also mit +12 V/-12 V) aushält.

Bisher habe ich noch nichts beobachtet, wobei der Fokus auch eher auf TX als RX stand. Mal schauen, wie das Langzeitverhalten ist (und der nächste Anschaffung wird wohl ein paar Euro mehr kosten).