SO geht Software Sicherheit!
Summary
TLDRDieses Video ist ein Experiment, in dem der Sprecher seine Gastvorlesung über Software Security Engineering in einer informatischen Masterstudiengänge vermittelt. Er konzentriert sich auf Datenflussdiagramme und Vertraulichkeitsanalyse, um die Sicherheit in der Softwareentwicklung zu erhöhen. Er erklärt Begriffe wie Vertraulichkeit, Zugriffskontrolle und verschlüsselte Kommunikation und zeigt, wie Datenflussdiagramme dazu beitragen können, Vertraulichkeitsverletzungen in einfachen und komplexen Systemen zu identifizieren. Der Sprecher nutzt auch mathematische Konzepte, um die Analyse zu erläutern und betont die Notwendigkeit von Vertraulichkeit in der heutigen vernetzten Welt.
Takeaways
- 👨🏫 Der Redner hält Gastvorlesungen im Bereich Software Security Engineering, wo es um Methoden zur Verbesserung der Sicherheit in der Softwareentwicklung geht.
- 🔒 Die Vorlesung beinhaltet das Erstellen von Datenflussdiagrammen und Vertraulichkeitsanalysen, welche die Grundlage für seine Forschung sind.
- 🗝️ Vertraulichkeit wird im Kontext der Vorlesung definiert als sensible Daten, die nur für autorisierte Personen oder Prozesse zugänglich sein sollten.
- 💡 Ein einfaches Beispiel aus der Vorlesung ist die Darstellung einer Online-Shop-Architektur, um die Vertraulichkeitsprobleme wie Zugriffskontrolle, verschlüsselte Kommunikation und Eingabedaten zu veranschaulichen.
- 🔗 Datenflussdiagramme sind ein Werkzeug, um die Vertraulichkeit in Softwaresystemen zu analysieren und werden als gerichtete, azyklische Graphen (DAG) beschrieben.
- 📊 Die Vorlesung verwendet mathematische Konzepte wie partielle Ordnung, strikte Ordnung und Transitivität, um die Eigenschaften von Datenflussdiagrammen zu erklären.
- 🔍 Durch die Analyse von Datenflussdiagrammen können Vertraulichkeitsverletzungen identifiziert werden, indem man Datenflüsse und deren Beziehungen zu Systemkomponenten überprüft.
- 🏷️ Die Verwendung von Labels (knotenlabel und datenlabel) ermöglicht es, Vertraulichkeitsattribute an Prozesse und Datenflüsse zu binden und so eine formale Methode zur Vertraulichkeitsanalyse zu entwickeln.
- 🔄 Die Vorlesung diskutiert auch die Automatisierung von Vertraulichkeitsanalysen, wobei die Verfolgung von Datenflüssen und die Überprüfung gegen Vertraulichkeitsanforderungen algorithmisch durchgeführt werden können.
- 🌐 Der Redner reflektiert über die Herausforderungen und Möglichkeiten der Wissenschaftskommunikation und nutzt das Video als Experiment, um sein Vorgehen zu testen und Feedback zu erhalten.
Q & A
Was ist das Hauptthema des Videos?
-Das Hauptthema des Videos ist die Darstellung von Vertraulichkeit und Datenflussdiagrammen in der Softwaresicherheit, die in einer Gastvorlesung im Informatik-Master am KIT behandelt werden.
Was sind die Hauptinhalte der Gastvorlesung?
-Die Gastvorlesung behandelt verschiedene Techniken und Ansätze für mehr Sicherheit in der Softwareentwicklung, einschließlich Datenflussdiagrammen und Vertraulichkeitsanalyse.
Wie definiert der ISO-Standard 27000 die Vertraulichkeit?
-Der ISO-Standard 27000 definiert Vertraulichkeit als die Zugänglichkeit von sensiblen Daten nur für berechtigte Personen, Prozesse oder Entitäten.
Welche Rolle spielen Datenflussdiagramme in der Vertraulichkeitsanalyse?
-Datenflussdiagramme sind eine Notation, um Vertraulichkeit effektiv darzustellen und verschiedene Datenflüsse im System zu verfolgen, was für die Vertraulichkeitsanalyse und -bewertung von entscheidender Bedeutung ist.
Was ist ein gerichteter azyklischer Graph und wie ist er in der Vertraulichkeitsanalyse relevant?
-Ein gerichteter azyklischer Graph (DAG) ist eine Menge von Kanten und Knoten, bei der es keine Zyklen gibt. Dies vereinfacht die Analyse von Datenflüssen und ist für die Vertraulichkeitsanalyse von Softwarearchitekturen relevant.
Wie werden in den Datenflussdiagrammen die externen Entitäten, Prozesse und Zwischenspeicher dargestellt?
-Externe Entitäten werden durch Vierecke dargestellt, Prozesse durch Kreise und Zwischenspeicher, wie Logdateien, durch spezielle Symbole oder Anmerkungen.
Was bedeuten die Begriffe irreflexiv, asymmetrisch und transitiv in Bezug auf Datenflüsse?
-Irreflexiv bedeutet, dass es keinen Datenfluss zu sich selbst gibt. Asymmetrisch bedeutet, dass ein Fluss in eine Richtung nicht impliziert, dass er auch in die entgegengesetzte Richtung geht. Transitiv bedeutet, dass ein Datenfluss, der über mehrere Schritte weitergegeben wird, immer gültig ist.
Wie können Datenflussdiagramme aus Sourcecode oder Architekturdokumentation extrahiert werden?
-Datenflussdiagramme können aus Sourcecode oder Architekturdokumentation durch Analyse der Interaktionen und Abläufe zwischen Komponenten extrahiert werden, um die Datenflüsse im System darzustellen.
Was sind die praktischen Anwendungen von Datenflussdiagrammen in der Softwareentwicklung?
-Datenflussdiagramme werden in der Softwareentwicklung verwendet, um die Vertraulichkeit von Daten zu bewerten, potenzielle Sicherheitsrisiken zu identifizieren und sicherere Softwarearchitekturen zu entwickeln.
Wie werden Knoten- und Datenlabel in den Datenflussdiagrammen verwendet?
-Knotenlabel beschreiben vertraulichkeitsbezogene Eigenschaften der Knoten, wie z.B. die Cloud-Lage einer Datenbank, während Datenlabel, auch als Datencharakteristiken bezeichnet, die Datenflüsse in Bezug auf ihre Vertraulichkeit kennzeichnen.
Outlines
😀 Einführung in die Software Security Engineering
Der Sprecher stellt sich als Dozent für Software Security Engineering vor, eine Wahlvorlesung im Informatik Master an der Universität. Er führt die Themen der Vorlesung ein, wie Datenflussdiagramme und Vertraulichkeitsanalyse, und erklärt, dass diese auch die Grundlage seiner Forschung sind. Das Video soll als Experiment dienen, um die Vorlesungsinhalte auf einer Handvoll Karten zu vermitteln. Der Sprecher möchte auch Vertraulichkeit definieren und stellt die aktuelle Relevanz des Themas her, indem er auf Datenlecks und Missbrauch von Daten hinweist. Ein einfaches Beispiel einer Softwarearchitektur wird präsentiert, um Vertraulichkeitsverletzungen aufzuzeigen, die in solchen Systemen auftreten können.
📈 Datenflussdiagramme und ihre Analyse
Der zweite Absatz konzentriert sich auf das Erstellen und Analysieren von Datenflussdiagrammen, die zur Veranschaulichung von Vertraulichkeit in Softwaresystemen verwendet werden. Der Sprecher erklärt, wie man Datenflussdiagramme erstellt, welche Elemente sie enthalten und wie sie aus Sourcecode oder Architekturdokumentation extrahiert werden können. Er führt dann die mathematischen Aspekte ein, wie z. B. die Beschreibung von Datenflussdiagrammen als gerichtete azyklische Graphen (DAGs), und erläutert, warum diese Struktur für die Analyse wichtig ist. Der Sprecher geht dann auf die Eigenschaften von solchen Graphen ein, wie irreflexiv, asymmetrisch und transitiv, und wie diese Eigenschaften bei der Analyse von Vertraulichkeitsproblemen hilfreich sind.
🔍 Anwendung mathematischer Konzepte in der Datenflussanalyse
Der dritte Absatz vertieft sich in die Anwendung mathematischer Konzepte bei der Analyse von Datenflüssen. Der Sprecher erklärt, wie man Datenflussdiagramme mit mathematischen Begriffen wie partielle strikte Ordnung und Antikette beschreiben kann. Er stellt dar, wie diese Konzepte dazu dienen, die Vertraulichkeitsanalyse zu verfeinern und komplexe Vertraulichkeitsanforderungen in Softwaresystemen zu identifizieren. Der Sprecher verwendet Beispiele, um zu zeigen, wie man Verletzungen von Vertraulichkeitsrichtlinien im Kontext von Datenflüssen erkennen kann und wie man automatische Analysen durchführt, um solche Verletzungen zu vermeiden.
🎓 Zusammenfassung und Rückmeldung
Schließlich fasst der Sprecher die wesentlichen Punkte der Vorlesung zusammen und betont, dass das Video auch als Experiment dient, um herauszufinden, wie effektiv die Kommunikation von Forschungsinhalten im Format eines Videos ist. Er bittet die Zuschauer, Feedback zu geben, um zu erfahren, ob der Stil des Videos und die dargebotenen Inhalte verstanden wurden. Der Sprecher reflektiert auch über seine eigene Fähigkeit, Wissenschaft zu kommunizieren, und vergleicht es mit anderen Wissenschaftlern, die erfolgreich im Format des Videos vorgehen. Er erwähnt auch, dass das Video eine Fortsetzung der 'Minecraft und Forschung'-Serie darstellt und bittet die Zuschauer, ihre Meinung über die Art und Weise, wie die Forschung präsentiert wurde, zu teilen.
Mindmap
Keywords
💡Vertraulichkeit
💡Datenflussdiagramme
💡Vertraulichkeitsanalyse
💡Zugriffskontrolle
💡Verschlüsselte Kommunikation
💡Eingabevalidierung
💡Logging
💡DSGVO
💡Gerichteter azyklischer Graph
💡Strikte partielle Ordnung
Highlights
Das Video ist ein Experiment zur Wissenschaftskommunikation.
Die Gastvorlesung in Software Security Engineering behandelt verschiedene Techniken für mehr Sicherheit in der Softwareentwicklung.
Datenflussdiagramme und Vertraulichkeitsanalyse sind zentrale Themen der Forschung und Lehre des Dozenten.
Vertraulichkeit ist definiert als die Beschränkung des Zugangs zu sensiblen Daten auf autorisierte Personen oder Prozesse.
Vertraulichkeitsverletzungen sind ein aktuelles Problem, oft durch Datenlecks oder illegalen Zugriff auf Daten erkennbar.
Einfache Softwarearchitektur-Grafiken können verwendet werden, um Vertraulichkeitsprobleme zu illustrieren.
Zugriffskontrolle ist entscheidend, um nicht autorisierten Zugriff auf Systeme zu verhindern.
Verschlüsselte Kommunikation ist ein Klassiker in der Vertraulichkeitssicherung, obwohl Cloudanbieter immer wieder zum Zweifel Anlass geben.
Eingabedaten müssen validiert werden, um Angreifer wie SQL Injection zu verhindern.
Logging kann zu Vertraulichkeitsproblemen führen, wenn sie nicht sorgfältig gehandhabt wird.
Die DSGVO in der EU legt klare Vorschriften für den Umgang mit Daten fest und schützt vor teuren Bußgeldern.
Datenflussdiagramme sind ein Werkzeug, um die Vertraulichkeit in Softwaresystemen darzustellen und zu analysieren.
Gerichtete azyklische Graphen (DAGs) sind eine mathematische Beschreibung von Datenflussdiagrammen ohne Zyklen.
Partielle strikte Ordnung ist ein Konzept, das bei der Analyse von Datenflussdiagrammen hilft, die Beziehungen zwischen Knoten zu verstehen.
Irreflexivität, Asymmetrie und Transitivität sind Eigenschaften, die bei der mathematischen Modellierung von Datenflüssen wichtig sind.
Auswirkungsmengen oder Impact Sets sind Teilmengen von Knoten, die verwendet werden, um die Auswirkungen von Datenflüssen zu analysieren.
Antiketten sind ein mathematisches Konzept, das verwendet wird, um die größten, nicht ineinander schlüsselnden Teilmengen in einem Graphen zu identifizieren.
Labels werden auf Knoten und Datenflüsse in Datenflussdiagrammen verwendet, um Vertraulichkeitseigenschaften zu kennzeichnen.
Vertraulichkeitsanalysen können automatisiert werden, um große Softwaresysteme auf Verletzungen von Datenschutzanforderungen zu überprüfen.
Das Video ist auch ein Experiment namens 'Forschung und Forschung', eine Reaktion auf frühere 'Minecraft und Forschung'-Videos.
Der Dozent sucht Feedback, um seine Fähigkeiten in Wissenschaftskommunikation zu verbessern.
Transcripts
dieses Video hier ist ein Experiment und
weil es ein Experiment ist erzähle ich
auch erst am Ende des Videos warum es
eigentlich ging einmal im Jahr halte ich
eine gastvorlesung in Software Security
Engineering das ist eine wahlvorlesung
im Informatik Master am ket und dort
geht es um verschiedene Techniken und
Ansätze für mehr Sicherheit in der
Softwareentwicklung das sieht dann
ungefähr so aus wie hier mit dem kleinen
Unterschied dass ich diese Aufnahmen vom
ARD geklaut habe Software Security
Engineering als wahlverorlesung ist ein
kleines bisschen kleiner als das in
meiner gastvorlesung geht es um
datenflussdiagramme und
vertraulichkeitsanalyse was die
Grundlage für meine Forschung und auch
die Forschung vieler meiner Kollegen bei
mir am Lehrstuhl ist und heute in diesem
Video möchte ich versuchen immittels nur
drei von diesen Karteikarten hier euch
den Vorlesungsinhalt so gut wie möglich
zusammenzufassen wobei diese karikarte
hier gehört nicht dazu das ist aus
meiner grundlagenvorlesung zur
Herstellung von Whisky für meinen
anderen YouTube-Kanal heute geht es
Vertraulichkeit und deswegen möchte ich
einsteigen mit der Definition von
Vertraulichkeit wenn man mal nicht
weiter weiß oder eine gute Definition
benötigt ist es immer eine gute Idee in
einem Standard nachzuschauen wie hier in
ISO standard 27.000 da sind nämlich ganz
viele Begriffe der Sicherheit definiert
wie auch Vertraulichkeit und letztlich
lässt sich diese Definition
zusammenfassen in sensible Daten
vertrauliche Daten dürfen nur zugänglich
gemacht werden zu Entitäten Menschen
Personen Prozessen die da auch drauf
zugreifen dürfen das kann man sich sich
tatsächlich so vorstellen wie ein
Geheimnis ich habe ein Geheimnis und das
darf ich anderen Personen nicht erzählen
weil ansonsten preche ich die
Vertraulichkeit und das mit der
Vertraulichkeit ist ein total aktuelles
Problem und das kann auch wirklich
überall vorkommen öfters hört man mal in
den Nachrichten dass wieder ein
datenliag war oder dass wieder
irgendjemand illegalerweise
verbotenerweise auf Daten zugegriffen
hat all das sind
vertraulichkeitsverletzungen in meiner
gastvorlesung fange ich dann auch immer
mit einer Grafik an das ist eine total
einfache Grafik von einer ganz simplen
Softwarearchitektur wir haben hier einen
onlinhop stellt euch sowas wie Amazon
vor und wir haben hier eine Datenbank da
liegen die ganzen Daten welche Produkte
sind gerade verfügbar welche Kunden
haben was gekauft und für dieses
einfache Beispiel reicht das auch
erstmal und dann ist hier noch so ein
bisschen implementierungslogik wie z.B
dass es ein Debugging gibt wo etwas auf
dem logoutput kommt denn ansonsten
werden die Eingaben einfach in der
Datenbank gespeichert komplett trivial
sollte man meinen aber selbst hier und
das sieht man an den ganzen abgeklebten
Zetteln gibt's schon einige
vertraulichkeitsverletzungen Arbeiten
wir uns mal von oben links durch
Zugriffskontrolle welcher Nutzer darf
überhaupt auf welche Schnittstelle des
Systems zugreifen wenn ich keine
ordentliche Zugriffskontrolle habe dann
kann ja jeder sich Admin Privilegien
holen und mal eben alle Daten scrapen
verschlüsselte Kommunikation auch ein
Klassiker auch sehr bekannt die
Vertrauenswürdigkeit von z.B
cloudanbietern der Zweifel ist irgendwie
immer da und wenn ich mich dann nicht
ordentlich drum kümmer habe ich ein
vertraulichkeitsproblem dann
Eingabedaten da konnt ihr alles mögliche
drin stehen was den Nutzer hier in das
System eingibt Stichwort SQL Injection
oder sowas auch das ist ein Problem für
die Sicherheit dann viele haben es
wahrscheinlich schon geahnt logging y
another problem logging sorgt super oft
für riesige Probleme was Vertraulichkeit
angeht Input Validierung wo wir sowieso
gerade schon von SQL in Jacksons
gesprochen haben selbst wenn Server in
den eigenen Räumlichkeiten salop gesagt
im eigenen Keller stehen könnte man sich
fragen wer darf da eigentlich alles
drauf zugreifen kann der Hausmeister mit
meiner gesamten Kundendatenbank einfach
so davon laufen und selbst wenn man sich
gegen den Server im E Keller entscheidet
kann man sich immer noch fragen wo
liegen eigentlich meine Daten da gibt
die dsgvo in der EU auch ganz klare
Vorschriften was man darf und was man
nicht darf und daran sollte man sich
besser halten weil sonst wird's teuer so
ich habe diese kleine Grafik hier mal
kurz aufgedeckt und man sieht schon
selbst in so einem wirklich total
einfachen Minimalbeispiel da kann doch
einiges schiefgehen stellt sich
natürlich jetzt die große Frage wie
analysiert man das ganze wie findet man
eine Möglichkeit auch verschiedene
Experten zusammenzuführen einen
Softwarearchitekten vielleicht auf der
einen Seite eine softwareingenieurin auf
der anderen Seite und noch Security
Experten auf der anderen Seite die die
Vertraulichkeit bewerten können dafür
bräuchte man in irgendeiner Form eine
Notation um Vertraulichkeit gut
darstellen zu können um verschiedene
Datenflüsse im System zu verfolgen
datenflussdiagramme was ich dann in der
Vorlesung immer mache ist dass ich mit
so einem Diagramm einsteige ohne genau
zu erklären was eigentlich ein
datenflussdiagramm ist und dann lasse
ich die Zuhörer und ZuhörerInnen
entscheiden um was es eigentlich da geht
welche Elemente da so vorkommen kommen
könnten das ist ein total einfaches
datenflussdiagramm was wir hier haben
der Nutzer gibt irgendwie Daten ein es
gibt eine logging Ausgabe eine Logdatei
und dann werden Daten in der Datenbank
gespeichert ist also so ähnlich wie das
Beispiel was wir gerade eben auch
gesehen haben und was man hier sieht ist
verschiedene Arten von Elementen wir
haben irgendwie unsere externe Entität
den Nutzer und die Datenbank wir haben
hier verschiedene Prozesse die Daten
verarbeiten wir haben hier so ein
Zwischenspeicher könnte man sagen so
eine Logdatei und das Ganze ist
verbunden durch verschiedene Kanten die
die Datenflüsse darstellen und sie da
ganz genaau so werden
datenflüssdiagramme auch dargestellt wir
haben Datenflüsse das sind die Pfeile
und dann haben wir die Prozesse das sind
die Kreise wir haben diese Vierecke das
sind externe Entitäten auch Daten senken
oder Quellen je nachdem wie man sein
System modelliert und dann haben wir
noch diese Zwischenspeicher z.B in
meinem Fall hier die Logdatei und das
ist das faszinierende an
datenflussdiagramm denn das ist alles
und das habe auch nicht ich gerade ebeno
erfunden hier steht die Quelle das ist
40 Jahre alt und mit diesen einfachen
Darstellungsmöglichkeiten kann man
bereits über die komplexesten
Softwaresysteme reden denn wir können
das ja auf einer ganz hohen Ebene machen
wo irgendwie jeder Kreis eine Komponente
im großen System darstellt oder wir
können ganz arg ins Detail gehen und
datenflusdiagramme kann man sowohl aus
Sourcecode als auch aus
softwarearchitekturdokumentation
extrahieren sodass man diese Dinge
einfach darlegen hat und sie als
Kommunikationsmedium nutzen und man kann
sogar noch einen Schritt weitergehen und
darauf automatische Analysen fahren und
und das wiederum ist die Grundlage für
unter anderem meine Forschung jetzt
wird's ein kleines bisschen mathematisch
also jede gute Vorlesung ist ja so
aufgebaut dass man erstmal ein bisschen
Einleitung hat dann ganz tief in den
Stoff reingeht und dann wieder rauszomt
und den Leuten erzählt was das denn
jetzt alles bedeutet wir sind jetzt in
diesem etwas tieferen mathematischen
Teil dann gucken wir uns mal den Grafen
hier rechts an eigentlich komplett
vereinfacht ist das ja auch nur eine
Menge von Kanten und Knoten also falls
ihr irgendwie gerade angefangen habt
Informatik zu studieren kennt ihr den
Begriff der Kante schon das der kluge
Name für ein Pfeil und Knoten ist die
kluge Name für so ein Kreis an meiner
datenflussdiagramme habe ich aber noch
eine extra Anforderung und zwar dass es
da drin keine Zyklen gibt man kann und
das wurde auch schon vor Jahrzehnten
gezeigt jedes datenflusdiagramm so
ausdrücken dass da drin tatsächlich
keine Zyklen gibt und da haben die ganz
tolle Eigenschaften im englischen
spricht man von einem Duck von einem
directed acyclic CF oder auf Deutsch ein
gerichteter azyklischer Graf auch diesen
Begriff kurz eingeführt Graf ist klar
also wir haben irgendwie Pfeile und wir
haben Knoten gerichtet ist auch klar die
Pfeile haben nämlich eine Richtung wenn
man kurz über Datenflüsse nachdenkt dann
ergibt das sehr viel Sinn ich spreche
mit jemandem der kann dann antworten das
ist okay aber in dem Moment wo ich
spreche ist das eine gerichtete Aktion
deswegen gerichtet und zum Schluss wie
gesagt dieses azyyklische was die
Analyse sehr stark vereinfacht hier
sehen wir z.B so ein Dack also hier
sehen wir keine Zyklen es gibt hier
keinen Kreis da drin und diese Annahme
kann man machen wie gesagt ohne
Einschränkung der Allgemeinheit und
jetzt wenn ich mein Papier nicht
komplett kaputt Reise wird es sogar noch
eine Stufe spannender jetzt reden wir
nämlich über Ordnung falls ihr gerade
irgendwie Grundbegriffe der Informatik
oder ein ähnliche Vorlesung bei euch
gehört habt und gerade mit so Begriffen
wie reflexiv und transitiv und
symmetrisch und sowas zu kämpfen habt
und euch fragt was ist das eigentlich
für realitätsferner Bullshit warum muss
ich das überhaupt lernen hier kommt ein
Anwendungsfall dafür also wir haben
erstmal eine partielle strikte Ordnung
bitte was lass mich das einfach erklären
was ist eine Ordnung eine Ordnung sagt
erstmal nur etwas darüber aus wie zwei
Dinge in Relation zueinander stehen eine
Ordnung die ihr alle kennt ist kleiner
als z.B natürlichen Zahlen ich verdiene
in an der Uni vielleicht 5000 € im Monat
und mein Kollege in der freien
Wirtschaft verdient 10 000 € im Monat
ich verdiene weniger als er das ist eine
Ordnung 5000 kleiner als 10.000 dann
gibt es den Begriff der totalordnung und
das haben wir z.B bei den Zahlen die wir
so umgangssprachlich verwenden weil man
jede Zahl mit jeder anderen Zahl
vergleichen kann egal ob ich 3 mit 7
Vergleich oder 5000 mit 10000 jede Zahl
kann miteinander verglichen werden bei
diesem datenflussdiagrammen haben wir
jetzt eine partielle Ordnung und das
bedeutet dass man nicht jeden Knoten
miteinander vergleichen kann nehmen wir
z.B den knoteningabe verarbeiten und
Datenspeichern die sind ganz klar
geordnet denn es gibt eine direkte Kante
dazwischen einen Datenfluss wenn wir
jetzt aber z.B den Knoten logging
Ausgabe und Datenspeicher nehmen dann
gibt es da keinen direkten Fluss in
irgendeiner Form weil hier bei Eingabe
verarbeiten Abzweigung ist das heißt die
beiden hier sind nicht miteinander
vergleichbar und deswegen ist es nur
eine partielle Ordnung ich kann manche
Knoten miteinander vergleichen aber eben
nicht alle und dann zum Schluss noch zum
Begriff strickt strickt kennen wir auch
z.B 5000 ist kleiner als 10.000 kleiner
gleich ist keine strikte Ordnung denn 5
ist kleiner gleich 5 also kann man Dinge
mit sich selbst vergleichen das werden
wir gleich noch sehen und bei einem
Datenfluss ist es so wenn ich keine
Zyklen will fließt der immer irgendwo
anders hin und das macht daraus dieses
strickte undterm Strich also eine
strickte partielle Ordnung eigentlich
gar nicht so schwer und diese strikte
partielle Ordnung die hat jetzt einige
tolle Eigenschaften und hier kommen wir
jetzt zu den verschiedenen Begriffen den
ersten habe ich gerade eben schon
erklärt irreflexiv was heißt denn das
schon wieder es ist ganz einfach es gibt
keinen Fluss zu sich selbst fünf kleiner
gleich als F bedeutet eine Kante von 5
Z5 ne steht in Relation mit sich selbst
das möchte ich hier nicht das wäre
nämlich ein Zyklus wenn ich also
irgendwie mir selbst meinen Nutzernamen
sagen würde oder sowas das würde erstens
wenig Sinn ergeben und zweitens ein
Zyklus bedeuten was ich gerade eben in
der Definition von diesem Duck schon
ausgeschlossen habe deswegen muss der
irreflexiv sein es gibt also keine
Beziehung zu sich selbst das nächste ist
asymmetrisch das bedeutet wenn ich von
einem Knoten zu einem anderen Knoten
gehe dass ich dann nicht von dem Knoten
wieder zurückkomme ist auch einfach zu
sehen denn ansonsten hätte ich ja wieder
einen Zyklus und das letzte ist die
Transitivität und und auch die ergibt
sehr viel Sinn wenn ich z.B dir ein
Geheimnis verrate und du erzählst das
einer anderen Person weiter dann weiß
diese weitere Person ja mein Geheimnis
und da macht es dann gar keinen
Unterschied ob das jetzt ein Umweg über
dich gemacht hat oder ob ich das der
Person direkt gesagt hätte das nennt
sich Transitivität und es ist sehr
einfach zu sehen dass das bei
datenflussdiagrammen vorliegt wir haben
hier sehr viele transitive Flüsse z.B
der Fluss von Nutzer zu Datenbank es ist
leicht zu sehen dass wenn der Nutzer was
eingibt dass das irgendwann mal in der
Datenbank landen wird aber was ist es
ein transitiver Fluss das steckt also
hinten dran under Strich bedeutet es
also dieses natürlich sprachliche
Konzept wenn wir über Datenflüsse reden
kann man nicht nur in eine Notation
Gießen ein datenflussdiagramm sondern
das kann man auch noch mathematisch
ausdrücken und wenn man das tut bekommt
man einige tolle Eigenschaften und diese
Eigenschaften nutzen wir dann später in
der
datenflussanalyse für alle die jetzt
gerade irgendwie z.B am Anfang des
Informatikstudiums sind und sich fragen
so okay cool vielleicht habe ich so ein
bisschen was davon verstanden lasst mir
das gerne mal in den Kommentaren wissen
ob so euer Basiswissen was ihr
vielleicht gerade im Studium gehabt habt
ob das jetzt funktioniert hat diese
Erklärung für euch und für alle die ich
noch nicht genug abgehängt hab hier ist
noch eine weitere tolle Eigenschaft aus
meiner eigenen Forschung ich berechne ja
sogenannte auswirkungsmengen auf
Englisch impact Sets von anderen Dingen
wie Ungewissheit das sind also immer
Teilmengen von diesen Knoten und das
spannende daran ist diese Teilmengen
untereinander können wieder na ja
Teilmengen von anderen teilen Mengen
sein das will ich aber nicht ich bin nur
interessiert an den größten Teilmengen
die eben nicht gerade Teilmengen von
anderen sind und bis vorgestern wusste
ich noch nicht wie das mathematische
Konzept dahinter heißt das nennt sich
eine antikette eine antikette der
Teilmengen dieses Grafen mit der
Relation der teilmengenbeziehung und
dann sind gerade alle paarweise nicht
miteinander vergleichbar wenn man eine
antikette hat so hat überhaupt nichts
mit diesem Grafen zu tun aber ich wollte
einfach mit meinem frisch gewonnenen
Matte Wissen flexen und hoffe dass das
nicht falsch war denn wie immer bei
Mathe wenn man sich das selbst einfach
nur so aus Lehrbüchern und
Internetquellen zusammenensucht h zum
Glück gibt's Chat GPT da hat man eine
weitere Quelle wo man dann keine Ahnung
hat ob es gerade richtig ist oder nicht
pas beiseite Zen wir wieder ein kleines
bisschen raus und kommen zu meiner
letzten Karte denn jetzt könnte man sich
durchaus fragen alles klar du hast diese
tollen mathematischen Rezepte wie nutzt
man die jetzt was wir machen ist wir
packen Label an diese Knoten also
wirklich so kleine tags wie so kleine
posttits die man drank kleben würde und
zwar zweierlei Label auf der einen Seite
haben wir die knot Label das sind die
blauen hier sagt man z.B guck mal die
Datenbank die liegt in der Cloud
knotenlabel die stecken fest am Knoten
dran und beschreiben
vertraulichkeitsbezogene Eigenschaften
wie z.B dass auf die Logdatei ein
adminzugriff besteht die Grünen hier das
sind die datenlabel oder auch
datencharakteristiken genannt die packen
wir nicht an Knoten sondern an die Daten
die ja im Diagramm rumfließen und dann
kann man sich einfach vorstellen dass
man den Fluss von so einem grünen Label
im Softwaresystem nachvollziehen kann
und dann über den Vergleich von diesen
grünen und diesen blauen Labeln
vertraulichkeitsanforderung formulieren
kann einfaches Beispiel ich sage
persönliche Daten dürfen nicht zum Admin
fließen dann verfolge ich mein grünes
Level persönlich auf dem Fluss zum atmin
und sehe schon an diesem einfachen
Diagramm upsi persönliche Daten fließen
jetzt zum Admin das wäre dann wohl eine
vertraulichkeitsverletzung und das war's
auch schon also total einfach
zusammengefasst ist das das was unsere
Analyse automatisch macht ihr könnt euch
vorstellen das kann man sehr einfach
automatisieren l propagation ist dann
eigentlich auch nur eine schön angemalte
Tiefensuche W eiglich alles in der
Informatik am Schluss irgendwie eine
schön angemalter grundsatzalgorithmus
auf Grafen ist aber das ist es und so
kann man auch auf großen
Softwaresystemen zu
vertraulichkeitsanalysen automatisch
ausführen ein paar Beispiele habe ich
auch dabei das allererste haben wir
gerade eben schon gesehen persönliche
Daten fließen zum admen aber wir können
z.B auch sagen persönliche Daten dürfen
nicht in die Cloud fließen da sieht man
hier den Fluss zur Cloud leider wieder
eine verlz man könnte auch sagen nicht
gesäuberte Daten dürfen nicht in
Datenbank fließen oder anders gesagt
alles was in der Datenbank landet muss
davor mal auf die gerade eben benannten
sQL Injections getestet werden da sieht
man dass hier mit Datenspeichern
tatsächlich das gesäubert hinzuomt das
heißt diese Anforderung wird erfüllt und
man kann natürlich auch viel komplexere
Anforderungen formulieren wie z.B
persönlich und unverschlüsselt darf
weder zur Cloud noch zum Admin und dann
finden wir gleich sogar mehrere
Verletzungen und das ist wie wir die
Daten flussdiagramme Nutzen für gut
skalaliierbare große
vertraulichkeitsanalysen auf
Softwarearchitekturen und das wiederum
ist die Grundlage für meine eigene
Forschung und die ganze Vorlesung geht
90 Minuten aber eigentlich erkläre ich
da auch nur ungefähr das was ich jetzt
gerade eben hier zusammengefasst habe
bevor ich jetzt weitergehe schreibt mir
gerne mal einen Kommentar ich lese alle
Kommentare und mich würde hier an der
Stelle brennend interessieren wie ihr
erstens diesen Stil fandet und ob ihr
zweiten
alles verstanden habt und wenn nicht an
was es gehakt hat also gerade wenn ihr
z.B selbst irgendwas mit Informatik zu
tun habt vielleicht gerade am Anfang von
informalstulum seid würde mich
interessieren so habt ihr die Konzepte
die ihr da vielleicht gerade erst in der
Theorie gelernt habt hier wiedergefunden
war das alles verständlich was hätte ich
besser erklären können das ist sehr sehr
wertvolles Feedback für mich und zwar
wegen besagtem
Experiment vielleicht hat man in diesem
Video schon gesehen wovon ich mich so
ein bisschen habe inspirieren lassen z.B
Professor Christian R oder auch
Professor harald Lesch sind zwei
Beispiele für Leute die auf Youtube
Wissen vermitteln
Wissenschaftskommunikation machen und
das ohne super krass aufwendige
Postproduktion also gut natürlich Terra
X ist ein ganz anderes Phänomen aber die
können sich auch einfach vor eine Kamera
setzen und Dinge rüberbringen Dinge
erzählen und das ist eine Fähigkeit die
ich sehr gerne auch selbst erlangen
würde ich glaube ich bin da nicht
unbedingt auf einem schlechten Weg mit
meiner Erfahrung aus über 10 Jahren
Let's Play und mittlerweile auch 4
Jahren noch nicht ganz 3 Jahre und 11
Monate an der Uni als doktorant habe ich
doch glaube ich schon einiges
mitgenommen zum Thema präsentieren und
und freisprechen und vor der Kamera
irgendwie existieren können aber dennoch
ich glaube da gibt's noch mal ein großes
GAP zwischen mir und na ja geübten
Professoren dennoch möchte ich da
irgendwie hinkommen und dieses Video war
mal ein Versuch auch für mich selbst
rauszufinden ob das geht und euer
Feedback wird mir weiterhelfen mich dann
noch weiter zu verbessern außerdem war
dieses Video hier eine Folge von
Minecraft und Forschung wenn ihr euch
ein paar Monate zurück erinnert da habe
ich mal eine Folge Minecraft und
Forschung hochgeladen die eigentlich
Minecraft und Minecraft war weil ich da
einfach keinen Bock hatte über Forschung
zu reden und lieber einfach Minecraft
spielen wollte also habe ich die
Forschung außen vorgelassen aber schon
da gab es Witze darüber ob ich
vielleicht irgendwann auch mal eine
Folge Forschung und Forschung mache und
das dann als Minecraft und Forschung
Verkauf und genau das ist es ach und
übrigens es ist auch ein exper im
Experiment denn falls ihr alle Folgen
von Minecraft und Forschung mit verfolgt
habt habt ihr vielleicht gesehen dass
ich schon mal nicht auf dem Detail
gerade aber auf ähnlicher
Abstraktionsebene über
datenflussdiagramme berichtet habe das
heißt ihr könntet das wissen sogar
vielleicht sogar wiedererkennen meiner
Meinung nach ist Minecraft und Forschung
so wie ich das dieses Jahr gemacht habe
allerdings kein besonders guter Ansatz
für die Wissenschaftskommunikation
deswegen ist das hier mal so ein
gegenexperiment lasst mich eure Meinung
sehr gerne wissen und ich mache jetzt
wieder die Klima an denn draußen haben
wir über 30° und ich wohne im
Dachgeschoss vielen Dank
Browse More Related Video
SCHAFFE 10X MEHR als ALLE anderen mit DIESEM TRICK
10 Behaviors That Will RUIN Your Life (GUARANTEED)
Sample Blood Work Interpretation - where do I start?
The ULTIMATE Guide to Pass EVERY Sales Job Interview | Tech Sales Interview Tips, B2B Sales Career
BOS Vs Liquidity Sweep Advanced Course
How To Make $10k A Month Trading
5.0 / 5 (0 votes)