 Willkommen zum Vortrag MFA, OTP, SMS, U2F, WTF. Multi-Faktor-Auto-Invizierung ist sehr gut, von CY. Willkommen, habt Spaß. Ja, cool, dass so viele da sind und auch irgendwie sicherer durchs Internet gehen wollen. Hoffentlich. Vielleicht so eine kleine Frage vorne weg. Wer von euch bietet denn so Internet-basierte Services an? Wir haben hier im Chaos sonst wie, Web-Server sonst wie was. Wer von davon bietet da Multi-Faktor-Auto an? Okay, das sind ungefähr die gleichen, das finde ich ganz cool. Ich drehe jetzt natürlich die Frage um, um da irgendjemand bloßzustellen oder so. Ich heiß Christian, ich bin Software-Entwickler. Ich war auch schon mal Sysadmin. Ich mache das Ganze auch schon ziemlich lange. Ich interessiere mich für Security und alles, dass ich da den kulturellen Anteil, warum man das Ganze macht, cooler als zu sagen, hier ist ein Tool. Da steht DevOps dran, das müsst ihr machen. Ich organisiere auch das DevOps-Media-Bind in Karlsruhe, wenn ihr da Interesse habt und man sieht so ganz leicht ausgegraut, ich verkaufe Shampoo online in meinem Dayjob. Ich will aber dafür jetzt eine Großwerbung machen. Warum wollen denn alle Leute MFA machen? Zumindest alle, die es hier anbieten, das ist ja schon ein Thema. Ich will ein bisschen über die Motivation dazu reden, ein bisschen zeigen, was die bekanntesten Faktoren zusätzlich zum Passwort, was die meisten Leute schon kennen, was es da so gibt, wie die Technologie dahinter aussieht. Am Schluss würde ich ein bisschen auf passwortlose Anmeldung bzw. auf Passkey eingehen. Das ist so ein Modeverkaufswort, das ist einfach ein Modeverkaufswort. Wenn ihr irgendwo der Meinung seid, ich rithmiste, spricht gerne rein, wenn ihr Fragen habt, ruft gerne rein oder hebt die Hand? Habt keinerlei Anspruch, dass das alles hier richtig ist? Ich versuch's aber. Am 1. Februar gab es einen Change Your Password-Day. Habt ihr alle eure Passwords geändert? Ich glaube, das BSI hat das jetzt auch abgeschafft in dem Grundschutzhint, dass man das regelmäßig machen muss. Warum können wir auch noch gleich dazukommen? Passwörter sind irgendwie nicht so richtig sicher, für so ein paar Sachen mal mitgebracht, wo man vielleicht dran sehen kann, warum. Und was die Angriffe auf Passwörter sein könnten. Typischerweise ist natürlich das Hauptproblem, wenn jemand schwache Passwörter verwendet. Wenn das Passwort Gott oder Geheim oder Sex oder sonst was ist, was so Standards früher mal waren, immer so das Hackers Movie oder so was anguckt, was aber heute noch gezeigt wird irgendwo. Wenn Leute einfach einen Buchstaben durch eine Zahl ersetzen oder so was, da gibt es Tools, die berechnen genau so was. Und die Blutforcen, also die probieren Logins mit diesen Standardpasswörtern aus. Und ob da halt Geheimdreht steht oder G3 heim oder Passwort oder Passwort oder so, ist den meisten relativ egal. Und was es auch gibt, und das merkt ihr sobald ihr eine Vm irgendwo bei Hetzner oder sonst wo mietet und irgendwie die mit SSH oder mit WordPress oder mit irgendwelchen anderen Zugangs oder mit irgendwelchen Services, die vielleicht interessant sind für Angreifer, wenn ihr die ins Internet hängt, dann dauert es keine drei Minuten und dann wird die irgendwo diese IP gescannt und dann geht es los und Leute versuchen sich, vielleicht hat man schon gesehen, es ist eine lokale IP, natürlich, Entschuldigung, aber sowas seht ihr halt auch. Wenn ihr im Internet irgendwo eine Vm mietet, dann geht das Rückzug los, dass Leute versuchen sich mit Rout, Rout, also Leute, Skripte, Bots versuchen sich mit Rout und Passwort Rout oder mit WP Admin und Passwort WP Admin und so was an eurem System anzumelden und da dann vielleicht auch irgendwelchen Mist auszuführen. Das wollen wir natürlich nicht haben. Das ist jetzt mehr so ein Brutforce-Ding vielleicht. Was es dann noch gibt, ist Passwort Spraying. Man liest es herständig, dass irgendwelche Firmen gehackt werden, die ihre Passworder schlecht eng kryptet haben, Entschuldigung, gehashed haben oder vielleicht verschlüsselt haben und den Key wurde da auch gleich mitgelegt und da gibt es im Internet Datenbanken von Passwörtern mit Usernamen und dann Passwort Spraying ist quasi die Idee zu sagen, dass man einfach diese Datenbank aus dem Mapping Username bekanntes Passwort was der User bei einem Service hat und schickt das halt irgendwo im Internet zu Gmail, zu Twitter, zu Sonstwo und findet vielleicht eine Kombination, die jemand auch woanders schon benutzt hat. Dazu muss man eigentlich gar nichts können. Da gibt es Skripte, das kann man in fünf Minuten bei YouTube lernen, wie man so was macht und das ist eigentlich alles so ein bisschen zu einfach. Viele Firmen gehen dann hin und sagen, wir forcieren jetzt starke komplexe Passworder. Habt ihr bestimmt schon gesehen und euch darüber aufgeregt? Du musst, und dann geht es nämlich los mit den Kriterien, einen Großbuchstaben, einen kleinen Buchstaben, eine Zahl, ein Sonderzeichen, aber die Art des Sonderzeichen darf nicht der Forward Slash sein und auch kein Backtick, vielleicht auch kein Dollar. Und dann hört man immer schon so ein bisschen raus. Die Leute haben ihre Validierungen dazu gut im Griff. Du sollst möglichst mindestens sechs Zeichen benutzen, aber dann möglichst, an der dritten Stelle ein bisschen Komma sein und so weiter. Man kann das natürlich auch sicherlich ziehen, aber selbst wenn ihr starke und komplexe Password haben nehmt und ein Passwordmanager macht oder sowas, dann ist leider, wenn ihr das forciert, mit Passwordmanager seid ihr da relativ gut dabei und das Problem ist, was dann viele Leute machen ist, die merken sich halt ein Passwort und viele Leute können sich so 12, 15 Stellen merken und das kann auch ganz gut und ganz sicher sein. Ich habe mal einen Sinn geschrieben, und was die Leute dann eben machen, ist dieses Passwort überall zu verwenden. Und ich habe jetzt einfach mal ein Beispiel hier reingeknallt mit PwGn. Das Ding kann ich mir nicht merken. Das habe ich mir zu Hause auf ein Zettel geklebt. Also bitte benutzt es nicht, das ist meins, das ist sehr sicher. Das ist ein sehr gutes Passwort tatsächlich. Genau. Wenn ich das jetzt im Tante Emma Shop bei der Online Benutzer, wo halt irgendjemand so ein Webshop aufgebaut hat, vor zehn Jahren, dann könnte die Chance da sein, dann könnte man dann ein böser Hacker oder ein netter Hacker, vielleicht gibt es hier auch welche, die sowas können, diesen Shop quasi ausraubt und dort meinen Account, meine E-Mail-Adresse zusammen mit diesem Passwort abziehen kann. Wenn ich jetzt dummerweise dieses Passwort und diese Kombination auch bei Twitter benutzt habe oder bei meiner Bank oder irgendwie bei, was heißt ich, irgendeiner Bund-ID oder irgendetwas, dann ist das gar nicht mal so gut, wenn ich das gleiche Passwort, egal wie stark das ist, wenn es irgendwo geliegt wird bei irgendeiner Kackfirma und danach habt ihr das aber auch überall sonst benutzt, dann ist die Chance, dass eben Leute genau diese Kombination überall ausprobieren, relativ hoch und das gibt es eben genau dann automatisiert. So, was könnte noch passieren? Ich könnte mir natürlich ein Keylogger einfangen und mein Passwort verlieren, egal wie komplex mein Passwort ist. Das kann 84 Zeichen lang sein und einmal die komplette Produktpalette aus Unicode runternudeln und Emojis drin haben. Wenn jemand das mitlesen kann, habe ich halt nichts davon. Es gibt schon immer diesen Angriff, dass man ein USB-Stick mit Melweb präpariert oder mit einem Trojaner präpariert oder mit einem Keylogger präpariert und den irgendwo in den Hof von irgendeiner Firma liegt. Und dann gibt es Leute, die denken, oh, da steht, man kann es ja nicht so gut lesen, irgendwas drauf, könnte jemand Gehör nicht, guck mal rein. Oder vielleicht sind es sehr nette Leute, die denken, vielleicht kann ich an dem USB-Stick, an dem Inhalt erkennen, wem der Gehör hat oder der Gehör nicht mitgegeben. Ich bin ein hilfsbereiter Mensch. Und dann rein in den Rechner und zack, habt ihr den Dreck irgendwie auf dem Rechner drauf und irgendjemand kann möglicherweise dann euer Passwort auslesen oder dieses Gerät nimmt euer Passwort und natürlich alle eure Eingaben. User Name Passwort kommen natürlich immer hintereinander, vielleicht mit einem Tap dazwischen und schicken das dann halt irgendwo hin. Was ein bisschen fieser ist, aber absolut denkbar und gibt es leider in der Realität auch ständig, dass die Leute in der Realität ein bisschen anhängen. Es wird niemals die perfekte Word-Datei geben oder die perfekte Word-Einstellung, die unhackbar ist. Und das Problem mit Anhängen ist, dass die leider oft von Leuten, gerade so Word und so was, wird halt oft von Leuten geöffnet, die leider technisch wenig Plan haben. HR zum Beispiel ist ein guter Einfallsvektor. Die sehen, die haben eine unheimliche Bandbreite an Informationen, die sie sehen, die TV's und so was. Und gleichzeitig öffnen die aber typischerweise alles, was ihnen geschickt wird. Weil ihr wollt ja möglichst viele Leute bei euch anstellen. Also öffnet ihr alle Anhänge, wo drauf steht, Resumé oder Bewerbung oder so ein Ziel. Das gibt es alles schon lange, lange, lange, lange. Was jetzt immer mehr kommt, sind Browser Extensions mit Malware. Was gibt es im Chrome Web Store oder für beliebigen Browser eurer Wahl? Das gibt es überall. Tausende von Extensions. Die gehen hin von abgefahrenen Sachen, die euch das Leben erleichtern, wie Jason Pasa oder so was. Bist du Sachen, wie diese Extensions blendet, alle Tweets von Elon Musk aus. Die ist sinnvoll, okay. So, und habe ich gehört hier im Raum, herrscht die Meinung vor. Und jetzt ist es so, es gibt sicher diese Dinger, die sind interessant und so. Ihr übergebt dieser Browser Extensions und ihr klickt das an. Ihr habt diese Extensions typischerweise Schreib- und Lesezugriff auf alles, was ihr auf der Website, auf alles, was ihr tut. In eurem Browser. Das heißt, jede Extension kann z.B. eure Login-Daten auslesen. Man merkt von Rattens vielleicht schon so ein bisschen. Was habe ich da so alles? Muss ich denn Elon Musk ausblenden? Okay, wer hat diese Extension in den Store gepusht? Kann jeder. Es ist auch cool, solange die Extension einfach so funktioniert. Nur dann kann jemand anders eine neue Version pushen, der vielleicht das Passwort von denjenigen, der die erste Version hatte. Irgendwie abgezogen hat oder so. Und dann habt ihr so was in eurem Browser drin und das ist halt so die maximale Angriffsfläche. Außer Leute kommen mit Links oder so was. Links, zwei, Links, keine Ahnung. So, und dann gibt es JavaScript Malware und das ist in den letzten zwei Jahren ziemlich erhalb gewesen. Indem z.B. verbreitete NPM-Pakete, das prinzipiell könnte man das mit allen möglichen Paketmanagern machen. Bei NPM ist es halt am einfachsten. Es gibt Leute, die schreiben, die haben z.B. bei dem Beispiel von UA Pasa 2021 aufgetreten, da hat jemand einen Zugang bekommen zu einem NPM-Repo. Von diesem UA Pasa, das ist ein Stück Code. JavaScript könnt ihr in eure Webseite implementieren oder einbinden. Und dann könnt ihr mit diesem Ding auslesen, mit was für einem User-Agent der Client ankommt. Wenn ihr das Ding nachher auf eure Webseite packt, und da hat jemand einen Keylogger oder so was implementiert, oder ein Krypto-Meiner war es in dem Fall, Leute, die eure Webseite besuchen, schürfen dann Kryptowährung in ihrem Rechner für denjenigen, die uns schicken. Das kann man mit ein paar Zeilen Code auch selber rausfinden. Aber mit so einer JavaScript-Bibliothek, die ich einfach importiere, ist das natürlich viel angenehmer. Die hat natürlich auch noch ein paar Extras und so hin oder her. Das heißt, es gibt eine Verwendung in ihrem Rechner für denjenigen, die uns schicken, diese Codes oder irgendwelche Wallets oder sonst wie IDs, irgendwo hin an den Angreifer. So müsst ihr euch das vorstellen. Und das perfide hier dran ist, dieses Ding hatte dann auch noch einen Keylogger, der aber nur bei lokaler Ausführung funktioniert. Weil der Browser gibt es halt nicht her. Das heißt, du greifst nicht nur die User an von der Webseite, wo das Ding, das JavaScript läuft, sondern natürlich alle Entwickler, das ist ein Update. Vielleicht habt ihr automatisiert die neue Version bekommen. Weil NPM hat gesagt, woher UA-Pasers gibt es seit gestern eine neue Version und eure Automatisierung, die hat schon die neue Version in euer Repo gepusht. Und da kommt ihr morgens zur Arbeit und checkt den Code aus und macht einen jahren Install oder sowas, was auch immer man da tut. Und zack, habt ihr das Zeug auf eurem Rechner laufen. Und GitHub, also GitHub als Betreiber von NPM, kann das revoken, zurückziehen, aber dann habt ihr es halt schon. Das Paket ist dann halt schon auf eurem Rechner drauf. Da kann man jetzt lange diskutieren, wie schnell man solche Updates machen kann und so weiter. Aus dieser Lipp, also speziell dieser Vorfall, ist mit ein Grund, warum ihr, wenn ihr ein GitHub oder NPM-Account habt, in letzter Zeit E-Mails bekommen habt mit, hallo, wir sind GitHub, wir schalten euch zwei Faktor-Autorisierungen an. Mandatory, ihr müsst es tun. Damit das nicht passieren kann. Damit nicht jemand, der irgendeine Fischenseite reinfällt, dass er das Wort da verliert. Und jemand anders damit neue Mailware pushen kann, um das quasi so wie die Pest, die sich dann so verteilt. Fishing ist so eine Sache. Es gibt ständig neue Techniken, wie man eine URL so verhunzen kann, dass sie aussieht, als wäre es eine echte URL, oder man nichts Schlimmes daran erkennt. Gerade vor zwei, drei Wochen, seit zwei, drei Wochen, gibt es diese ZIP-Top-Level-Domain. Ja, und bestimmt habt ihr das alle schon mal gesehen. Man kann als Internetadresse, also als URL, so was verwenden mit einem Ad drin. Also zum Beispiel www.google.com.ad. Irgendwas.zip. Und dann klickt da jemand vielleicht drauf, weil er denkt, da soll ich was runterladen, jemand hat mir da was geschickt. Aber das Ad macht eigentlich damit, wie es in der URL standardisiert ist, dass das Google.com der Username wird und dass irgendwas, keine Ahnung, für einen gpn.zip die URL. Und plötzlich seid er bei einer ganz anderen Seite. Er ist jetzt encrypt für gpn.zip ein gültiges Zertifikat. Das heißt, der Browser sagt auch nicht, Moment, du bist gar nicht bei Google, weil der Browser denkt, du willst so gpn.zip. Bitte. Okay. Ein Einwand, der vollkommen gleichfertigt ist, das funktioniert nur, wenn keine Schreckstriche vor dem Ad sind. Macht ja aber nichts. Ja, ja, genau. Der Einwurf ist, es gibt noch Unicode-Zeichen, die dann so ähnlich aussehen und so weiter. Es gibt auch Leute, die haben sich ausgedacht, dieses Typosporting zu machen, die so ähnlich aussehen wie Google.com. Mit einem i statt einem l. Und dann schreibst du das mit großem i, sieht genauso aus. Du kriegst auch von letzten Krypten Zertifikat dafür. Also, Google sichert sich Domains, die so ähnlich aussehen. Aber es ist immer die Option, noch sowas zu tun. Und dann habt ihr halt einen Login prompt und dann schickt ihr jemand was und sagt, hier, guck mal, ich habe eine Google Forms Umfrage gemacht, kannst du mir mal helfen? Und diejenige, der sowas benutzt, der weiß ja schon, ah, da kommt Google Forms oder Microsoft Forms oder sonst was. Und da ist das Umfeld ganz beliebt, dass man sich da erstmal bei Microsoft anmelden muss. Und wenn dann so eine Seite kommt, die genauso aussieht, dann ist da auch relativ schnell, sind da die Leute beim Drauf drücken oder so was. Und es ist halt so, dass Passwörter einfach ein bisschen unausreichend oder doof sind. Und da hat man sich gedacht, hey, das Passwort, das ist was, was man weiß. Das heißt, das wisst ihr alle, das ist so Multifaktor-Attentifizierung, was ist das Nächste, in der Regel was, was man besitzt oder so was. Das ist doch doch nicht so stressend, aber so ein Fingerabdruck, was ich bin oder so. Ich habe mal so ein paar von diesen möglichen Faktoren aufgemalt, die man für Multifaktor-Attentifizierung benutzen könnte. Das heißt, wir haben sowas wie, ist so ganz oldschool, das oben links, das hat vielleicht die Eltern unter euch kennen das vielleicht noch, dass man von seiner Bank eine Liste bekommen hat früher. Das ist kein Lock in Schutz, das ist so eine Transaktions-Thing. Ich erzähl euch noch ein bisschen dazu uns sowas kennen oder was weiß ich, Stripe. Genau, und ich gehe mal ein bisschen auf die einzelnen ein, ohne die jetzt groß zu spoilern. Ich habe scheinbar mit SMS angefangen. Das kennt bestimmt auch jeder von euch. Ihr sollt irgendwo beim Anlegen von dem Account eine Telefonnummer hinterlegen und dann bekommt ihr eine SMS geschickt, wenn ihr euch einloggt und die müsst ihr in irgendeinen Codefeld eingeben. Also sprich, ich logge mich ein, ich heiß Christian Kühn, et gpn.zip und habe mein Passwort eingegeben und danach bekomme ich auf mein Handy eine SMS und gleichzeitig geht bei Google dann so ein Prompt auf, wo steht hier, gib bitte den Code aus deiner SMS ein. Bestimmt jeder schon mal gesehen. Und ja, da geht es schon ein bisschen los. Wie könnte man das denn ausnutzen? Das coole an sowas ist, ein SMS kann quasi jeder empfangen. Fast jeder hat ein Telefon, mit dem das möglich ist. Das könnte meine Oma gerade so noch benutzen. Die benutzt keinen Gmail und keinen gpn.zip, aber sie könnte die SMS empfangen. Es ist ein zusätzlicher Kanal und das ist gar nicht mal so doof, wenn ihr euch vorstellt, ihr benutzt hier das Wlan von der gpn, um euch irgendwo anzumelden, sagen wir mal bei Gmail, keine Werbung oder sowas, aber da kann sich jeder was darunter vorstellen, dann bekommt ihr das über das Internet. Die SMS kommt aber übers Telefonenentswerk und das ist zumindest von der Kommunikation her ein bisschen getrennt. Das heißt, wenn jemand euren Traffic in dem gpn Wlan mitschneiden kann und auslesen kann, da gibt es noch ein paar Hürden und so weiter, aber wenn das möglich wäre, wäre trotzdem nicht gesetzt, dass jemand auch den Empfang eurer SMS mitschneiden könnte, weil es einfach ein anderer Transportweg ist und das ist eigentlich für die Sicherheit gar nicht mal so doof und SMS halt super weit verbreitet. Wie ich gesagt habe, fast jeder hat wahrscheinlich, gibt es jemand hier, der kein Handy hat, mit dem man einen SMS empfangen könnte, alles klar, habe ich mir gedacht. Und dann gibt es leider so ein bisschen das Problem, man braucht halt Empfang und vielleicht auch Roaming, das heißt, wenn ihr irgendwie diesen SMS zwei Faktor irgendwie benutzt und dann seid ihr vielleicht im Urlaub und euer Enkel hat euch geschrieben, hey Mama, ich bin oder Oma oder na wirst du schon wo das hingeht, aber ihr müsst vielleicht irgendwas Wichtiges machen, wo für ihr diesen Code braucht, aber ihr habt keinen Empfang, dann ist es nicht drin. Funktioniert nicht, die SMS kommt und euer Carrier hält ihr halt zurück, bis euer Handy sich wieder da einbucht. Das ist ein bisschen kritisch. Fishing ist immer noch möglich, weil es kann euch immer noch jemand irgendwie sagen, zum Beispiel auch schon tausendfach passiert leider, man schreibt jemanden SMS und sagt, hey ich hatte deine Telefonnummer vor dir und ich habe die bei Gmail hinterlegt, ich schick jetzt gleich einen Code, kannst du mir den bitte dann als SMS schicken. Also mit der Idee, dass jemand, der so ein bisschen unbedarft ist, diesen Code bekommt, weil es wurde ja auch angekündigt vorher und diesen Code, der da rauskommt, dann auch weiter leitet. Es gibt es dokumentiert, dass sowas schon passiert ist, weil man ja auch, man ist ja hilfsbereit, möchte ja helfen und dann schicke ich aber quasi die SMS, die für meinen Account bestimmt war, weil jemand schon meinen Passwort kennt, an den Angreifer, der sich versucht hat bei meinem Gmail Account anzumelden und schick dem den Code. Das ist grundlegend ist sowas, wenn man irgendwo zwei Faktor out oder multi Faktor out eingerichtet hat und man bekommt, egal welches Medium man dafür benutzt, die Aufforderung etwas zu tun und hat das nicht, nicht sich vorher angemeldet, dann tut es nicht, bitte. Ja, weil es kommt immer erst der Login bei allen Standarddiensten, der Login User Name Passwort und danach kommt der zweite Faktor in irgendeiner Form von Challenge oder sowas. Sim Swapping ist auch so ein Angriff auf Telefon, würde quasi heißen, ich gebe mich als, wenn ich zum Beispiel weiß, die Adresse von Ralf und die Telefonnummer, dann kann ich bestimmt auch rausfinden über die Telefonnummer, bei welchem Carrier er ist, sagen wir mal bei Klarmobil und dann rufe ich da an und sag, das war tatsächlich ungewollt, aber es passt ja gerade, und sage, hey, ich bin Ralf, meine Telefonnummer ist die und die, ich habe meine SIM-Karte, die geht nicht mehr, ich kann mich nicht mehr anmelden, deswegen rufe ich mit meinem anderen Telefon an, nicht, dass ihr denkt, warum ruft er jetzt mit diesem Telefon an und ich wohne so und so, so und so, bitte schickt mir eine neue SIM-Karte und was da schon passiert ist, also so social engineering mäßig, dann hat man irgendwie die Leute am Support, die auch gerne helfen wollen, dazu gebracht, eine SIM-Karte zu schicken, weil Deutschland Postgeheimnis, da ist schon alles safe, wenn so ein Brief ankommt, aber dann stelle ich mich halt an seine Tür und warte, bis der Postbote kommt und angeln mir halt seinen Brief aus dem Briefkasten und dann habe ich halt diese Karte und damit auch seine Nummer und in dem Moment habe ich prinzipiell halt auch seinen zweiten Faktor geklaut und er wird wahrscheinlich erst merken, wenn er dann irgendwie drei Tage später mal versucht, selbst irgendwo anzurufen und seine SIM-Karte dann, wenn ich sie bei mir freigeschaltet habe, die alte SIM-Karte, in dem er funktioniert, bitte. Ja, genau, bei Fischenseiten, ich habe gleich ein Beispiel zusammengeklickert vorhin mit Screenshots, wo genau dann ein zweiter Faktor auch bei der Fischenseite gefragt wird, das heißt, wenn ihr dann der Meinung seid, ich habe mich jetzt bei Google angemeldet, eigentlich kommt auch da immer diese Codeabfrage, warum kommt die jetzt, dann ende ich mal schnell, gehe ich noch mal schnell selber zu Google, ändere meinen Passwort oder sowas. Mittlerweile muss man da dann auch gelegentlich noch seinen Code eingeben. ImziCatcher ist eine Technologie, mit der man theoretisch Telefone abhören könnte, das heißt, es wäre prinzipiell theoretisch möglich, diese SMS einfach mitzulesen oder abzufangen. Was auch ein Problem ist, es gibt Apps auf eurem Telefon. Beim iPhone ist ein bisschen eingeschränkt, aber wenn ihr Android benutzt, kann prinzipiell, wenn ihr eine App die Berechtigung dazu gegeben habt, jede App, alle eure SMS lesen. Und diese SMS von Google, zum Beispiel, haben wir eben gesehen, die haben so eine Standardform, da steht, ihr Code ist G-6 Stellen. Und wenn irgendeine App das raus kopieren kann auf eurem Handy, und ich habe quasi Melwe auf dem Handy drauf, dann kriegen die Leute auch diesen Code und die kann den dann auch entsprechend wohin schicken und danach auch verwenden, weil typischerweise ist so ein Code per SMS oder Mail ein paar Stunden gültig. Das heißt, man kann das sogar von Hand abgreifen und sich dann von Hand anmelden. Und dann gibt es noch, wenn man sich selbst das Bein stellt und irgendwann beschließt, ich hätte gerne mal eine neue Handynummer oder ich habe tatsächlich mein SIM kaputt gemacht oder mein Vertrag ablaufen lassen und dann merke ich halt drei Monate später, ah, scheiße, ich hatte ja noch so ein Gmail-Account, aber die SMS kann ich nicht mehr kriegen, weil die Nummern, die gibt es immer in meinem Telefon. Die kriegt dann irgendjemand anders später. Und das Problem ist, bei diesen ganzen Faktoren, die meisten Firmen denken sich einen Faktor aus, mit dem ihr anfangen müsst und der ist dann quasi die Backup-Funktion für den Rest. Ja, und Telefonnummer ist ein sehr beliebter Faktor, weil damit gibt ihr Google oder Facebook oder Microsoft oder sonst wem auch noch eine Telefonnummer, mit der man euch Werbung schicken kann, ja, auch per SMS. Super. Genau. Achso, ja, und zu diesem App-Zugriff, nicht alle Apps können auf die SMS-Apps zugreifen, aber es gibt auch noch Apps, die können auf das Clipboard zugreifen. Das heißt, wenn die irgendwie und das iPhone, da ist, glaube ich, noch geschützt, aber es gibt dann auch wieder so Keyboards, die legen direkt den SMS ins Clipboard und so, ja, so ist es ganz, ganz gruselig. Genau, ja, also SMS ist, hat Vor- und Nachteile, eigentlich wie fühlen wir das nicht verwenden? Ja, so, E-Mail, hat vielleicht auch der eine oder andere schon gesehen, es leicht zu verwenden, hat fast jeder, der sich irgendwo anmeldet, braucht sowieso eine E-Mail-Adresse in der Regel, ja, es weit verbreitet. Es ist mehr oder weniger ein zusätzlicher Kanal, ja, es kommt beides über das Internet, aber ihr habt einmal eine Website, wo ihr euch anmeldet und danach kommt über E-Mail, anderes Protokoll, halt die E-Mail rein. Es ist genauso anfällig für Fishing und das Problem hier bei E-Mail ist, bei den meisten Firmen könnt ihr auch eure Passwort-Permail resetten. Das heißt, wenn jemand eure E-Mail auslesen kann, dann kriegt ihr halt erstes Passwort-Reset-Link und danach auch noch den zweiten Faktor geschickt, ja, ist das ganz großartig. Ja, dann gibt es einmal Passwörter, mit denen ihr euch schützen könnt, die Banken machen das schon seit zig Jahren, ja, früher hatte man so eine Liste, ich bin schon so alt, dass man tatsächlich irgendeinen Code aus dieser Liste dann eingeben musste für eine Transaktion, ja, irgendwann hat man gemerkt, am Moment sechsstellige Nummer, ich habe eine Liste mit 200 Stück bekommen, ja, da wird die Chance eine zu raten, schon kleiner, also dann mache ich so eine Challenge, das heißt, ich sage, gib mir die Nummer 016, ja, und dann müsst ihr genau diese Nummer wissen, ja. Heutzutage kriegt ihr meistens irgendeinen Code per App oder müsst ihr in der App einfach auf OK drücken, dann komme ich gleich nochmal dazu, ja. Und jetzt sind wir bei diesen Einmalpasswörtern, aber schon fast bei dem, was relativ modern mittlerweile der Google Authenticator oder andere, keine Werbung, ja, Microsoft oder diverse andere Autie Authenticator machen, die berechnen euch ein zeitbasiertes Einmalpasswort, ja, es gibt noch das HMAC-Basierte, da wird es so ein Code hochgezählt, der irgendwie auf dem Server und auf dem Kleint gleich ist, ist aber gar nicht so wichtig, ist aber auch relativ wenig verbreitet mittlerweile. Time-Based One-Time Passwort ist, glaube ich, der Standard im Moment, wenn man irgendwo sich anmeldet und zwei Faktorautorisierungen hinterlegt, weil natürlich auch die Firmen gemerkt haben, ja, Handy hat halt fast jeder, so eine App installieren kann man auch, hat paar Vor- und Nachteile und letztendlich, was da passiert, ist in dem Moment, wo ihr euch diesen Faktor registriert, zum Beispiel bei Gmail, nachdem ihr euch angemeldet habt, dann denkt sich Gmail ein Secret aus, ich hab nachher, glaube ich, aufgeschrieben, was da genau, wie das genau aufgebaut ist technisch und gibt das eure Authenticator-App. Das heißt, ab da kann eure Authenticator-App für den aktuellen Zeitpunkt, weiß nicht, wie viel Uhr es gerade ist, sagen wir einfach mal, es wäre 1955, für so eine Zeitscheibe, zusammen mit diesem Secret, zusammen einen sechsstelligen Code errechnen. Sechsstellig in der Regel, die Spezifikation erlaubt auch höhere Mehrstellen, aber es ist halt doof, wenn man die von seinem Handy danach in seinen Computer eintippen muss. Bitte? Und die ablaufen währenddessen? Ja, die ablaufen währenddessen, ja genau. Man hat normalerweise, warum ich das jetzt hin? Man hat hier so ein bisschen angedeutet, ich hab so ein Spielhandy dabei, wenn ihr nachher wollt, könnt ihr den Test-Account einmal durchspielen. Hier ist so ein Kreis, der läuft halt irgendwie ab und ihr habt danach noch mal ungefähr einen Kreis bei den meisten Dienstenszeit, weil man quasi sagt, ja, die zeigen euch dann einen neuen Code an, aber jetzt bin ich gerade mit meiner 921093 fertig und drück auf ok und der geht dann halt auch noch, obwohl schon der Nächste angezeigt wird. Ja, das kann man zur Überzeit, ich dann halt an seiner Software einstellen. Bitte? Genau. Ja, ich kann es wiederholen. Ja, genau, also, war quasi die Anmerkung, man kann dieses Secret auch auf mehrere Geräte spielen, das heißt, ihr könnt auf eurem normalen Handy, auf eurem Firmenhandy, auf eurem, auf irgendeinem alten Handy, was ihr noch habt, was zu Hause rumliegt, auch für Notfälle, ja, falls nicht was passiert, damit euer Vater war das Beispiel, eure Kinder, eure Partner, wer auch immer da beauftragt ist, entsprechend an eure Codes auch dran kommt. Ja, und das ist natürlich ein wichtiges Backup, auch wenn tatsächlich mal das ja in die Kaputt geht. Ja, Google hat jetzt ein ganz cooles neues Feature und es ist so mit so einem Wink. Google kann euch jetzt eure Codes synchronisieren in ihre Cloud. Microsoft auch, okay cool, ja, und ich habe in der Vorbereitung habe ich ein paar dieser Authenticator ausprobiert, damit ich jetzt ständig sage, ja, mach das doch mit Google oder hier ist mein Beispiel mit Google, bei Auti muss man, es gibt Auti, das habe ich noch ausprobiert, ich glaube zwei, drei andere und das war alles nicht so geil, bei einem muss direkt deine Telefonnummer eingeben, beim anderen musst du dir einen Account machen. Google Authenticator funktioniert wenigstens ohne alles, der funktioniert sogar offline, du brauchst an deinem Handy gar kein Internet und nix, kannst komplett ausschalten und deswegen kann man halt auch ein älteres Gerät nehmen, was niemals ins Internet kommen, wird sich niemals Trojaner runterladen, wird einfach so als Notfallding zu Hause. Es gibt noch Free OTP, es gibt... Okay, auf. Es gibt Free OTP auf Android und iOS, sonst nächstes Mal, dann denke ich an dich, tut mir leid. Genau, wir haben auch ein Mikro für alle, die den Stream oder nachher die Aufzeichnungen gucken, dann muss ich auch immer alle Fragen wiederholen. Genau. Genau, so. Cicut habe ich gesagt, Code ist sechsstellig, numerisch wird generiert, genau, und so sieht es aus. Ich glaube, es ist ein 24-stelliges Cicut, ich habe es gleich nochmal aufgeschrieben, das ist halt also so ein Zahlen-Schlonz, den ihr den Google in dem Fall oder wenn ihr Gmail benutzt, halt letztendlich euer Serveranbieter euch als Klein übergibt an euren Authenticator und beide Seiten können damit mit dem aktuellen Zeitstempel ausrechnen, was der aktuelle gültige Code ist, oder eben zwei oder drei aktuell gültige Code, weil sich das so ein bisschen überschneiden soll, damit man halt nicht so schnell tippen muss. Und hier muss man jetzt aufpassen, weil ihr braucht das als Serveranbieter, aus der Dienstanbietersicht, ihr braucht diesen Token im Klartext, damit euer Programm damit umgehen kann, das heißt, ihr könnt den nicht haschen, ihr müsst den aber behandeln wie ein Passwort, weil wenn ihr euch jemand irgendwie eure Datenbank abzieht und diesen Token hat, kann er sich damit auch einen zweiten Faktor Token ausdenken, weil die Zeit ist überall gleich, dafür gibt es NTP und so was, aber dieser Token ist ein wichtiges Merkmal, der die Accounts eurer Benutzer absichert, passt gut drauf auf. Man kann natürlich dann sagen, wenn jetzt jemand auf eure Datenbank kommt, kann er sich auch ein eigenes Token und so weiter, aber ich habe jetzt einfach mal einen Google-Log in, was ich gemacht habe, damit ihr mal seht, für alle, die das hattest, die man noch nie gesehen. Ich mache trotzdem einmal hier, ich habe einen MFA-Demo-Chris-Account bei Google angelegt und ein sehr sicheres Passwort gewählt. Dann kann es ja mal passieren, jetzt macht ihr so einen Vortrag und habt irgendein Account und drückt hier irgendwo drauf, jetzt wisst ihr alle, das ist ein Vortrag. Jetzt könnt ihr gerne, wenn ihr nachher wollt, dann könnt ihr mein Account, dann muss ich mir für den nächsten Vortrag neu machen. Das hier skip ich mal kurz, es kommt später erst, Google bietet ganz, ganz viele, Gmail bietet ganz, ganz viele Services an, ob ihr das mit eurem eigenen Service macht, das ist euer Bier letztendlich. Hier kann man dann sagen, ich möchte einen Authenticator-Code. Jetzt nehme ich mein Handy, was ich zu Hause eigentlich nur noch als Wecker auf dem Internet habe, dann habe ich das alles an. Das war seit Monaten nicht im Internet oder so was. Aber ich habe irgendeine, seit 20 Sonnenset, wäre der Talk schon alt. War schon länger nicht mehr im Internet und jetzt kann ich mir hier so ein Code, ich wollte eigentlich gerne einen Screenshot oder so ein Screenshare machen, das Problem ist, in Android kann man bei einer App sagen, an bestimmten Stellen ist das ein Security-Feature, blend das aus. Das heißt, wenn ich den Screen euch zeige, ihr habt jetzt ungefähr einmal so eine Rundenkreis zum Ablaufen und danach nochmal um diesen Code einzugeben und euch mit einem Passwort zusammen anzumelden. Herzlichen Glückwunsch, wenn ihr das schafft. Und dann bin ich eingeloggt. Also es ist quasi einfach nochmal so ein, hey, du brauchst halt diesen Code, zusätzlich zum Passwort und so. Keiner hat Nein gesagt, deswegen gehe ich davon aus, das kennen jetzt alle schon. Jetzt melden wir uns nochmal ab, genau. Ha! Ich hab aufgeschrieben, was es ist. Es ist natürlich eine Frage des Standards, aber die Standard-OTP-Apps benutzen allerdings den gleichen Standard und da geht es darum, dass der Server sich einen Random-String ausdenkt oder wenn ihr das anders implementiert, auch ein Nicht-So-Random-String, aber es müssen halt 20 Bytes sein und die müsst ihr in Base32 encodieren und man muss das jetzt dazu nicht unbedingt verstehen. Weil wenn man jetzt sagt, ich mach irgendwie, ich zeig einfach so drauf, dann sieht man das nach heim Stream. Wir versuchen das mal so. Hallo? Ja, genau. Ich mach 20 Bytes und dann mach ich da irgendwie Base32 drauf. Die Idee hinter dem Base32-Ding ist einfach nur, dass keine Sonderzeichen drin sind, mit denen irgendwie der Server und so weiter nicht umgehen kann. Alle, die sich irgendwie Cloud machen, die Base64 um genau so was irgendwie zu übergehen. Und was dann passiert ist, wir machen ein Decode wieder zurück, wenn wir das später dann berechnen wollen und benutzen eine Library, in dem Fall ist das letzte Zeile so ein TOTP. GetOTP, das hier ist Java Code übrigens. Ich hab unten so ein Blog-Post verlinkt, wo jemand diesen Beispielcode viel besser geschrieben hat, als ich das irgendwie könnte. Und letztendlich macht der Server und der Klein genau das Gleiche in dem Moment, wo ihr so einen Code braucht. Das wird einfach so ein sechstelliger Code berechnet oder mehr Stellen, je nachdem, wie ihr das implementiert. So. Jetzt ist natürlich so eine Sache. Ich hab eben so ein Beispiel-String hier gehabt. Den will ja keiner so abtippen. Das heißt, wenn ich mir jetzt einen neuen Service überlege und sage, da möchte ich zwei Faktor out benutzen, will ich das Ding gerne eintippen. Das heißt, in der Regel gehen die Services her und generieren einen QR-Code mit dieser App-Scan. Und dann wird dieser, da ist noch so ein bisschen mehr Zeug aus dem Rum. Das ist leider auch gar nicht so richtig lesbar hier im Code. Deswegen sparen wir uns das einfach. Das, was rauskommt, sieht man unten rechts. Da kommt so ein bisschen Protokoll, damit euer Handy nachher weiß, irgendwie so OTP, O-T-O-T-P, mit welcher App ihr das gerne aufmachen möchtet. Oder vielleicht, wenn ihr mehr habt, bekommt ihr es angeboten auch oder ihr seid in der App und habt es gescannt. Dann kommt hier noch ein bisschen Info drin, zum Beispiel deine E-Mail und sowas wie dieses Secret. Und das ist dann dieser String, der da Base32, also die Base32-Codierung von diesem geheimen String. Und dann steht noch so ein Issuer dabei. Aus dieser E-Mail und dem Issuer wird nachher in der App angezeigt, welcher Account das ist. Ich habe in meinem normalen, eigenen, richtigen Handy halt irgendwie 15 so Dinger drin. Da weiß ich halt immer, das war Arbeit und das dritte war PayPal oder so. Deswegen gibt es einfach noch so ein bisschen Info. Kann man mal mit rumspielen. Geht mir diesen Blog-Post tatsächlich relativ gut. So, Fishing & Social Engineering wird schon so ein bisschen schwieriger. Wenn euch jemand anruft und sagt, hey, kannst du mal ein Code rauslassen, weil ich hatte zuletzt deine Telefonnummer. Da kommt der auch der letzte, es ist, Entschuldigung, der letzte, aber auch der letzte, das ist eine ganz dumme Idee. Das coole ist, dass es offline fähig ist. Ihr könnt irgendeine alten Knochen nehmen, eine Schmeister zu Hause in die Schublade, ladet den manchmal auf oder im Notfall lädt ihn jemand anders auf, noch 2 Minuten lang, bevor es angeht. Die Convenience ist halt irgendwie arsch, finde ich persönlich. Ich finde es total nervig, mein Handy zu suchen, die App auszusuchen, den Code zu suchen, in 15 so Dinger. Dann ist die Zeitscheibe rum, das heißt, du wartest vielleicht noch auf die nächste, bis der neue Code kommt oder so. Hätte ich gerne ihn besser. Und das Problem ist auch, wenn ihr auf dem... Das Fishing nicht möglich seid. Ja, es ist härter. Fishing... Ich zeig gleich ein Beispiel. Vielleicht hätte ich das rausnehmen sollen, als ich mich für entschieden habe, Social Engineering dazu zu schreiben, das Fishing rauszunehmen. Und das weg zu automatisieren. Kein Problem kommt gleich im Screenshot. Genau. Das Problem ist jetzt, wenn ihr so ein Handy habt und ihr habt die Lock-in-Daten auch darin gespeichert. Das heißt, ihr habt ein Handy mit Melvier natürlich, im schlechtesten Fall. Aber ihr macht einen Browser auf, ihr könnt euch bei Gmail, Github, Weisdagei was anmelden. Und das gleiche Telefon generiert auch den Code. Dann ist halt eine Frage, ob ihr das Fishing, ich bekomme ein Schunkprost. Ich bin wohl in der Schunkkontrolle durchgefallen. Genau. Es sollte natürlich den Code nicht auf dem gleichen Device haben, wo ihr euch auch anmeldet. Oder wo ihr natürlich die... im schlimmsten Fall natürlich die Daten speichert. Dann kommen wir wieder zu dieser Sync-Funktion von Google, die euch verspricht. Hey, ich mach deine Secrets, alle bei mir bei Google hinein. Hey, ich mach deine Passwörter ab, ne? Und dann ist die Frage, wie viel Faktor ist das denn noch? Da reicht es ja schon, wenn jemand euer Handy in die Hand kriegt, das ist besitzt. Das Handy hat ja auch noch ein Fingerabdrucksscanner oder ein Passwort. Dann fragt ihr mal eure Eltern oder so gerade so ein bisschen die Generation oder eure Mitarbeiter oder Kollegen, die net hier so hin, die hier zu einer Konferenz kommen, sondern die halt so... weiss ich, auf Ihrem Handy haben mit 27 Stellen oder ob die halt so eine Wische-Aktion machen, die man halt nach auf dem Display sehen kann. Und ihr werdet überrascht sein oder nicht. Ja, es gab auch immer eine ganze Weile diese tollen RSA, Security Tokens, die benutzen eine Age-Mack-Verfahren. Und das ist halt immer so eine Sache. Ja, die gibt es schon lange und die waren auch wirklich gut. Ja, die hat man am Schlüsselbund gehabt, die haben so einen Token generiert, den konnte man einfach abtippen und alle Minute kamen neuer oder wenn man drauf gedrückt hat. Ja, das ist halt vom Algorithmus abhängig. Und was dann leider passiert, natürlich egal, das ist dann wieder wie mit dem komplexen Passwort oder so, egal was ihr euren Usern aufbürdet, sie finden den Weg ums Scheiße zu benutzen oder zu umgehen. Also in dem Fall hier ist ein Bild aus Schodern, also aus so einer Schwachstellensuchmaschine, da hat jemand eine IP-Kamera angezapft und diese IP-Kamera hat halt irgendeinen schlauer Atmen sich gedacht, aha, ich habe gar keinen Bock, immer diese ganzen Token von meinen Kunden mitzutragen, ja, ich mache halt eine Kamera ins Internet, da mache ich ein Passwort drauf und so, ja, diese Kameradivices, die sind auch sehr bekannt, dass sie sehr sicher sind und dann stelle ich die einfach auf diese, diese Dinger und ich habe immer den richtigen Token in der Hand, am besten schreibt man dann noch den Login oder die IP dazu, das ist immer, dann kommt man von überall rein. So, und jetzt ist nämlich die Frage, kann man so einen Pin oder so einen Cold Fishing? Ja, kann man. Man hat nur nicht so viel Zeit wie bei ihm und SMS, ja, also ich hoffe, man kann das halbwegs lesen, wenn ich eine Seite mir baue, die zum Beispiel fakegmail.de heißt, ja, es ist so für, für superbösewichtig, ihr bekommt für diese, für diese Adresse bekommt ihr einen letzten Kriptzeitifikat, ja, das heißt, der Browser eures Opfers, also aus Angreffersicht, das sollte man natürlich nur tun, aber so zu lernen, zu wecken und so, der sagt euch, diese Webseite ist sicher, ja, und da drin könnt ihr mit JavaScript und Co. einfach so einen Google-Login abbilden, ja, und dann gibt derjenige seinen Username ein, seinen Passwort ein und bekommt dann dieses, was er auch schon kennt, weil er hat das, er benutzt das jedes Mal, wenn er sich bei Google anwältet und da steht, bitte gibt einen Code ein und dann ist es total egal, ob der aus der SMS kommt, aus der E-Mail kommt, wenn er sich schon angemeldet hat, ja, und ihr müsst euch das so vorstellen, ich als Angreifer, ich präpariere so eine Seite, ich nehme den Login, den der Kunde in meine Fake-Seite eingebaut hat, direkt aus dem Backend raus und schickt es automatisiert an die App von Google, wo ich mich anmelden möchte oder wenn ich besonders schnell bin, tippe ich das schnell ab und dann kriegt der Kunde ja auch, der Google-Kunde, den ich angreifen will, der bekommt ja dann auch die SMS, so wie ihr das auch kennt, ja, und dann gibt er die ein und dann habe ich halt je nachdem so ein Timestlice oder bei E-Mail halt mal zwei Stunden oder sowas Zeit, um diesen Code zu nehmen und auch irgendwo anders einzukippen, ja, also quasi die Idee ist, idealerweise automatisiert man das mit irgendeinem Roboter oder sonst wie, der das möglichst schnell kann, der macht ja einfach ein Copy-Paste und lockt sich quasi parallel in die echte Seite ein, er hat ja alle Informationen und genau den gleichen Workflow, ja, und zack seid ihr da auch irgendwie eure Credentials und den zwei Faktor Kilos, also ja, alles was ihr irgendwie an Code eingebt in ein Eingabe fällt, es ist ja genauso wie Passwort und Lock-in, kann man genauso gut da rausklauen und woanders benutzen, das ist nur halt ein kürzeres Timestlice, wo das funktioniert, aber wenn man das automatisiert, das ist ja scheißegal, ja, das geht ja innerhalb von Millisekunden. So, was Google sich irgendwann mal hat einfallen lassen, also ich habe es bei Google als erstes zumindest gesehen, Microsoft macht es auch, ist so ein Lock-in per Push-Notification, ja, gibt es auch von Banken und so für einzelne Transaktionen, weiß nicht ob es für Lock-in gibt, ich habe so eine altbackende Bank, ihr habt eine App, ja, ob das Google ist oder Windows oder also Microsoft oder sonst was egal, die ist bei dem Anbieter registriert und statt, dass ihr ein Eingabe fällt bekommt für einen Code, den ihr irgendwie bekommen müsst, schickt der Anbieter eine Notification an eure App, ja und das ist eigentlich ganz cool, weil ihr habt ja E-Internet um euch irgendwo anzumelden und dann müsst ihr dann nur noch auf OK drücken. Hier gilt natürlich auch, der Angreifer hat sich, kommen Sie sofort, der Angreifer hat sich natürlich zuerst schon mit Username Lock-in, also Username Passwort angemeldet, das heißt, die sind schon weg, wenn ihr so eine Nachricht bekommt auf so eine App und ihr habt euch da vorher nicht angemeldet per Username Passwort, dann klickt nicht auf OK, ich bin das wirklich, ja, ich habe mich wirklich gerade aus Singapur angemeldet, bitte. Eine kleine Zusatz bei Microsoft, das ist tatsächlich ein klein wenig anders. Kommt gleich. Wenn du die Zahlen meinst, ich habe das schon mal vorbereitet, genau, bei Microsoft ist das ein bisschen anders, also bei Google bekommt ihr so einen, hier so ein Prompt, ja, auf dem Handy, wo steht, hey, du hast dich gerade von deinem Mac in Karlsruhe angemeldet, eben gerade bist du das wirklich ja, nein, ja. Bei Microsoft hat man sich gedacht, hey, wir können das noch ein Spur cooler, du musst auch noch eine Zahl eingeben, ja, weil so ein Pop-up wie, hey, hier ist eine Notification, du hast eine Mail bekommen, du hast das bekommen, du hast ein Coupon bekommen, du hast was gewonnen, ja, nein, hat man schnell auch mal aus Versehen vielleicht gedrückt, ja, weil man bekommt so viele Notifications, wo man was wegdrücken muss, dass das vielleicht schon so im Flow ist, dass man gesagt hat, ja, wir machen noch so eine extra Hürde, ja, und deine Frage. Bei Microsoft sieht man es sogar noch besser, gerade auf dem Screenshot, da musst du teilweise gar kein Passwort mehr eingeben, sondern nur noch diese Nummer bestätigen. Ja, gut, das ist ja nochmal ein extra Wurst, ja, wenn die Anbieter brauchen, aber du brauchst eben nicht mal mehr das Passwort, sondern du musst nur noch diese Nummer fischen. Genau, ja, es ist immer so eine Sache, ja, Microsoft sagt ja auch, du hast ein Gerätepasswort bei Windows mittlerweile, du könntest aber auch einen Pin eingeben, der auch das Gerätepasswort sein kann und auch 70 Stellen haben könnte, aber Leute wissen ja von ihrer Bankkarte, Pin ist das mit vier Nummern, ja, und dann ist es ab da dein Passwort, ja, nächste Frage. Ja, noch ein kleines Hinweis von meiner Seite, ich kann nur jedem Appenlistrauter empfehlen, das Handy nachts auf die Seite zu packen oder ein eigenes Handy für solche Sachen zu haben, dass man nachts ausschalten kann, weil wenn man nachts um drei oder um vier oder um fünf, wenn man eigentlich schlafen will, wenn man um sieben raus muss, spätestens vielleicht, 50, 60 solche Nachrichten bekommt, dann wird man irgendwann entnervt, vielleicht doch noch auf Ja, das bin ich, klicken um seine Ruhe, sondern um schlafen zu nennen, nennt man sowas wie Authenticator-Vertieg oder Notification-Vertieg, gibt es auch dokumentierte Fälle, was Leute da gemacht haben. Letztes Jahr sind Leute bei Uber, also hier Taxiersatzprodukt eingestiegen im Internet über einen Administrator-Account und zwar haben die das so gemacht, die haben von einem Admin oder Software-Entwickler mit hohen Rechten den User einem Passwort irgendwo herbekommen und dann haben sie ihm so eine Notification geschickt und da hat er gesagt, nein, das bin ich nicht. Natürlich, dann nachts im Halbschlaf sind wir so ein guter Angriff, wenn du gar nicht so ganz da bist oder das ist drei auf der GPN und du kriegst in die Morgen zum drei Notifications und dann haben die dem Hunderte von Notifications geschickt und dann ihn angerufen und gesagt hier, wir sind IT-Departement von Uber, du bekommst, wir sehen, du bekommst im Minuten-Takt Notifications, wir würden es ausschalten, wir haben einen Server-Problem, du bist on-call, du kannst das dir, du kannst, du musst dir irgendwann auch schlafen und es tut uns total leid, drück bitte einmal drauf, damit wir es abschalten können und dann hat die Person da drauf gedrückt und es akzeptiert und was ist passiert, ja, die Leute sind mit seinem Account zu einem anderen Skripte kommen, wo andere Credentials für mehr drin stand und haben damit quasi, sind einmal durch das Netzwerk von dieser Firma durch. Also, wenn ihr sowas bekommt und ja, wenn ihr keinen On-Call habt, legt halt dein Handy weg, kein Mensch braucht euch nachts an zu bimmeln, ja, es ist unglaublich, was Leute nachts alles an den Handy gehen, dann drückt halt nicht drauf, ja, weil ihr müsst euch vorher angemeldet haben mit username und password, es ist nicht anders möglich, dass ihr sowas bekommt, außer es wäre ein technisches Problem und dann ruft euch das apart, ja, genau. Und dann, was Microsoft gemacht hat, man sieht auf der linken Seite quasi den Login, den der Angreifer sehen würde und auf der rechten Seite das Opfer mit seiner App. Ich persönlich finde diese Art, das zu tun, kacke, weil ich kann jetzt anrufen als böse Angreifer und sagen, hey, tut mir leid, wir haben dir da so einen Ding geschickt, dankeschön. Damit du auch weißt, dass wir wirklich dein Archie-Departement sind, gib doch mal die 83 ein. Alle anderen werden nicht funktionieren, ja, okay, was macht der arme Mensch, ja, hier 83 Feuer. Man kann das andersrum machen, ja, man könnte sagen, ich zeig dir in der App eine Nummer an, die musst du in die Webseite eingeben, ja, und da ist, glaube ich, so die Hemmschwelle ein bisschen höher, da ruft mich jemand an, der sagt, gib mir mal eine Nummer und drückt dann auch auf okay, irgendwie, ich hab das tatsächlich in Google auch schon gesehen. Google hat es ein bisschen anders gelöst, die haben sowohl auf der Seite, also vielleicht war das so ein Beta-Test oder so, sowohl auf der Seite als auch im Authentikator mehrere Nummern Blöcke angezeigt und einer davon war angemalt und da musstest du auf beiden Devices irgendwie akzeptieren oder sowas. Gibt mehrere Möglichkeiten, das ist nicht so richtig sicher, ja, und zum Thema Fishingseiten und Co. Hier müsst ihr den Code gar nicht ausschnüffeln, ja, weil ihr braucht nur den Login, wenn ihr den ihr mit eurer gefakten Seite abgreift, Login Passwort, weil danach schickt, ja, wenn ihr das dann weiter zu Google schickt, Google dem Menschen, den ihr angreifen wollt, diese Notifikation und da gibt es für euch selber frei, ja, das heißt, ihr könnt euch sogar sparen, den Code zu kopieren. So, dann gibt es abbasierte Faktoren Teil 2, das macht Apple so, ein bisschen anders wie Google, bei Apple ist es so, wenn ihr ein Gerät in der Apple Cloud gerade angemeldet habt, dann vertraut Apple quasi diesem Gerät für euren Account und schickt euch auf alle eure angemeldeten Geräte einen Code, wenn ihr ein neues Device anmeldet oder euch auf einem neuen oder unbekannten Browser anmeldet, der nicht in iCloud angemeldet ist, ja. Mit der Idee, du hast ja schon Trust auf einem anderen Gerät, das ist ja bei der App genau das gleiche, ja, dann müsst ihr halt dort irgendwo den Code und dann habt ihr wieder Code und dann könnt ihr wieder Sniffen und so weiter. So, und dann gibt es Device basiert, das hier zum Beispiel auf der Apple Watch oder was weiß ich, was ist das, ich bin so urenfrei, gerne. Ihr wollt euch am Rechner anmelden und ihr müsst das auf irgendeinem anderen Device, was ihr anhabt, wie eine Watch oder so was halt irgendwie aktivieren oder ihr müsst in der Nähe sein, ja, also ich glaube, man kann sich in sein MacBook anmelden, indem man die Uhr irgendwo drauf legt oder so, vielleicht. Es gibt schon zig Jahre, bekannter von mir, hat früher schon Bluetooth von Handy mit seinem Rechner verbunden, unter Linus geht es schon ewig, wenn der aufgestanden ist und von seinem Rechner weggelaufen ist, wird sein Rechner gesperrt, ja, kann man alles machen, da gibt es schon lange, aber die Idee ist hier, du sollst halt das Device, was schon angemeldet ist, in der Nähe haben oder drauf drücken. So, und dann kommen die richtig coolen Sachen, Hardware-Tokens. Wer besitzt ein Ubiqui oder mehrere? Genau. Letztendlich ist dieser Hardware-Token fast schon so eine Art Minirechner, der bestimmte Sachen speichert und eine Batterie hat, mit dem kann man ganz viele Sachen machen. Einer der bekannteren Anwendungsfälle zeige ich euch gleich, ist nämlich, dass er so ein Private-Public-Keeper erzeugen kann und so weiter, aber komme ich gleich zu. Das erste, was der Token machen kann, der kann auch OTP-Codes, die sind halt nur 106-stellig, sondern sehen so aus. Also, die sind halt richtig lang. Die könnt ihr leider nicht auf den Token drauf schreiben, diesen Unique für den Token, aber ihr könnt es ja Server admin im Server eintragen, das ist mehr so ein Enterprise-Ding in der Regel. Man muss da ein bisschen vorsichtig sein, weil die Batterie von diesen Tokens, die geht mit der Zeit ein bisschen leer und dann gibt es so ein Timeshift. Das heißt, es kann sein, dass eure Token, vor allem wenn sie länger nicht benutzt werden, so out of sync laufen und die Leute sich nicht mehr anmelden können. Da müsste das vielleicht serverseitig nach reparieren, aber das ist ein ganz, ganz, oder mittlerweile hätte ich gesagt, relativ unverbreiteter Faktor. Genau, es wäre ein Fotos gemacht. Die ersten paar Zeichen, das seht ihr vielleicht, die sind immer gleich hier vorne bis zu dem CH. Da könnt ihr auch den Token dran identifizieren. Das heißt, ich habe euch jetzt quasi von meinem einen Token von vielen schon ein bisschen Code geschränkt. So, dann kann man das Ganze mit dem Ubiqui-Manager bespielen. Keine Zeit. Jetzt müsste ich ein Ubiqui einstechen. Ich habe da kein Ubiqui hier drin. Ja, hin oder her, ich muss ein bisschen Gas geben, deswegen einmal ganz kurz. Es gibt so ein Ubiqui-Manager, da sieht man einen Ubiqui in der Seriennummer, die ich jetzt noch kurz wegklicken. Und was der alles kann, das ist einer der neueren Generationen. Der kann alles mögt. Der kann auch, wenn er zum Beispiel Smartcard-Support habt, noch sowas machen. Der kann Fido U2F bzw. Fido 2, zeige ich gleich noch ein Beispiel. Kann aber auch PGP. Also ihr könnt auf einem Ubiqui auch einen GPG-Ki speichern, mit dem ihr eure E-Mails signieren könnt und dafür aber jedes Mal diesen Token braucht. Und die meisten davon, die haben so einen Touchfeld, wo man drauf patchen muss mit dem Finger, damit quasi, das ist so ein kapazitatives Ding, heißt das so, dass quasi das Teil aktiviert wird und dann an den Rechner wie ein Keyboard so einen Code oder eben diesen GPG-Ki schickt. Man kann auch einen SSH-Ki bis zum Ubiqui 4, kann man SSH-Ki auf den Token speichern. Das heißt, wenn ihr euch per SSH irgendwo anmeldet, müsst ihr dazu den Token einschieben. Und seit Ubiqui 5 könnt ihr zweiten Faktor für SSH benutzen. Das ist ein Stab, wo es richtig cool wird, meiner Meinung nach. Das heißt, ihr habt einen SSH-Ki, der lokal auf eurer Platte vom Rechner liegt, der genau steig ist, wie die ganzen Kis, die ihr jetzt alle schon habt. Ja, das heißt, ihr habt ihr alle mit Passwort geschützt natürlich und so. Und habt ihr hoffentlich irgendwo in einem sehr sicheren Backup und nicht überall herumliegen. Und jedes Mal, wenn ihr den nutzen wollt, müsst ihr zusätzlich zu dem Passwort auch noch auf den Authenticator drücken. Oder wenn ihr das einstellt, auch noch den Pin vom Authenticator eingeben und dann noch auf den Authenticator drücken. Das ist dann schon so maximal Paranoid, aber für so irgendwelche sehr kritischen Services für den, sagen wir mal sowas für den GCloud-Login von der Firma oder sowas. Ja, kann man ja schon überlegen, ob es da sinnvoll ist oder für irgendwem, wenn ihr so einen Server habt, wo ihr drauf geht, um dann auf andere Server zuzugreifen. Schon sinnvoll, da maximal sicher zu sein irgendwie. Wenn ihr Bock habt, es wird jetzt ein bisschen knapp, tut mir leid, aber ich kann es euch nachher auch noch zeigen, wenn ihr auf mich zukommt. Irgendwie, ich bin noch den ganzen Abend da. Genau, hab ich schon erzählt, das kann OTP-Token, ein bisschen nicht so geil. Fido 2 komme ich da euch noch zu. Genau, das ist quasi mit zweitem Faktor. Man muss eine bestimmte Art, man sieht das an diesem SK am Ende, SSH-Key anlegen und dann weiß die SSH-Librerie, die ihr benutzt, dass man bei jeder Verwendung einmal diesen, diesen Ubiqui touchen muss. Man kann es dann so machen, dass der SSH ächend sich das merkt, damit er nur einmal auf den Dings drücken muss oder sowas und so weiter. Und eben nicht jedes Mal, wenn ihr dann Git-Commits schreibt und die signiert, müsst ihr halt 80 Mal am Tag auf diesen Dings drücken, das ist auch irgendwie aufwendig, aber man muss nur einmal den Finger drauflegen, das ist irgendwie ziemlich konvinient. So, was kann man noch nehmen, um sich anzumelden? Fingerabdruckscanner, Gesicht oder Iris und so weiter, wäre alles denkbar, die meisten Handys und ganz kurz, die meisten Handys und sowas können mittlerweile ja ein Fingerprintreader oder Face ID, Windows kann das auch, auf dem Rechner, das ihr mit dem Gesicht euch überall anmeldet, eigentlich, und da muss man ein bisschen so ein Disklemmer rauslassen, die Biometrie, von der wir sprechen, die immer so gehypt wird für Pass-Key und so weiter, ist eigentlich nur ein Convenience-Feature für das lokale Device-Passwort. Ja, ihr lockt euch damit nur an eurem Device ein und sagt, ich sag mal einem Rechner mit meinem Finger, ich bin das wirklich. Ja, der Finger, der geht nirgends anders hin. Ja, und auf einem anderen Device ist es nicht der gleiche Finger und nicht der gleiche Scanner. Ein Stichwort oder Kritikpunkt zu den Ubiquis und ähnlich. Ja. Man möge ein funktionierendes Back-Up sich überlegt haben, wenn einem nämlich das Schlüsselbund geklaut wird, wie es mir mit einer Smart Card probiert, passiert ist, ist mein gegebenenfalls ziemlich schnell aufgeschmissen. Oder wenn der Ubiqui kaputt geht, es passiert auch einfach, die habt ihr ja auch zwischen Schlüsseln, zweiten Ubiqui, wer auch meine Antwort gewesen war, auch die Ansage im Publikum. Alle gängigen Services, die euch Multifaktor erlauben, die haben in der Regel, entweder sagen sie, ihr müsst erst Handy machen und dann könnt ihr Ubiqui, also erste Authenticator App, manches sind mittlerweile draufgekommen, dass gar nicht jeder die Authenticator App benutzen will. Ja, das sind ja auch so rechtliche Dinge, ja, wenn ihr von der Firma bei der Arbeit kein Handy bekommt, müsst ihr dann euer Privates nehmen, muss euch die Firma ein iPhone kaufen oder ein 500 Euro Android oder sonst was, dass sie auch patchen kann und muss, ja, nur damit ihr irgendwann so ein Code generieren könnt, vielleicht reicht es auch, ein Ubiqui für 25 Euro zu kaufen, und das Backup wäre halt einfach ein zweiter. Dann habt ihr einen am Schlüsselbund und einen zu Hause und einen bei der Oma und sonst wo oder bei der Bank. Genau, ja, Biometrie habe ich gerade schon gesagt, Entschuldigung, wir sind wir da auf Biometrie, du hast gefragt, ja, ja, okay, fünf Minuten, okay, jetzt habe ich schon Paskis versprochen, noch gar nichts dazu gesagt, tut mir leid. Ich spring mal weiter, Web Out N und da kommen wir ja schon, die, die es schon benutzt haben, oder schon wissen, was es ist, wissen auch schon, da kommt gleich auch Paskis vielleicht. Web Out N, mit Web Out N und das ist eigentlich so das, was eigentlich als Fishing Proof gilt, wird, das ist so ein Public Private Key Krypto basiertes Verfahren, damit wird für jede Seite hier besucht, Beispiel Gmail, Beispiel GitLab, Beispiel GitHub, ein neues Private Public Key Paar generiert und auf einem Rechner gespeichert, wenn ihr da das als zweiten Faktor hinterlegt, das heißt, ihr sagt quasi das Kleint hier, ich möchte einen neuen Account oder halt einen neuen zweiten Faktor generieren, dann sagt das Server, ja klar, gebt mal Pub Key und der Kleinen schickt ihm den, also er generiert ein neues Paar, ja, und schickt dem Server den Pub Key und der Server speichert sich den und sagt damit, ich möchte mit diesem Pub Key feststellen können, dass jemand mit dem passenden Private Key eine Nachricht oder den Log insigniert hat, um danach sagen zu können, okay, das ist wirklich die richtige Person, ja, so funktioniert Webout End so ganz, ganz, ganz, ganz grob, ja, und wenn er später einlockt, dann sagt das Server hier, sie knien mir mal dieses Stück Daten mit deinem Private Key, weil dann kann ich ja nachvollziehen in meinem Pub Key, den du mir vorher gegeben hast, den ich bei dir gespeichert habe, dass du das wirklich bist, ja, und man kann das dann nicht bei E-Mail Signature quasi das Gleiche, ja, und es ist ein erprobtes Verfahren, kein Mensch versteht es, ich zum Wett, aber hier macht das der Browser für euch, das ist das Coole. Kylianches werden nur lokal gespeichert, wenn ihr auf einem Rechner einen Private Key generiert, dann bleibt er auf eurem Rechner, ja, der kommt nur uns anders hin, der wird in irgendeiner lokalen Keychain oder so gespeichert und dann ab da benutzt oder Firefox macht das in seinem Store und so weiter, könnt auch ein Hardware-Token benutzen oder das eben auf das Device, also wird es mit dem Sicherheitschip, der in jedem modernen Device verbaut ist, Laptop oder Handy eben erstellt und damit ist das quasi auf das Device gemünzt, das heißt, wenn ihr angemeldet habt mit diesem Device und ich spare mir mal kurz denn die Demo, weil ich habe gerade schon das 5-Minuten-Shield bekommen und bin schon eine Weile drüber, tut mir leid, genau, ja, es gibt es auch mit Passwortless, das heißt, als Store-Wahlenbieter könnt ihr sagen, wenn jemand so einen Webout-End benutzt und damit sagt, ich besitze dieses Device und kann das auch bei jedem Lock-in vorweisen, dann brauche ich von dem ja kein Passwort mehr, ja, weil er hat ja das Device in der Hand und hoffentlich hat er bei dem Device auch ein Passwort gesetzt, ja, sonst ist es ein bisschen doof und weil sonst, wenn jemand den Laptop klaut und der ist nicht gesichert, aber ich habe alle meine Webout-End- zugänge da drin, die Passwortless sind das natürlich gaga, ja, genau, ja, das ist mega konvinient, weil den Hardware-Token, den könnt ihr einfach einstecken, dann habt ihr den im Rechner drin, Fingerabdruckgesicht habt ihr meistens sowieso dabei und hoffentlich wisst ihr das Passwort von eurem Rechner auch, so und Privatsphäre hat auch noch einen ganz wichtigen Punkt, die Keys werden für jede Webseite generiert, das heißt Gmail kennt einen Pub-Key und Twitter und GitHub und GitLab kennen alle einen anderen Pub-Key, ja, und können keine Rückschlüsse darauf ziehen, ob ihr mit eurem Account auch einen Twitter-Account habt oder so was, ja, und ja, biometrische Daten habe ich eben schon gesagt, sind eigentlich nur der Zugang zu meinem Device, mein Device erlaubt bei biometrischen Daten immer den Fallback auf das Device Passwort und das funktioniert beim Handy, funktioniert beim Laptop und so weiter, so, das überspring ich mal, so sieht das Ganze aus, ja, ich spreche dieses C-Tab-Protokoll mit meinem Browser und der spricht Webout N mit dem Server, der das Ganze anbietet, dem spart ich mir auch, könnt ihr hier gucken, das hier ist ganz schick, bei Webout N I O könnt ihr zuerst einen Credential anlegen und danach euch damit einloggen und das ist irgendwie 24 Stunden gültig oder so was, gibt auch andere Seiten, die das können, das hier finde ich ganz schick, weil man da so ein paar Optionen hat, genau, ja, es ist quasi Fishing Proof, es ist super praktisch, wenn ihr den Fingerprint Reader benutzt, weil ihr müsst keinen Passwort eingeben, wir müssen nix machen, ihr lockt euch ein und danach patcht ihr einmal mit dem Finger auf den Scanner oder wenn ihr Windows Hello oder so was habt, direkt euer Gesicht, genau, es unterstützt passwortlose Logins, Server kennt nur den Pubkey, man braucht vielleicht zusätzlichen Hardware Aufwand, also ihr könnt auch einen Ubiqui benutzen übrigens, lokal und der funktioniert dann auch in jedem Device, ja, also mein Ubiqui wird für zwei jetzt, aber die Webseite kennt einen Pubkey, den der Ubiqui erzeugen kann mit einem Stück Info, das ihr jedes Mal beim Login bekommen kann und dann kann ich das den gleichen Ubiqui benutzen für meinen Rechner, für mein Handy und für alles andere auch, ja, und mit Abstufungen, weil man kann das als Server einstellen, was der Client alles können darf, also ich kann als Server auch sagen, der Client muss diesen Key speziell auf dem Ubiqui speichern, der darf nicht jedes Mal erstellbar sein, so und es werde ich gleich abgebügt glaube ich, da war noch eine Frage, tun wir haben wir noch fragen oder ist es auch schon durch? Keine Frage, aber eine Anmerkung und zwar sehr, sehr viele Web Services, registrieren ja im Grunde, dass man sich mit beiden Faktoren autorisiert hat, mit einem Session Cookie, der im Klartext im Browser abgelegt wird, was scheiße ist. Du bist bei man in the middle gedurned, wo du den Traffic auslesen, auslesen kannst, hast du immer verloren, egal bei welchem zweiten Faktor, egal ob der über die App, über SMS, über den dritten Weg, über die Brieftau bekommt. Der Server schickt dir einen Session Cookie zurück, wenn der Angreifer das mitlesen kann, dann hat er den, dann ist er ja schon eingeloggt, dann kann er auf den zweiten Faktor halt gemütlich, genau, irgendwo hinten hat jemand? Ja ich habe, ich habe noch eine Frage. TOTP ist für mir auch recht einfach, ich habe es auf einem Device auch drauf und die Frage ist, wie kriege ich das auf ein anderes drauf? Also wir haben jetzt Microsoft verwendet und wir würden das kennenlernen auf ein zweites Device haben oder als Backup, ist das möglich, wenn ja wie und vielleicht auch noch, kann ich es auch mit Google Authenticator mischen? Je ein, also in der Regel brauchst du das gleiche Secret, das musst du halt irgendwie rauskriegen, die meisten, die meisten Apps, die bieten so eine Exportfunktion. Die habe ich nicht gesehen, das ist wahrscheinlich genau das Problem. Ne du kannst, also ich weiß, beim Google Authenticator, weil ich ein relativ neues Handy habe, hatte ich genau auch das Problem, ich brauch es ja auf einem anderen Device, dann kannst du auf einem Device das exportieren, im Zweifelsfall kriegst du pro Key einen QR-Code, den du mit dem anderen Device scannen kannst. Ja, weil das ist, das ist beim ersten Mal ist ein QR-Code von der, von der Cloud-Lösung angezeigt worden, aber dann nieder, ne? Ja, okay. Ich glaube die, normalerweise kann die App dann entweder das exportieren als Datei oder so was oder dann auch einen QR-Code erzeugen, den ein anderes Device lesen kann. Okay, danke. So, ich schlage vor, weitere Fragen draußen bei nem Marte oder äh ähnlichen Getränken zu klären. Vielen, vielen Dank für den Vortrag. Darf ich noch einen Satz? Na? Ich bin noch einen Satz. PASCY ist quasi, PASCY ist eigentlich nur Webout N, wo euch Google oder Apple oder Microsoft den Private Key in die Cloud sinkt. Das ist alles. Ich wünschen gerne im Nachgang und das tut mir leid, dass ich so viel Zeit mit Blar verbaselt habe. Vielen, vielen Dank für den sehr interessanten Vortrag. Alles weiter bei nem Trunk.