
Sign up to save your podcasts
Or


Nach Xyrills gewaltigem humorischen Auftakt kommen wir zu wirklich wichtigen Dingen: Wem kann vertraut werden und warum? Hat Vertrauen ein Haltbarkeitsdatum? Wem vertraue ich, ohne explizit davon zu wissen? Zum Schluss gibt es noch Aufklärung über die Herkunft des Wortes Spam für unerwünschte Werbung.
ShownotesRückbezug zu STP039: Authentifizierung ("Wer ist diese Person?" bzw "Was darf diese Person?")
Vererbung von Vertrauen: Digitale Zertifikate nach dem X.509-Standard
Vertrauen durch Beständigkeit: Trust on first use (TOFU)
Vertrauen durch Vitamin B: Web of Trust (WoT)
Seitenleiste: Wie könnte man solchen Signatur-Spam verhindern?
Vertrauen durch Proof of Work: Blockchain
Abendgedanken: Vertrauen lässt sich nicht eliminieren, nur verschieben
im Gespräch erwähnt
Ein weiteres Mal beschäftigen wir uns mit Speicher. Diesmal spezifisch mit Haufen davon. Wie man die wieder wegräumt oder gar nicht erst zu groß werden lässt, ist auch ein Thema. Außerdem gibt es ein Novum direkt am Beginn der Folge.
ShownotesRückbezug auf STP045: Heap (Haufenspeicher)
man braucht einen Allokator
Speicherverwaltung im Heap ist sicherheitskritisch -> mögliche Fehlerquellen
einfachste praktikable Idee: Referenzen zählen
Beispiel für einen GC-Algorithmus: Mark and Sweep
Optimierung der Heap-Nutzung: Anzahl der Allokationen verringern (es gilt die Faustregel "der einzige Weg, zu optimieren, ist, weniger zu tun")
zum Schluss ein Blick auf ein Teilgebiet der Heap-Algorithmen: Zwischenspeicher (Cache)
Lesestoff: www.memorymanagement.org (englisch)
Obwohl dies ein Technikpodcast ist, kommen wir um politische Themen oft nicht ganz herum. In dieser Folge jedoch stellen wir uns nun direkt ins Feuer. Und all das nur, weil Xyrill unbedingt seinen Lieblingseditor unters Volk bringen will.
ShownotesAus aktuellem Anlass: Anfang August 2023 ist Bram Moolenaar gestorben.Bram Moolenaar
in diesem Zusammenhang: Was ist eigentlich vim? Und warum verbringt Xyrill sein halbes Leben darin? (Spoiler: man kann alle intellektuelle Arbeit als Texteditieren darstellen; siehe auch STP006)
Kernidee von vi-artigen Texteditoren: modales Editieren
zweite Besonderheit: Aktionsgrammatik
weitere coole Funktionen in vim
Kann man das lernen?
im Gespräch erwähnt
In dieser Ausgabe greifen wir ein altes Thema erneut auf, bei dem ttimeless trotzdem stellenweise nur schwer folgen kann. Denn durch Wiederholung lernt man. Denn durch Wiederholung lernt man.
ShownotesRückblick: wir hatten schon einige Folgen zu Speicherverwaltung
Was stellt uns das Betriebssystem bereit? -> Virtueller Speicher
vorher einige Bemerkungen zu klassischen Schutzmaßnahmen, die man im untenstehenden Beispiel sehen kann
oberer Teil (d.h. bei hohen Adressen): Stack (Stapelspeicher)
unterer Teil (d.h. bei tiefen Adressen): Heap (Haufenspeicher)
Randnotiz zu unserem Beispiel unten: Was sind vvar, vdso und vsyscall?
Randbemerkungen: Sofern ich die Ausgabe von strace sleep 30 richtig lese, wurde [heap] hier mit brk verwaltet. Die beiden anonymen Segmente gehen höchstwahrscheinlich auf das Konto des Laufzeit-Linkers (hier ld-linux-x86-64.so.2), der die Programmbibliotheken (hier nur libc.so.6) in den Prozess lädt.
Um das zu bestätigen, habe ich dann mal schnell ein minimales Programm gebaut, dass ausschließlich sleep gefolgt von exit macht, und definitiv gar nichts anderes. Ich war in der Tat erfolgreich:
Und dieses Programm hat nicht mal einen Heap, sondern nur den Stack und die Kernel-Schnittstellen:
Hier sieht man übrigens schön, dass ich mein Programm nicht mit PIC kompiliert habe, sodass für die Programmdatei selber keine ASLR vorgenommen werden konnte.
Der Vollständigkeit halber dokumentiere ich hier noch den Code, um mein Testprogramm zu reproduzieren. Der Code funktioniert nur auf Linux und x86-64. Und selbst da habe ich irgendwas nicht ganz richtig gemacht: Das Programm funktioniert nur, wenn man dem Compiler Optimierungen verbietet (?!?). Trotzdem ein Shoutout an diesen Blogartikel und diesen anderen Blogartikel, mit deren Hilfe ich das Kompilieren ohne libc und main zumindest hinreichend weit ans Laufen bekommen habe.
Wir befassen uns unter anderem mit der Erstellung, Bewertung und dem Verbrauch von Zufall.
DMA kenne ich anders, nicht das der Prozess direkt über die MMU auf ein Peripheriegerät durchgreift, sondern dass ein Peripheriegerät ohne Beteiligung der CPU Daten vom/zum Hauptspeicher übertragen kann.
Xyrill antwortet: Ja, stimmt. Nun zur eigentlichen Folge:
Intro-Intro: in Referenz auf den klassischen Dilbert-Cartoon, den man zum Beispiel hier sieht
Warum sind hochwertige Zufallszahlen wichtig?
Was ist "guter" Zufall?
"echter" Zufall kommt aus physikalischen Zufallszahlengeneratoren (Hardware-RNG)
Beispiel: Linearer Kongruenzgenerator
für sicherheitsrelevante Anwendungen: Kryptografisch sichere Zufallszahlengeneratoren
im Gespräch erwähnt:
Im zweiten Teil unserer Reihe über Kryptografie besehen wir uns einzelne Klassen von Bausteinen, welche dann zu Verschlüsselungsprotokollen zusammengesetzt werden können.
ShownotesRückblick zu STP041
Symmetrische Verschlüsselung
zu Problem 1: Erweiterung der Blockchiffre zu einem Stromchiffre mittels eines geeigneten Betriebsmodus
zu Problem 2 (Einigung auf einen gemeinsamen Schlüssel) zwei Ansätze:
Asymmetrische Verschlüsselung
neues Problem: asymmetrische Verfahren sind sehr viel rechenaufwändiger als symmetrische Verfahren -> hybrides Kryptosystem
zweite Anwendung von asymmetrischer Kryptografie: Signaturen
noch eine Primitive zum Schluss: Geheimnisteilung
im Gespräch erwähnt
In der Episode mit dieser Nummer werden wir aus Günden vom normalen Programm abweichen. Während diese Gründe für den durchschnittlichen {Nerd|Geek} gut verständlich sein dürften, werden diese für alle Anderen ausführlich erklärt. Xyrill greift zu diesem Anlass völlig wahllos einige lustige und/oder deprimirende Aspekte aus dem Eisberg der Computerei heraus.
ShownotesAm Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen.
– Douglas Adams, Das Restaurant am Ende des Universums. Ullstein, 1994. ISBN 3-548-22492-X. Deutsche Übersetzung von Benjamin Schwarz. Seite 11.
Vorbemerkung: Die Zahl 42
Was könnte dieser Referenz passen? Vielleicht das Cursed Computer Iceberg Meme
"Above the Iceberg" - Oberhalb des Eisberges
"On the Iceberg" - Auf dem Eisberg
"Below the Water" - Unter der Wasserlinie
Wir haben's trotz stark beschränkter Auswahl nicht mal bis zur Hälfte des Eisbergs geschafft... wir brauchen wohl mal einen zweiten Teil hiervon. :) Aber Xyrill sah noch etwas Bekanntes an der unteren Spitze des Eisbergs:
if you ever code something that "feels like a hack but it works," just remember that a CPU is literally a rock that we tricked into thinking
not to oversimplify: first you have to flatten the rock and put lightning inside it
– @daisyowl auf Twitter
Diesmal gibt es den Einstieg in ein Thema, vor dem wir uns schon eine Weile gedrückt haben.
"Kryptografie", aus griechisch κρυπτός (kryptos) „verborgen“ und -γραφία (graphia), zum Verb γράφειν (graphein) „schreiben“ gebildet
Warum Verschlüsselung? Vier Schutzziele
Verschlüsselung im engeren Sinne: Übertragung eines Klartext (Plaintext) in einen Geheimtext (Ciphertext) und später wieder zurück
Grundbausteine eines Kryptosystems: Primitiven
Primitiven alleine machen noch kein vollständiges Kryptosystem
Vorschau
im Gespräch erwähnt
In dieser Episode soll es darum gehen, wer, wann, wie ein Urheberrecht erhält und es nutzen kann. Im Zweifel sogar postmortal. Oder eben nicht. Auch geht es darum, wie lange ein Urheberrecht aus wissenschaftlicher Sicht sinnvoll ist. Und sogar Hitler hat es in die Sendung geschafft.
ShownotesProgrammcode ist ein immaterielles Wirtschaftsgut -> jeder Programmierer sollte ein Grundverständnis für Immaterialgüterrecht haben (neben Urheberrecht auch Patentrecht, Markenrecht, etc.)
obligatorische Vorbemerkungen
erste Facette: Urheberpersönlichkeitsrecht
zweite Facette: Verwertungsrecht in §§ 15 ff. UrhG
Schranken des Urheberrechts: §§ 44a ff. UrhG
Freie Software, Open-Source-Bewegung
praktischer Hinweis für Programmierer: Schaut auf eure SBOM!
netzpolitische Aspekte
im Gespräch erwähnt
Die Frage, wer wir sind, beschäftigt nicht nur uns selbst, sondern auch alle Anbieter von Diensten aller Art, wenn sie mit Computern zu tun haben. Heute sprechen wir über die Mechanismen, die zur Feststellung einer Person oder ihrer Berechtigungen besonders im Netz verwendet werden.
Shownotesgrundsätzliche Begriffsklärung
AuthN durch einen oder mehrere von drei wesentlichen Arten von Identitätsmerkmalen
schlechte Arten von Merkmalen
Autorisierungs-Schemata
Authentisierung im Webkontext: Single Sign-On (SSO) via SAML, OIDC
From the publisher's feed

9 Listeners

219 Listeners

5 Listeners