 Ich bin Tobi, ich bin von GNOME und ihr seid jetzt in einem Vortrag da drüber oder der davon handeln soll, wie ich oder wie wir bei GNOME glauben, dass ein sicheres Betriebssystem sichere Bedienelemente, Bedienkonzepte aussehen könnten. Und wir sind nämlich bemüht, also wir von GNOME sind bemüht, Interfaces zu basteln für Leute oder ein System zu basteln für Leute oder für alle Leute in einer Art und Weise, dass nicht nur die Freiheit, die Computational Freedom der Leute bewahrt, sondern das möglichst auch in diesem Kontext hier möglichst sicher gestalten. Wir wollen ein System bauen, was es bei Design schwermacht, Sachen unsicher zu machen. Und naja, jetzt wollen wir uns also eine knappe drei Viertel Stunde, hoffe ich, damit befassen und ich werde erst ein bisschen darüber reden, was ich denke, was GNOME ist und was ich denke, was die Ziele von GNOME sind und ich hoffe, dass ich euch hinreichend doll davon begeistern kann, als dass ihr auch Lust habt, dann GNOME Sachen zu machen und mit GNOME zu arbeiten oder sogar an GNOME zu arbeiten. Danach möchte ich ein paar Case Studies mitbringen, ein paar Beispiele, wie ich glaube, dass wir die Welt ein bisschen besser machen können. Zum einen, aber auch, wie ich glaube, dass GNOME eine sehr eine führende Rolle im Entwickeln von sichereren User Interfaces von sichereren Systemen eingenommen hat. Und dazu bringe ich wie gesagt drei Beispiele mit und wir werden dann uns, wir werden die jetzt hier in der nächsten drei Viertel Stunde uns anschauen. Bei Fragen gerne reinrufen, also wenn ihr euch bemerkbar macht und ich euch nicht sehe oder drannehme, dann liegt das wahrscheinlich nicht daran, dass ich denjenigen nicht mag, sondern dass ich einfach niemanden sehe. Es blendet hier so ein bisschen entgegen. Also ruhig gerne laut dazwischenschreien und euch melden, falls ihr das Gefühl habt, dass es irgendwo Diskussionsbedarf gibt. Ich werde aber auch im Anschluss ein bisschen Zeit lassen und ich werde hier auch noch rumhängen im Laufe des Tages, um Sachen zu diskutieren und auszudiskutieren und sehr gerne sogar. GNOME. Ich würde GNOME beschreiben als ein Projekt, das als höchsten Wert die Freiheit des Benutzers hat. Die Computational Freedom, Software Freedom ist Priorität Number One. Das G in GNOME steht für GNU. GNU ist nicht Software Freedom. Die vier Freiheiten, die Free Software Definition, na ja garantiert, die sind dem GNOME Projekt sehr wichtig. Direkt danach, aber geht es um Usability darum, dass die Leute mit ihrem Computer Dinge machen und nicht davon genervt sind direkt. Also wir glauben, dass die Leute vom Computer sitzen, nicht weil sie gerne vom Computer sitzen, sondern weil sie Sachen erledigen müssen. Leute sitzen vom Computer, weil sie eine Aufgabe haben und die möchten sie irgendwie erledigen und das möglichst schmerzfrei und möglichst ohne, na ja ohne, dass einem das System da Stein in den Weg legt. Und das hoffen wir, dass wir das gut umsetzen mit das, was man heutzutage User Experience nennt. Das System soll sich einheitlich anfühlen und soll einem das Leben die eigentlichen Aufgaben leicht machen. Das ist so ein bisschen das Mindset mit dem GNOME an die Problemlösung herangeht und ist wahrscheinlich auch der Grund, warum die Leute meckern, dass überall Haken, Knöpfe fehlen, um Optionen zu setzen oder Sachen zu ändern. Eben weil das Mindset ist, dass die Leute eigentlich nicht gerne Knöpfe drücken und Sachen verstellen wollen. Die Leute wollen irgendeine Aufgabe machen und da, na ja, versuchen die GNOME-Jungs entsprechend Workflows und Prozesse zu erarbeiten und Interfaces zu designen, die einem das eben möglich machen. Die Freiheit, die Computational Freedom, die Software Freedom ist ein großer Punkt, wie ich sagte, aber GNOME liegt auch viel Wert darauf, von jedem benutzt werden zu können. Die Übersetzungsstories von GNOME, die sind relativ populär, also die GNOME ist übersetzt in ganz vielen Sprachen und die Leute hängen sich rein, um auch sämtliche GNOME-Applikationen in alle Sprachen zu übersetzen. Und den gleichen Fleiß und die gleiche Hingabe gibt es für Accessibility-Technologien, also für Leute, die, ich sage mal, ungewohnte Eingabe-Methoden haben zum Beispiel oder die ungewohnte Seegewohnheiten haben. Und das zieht sich durch, das GNOME-Projekt durch und die Folge ist, dass sämtliche, na ja, Unterstützungstechnologien, ich glaube im deutschen Windows heißt es irgendwie Unterstützungstechnologie, die Bildschirmlupe und was es alles gibt. Diese Sachen, die heute Standard sind auf dem GNU-Linux Desktop, viele von den Sachen kommen aus dem GNOME-Umfeld und GNOME hat diese Sachen gepusht, mit dem, na ja, vor dem Hintergrund möglichst viele Leute dazu zu bringen, ihr Computing mit freier Software zu machen. Und also nicht nur das Nackt der Computing mit freier Software zu machen, sondern auch angenehmes Computing, das einem nicht im Weg steht. Die Freiheit, ganz groß, hat ich erwähnt, vier Software Freedoms, wer sie nicht gerade zitieren kann, der kann sich ja mal bei einer Tasse Kaffee oder einer Tasse Tee an einem Kamminfeuer die vier Software Freedoms durchlesen und versuchen, die zu veränderlichen, um was es dabei geht. Und also GNOME ist seit jeher freier Software tatsächlich als freie Software Alternative zu KDE seinerzeit gegründet worden, seinerzeit als es losging mit Fenster-System, mit X-Windows und mit entsprechenden Oberflächen gab es schon so ein Toolkit oder das cute Toolkit seinerzeit, aber das war nicht frei. Und dann wurde eben GNOME als freie Alternative, also seinerzeit GTK als freie Alternative, als freies Toolkit zu eben probiertären Alternativen gegründet. Die Freiheit streckt sich aber auch auf die Freiheit vor Angst. Die Idee ist, dass der Benutzer möglichst angstbefreit sein soll, dass sein Computing nicht kompremitiert wird, was immer das heißt, dass das Computing sicher ist im weitesten Sinne. Also die Idee ist, möglichst Sachen richtig zu machen, sodass der Benutzer sorgenfrei arbeiten kann. Nun ist dieser Anspruch, den hat wahrscheinlich jedes Projekt, also es wird wahrscheinlich kein Projekt geben, was sich auf die Fahnen schreibt, wir möchten Sachen möglichst unsicher machen, wir möchten möglichst, dass unser Benutzer Angst hat, dass sein Computing irgendwie exposed wird und dass er irgendwie gehackt wird, das wird wahrscheinlich niemand von sich sagen. Nun ist aber das Mindset, dieses GNOME Mindset, was ich von erwähnte, ich glaube, das ist eine sehr gute Voraussetzung dafür, um ein sicheres System zu bauen, weil man weiß, dass die Benutzer die achten eigentlich nicht so genau darauf, was der Computer eigentlich sagt. Also früher, noch vor fünf Jahren, haben wir diese X509-Warnung im Browser gehabt, wollen sie wirklich sich verbinden? Nein, vielleicht, dann die Leute klicken immer nur nex, nex, nex, weil die haben gerade die Adresse in den Browser eingetippt, die wollen sich dahin verbinden, also jetzt fragt der Computer, willst du dich dahin verbinden? Selbstverständlich will ich das, ich hab da gerade die Adresse eingetippt. Und so was, naja, also man weiß so ein bisschen wie Leute Entscheidungen treffen und die Hauptaufgabe eines menschlichen Bewusstseins ist, Sachen wegzufiltern. Und deswegen, naja, halte ich es für eine sehr gute Voraussetzung, wenn man versucht, möglichst wenig Sachen dem Benutzer in den Weg zu legen, die er potenziell wegfiltern könnte. Also wenn wir darauf vertrauen würden, dass der Benutzer aufmerksam, naja, seinen Programm bedient und sich durch die, weiß ich auch nicht, Pop-ups oder durch die Einblendung wirksam irritieren lässt, dann glaube ich, ist das nicht gut. Ich glaube tatsächlich, dass man versuchen sollte, das System möglichst interventionsfrei zu gestalten. Also umso wenig der Benutzer falsch machen kann, desto sicherer halte ich die resultierende Anwendung. Aber es ist auch trivial, also weil umso mehr Sachen der Benutzer falsch machen könnte, desto mehr Sachen können auch schief gehen am Ende des Tages. Und wenn es diese Möglichkeit gar nicht gibt in First Place, naja, also kann es ja auch nicht schief gehen. Und das ist aber auch so ein bisschen ein Konfliktpunkt, nicht? Also gerade die Hacker-Leute, die wollen immer ganz gerne alle Knöpfe drücken und alle Rätchen drehen und alles einschlechen. Und das ist okay. Und dieses Genom meinst du, das widerspricht dem auch eigentlich gar nicht. Weil diese sämtlichen Knöpfe und Rätchen, die gibt es nur eben nicht notwendigerweise in dem Hauptinterface, da wo man die eigentlich Aufgabe erledigen soll. Also sämtliche Einstellungen, über die die Leute gemäckert haben, ich weiß nicht, mit dem Switch zu GNOME 3 haben die Leute gemäckert, dass der Desktop keine Ablage mehr ist. Also der Desktop-Hintergrund, dass man da keine Shortcuts mehr platzieren kann oder was, irgendwie Dateien oder so. Und das ist insofern richtig, als dass der Default-Wert das nicht vorsieht. Aber es ist ein Checkbox in dem Genom-Tweak-Tool und dann schaltet man sich die Funktionalität wieder frei. Oder Fontgröße. Die Fontgröße ist hinter zwei Clicks versteckt oder so nicht mehr so direkt zugreifbar wie vorher. Also dieser vermeintliche Konflikt, ich halte den für eine Nebelkerze. Dieser Konflikt zwischen wir wollen aber alles einschleinen können und der Benutzer darf nichts falsch machen. Ich glaube, dass diesen Konflikt den kann man lösen. Und ich glaube, die Innovation besteht darin, Prozesse und Interfaces zu designen, dass dieser Konflikt aufgelöst wird. Also ich werde im Weiteren über Promz reden. Das Promz sind beliebt gewesen, gefühlt jedenfalls. Als ich noch jünger war, kam keine Anwendung ohne Promz aus. Also Model-Dialogs, Dialoge, die den Fokus gefressen haben und man konnte nichts anderes machen, außer diesen Dialog bedienen, am besten noch während man gerade irgendwas gemacht hat. Also wollen Sie wirklich löschen? Ja, nein. Also so Sachen. Ich halte Promz prinzipiell, wenn ich einen Promz sehe, habe ich immer Zweifel, ob der Promz gerechtfertigt ist. Ich sage nicht, dass jeder jeglicher Promz ungerechtfertigt ist, aber ich halte jeden Promz für überdenkenswürdig. Und ich glaube, dass es cleverere Wege gibt, um den selben Effekt zu erzielen, den man sich von so einem Promz erhofft, eben aber mit anderen Mitteln. Und ich glaube, ein cleveres System, das findet andere Wege und ein cleveres System, ein cleveres Interface, das bietet andere Workflows, um auch den selben Effekt von so einem Promz zu erzielen. Promz, Model-Dialogs, inherent schwierig. Security-Promz halte ich für falsch, in any case. Also dieses Beispiel, was ich schon dreimal gebracht habe, wollen Sie wirklich verbinden? Ja, nein. Also im besten Fall hat der Nutzer gerade irgendwie auch verbinden gedrückt und dann fragt der Computer, wollen Sie wirklich verbinden? Ja, nein. Oder wollen Sie jetzt wirklich diese Aktion machen, die Sie gerade wirklich wollen? Bitte. Also das Beispiel kam gerade, diese Domain ist auf einer Blacklist, wollen Sie jetzt wirklich wirklich sich hierhin verbinden. Das war ja ein Standardbeispiel und ja, so diesen Use Case, den hat man ja als Anwendungsentwicklung, als Anwendung, die Funktionalität, die man nutzt, so zu sagen. Ja, aber auch da hast du heutzutage keine Promz mehr. Also da, zumindest in Firefox hast du diesen, naja, es, ja, ja und nein. Also diese, wenn du noch zwei Folien wartest, dann gibt es richtig schöne Promz aus der Bad Promz-Sammlung und diese, diese Browser, zum einen, Browser ist schwierig, zum einen ist Browser ziemlich speziell. So ein Webbrowser halte ich für eine eher spezielle Anwendung auf dem Desktop. Und zum anderen machen die Browser-Jungs mittlerweile viel richtig für mein Gefühl. Und ich halte auch diesen, diesen Blacklist Case, den halte ich für nicht so schlimm gelöst wie ein Model Prompt. Also du kannst immer noch deinen Browser weiterhin bedienen. Du kannst immer noch die anderen Tabs angucken. Du kannst immer noch alles mit deinem Browser machen, was du auch sonst machen konntest, nur eben jetzt nicht mit dieser Seite, die du gerade nach anfassen wolltest. Und das, ja, das halte ich für nicht, wie soll ich sagen, nicht hinreichend gefährlich, als dass ich mich jetzt sofort hinsetzen würde und das patchen würde. Der worst case, den worst case erkläre ich für Security Prompt mit einer permanenten Entscheidung, die dann im besten Fall auch noch nicht reversibel ist. Also mit dem Haken möchten sie diese Entscheidung sich merken. Ja, nein, ist sehr beliebt. Also auch mittlerweile nicht mehr so, aber es so noch, als ich jünger war, war das so der, der beliebte, der beliebte Prompt oder ja, nein, vielleicht und dann eine Entscheidung merken. Und man findet nie wieder raus, wie man diese Entscheidung, die man einmal getroffen hat, während man gerade eine Aufgabe ledigt hat und während man vermutlich im Stress war und einfach nur noch die Abifikation weiter bedient wollte. Diese Entscheidung kann man nie mehr in seinem Leben revidieren, außer Windows neu zu installieren gefühlt. Das halte ich für sehr, sehr schwierig. Wer immer so einen Prompt sieht, der müsste losgehen und den patchen. Also, ich, mir ist auch keiner, keiner aufgefallen mehr. Es gibt noch noch ein bisschen ranzige Chat Software, die so ein Jahr, nein, vielleicht für immer so eine Kombination hat, am besten noch mit nochmal zweimal mehr Auswahlmöglichkeiten an Buttons, damit man auch jeden, jeden noch so erdenklichen Use Case abbilden kann. Aber tatsächlich sind diese, diese ganz fiesen Prompts, die sind mir so nicht mehr untergekommen. Ein Beispiel, was es gab seinerzeit, die sind alle ein bisschen, ein bisschen angestaubt jetzt die Beispiele. Aber es, also um den Effekt zu erzielen, habe ich ein bisschen in der Kiste gestöbert und, naja, ein bisschen alte Prompts jetzt mitgebracht. Ich bitte, dass du entschuldigen, aber es ist ja auch, wie soll ich sagen, gut, wenn es keine ganz aktuellen Prompts mehr gibt. Aber so alt ist der auch nicht. Also, der ist schon relativ modern. Dieser Prompt im Gegensatz zu den anderen, die ich noch mit habe. Aber das ist so ein Klassiker, oder? Also, willst du da jetzt wirklich hinverbinden, ist untrusted, ja, nein, vielleicht und remember und niemand weiß, wie man diese Entscheidung jemals wieder revidieren kann. Das halte ich für am schlechtesten gelöst. Ich verstehe den Use Case. Also, ich habe selber genug programmiert, als dass ich sehr gut verstehen kann, was der Programmierer machen will. Ich halte nur die Umsetzung dieses Problems für sehr ungeschickt. Dort eine Lösung für dieses Problem könnte sein, beim Setup dieses Accounts, also gleich beim Setup während der Benutzer seine Credentials eintippt, gleich dort irgendwie anzubieten, das Setup nicht gar zu pinnen oder vielleicht sogar alleine, also von selbst zu pinnen unter der Annahme, dass man so ein Trust on First Use Model hat oder sowas. Aber also jedenfalls nicht jetzt werden. Ich gerade meine Chat-Applikation starte, wahrscheinlich will ich gerade meinem Kollegen irgendwas Wichtiges mitteilen oder so. Werde ich gefragt, will ich das wirklich tun? Hell yes, ich habe es gerade aufgemacht. Ein anderer Klassiker sind Software Updates und ich glaube, wir sind, wie ein Hacker, wir können damit relativ gut umgehen. Also wir können das, wir können wahrscheinlich relativ viel Semantik aus diesen Buchstaben aneinander ziehen. Ich glaube, uns ist das gut genug möglich. Wobei es auch da Studien gibt, die Leute nach einer Informed Decision gefragt haben von Standard Security Software, ich habe die Details jetzt vergessen, aber die Erkenntnis aus dieser Studie war, dass sogar die Experten nicht besser sind als eine Münze. Also wir würfst besser eine Münze um die Entscheidungen zu treffen, als die Leute zu fragen, die von sich auch noch glauben, sie würden relativ viel Ahnung haben. Genau, Software Updates und also der ist jetzt nicht so, nicht so schlimm, der mein Lieblingsprompt ist dieser. Wir haben hier irgendwie ein Paket gefunden und bevor du jetzt irgendwas machst, bitte führe dieses Kommando aus, pk.com Update, Dash Dash, Rebo Dash, in Elbegleich, Fedora und so weiter, ja, nein. Also auch da, ich verstehe ein bisschen, was der Programmierer machen wollte und ich verstehe auch, warum diese Lösung gewählt wurde. Einfach, weil es relativ einfach, also die API von GTK um so ein Model Pop-up zu machen, die ist halt simpel. Das ist Hit and Run, das sind irgendwie 15 Zahlen Kot und dann ist es fertig, das ist gut. Aber wenn ich mir vorstelle, dass wir Leute auch erreichen wollen, die vielleicht zum ersten Mal ein Computer installieren oder zum ersten Mal ein Computer benutzen und zum ersten Mal als Software Updates machen, dann halte ich das für schwierig und ich glaube, wir würden in einer besseren Welt leben, wenn wir auch diese Leute dazu enablen, ihr Computing sicher zu machen und nicht irgendwie ja, nein, drücken, nicht mal viel leicht. Also mittlerweile ist auch, wenn es Pop-ups gibt, ist es mir aufgefallen in den letzten, weiß ich nicht, paar Jahren, aber noch nicht so lange, bietet Software gerne auch einen viel leicht Button an. Das finde ich ganz clever eigentlich. Also weil dann der Programmierer hat wahrscheinlich schon eine Ahnung, ist das gut. Also ich meine, der Pop-up kommt ja auch nicht umsonst, dieser Prompt, der ist ja auch da, aus irgendeinem Grund, vermutlich, weil die Aktion potenziell gefährlich ist und mit so einem viel leicht Button, naja, nimmt der Benutzer, dem Quatsch, nimmt der Programmierer, den Benutzer ein bisschen, diese geistige Unruhe, was denn jetzt los ist. Also weil, hat jemand Eltern vielleicht von euch? Und Eltern mit Nichtwindowssystem, dann ist schon, also ich habe schon ein paar Mal aufgeregte Anrufe gekriegt, soll ich jetzt wirklich hier irgendwas drücken oder nicht, weil die manchmal sind Formulierungen sehr schwierig. Beliebt es auch, Internet geht nicht. Stellt sich raus, ja, der ganze Maschine bootet nicht, weil Kernel-Modul irgendwie ist gecrashed, ich gab so einen Buck in der Boot und letztens Internet geht nicht. Also überhaupt gar nichts geht, ich dachte, da ist ja ja eine andere Geschichte, Katastrophe. Jedenfalls, glaube ich, dass die Einstellung sein muss, den Benutzer möglichst wenig zu belästigen mit Sachen. Und es gibt ein, ein Zitat, das ist schon ein paar Jahre, ein paar Jahre alt, dass mit jeder Interaktion, die dein Security Feature braucht, stagniert deine, deine Userbase um 50 Prozent. Also du mit jedem Klick, mit jedem Keystroke, mit jeder Tasse, die du tippen musst, verlierst du die Hälfte deiner Zielgruppe. Das ist schon ziemlich krass. Also man macht sich da vielleicht nicht so viel Vorstellung, aber ich bringe mal ein Beispiel, was mir sehr gut gefällt, weil ich auch aus der, der Schiene komme. Ich bin eigentlich, ich bin nicht Kryptograf. Eigentlich mache ich so neuer Kryptografie, Algorithmen und so. Und das mit diesen, mit der, mit der User Experience und den, und den Benutzerführungen, das habe ich für mich eigentlich erst die letzten Jahre so angeeignet und irgendwie fand ich das spannend. Und weil ich Kryptograf bin, kenne ich diese Situation sehr gut. Wer kennt sie noch? Wenig. Wer schreit mal rein, was das für eine Situation ist? Ein Keysighting. Jawohl, ein OpenPKP Keysighting. Was machen diese Leute da? Wer traut sich, was zu sagen? Du hast doch gerade Keysighting gepfiffen. Was machen die Leute da? Genau, sie prüfen den Fingerprint, der ist jeweils gegenüber und prüfen dann noch die Identität des Gegenübers. Und das sind, das sieht jetzt nicht so schlimm aus, nicht? Aber das ist FOSDEM. FOSDEM ist das größte Screen Open Source Developer Meeting heißt es, das ist das größte Treffen von ungewaschenen Hippies in Europa. Irgendwie 8000 Leute waren letztes Jahr da und die Teilnehmer an dieser sogenannten Keysighting Party, Party, also es gibt nur Verkältung, also unverständlich. Jedenfalls sind es 250 Leute, 244 glaube ich, waren in dem Jahr angemeldet. 244 Leute, die im Anfang Februar, Ende Januar, Anfang Februar, in dem Zeitrahmen ist es. In dem Jahr lag kein Schnee, aber ich habe auch schon oft genug im Schnee gestanden. Und also das zieht sich hin, das sind 250 Leute, die sich toll fühlen, weil sie Zahlenketten vorlesen. Und also dann fachsimpeln die Leute über Reisepässe und Ausweisdokumente und ob die abgelaufen sind und ob die Identität immer noch gültig ist oder nicht. Und das sind also gut und gerne mehrere Stunden, die man da verbringt, im schönen Brüssel, die man auch anderweitig hatte, die Zeit, die man auch anderweitig hätte nutzen können. Und diese Leute, die nehmen also diese Fingerprints. Das sind Fingerprints. Das sind 160 Bits kodiert in dem Fall Base 16. Base 16 kann man machen, dann ist aber Kacke. Also mit Base 16, also nicht nur, dass du 20 Zeichen eintippen musst. Und jetzt rechnen wir 2 hoch 20, das ist die Zahl an Benutzer, die wir verlieren, wenn wir Fingerprints eintippen. Nicht nur das, beim Abtippen selbst, also nicht nur machst du die Tastatur früher kaputt und so, weil du musst ja 20 mal die Zeichen eintippen und so, sondern auch hast du potenzielle Probleme, die Zeichen überhaupt zu lesen. Oder wenn du mit diesem Key-Signing traditionell State of the Year, so wie die Leute das machen, die nehmen ausgedruckte Papiere mit. Dann haben die Leute Zehen Blatt Papier in ihrem Rucksack, natürlich hochsicherheitsmäßig, weil also man macht dann Kreuz auf dieses Papier und dann muss man dieses Papier aber gut verstauen, damit niemand anders böse Kreuze drauf macht und so. Und Katastroph jedenfalls nach 3 mal knicken, sieht man die Zahl nicht mehr, weil der Toner sich dann ablöst und so. Also Base 16 ist halt ein bisschen doof, aber so ist es gerade. Das ist Status quo. Das ist so wie wir Menschheit uns gerade hinentwickelt haben. Also das ist jetzt gerade pinnical auf Design. Und das allergrößte für die OpenPGP Jungs ist es dann CAF zu benutzen. CAF ist das einzige Tool mit dem man vielleicht Key signieren kann. Also man würde meinen, die Standard OpenPGP Implementierung, GnupiG, die könnte gut Key sein. Mittlerweile stimmt es auch, mittlerweile geht es. Aber noch bis vor einem Jahr oder so war es nicht möglich, den Best Practices folgend Keys zu signieren. Und dann, wenn man das also machen wollte, auch relativ komfortabel, dann benutzt man CAF. CAF ist ein Programm, CAF in Farnett, ist geschrieben in Perl, hinreichend gut. Aber oder was ist Arbeit? Um das zu konfigurieren, schreibst du Perl, das ist die Konfiguration. Also wenn du anfangen willst, CAF zu benutzen, dann darfst du dir erst mal ein Buch kaufen, um Perl zu lernen, damit du deine Sachen eintragen kannst in die Konfigurationsdatei. Und jetzt stellen wir uns vor, wir wollen mit Leuten sicher kommunizieren, die potenziell so ein Computer zum ersten Mal aufklappen. Und dann, also ich halte es für schwierig, den Leuten erst mal zu sagen, dass sie jetzt erst mal drei Jahre lang Perl lernen müssen, bevor wir anfangen können, die E-Mail zu stiegen. Und ich glaube, das können wir besser. Ich glaube, in 2017 muss das besser gehen. Und man kann sich auch ein bisschen fragen, wieso sind wir in dieser Situation? Wieso sind wir in der Situation, dass wir gefühlt die schlechtesten Entscheidungen treffen, die man hätte treffen können? Also wenn man sich in der Geschichte an einem Zeitstrahl langhangelt und man überlegt sich, machen wir jetzt Base 16, machen wir Base 8, machen wir Base 2, machen wir irgendwas anderes und Leute nehmen Base 16, was vermutlich eines der schlechtesten Akkulierungen ist für 460 Bits von da. Und dann das ganze Ökosystem, das ist so schwierig. Da steht jetzt noch was mit Okaml, das Key-Server-Netzwerk, weil wo kriegst du die Keys her? Du hast jemanden gegenüber. Du stehst physisch, kannst Händeschütteln und ihr Murmel 20 Bites von dem Papier. Dann brauchst du am Ende des Tages noch über den Schlüssel. Wo holst du den Schlüssel her? Ja, Internet irgendwie, klar. Aber Internet was? Wo hast du irgendwie Dienst diesen Schlüssel ausliefern? Und das sind Server, die in Okaml geschrieben sind. Also ich kenne Menge Leute, auch eine Menge Programmierer und genau drei von denen können Okaml. Es gibt Box in der SKS-Key-Server-Software. Die können nicht gefixt werden, weil die Leute nicht wissen, wie es geht, weil einfach niemand Okaml kann. Und wir haben Infrastruktur, wir halten uns diese Infrastruktur auf, ohne, ja, es ist so ein bisschen deprimierend manchmal. Manchmal möchte man sich in die Dusche legen und weinen. Es wird besser, es wird besser. Vom Spannungsbogen sind wir gerade am Top, jetzt die Dramatik ist sehr hoch, aber es wird besser. Ich glaube die, also ich mache das so ein bisschen lächerlich oder ich mache das so ein bisschen, wie soll ich sagen, ich stilisier das so ein bisschen hoch. Es ist natürlich der Show wegen und ich verstehe sehr wohl, warum das passiert ist, wie es passiert ist. Und ich glaube, dass der Grund ist, dass die Leute primär sich selbst im Kopf haben oder gehabt haben. Ich glaube, dass ist okay. Ich glaube, dass ist ein Hauptdriver von freier Software ist, eine your own edge, itch zu scratchen oder sein eigenes Bedürfnis zu befriedigen. Und die Leute waren sehr happy mit BAS16 und mit Perl und so. Es ist völlig okay, es ist gar nicht groß zu kritisieren, aber vielleicht können wir in 2017 ein bisschen weniger Perl machen. Ist ja nicht mehr so festschnibbeln, es ist ja, weiß ich auch nicht. Ja, hier sind Perl sechs Leute unterwegs, ich weiß, es ist ein schwieriges Terrain. 2017, glaube ich, könnte aussehen, vielleicht so. Das ist jetzt speziell für das Key-Signing-Problem. Zwei Leute treffen sich, wollen ihre Schlüssel tauschen, wie machen sie das? Naja, vielleicht kriegen sie eine Liste von ihren Schlüsseln. Und also, weil die Anzahl an privater Schlüssel, die man so hat, ist in der Regel überschaubar. Das geht in der Regel in so eine kleine Liste rein. Und vielleicht könnten diese Leute draufdrücken und dann gibt es eine Art Detailansicht oder so. Und vielleicht sogar was Maschinen lesbar ist, was man mit einer anderen Maschine auslesen kann, sondern muss man nicht abtippen oder Zettel ausdrücken oder so. Und vielleicht könnte die andere Seite diese Maschinenlesbare Form scannern oder so. Und dann vielleicht könnten diese beiden Programme dann Computerliebe machen und die Schlüssel austauschen irgendwie. Und vielleicht könnte dann im nächsten Schritt irgendwie man den Nutzer dazu bringen, diese Signatur zu produzieren. Ohne Perl. Das wäre doch gut eigentlich, oder? Das wäre doch ein bisschen mehr 2000er. Nicht unbedingt 2017, nicht unbedingt 2010, aber ein bisschen mehr 2000er vielleicht. Und das, weil Live-Demos immer fehlschlagen, habe ich ein Video mitgebracht. Ja, ich würde gerne kommentieren, aber so viel gibt es auch gar nichts zu kommentieren, weil es eigentlich genau das, was ich gerade gesagt habe. Man könnte sich eine Schlüssel da links drücken, auswählen und rechts einscannern. Und dann könnte das Schlüssel übertragen werden und mit einem, einem weiteren Klick könnte die Signatur produziert werden. In dem Fall springt der E-Mail-Klein von dem Benutzer auf mit einer vorgefertigten E-Mail, die dann im besten Fall nur noch abgesendet werden muss. Ja, ich weiß, jetzt kommen die Gmail-Jungs und fragen, wie das denn mit Gmail geht. Habe ich keine Ahnung, aber für mich ist das gut genug erstmal. Das war eine Case-Studie, von der ich denke, wie man ein Problem mit einer herangehensweise lösen kann, die es dem Benutzer erlaubt, weniger Sachen falsch zu machen unterwegs. Es gibt auch so, später noch habe ich mich breit schlagen lassen, so ein Key-Signing zu machen mit der App, da brauchen Beta-Tester. Ich glaube, später in einem Schedule steht irgendwas. Also wer Lust hat, auf potenziell sichere Kommunikation via E-Mail, der kann gerne später kommen, auch gerne Leute, die noch keine Erfahrungen in dem Bereich haben, weil das ist ja, ich glaube, wir müssen die Userbase von OpenPGP drastisch erhöhen. Also dafür, dass das OpenPGP jetzt 30 Jahre oder 30 Jahre ungrad alt ist und 50.000 Benutzer im Strong-Set hat, ist das eine sehr lausige Quote. Das ist die Zahl, die Facebook jeden Tag an neuen Benutzern kriegt. Ich glaube, wir können die letzten 30 Jahre vielleicht ein bisschen beschleunigen. Key-Generierung kam auf, ob das gelöst sei, die Antwort ist nein. Es gibt mittlerweile in 2017 gibt es weniger Möglichkeiten als noch vor fünf Jahren, tatsächlich, weil die, ja, also zumindest genau um hat keine vernünftige OpenPGP-Shell, kein nicht vernünftiges um, um, naja, so was zu managen wie Schlüssel-Generierung. Ist leider nicht gelöst, aber ich halte das für relativ simpel tatsächlich heutzutage. Also wenn du nachher noch zwei, drei Stunden Zeit aus, dann können wir ein bisschen zusammensitzen und hacken. Also ich glaube, dass mittlerweile ist das mit der Key-Generierung sollte das relativ gut sein, auch weil genug Pg sehr viel, die haben sehr, sehr gut gearbeitet in der letzten Zeit und die sind sehr, hat man ja im Brauch beim Key zu erzeugen, naja, es gibt mittlerweile, du willst vielleicht, ich spiele es wahrscheinlich auf die Random-Numbers an, aber das ist, mittlerweile gibt es gerade Random in G-Lib-C, ist easy. Authentication Keys. Ah, verstehe, ja. Ja, vielleicht, aber können wir später gerne uns noch zusammen rumhacken, weil, also ich sagte, eigentlich bin ich Kryptograf und die so alles in dem Bereich, gerade wenn man das dann verbindet mit benutzbar machen und so, das finde ich, finde ich sehr spannend. Gut, das war case study eins. Case study zwei ist Containerization von Ups, also alle machen Docker heutzutage oder weil Docker cool ist, aber dabei finden alle Docker cool als Software Disribution-Plattform, nicht weil es so toll containerisiert, aber das ist auch ein anderes Thema. Wir wollen vielleicht unsere Ups, unsere Desktop Ups auch isolieren, oder, also weil was heißt schon Containerization, die Docker Jungs sagen, ja, ich kann Docker get WordPress machen und dann läuft man WordPress, aber das ist ja nicht Containerization, Containerization ist, dass meine Prozesse isoliert sind, dass es ein stricteres Zugriffs- rechte Modell auf meine Daten gibt, dass es irgendwie ein Management gibt von, na ja, Interaktion zwischen Ups und so was. Und warum können wir nicht einfach Docker machen? Docker gibt es ja aus der Technologie, es kann man installieren, abgetinstalldocker.io und dann kann man seine Sachen machen. Ja geht und zieht, es machen auch Leute, ist halt ein bisschen kacke. Also, kann man machen, ist okay, es funktioniert auch wohl hinreichend gut, aber dann jetzt mit Docker speziell muss man sich vielleicht in den Container rein SSH'n oder man muss den X-Hocket rein linken in die Maschine selbst und dann kann die, kann diese Docker ab den ganzen X-Server kaputt machen und so, das alles, alles unrund. Es ist also nicht trivial. Und wir haben noch potentiell mehr Desktop-Usecase wie Audio-Video drucken. Da möchte man potentiell multiplexen, den Zugriff. Also mit Docker selbst könnte ich zwar Geräte, also Devices, Device-Nodes, Slash Dev in den Container rein linken und da verfügbar machen, aber ich will ja vielleicht ein bisschen Level drüber in der Lage sein, Sachen zu multiplexen. Ich will ja vielleicht zwei Webcams haben oder zwei Mikrofone und die will ich vielleicht steuern oder so. Und das muss man irgendwie machen, also muss man nicht, aber wir ja schon, ich glaube wir würden in einer besseren Welt leben, wenn wir Technologie hätten, die das machte. Und wir sind da bald vielleicht. Es gibt relativ neu Flatpak als Containerisierungs, wie sagt man das auf Deutsch, Containerization, ihr wisst Bescheid, um die Apps in separaten Isolationsräumen Sandboxes laufen zu lassen und um aus diesen Sandboxes heraus mit dem Desktop zu interagieren. Flatpak ist ein großer Konsument, also Flatpak baut auf Projekten wie OS Tree oder Bubble Wrap auf, OS Tree selbst beschreibt sich selbst als Git für large objects, also für ganze Datei, für ganze Betriebssysteme, so beschreibt OS Tree sich und Red Hat benutzt es für Atomic, um Updates, Atomarmus zu führen, um da keine Inkonsistenzen zu haben und so. Wie vergleicht sich Flatpak zu Snap? Ja, sehr gute Frage. Bin ich ein bisschen raus, ich meine, es gibt die drei großen Player, die die App Image, das App Image, das Snap und die Flatpaks und die Snap-Jungs, die machen glaube ich ganz viel über ihr LSM, ihr Loadable Security Module, über das Kernelmodul, über Abarmung. Ich glaube, das sind die Lagern viel Verantwortung in dieses Kernelmodul aus und das ist glaube ich auch okay, aber vielleicht willst du da bisschen mehr Kontrolle in deinem User Space drüber haben. Und die, das Flatpak, das benutzt eben zum Sandboxen das Bubblewrap, Bubblewrap ist so Change-Root, aber on steroids ist so, es gibt noch, also Change-Root ist ein relativ simpler System Call von Linux einfach, oder? Und das kann man ein bisschen aufbohren, noch mit mehr Sicherheitsfeatures, nämlich Namespaces, Seagrups und Seconds, das sind alles eben Linux Features, Linux Interfaces, die man benutzen kann, um die, um die Funktionalität seines Programms zu restrikten, um da Berechtigung wegzunehmen. Und man kann auch Bubblewrap so laufen lassen für seine, für seine Anwendung, einfach so oder man kann Bubblewrap benutzen, um seine Anwendung so zu, in einem Namespace zu betreiben. Geht auch hinreichend gut. Flatpak ist oben drauf und macht so ein bisschen Dismanagement noch, weil irgendwo müssen, müssen die Binarys herkommen, die ausgeführt werden, oder? Die müssen, also irgendwie müssen die auf die Platte kommen und Flatpak macht so was, zum Beispiel. Die Sandbox selbst ist eher, ich nenne das hier klassische Security, klassische Linux Security, statisch in der Regel, also es geht mit der Sandbox darum, Sachen Dateien nicht beschreibbar zu machen oder nicht zugreifbar zu machen. System Calls zu unterbinden oder nur zu erlauben, wenn bestimmte Vorraussetzungen erfüllt sind. Und diese ganzen Security Mechanismen, die sind eher, ich würde sagen, wenn Docker alles richtig machen würde, würden sie das machen, würden sie diese, diese klassischen Security Mechanismen benutzen. Nun möchte man aber irgendwie seine Anwendung, seine Real-Life Anwendung auch betreiben und diese Anwendung, die macht potenziell Datai I.O. Die Anwendung, die macht potenziell Sound, die Anwendung, die macht potenziell irgendetwas, was nicht innerhalb dieser Sandbox geht, weil, naja, also die die Anzahl an Apps, die die Self-Contained sind, die man, die man alleine betreiben kann, die ist tatsächlich relativ gering, nicht mal so'n Solitär läuft ohne weiteres in seiner Fully Self-Contained Sandbox, weil irgendwann möchte man den High Score speichern und später wieder finden. Und spätestens dann muss diese Daten irgendwo liegen. Also ist ja erst mal nicht trivial, wo das, wie das geht. Wenn, wenn die Sandbox alles völlig unterbindet, dann würde das nicht mal dieses relativ einfache Spiel in der Lage sein, später sein High Score wieder zu finden. Genau, es gibt mit dem Bubble Wrap, beziehungsweise über Flatpak, die Möglichkeit, dieses Sandbox aufzubreichen, mit einem im Flatpak Fall statischen Manifest. Das ist so, das, wie man das aus den, wer damals noch Symbion gemacht hat, Symbion Serie S60, Entwicklung von Apps, da hat es gefühlt angefangen mit so Manifests, dass man seine Anwendung beschreibt und damit den Betriebssystem sagt, was meine, was diese Anwendung alles können darf. Die Android-Jungs haben das auch gemacht, mittlerweile sind die mehr, also ich bin nicht drin in dieser mobilen Welt, aber gefühlt sind die Android-Jungs mehr zu was migriert, was wir Portals nennen. Also interaktive Benutzerführung, wenn ich glaube, man kann sich entscheiden mit dem modernen Android, dass man jedes Mal, wenn ab irgendwas mit Adressbuch machen will, dass dann, dass man sagen muss, ja, ja, Adressbuch ist okay. Jetzt gerade ist das Adressbuch okay. Und das Sicherheitsmodell da ist, dass der Benutzer ja, also offensichtlich jetzt irgendwas mit Adressbuch machen will. Da kommt so ein bisschen die Sicherheit her. Vorher kam die Sicherheit von den statischen Manifests oder davon, daher, dass der Entwickler vorher seine Abbeschrieben hat und den Betriebssystem vorher mitgeteilt hat, fast die ab können darf. Und hier verschiebt sich die Verantwortung bisschen in den Bereich des Benutzers. Und mir gefällt das eigentlich ganz gut. Den Jungs bei Genom gefällt das auch ganz gut, wenn der Benutzer die Verantwortung hat darüber, was mit seinem Computing passiert und das nicht. Konkret sieht das aus. Ja, doch vielleicht. Ganz genau, ganz genau. Ja, der Einwand war, ist das dann nicht, sind das dann nicht wie der Promz? Und wenn du das, das Potenzial ist da, ja, wenn du, du könntest das mit Promz lösen. Ja, du könntest immer Promz zeigen. Das halte ich für nicht so clever. Also, ich halte ein System für besser, was ohne Promz auskommt und ein Beispiel sind Datei Dialoge oder also wenn deine App eine Datei laden möchte. Dann ist es, halte ich es für nicht so clever, ein Pop-up zu machen. Willst du wirklich die Datei laden? Ja, nein, vielleicht, sondern den nativen, sondern wenn man den nativen Falschuser zeigt, das, was der Benutzer immer sieht, wenn er in der Datei öffnet. Dann hat der Benutzer in dem Moment die Möglichkeit, die Aktion abzubrechen oder eben seine Aktion vorzuführen, indem er die richtige Datei wählt. So eine, das ist jetzt in dem Datei-Fall relativ simpel und relativ trivial, diesen Weg zu gehen. Andere, für andere Use Cases müsste man sicherlich ein bisschen mehr, ein bisschen mehr Hirnschmalz reinschmeißen, insbesondere der, dieser Blacklist Case, den wir vorhin hatten, der ist nicht, also ich kann jetzt nicht aus der Hüfte irgendeinen, einen Benutzerführungskonzept schießen, welches den, den gleichen Effekt hat, den der Programmierer haben wollte. Aber ich glaube, man kann für viele Use Cases kann man sich Sachen überlegen, die besser funktionieren als Ja, nein, vielleicht. Genau, und die Sicherheit eben, die kommt hier mit diesem Modell eben daher, dass, dass der Benutzer die Möglichkeit bekommt, entweder Sachen abzubrechen oder Sachen einfach zu, zu reverten, einfach Sachen wieder auf den Voregen, in den Voregen stammt zu setzen. Das sind, das ist zum Beispiel ein, ein Konzept, dass man wahrscheinlich relativ häufig bei potenziellen, potenziell gefährlichen Aktionen einführen kann, dass man den Benutzer sehr einfach die Chance gibt, Sachen wieder in ursprünglichen Zustände herzustellen. Mittlerweile ist ich halte es für clever, zum Beispiel beim Löschen von einer der Hie nicht in Prompt zu zeigen, will sie wirklich löschen, sondern in der Hie zu löschen und dann irgendwo in irgendeinem Ort die Möglichkeit zu geben, die Aktion wieder zu, zu reverten. So, so was. Und pro Use Case muss man sich sicherlich ein bisschen, ein bisschen anstrengend und ein bisschen darüber nachdenken, was, was clever wäre. Jedenfalls, das ist ein Flatback, ist sehr verkürzt. Man könnte also eine ganze, in den ganzen Tag lang über Flatback reden und über die Security-Features, die damit kommen. Und die Kernbotschaft war sein, diese Containerization-Technologie für Desktop-Ups, die kommt aus dem Nomenfeld, ist auch relativ populär schon, ist sehr, hat einen großen, großen Adoptionsrat, ist das Bild, was womit ich eingestiegen bin, diese, diese vielen Computer, Containerized Audio Apps, das sind, ist ein, ist Endless Mobile, die machen so billig Computer oder billig klingt abwertend, die machen sehr günstige Computer für den, sich bei digitalisierenden Markt, speziell so Brasilien und Südamerika, die Ecke. Und die machen das, benutzen Flatbacks in ihren Produkten ganz groß. Und es kommt gefühlt immer mehr. Es, es gibt schon relativ viele Apps, die geflatpackt sind und die man relativ einfach installieren kann. Bitte. Ah, die Frage nach den, nach dem Umgewöhnung für Programmierer, die einer abschreiben, ob der alte Code auch weiterläuft und selbst, wenn er das tut, ob es langsamer wird. Ich hoffe, das habe ich so gut genug zusammengefasst. Ja, tatsächlich ist, ist die Idee, dass möglichst viel einfach so weiterläuft, gerade jetzt zu diese Fileschußer-Geschichte und so. Wenn du, wenn du GTK programmiert hast, dann sollte das, sollte GTK das Transparenz für dich umsetzen. Auch, dass du drucken. Es gibt auch so ein Druckportal, wo du drucken musst und so auswählen solltest, welchen Drucker und so weiter du benutzen möchtest. Und diese Sachen, die sollten transparent weiter funktionieren. Du wirst sicherlich mehr CPU-Zyklen auf den ganzen Prozess verbrennen. Einfach, weil mehr Logik ausgeführt wird im Hintergrund. Das kommt alles nicht vor free. Also, das muss bezahlt werden mit CPU-Zeit. Ich glaube, also, ich habe nicht gemessen. Ich kann nur, kann nur schätzen. Meine, meine Schätzung ist, dass die, die zusätzliche Anzahl an CPU-Zyklen, die ich nicht belasten wird. Ich halte das für, für sehr, für sehr billige Operationen. Alles. Genau, Flatpack ist groß im Kompon, auch die Apps. Also du kannst deine, wenn du jetzt eine ab hast, dann hast du die wahrscheinlich in, also von null auf, ge Flatpack der App je nach Komplexität zwischen 30 und 30 Minuten und einer Stunde oder so. Je nach dem, ja, je nach Komplexität auch. Also die, die Idee ist auch, es möglichst einfach zu machen, wenn du dich an die, an den umgeschriebenen Standard um Software zu bauen hältst, also Configure, Make-and-Style, dann müsste, müsste es trivial sein. Also, du musst das fast so gehen. Dann musst du noch ein bisschen, bisschen rumfummeln mit den, mit den Permissions eben, mit diesem Manifest, weil deine App will vielleicht irgendwas machen, will irgendwie Dateien speichern oder, oder weiß nicht, irgendwie Sound machen oder so. Dann muss man noch bisschen recherchieren, dann muss man ein Doku lesen für das, für eben dieses Manifest, wie man das baut, damit die Sandbox es erlaubt. Aber sonst ist es relativ einfach. Und dann kannst du deine, deine App schippen. Also die Idee ist auch, bisschen die Distributionen unwichtiger zu machen. Das, der Punkt gefällt mir eigentlich nicht so sehr, weil Distributionen, die machen ja schon sinnvolle Arbeit. Wir haben ja nicht gefühlte 30 Distributionen, weil alle Spaß machen, Spaß daran haben, Distributionen zu machen, sondern weil die wichtige Aufgaben für uns erfüllen, für das GNU-Linux-Ökosystem. Distributionen machen sowas wie License-Checks, Distributionen machen sowas wie Integrity-Checks. Distributionen machen Sorgen irgendwie dafür, dass die Software auch zu dir kommt und dass in einem hinreichensicheren, auf einem hinreichensicheren Weg Distributionen machen First-Level-Support. Distributionen machen alle Sachen, an die wir uns vielleicht gewöhnt haben, die jetzt vielleicht, ich sage sagen, die wir vielleicht noch schmerzlich vermissen werden, wenn wir die Distributionen rausholen. Auf der anderen Seite ist natürlich ein großes Plus oder es fühlt sich sehr nach einem sehr großen Plus an, wenn der Anwendungsentwickler ziemlich dicht an seinen Benutzern ist. Also wenn die ab nicht erst zwei Jahre lang für Debian gepackaged werden muss und dann noch zwei Jahre lang darauf warten muss, bis das nächste Stable-Release kommt. Also ja, ist so ein bisschen die Idee und ich glaube es cool und ich glaube, wir werden in einer besten Welt leben, wenn die Leute anfangen, ihre Apps zu kontinuieren. Weil wieso genau muss darf eigentlich mein Solitär noch meine OpenPGP-Schüssel abgreifen? Es gibt keinen sinnvollen Grund, warum mein Solitär das können darf, nicht. Und wir sollten irgendwie daran arbeiten, dass wir dorthin kommen, dass das Solitär das eben nicht kann. Und naja, es wird dann gearbeitet. Keister, die zwei Flat-Tag, wir sehr gerne, also ich bin heute den ganzen Tag noch da. Wir können sehr gerne, falls du Bock hast, eine App versuchen zu flatpacken. Und es sollte nicht der initiale, des initialen Konstrukt sollte relativ schnell da sind und die Feinheiten dann mit dem Manifest und so, das muss man dann im Detail nochmal sehen. Flat-Tag, Nummer zwei, ein bisschen mehr Experimental ist naja, der ganze Themenbereich von Peripherie, die man so an seinen Computer anschließt. Ich habe in meinem frühen Leben ein bisschen USB Security gemacht. Ich habe Qebo ein bisschen aufgebohrt, um USB-Kommunikationen ins Software zu machen, damit ich die Betriebssysteme und Anwendungen ein bisschen mehr testen kann, Fasen und so. Und dann habe ich gemerkt, dass USB ein relativ großes Angreif-Potenzial hat. Einfach, weil stellt sich raus, dass man mit so einem mit einem USB-Gerät kann man ungefähr jeden Linux-Triber anziehen. Das ist schon ziemlich scary, weil es gibt eine Menge Code im Linux-Kanal, der vielleicht nicht so oft ausgeführt wird und der vielleicht insbesondere nicht oft ausgeführt wird mit komischen Daten von einem Dodgy-Gerät, was man irgendwie einfach anschließen kann. Anyway, USB halte ich für relevant, weil wer weiß schon, wann man sein USB benutzt. Also, ich meine, hier in meinem Laptop ist eine Kamera dran. Dass die USB läuft, habe ich rausgefunden, aber es dürfte nicht, wie soll ich sagen, es dürfte nicht trivial sein für den normalen Benutzer, zu sagen, dass jetzt diese Kamera über USB läuft. Und viel wichtiger, als wann man sein USB benutzt, ist eigentlich die Frage, wann man sein USB nicht benutzt. Und, wenn man das nicht benutzt, wer dann das den USB benutzt? Und wir haben in der Vergangenheit auch tatsächlich Angriffe über USB gesehen und damit meine ich richtige Schwachstellen in Betriebssystemen, die mit USB-Geräten arbeiten. Es gibt auch die anderen Exploits, die mit einer Tastatur sind und dann irgendwie Windows R und CMD drücken oder so. Das gibt es auch. Halte ich aber im Vergleich für relativ langweilig. Anywhere gegen diese Art von Angriff möchte man sich ja vielleicht schützen, weil also ich werde heute wahrscheinlich kein USB-Gerät mehr einstecken. Und wieso also wieso lädt mein Gerät mein Computer, mein Betriebssystem wieso erlaubt es mir jeden Kerneltreiber anzuziehen, obwohl ich mir ziemlich sicher bin, dass ich heute kein Gerät mehr einstecken will. Insbesondere habe ich ja vielleicht manchmal den Screensaver an und wenn ich den Screensaver an habe, bin ich in aller Regel gar nicht da. Bin ich in aller Regel nicht am Rechner. Und dann also wenn ich nicht am Rechner bin, will ich in aller Regel auch kein USB-Gerät reinstecken. Nichtsdestotrotz lädt mein Linux-Körner fleißig alle Treiber nach. Auch wenn ich jetzt drei Wochen nach Malle fliege, dann kann hier jeder USB reinstecken und bei mir Kot ausführen. Das finde ich nur mediumut. Und ich glaube, wir würden in einer besseren Welt leben, wenn, na ja, ich also ich speziell, aber auch der Bemutzer im Allgemeinen die Kontrolle darüber hat, was mit seinem USB passiert. Und wir haben mal ein bisschen gebastelt. Und das ist jetzt, wie gesagt, ist ein bisschen experimentell. Und wir also das ist jetzt ohne ohne fancy shiny UI und so. Es gibt es gibt noch ein bisschen fancy UI, aber das war ich zu faul für das jetzt vorzubereiten und so, weil wir uns immer Video machen, weil die muss gehen immer nicht und so. Wir sehen die Funktionalität des Blockens von USB. In dem Fall haben wir dem Betriebssystem gesagt, wir möchten ab jetzt kein USB Gerät mehr anschließen. Und wir kriegen dann vom Betriebssystem Bescheid vom Körnel, dass wir ein neues Gerät gerade angeschlossen haben. Und wir hätten an der Stelle die Möglichkeit zu entscheiden, ob wir das Gerät weiter erlauben oder nicht. Und also mit der Konsequenz, dass dann treibbar angezogen werden und all die schlechten Dinge von von denen wir gerade wollten, dass sich nicht passieren. Nun das Blocken, ich meine, dafür muss man kein Kot schreiben. Dafür kann man sich irgendwie die Epoxy-Tarts nehmen und sein USB-Dinger zu kleben. Das geht auch. Man kann mit dem Epoxy-Tarts aber nicht nur Pendrives erlauben, Master-Age zum Beispiel. Das geht jetzt aber mit dem Stück Code. Also dieses Stück Code, der lässt jetzt das Pendrive durch, wie wir gerade mit diesem genommenem Schnellpop-Up da gesehen haben. Und blockt so ein, das zweite Gerät ist so ein, ich glaube so ein Präsenter oder so eine Maus oder weiß nicht mehr, irgend so was. Also der typische Bad USB-Dings, nicht die Tastatur, die heimlich angeschlossen wird, ohne dass wir merken, dass es eine ist. Das ist dieser Fall, den haben wir jetzt in dem Fall, also mit diesem Stück Code geblockt. Und es wäre ja eigentlich, eigentlich wäre es doch ganz gut oder es sei die Frage erlaubt, ob es nicht gut sei, wenn solche Funktionalität automatisch aktiviert wird, wenn hinreichend klar ist, dass ich gar nicht am Rechner bin. Ergo auch kein neues USB-Gerät anstecken will. Und selbst dann, selbst wenn ich am Rechner bin, den USB-Gerät reinstecken will, sei die Frage erlaubt, ob es nicht irgendwie eine hübsche Möglichkeit gibt, den Benutzer ein bisschen mehr Kontrolle darüber zu geben, was passiert, ohne im Weg zu stehen, nicht? Und da sind wir vielleicht wieder ein bisschen an dem Knackpunkt, den ich für einen sehr wichtigen Innovationstreiber von Genomhalte nämlich herauszufinden, wie man Konzepte erstellt, die es erlauben, seine Arbeit zu erledigen, ohne dass sie im Weg stehen. Es gibt als letzten Eindruck, glaube ich, dieses Shell, Gnome Shell Plug-in. Man sieht, also wenn man überhaupt was sieht, oben rechts ist so ein Schloss, einfach oder so ein Vorhängeschloss. Und in dem Fall haben wir das so programmiert, dass wenn das Schloss zu ist, dann ist USB aus, sondern wenn das Schloss auf ist, dann ist USB an. Also zumindest diese relativ einfache Modifikation würde es mir erlauben, na ja, mein Computer zu sperren USB-mäßig, bevor ich nach Malle fliege. Das wäre eine Möglichkeit, aber ich halte es tatsächlich für clever und da müsste mal jemand sich überlegen, wie das so mit so einem Screensaver geht und wie man das am besten miteinander verheiratet. Und wenn da jemand Lust hat, sich darum zu kümmern, dann also herzlich gerne. Also mit beiden, mit zwei, drei offenen Armen, mit allen offenen Armen, die ich habe, empfange ich die Leute, die sich damit beschäftigen wollen. Ja, das war es im Prinzip von mir. Meine Show ist vorbei. Ich mir bleibt zu sagen, dass Gnome eine internationale Anstrengung ist. Die Leute kommen aus allen Ecken und Enden der Welt. Und wie das bei freier Software eigentlich immer so ist, neue Leute sind immer gerne willkommen. Das tatsächliche Koden, das Ausprogrammieren von Dingen, ist nur eine Beschäftigung von vielen. Ich hatte schon die Übersetzung erwähnt. Andere Sachen sind tatsächlich Designs malen, tatsächlich mit Inkscapefenster auf und zuziehen und gucken, wie eine Nutzerführung aussehen könnte, die ein Job erledigt und nicht im Weg steht. Und es gibt relativ viel Felder, in denen man sich engagieren kann. Das gilt wahrscheinlich nicht nur für Gnome, sondern auch für alle freien Softwareprojekte. Aber ich würde es begrüßen, neue Leute im Gnome-Projekt begrüßen zu können. Dann bleibt mir noch zu sagen, dass ich mich für eure Aufmerksamkeit bedanke. Und ich nehme sehr gerne Fragen entgegen. Noch jetzt die letzten paar Minuten, die wir haben oder dann selbstverständlich auch später noch und auch in diesem Workshop, den ich erwähnte, der irgendwann später stattfindet. Herzlichen Dank. Traut sich jemanden, Fragen zu stellen. Oh, Mist. Also ja, schrei mal rein, ich wiederhole dann wahrscheinlich. Diese USB-Blocking Extension, nein, das ist, brauchst du einen Gnome-Gold-Account? Kannst du bei mir kaufen? Nein, es gibt es tatsächlich nicht, weil das ist noch sehr roh. Also es ist anders. Github. Genau, nein, es liegt im Github irgendwo rum. Das gibt es, ja, aber noch nicht weiter in Hübsch. Github.com, slash, dann hab ich vergessen. Und das ist so cool. Aber es sollte nicht so schwierig sein, dass du findest, hast du schon mal Google, kennst du Google? Genau, ja, die Suchmaschine deines geringsten Mistraums, die sollte das vielleicht finden. Und wenn nicht, dann schreibst du mir die E-Mails. Ja, also der Einwand nach User Intervention sei ja nicht nötig, insbesondere bei dem USB-Blocking Case, weil wenn der Rechner gelockt ist, dann braucht man etwas Dur. Ja, ist korrekt. Da glaube ich, muss man noch ein bisschen mehr drüber nachdenken, weil es gibt potenziell so breihe Tastaturen oder breihe, nicht Tastaturen, so breihe Displays. Und die willst du im Zweifel auch haben. Und vielleicht willst du auch noch cleverer sein und alle Geräte erlauben, die vorher schon da waren. Und also du hast recht, also der absolut minimal Case ist eine neue Tastatur, weil die geht kaputt irgendwann. Insbesondere wenn ich Fingerprints eintippen muss, dann ist sie nach zwei Jahren durch. Und deswegen muss ich jedenfalls erlaubende Tastature zu machen. Aber ich glaube, ist noch nicht so trivial. Ich glaube, da muss man noch ein bisschen cleverer sein als das. Bitte. Flatpack, ja. Ja, die Frage ist, wie das denn wohl angedacht ist, die Software tatsächlich zu verteilen, ob das irgendwie separat passiert oder ob das irgendwie in Kooperation und Distribution passieren. Es gibt jetzt gerade, wie wir hier stehen, eine Bemühung FlatHub aufzumachen. Das ist dann also der App Store für Freisoftware vielleicht. Oder nicht nur Freisoft, sondern für Software allgemein, weil es gibt auch mittlerweile Spotify und Skype und all den Käse, die man vielleicht sowieso nicht laufen lassen will, aber wenn dann vielleicht nur in der Sandbox. Und das passiert, meines Wissens, nach separat, aber auch, weil meines Wissens, nach ist nicht klar, wie so eine Kollaboration gerade aussehen könnte. Ich weiß aber, dass die, dass die Leute danach streben, eine, naja, eine, wie auch immer, gartete Lösung zu finden, um, naja, wenigstens all diese Dienstleistung, die die Distribution heute für uns durchführen. Und Trust ist eine sehr große Dienstleistung tatsächlich. Wie wird das, naja, wie wir nicht ganz von 100 Prozent Distribution auf Null kommen, oder? Also irgendwie muss man, muss man nicht, aber irgendwo gibt es vielleicht noch einen Mittelweg, den es sich lohnt, zu bestreiten. Und da ist meines Wissens nach, keine, hat sich bislang noch nichts ergeben. Aber ich bin auch nicht, nicht ganz tief drin, muss ich sagen. Ja, also die Frage war, wie das denn ist mit proprietärer Software, ich sag mal nicht kommerziell, weil ich finde das so ein schlechten Begriff. Also freie Software und kommerzielle Software, das ist nicht widersprüchlich, der Unterschied da ist, dass du bei der einen Software, also selbst auch bei der kommerziellen, hast du potenziell deine Computational Freedom und bei der projektären Software eben nicht. Und du hast völlig recht, es ist auch initial, habe ich ein bisschen Bauchschmerzen gehabt, eine Lösung zu propagieren, die es proprietärer Software erlaubt, relativ einfach in die Hände von Benutzer zu kommen. Weil also tatsächlich Software Distribution haben ja eigentlich schon 25 Jahre lang gelöst. Das ist das, was wir machen. Also wir machen seit 20, 25 Jahren nichts anderes als Software kompilieren, irgendwo laden und dann später wieder runterladen. Das ist so das, warum wir 10 Dispositionen haben, die alle das Gleiche machen, aber jeder fühlt sich toller als der andere. Und dieses Problem selbst haben ja eigentlich, eigentlich gelöst. Aber also, ich meine, de facto ist es halt doch nicht ganz gelöst irgendwie nicht. Also de facto hast du das Problem, dass du als Abentwickler selbst, wenn du frei ist, auf der Macht, dass du jetzt gerade noch zwei, drei Jahre warten musst, bis der Debian-Nutzer deinen Kram installieren kann. Und selbst das auch nur, wenn du dich dreimundert lang eingelesen hast, wie du ein vernünftiges Debian-Paket baust. Und dann willst du vielleicht nicht nur die Debian-Benutzer erreichen, sondern auch noch die Fedora-Jungs. Und dann musst du aus ganz was anderes machen. Musst du mit der RPM rum basteln, was noch viel grausamer ist als der ganze andere Kram zusammen. Und also wir haben da Probleme. Es ist tatsächlich erstaunlich, wie wenig... Nein, es klingt jetzt wieder gemein, aber ich sage es trotzdem der Diskussion wegen. Es ist erstaunlich wie wenig fortgeschritten wir tatsächlich sind jetzt nach 25 Jahren freier Software. Und da löst, oder sehe ich eine potenzielle Lösung in so einer, naja, wenn man die Benutzer direkt verbindet, eben mit den Developern. Und um deinen Punkt nochmal abschließen aufzugreifen, du hattest es auch erwähnt, ich glaube, wir dürfen tatsächlich nicht absichtlich die proprietären Software-Vendors ignorieren oder ausschließen. Es ist so ein bisschen, hat mich Überwindung gekostet tatsächlich, aber es ist ja nicht so, dass wir den ganzen Kram nur machen, damit wir proprietäre Software laufen lassen können, sondern der Hauptgrund ist und bleibt die Probleme, die wir sehen mit dem traditionellen Distribution Model, naja, ein bisschen zu lindern und noch mehr Security anzubieten. Und als Seiteneffekt, ob gut oder schlecht, gibt es eben eine sehr einfache und bequeme Möglichkeit für proprietäre Software in die Hände von Benutzer zu belämmen. Ich glaube, es ist okay. Oh, du warst vielleicht erst mal. Ja, USB-Guard, genau. Das ist da die hübsche fancy GUI, die, also vielleicht wiederhole ich eine Frage, bevor ich jetzt so overly excited anfangen zu plappern. Der Einwand war oder der Kommentar war, ob ich den USB-Guard kenne. Ja, kenne ich sehr gut, ist, ja, tip top, also machen. Es ist wirklich gut. USB-Guard ist eine Software, die das macht, was wir gesehen haben in, ja, hinreichend gut. Also, es ist noch ein bisschen, manchmal ein bisschen merkwürdig an einigen Stellen. Also, ich weiß, ich habe das in letzter Zeit nicht mehr verfolgt, als ich das Initial mehr angeschaut habe. Da hat der Kollege irgendein weirdes IPC benutzt. Also, die ganze Welt nutzt Debus, nur er will C++ und irgendwas anderes machen, weil, weiß ich nicht, ist irgendwie toller oder so. Aber es ist dann halt völlig inkompatibel. Und aber wir haben uns dann unterhalten und mittlerweile gibt es auch ein Debus-Interface. Und das benutzen wir dann auch tatsächlich für die hübschere GUI und so, die ich jetzt nicht gezeigt habe und so weiter. Aber ja, die USB-Guard ist bekannt und wird verfolgt und ist gut. Hoffentlich entwickelt sich da was. Du schüttelst so unglaublich den Kopf. Ah, ja, gut, USB-Guard selbst ist relativ, ist relativ langweilig, also in dem Sinne, dass du eigentlich erst mal nichts machen kannst. Also, wenn du USB-Guard schadest, dann passiert halt erst mal nix. Und wenn du deinen Screen-Logs dann passiert halt auch erst mal nix. Ja, genau. Dann habe ich mir die 30 Cent für das Epoxy-Tart gespart. Ja, ja, genau, es gibt so ein Cute-Applet. Es ist so ein bisschen aus mehreren Gründen schwierig. Aber ja, die Funktionalität ist da. Und ganz oft geht es auch oder ich halte die eigentliche Challenge nicht dafür, Sachen technisch möglich zu machen, sondern die so zu depleuen, dass sie, dass man sie möglichst wenig falsch benutzen kann. Und da halte ich USB-Guard für noch nicht so weit. Aber ich halte es für sehr lohnenswert daran zu arbeiten unbedingt. Und ja, also USB-Guard-Tipptopp für mich gut. Weiß ich, ich nehme einfach dich in der Mitte da. Die Frage war nach der Argumentationskette für den Grund, das in den Desktop-Environments zu machen, die ja relativ hoch im Stack angesiedelt seien und warum man denn den Kram nicht tiefer macht, wie beispielsweise in SystemD. Und also speziell jetzt für den USB-Fall ist es so, dass Linux das schon selbst kann. Und tatsächlich ist es technisch, ist es einfach. Also der SystemD bräuchte da gar nicht so viel zu machen, sag ich mal. Also das ist Echo 1 oder 0 in ein bestimmtes Fall, in Prog oder in Süße. Und dann machst du die Sachen an oder aus. Und dann brauchst du noch ein bisschen, muss noch ein bisschen Glut daran kleben, um Bescheid zu kriegen von Udev nach neuen Geräten und so. Von daher ist da gar nicht gar nicht so viel Magie eigentlich dran technisch letztendlich. Man könnte sich bestimmt überlegen, dass man weiß ich auch nicht genau Unit Files so noch umendert oder erweitert, dass man USB-Regeln hinzufügen kann oder so. Weiß ich nicht genau, wie das jetzt gehen oder wo könnte man sich sicher überlegen. Ich glaube am Ende des Tages zumindest jetzt in dem USB-Fall wirst du Fälle haben, wo der Benutzer einschreiten muss. Ich meine meine liebste Lösung ist eine Lösung, die einfach so funktioniert. Ohne Button. Ohne ohne gar nichts. Einfach Programm installieren läuft. Das wäre also meine allerliebste Lösung. Von daher wäre ich wäre ich sehr erfreut, wenn es eine Lösung gibt, die tief im Stack gibt, die die tief im Stack lebt, die ohne User der Menschen auskommt. Das wäre, finde ich, finde ich super. Und glaube ich speziell in dem USB-Fall wird es Situationen geben, die wir nicht so vorher sagen können, dass wir sie ausprogrammieren können. Wir müssen, ich glaube, wir müssen irgendwie eine Möglichkeit schaffen, für den Benutzer da zu aktiv zu werden, irgendwie. Ja, wenn du wenn du einen Konzept hast, um das zu gehen, dann also please, by all means, send patches. Ja, genau. Genau. Ja, genau. Die Frage war nach den mit den Containern, mit den Apps und den Abhängigkeiten und wie ich es denn damit der Sicherheit aussehe. Naja, wenn dann auch über die Zeit sich als Lücken bekannt werden und so, ist katastrophal. Also es gibt meines Wissens auch nichts, um da auch nur ein halbwegs vernünftiges Security Management, Release Management zu betreiben ist alles ein bisschen wild west. Aber also wie soll ich sagen, ich glaube, dass das immer noch state of the art. Also wenn du dir andere Sachen anguckst, die gebandelte Software schippen, dann glaube ich, sieht das ähnlich schlecht aus. Es gibt, um das zu sagen, ist ja, ich hab das nicht erwähnt. Wir haben ja auch nur so wenig Zeit und wir sind ja auch schon zehn Minuten drüber oder so. Es gibt mit dem Flatpack ist es so, dass die Apps ihre, ihre Libraries im Prinzip selber mit schippen. Und dann hast du natürlich das Problem, dass in dem Jahr wenn du 20 Schwachstellen, wenn die sich akkumuliert haben in der Library, dass du dann im Zweifel immer noch auf derselben alten Lipp rumhängst als ab. Und das Problem wird so ein bisschen entschärft dadurch, dass es mit dem mit dem Flatpack im Gegensatz zu, ich glaube, den App Images mit Flatpack gibt es im Prinzip zwei. Wie sagt man Container, die du die runterlässt, nämlich zum einen die sogenannte Runtime, das ist so deine die Basis, auf der du läufst. Und zum anderen dann die eigentliche ab und die Idee ist so ein bisschen, dass deine Runtime so die wichtigsten Libraries enthält und dass die separat eben geupdatet werden, dass du als ab, als Abentwickler Naja, nur deine deine eigentlichen Funktionalitätslips hast, die nicht in der Runtime sind und der, naja, der Rest wird eben von wo anders gemanagt. So ist das ein bisschen, bisschen gedacht. Das ist, also das verschiebt das Problem ja nur. Also das macht es ja also erst mal per se nicht besser. Die Hoffnung ist dann vielleicht dass wenn es größere Runtimes gibt, auf denen alle arbeiten, dass da mehr Druck und mehr, naja, einfach Organisationen hintersteckt, als wenn jetzt der, der Siebt-Klässer wollte ich gerade sagen, seine Twitter abprogrammiert. Morat, schon mal zu sagen. Nix. Gut, ich sage mal, ich bedanke mich nochmal recht herzlich für die angeregte Diskussion, die Aufmerksamkeit. Und ich freue mich, dass weiter so führ'n gleich noch bei Bio oder Martin. Vielen, vielen Dank.