Charset, Encoding & Font

Thema
Charset, Encoding & Font
Termin
2016-10-10 20:15
Ort
Uni Ulm, Hörsaal H22
Vortragende
meillo
Archiv

Dieser Vortrag bringt Licht in die Verwirrungen und das Unwissen im Themenfeld um Zeichensaetze (Charsets), Zeichenkodierungen (Encodings) und Schriften (Fonts).

Fonts:

Zeichensaetze:

Encodings:

Sollte man ausrotten:

Unicode-Zeichen und deren Repraesentation in verschiedenen Kodierungen:

Wie man’s richtig macht:

Guter Uebersichtsartikel. Der Hauptfokus ist zwar auf Windows gelegt (weil dort der Bedarf am groessten ist), aber es wird viel allgemeines Wissen vermittelt:

Ein Klassiker von Blogpost, wenn auch technisch nicht unbedingt der exakteste:

Eine Erklaerung der Situation der Schriftsysteme in Ostasien (der Titel passt nicht unbedingt zum Inhalt):

Auch Google vermischt Charsets und Encodings:

Was zur Folge hatte, dass diese abgeleitete Grafik jahrelang in der Wikipedia zu finden war – im Namen Unicode, im Inhalt UTF-8:

Bei PHP muss man der Charset-Methode ein Encoding uebergeben. Man hat einfach den Fehler von Mysql uebernommen, Charsets und Encodings in einen Topf zu werfen:

Wir sollten uns mit der groessten Anstrengung bemuehen, Charsets und Encodings auseinander zu halten und als orthogonal zueinander anzusehen. (Orthogonalitaet ist eine so wertvolle Eigenschaft; sie sollte geschaetzt und angestrebt werden.) 90% der Verwirrung im Gebiet um Charsets und Encodings stammt daher, dass die beiden nicht so klar getrennt werden wie es ihre Natur ist. Es ist notwendig, dass wir anfangen, die zwei Dinge explizit auseinander zu halten, auf dass wir es der zukuenftigen Informatikwelt ermoeglichen, in diesem Thema klar zu sehen!

Python

Thema
Python
Termin
2016-09-12 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Rens
Archiv

In diesen Vortrag geht es um der Programmiersprache Python. Es wird ein kurzen Überblick über die Sprache gegeben, sowie auch eine ganze Reihe von Fragen beantwortet – wie ist das Programmierumfeld? Warum, wozu und wie benutzen Menschen Python? Warum gibt es Python 2 und Python 3? Für welche Anwendungszwecke ist Python besonders geeignet? Welche besondere Sprachkonstrukte gibt es? Was sind die Nachteile und Quirks, die man beachten sollte?

Da der Zeit vermutlich nicht reichen wird, um alles zu besprechen, würde ich mich während des Vortrags nach dem Interesse der Zuhörer/innen richten.

Secure Messengers

Thema
Secure Messengers
Termin
2016-07-11 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Dome, Matou
Archiv

Seit Jahren unterhalten wir uns über verschlüsselte E-Mails, aber bis heute gibt es kaum Menschen, die E-Mail-Verschlüsselung regelmäßig verwenden. Davon abgesehen findet ein Großteil der elektronischen Kommunikation mittlerweile über sogenannte Messenger (typischerweise auf dem Smartphone) statt. Hier sieht es mit der Verschlüsselung schon ganz anders aus. Seit in diesem Jahr einer der größten Messenger Ende-zu-Ende-Verschlüsselung eingeführt hat, kommunizieren plötzlich ganz normale User nur noch verschlüsselt miteinander. Aber auch die Diskussion um die Sicherheit solcher Dienste wurde von neuem angefacht. Viele bisher kaum verbreiteten Messenger-Alternativen bekommen immer mehr Aufmerksamkeit, weil sie eventuell als noch sicherer angesehen werden.

In diesem Chaosseminar wollen wir einmal diskutieren, was wir überhaupt von einem Kommunikationsdienst erwarten würden und was verschiedene Dienste tatsächlich bieten.

Spaß mit IPv6 Implementierungen

Thema
Spaß mit IPv6, widersprechenden Standards und Herstellerimplementierungen
Termin
2016-05-09 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Marcus
Archiv

Vortragszusammenfassung

Alias Resolution beschäftigt sich mit der Frage: Sind diese beiden Adressen 2001::1 und 2004::f der gleiche Router? Es werden Verfahren zur IPv6 Alias Resolution erklärt und partiell demonstriert.

weitere Inhalte

Wir verschaffen uns einen Überblick über den IPv6 Standard, das Spannungsfeld zwischen Standardautor und Implementierer und lästern über Widersprüche und freie Lesarten. Zur Demonstration kommt eine Software Namens scapy – eine interaktive Python-Shell zur Paketgenerierung.

Alle standardrelevanten Vortragsinhalte sind persönliche Meinung des Vortragenden (a.k.a lästern).

Zum Referenten: Marcus befasst sich für seine Masterarbeit mit IPv6 und sucht Lücken im Standard, um Router wiederzuerkennen.

zitierte RFCs

https://dontpanic.ulm.ccc.de/~marcus/chaosseminar/ipv6/ipv6.rfclist.png

Es folgt eine Einzelaufschlüsselung.

Internet Control Message Protocol, Ping

  • rfc1885, ICMPv6, Jahr 1995
  • rfc2463, ICMPv6, Jahr 1998
  • rfc4443, ICMPv6, Jahr 2006
  • rfc4884, Extended ICMP tu Support Multi-Part Messages, Jahr 2007
  • rfc3627, Use of /127 Prefix Length Between Routers Considered Harmful, Jahr 2003
  • rfc6164, 127-Bit IPv6 Prefixes on Inter-Router Links, Jahr 2011
  • rfc6547, rfc3627 to Historic Status, Jahr 2012

Path Maximum Transfer Unit Discovery

  • rfc1981, PMTU Discovery, Jahr 1996

Der Client findet die MTU durch wiederholtes ausprobieren heraus. Ob die MTU abhängig von Adresse, Interface, … gespeichert wird, ist Aufgabe des Implementierers zu entscheiden:

5.2. Storing PMTU information

   Ideally, a PMTU value should be associated with a specific path
   traversed by packets exchanged between the source and destination
   nodes.  However, in most cases a node will not have enough
   information to completely and accurately identify such a path.
   Rather, a node must associate a PMTU value with some local
   representation of a path.  It is left to the implementation to select
   the local representation of a path.

Internet Protocol Version 6 inklusive Flow Label, Traffic Class und Routing Type 0

  • rfc1883, IPv6, Jahr 1995
  • rfc2460, IPv6, Jahr 1998
  • Ergänzungen (5095,9722,5871,6437,6564,6935,6946,7045,7112)
6.  Flow Labels

   The 24-bit Flow Label field in the IPv6 header may be used by a
   source to label those packets for which it requests special handling
   by the IPv6 routers, such as non-default quality of service or
   "real-time" service.  This aspect of IPv6 is, at the time of writing,
   still experimental and subject to change as the requirements for flow
   support in the Internet become clearer.  Hosts or routers that do not
   support the functions of the Flow Label field are required to set the
   field to zero when originating a packet, pass the field on unchanged
   when forwarding a packet, and ignore the field when receiving a
   packet.

Sichere Autos – aber wie?

Thema
Sichere Autos – aber wie?
Termin
2016-04-11 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Frank
Archiv
Es wird zu diesem Chaosseminar keine Aufzeichnung geben.

Der Vortrag betrachtet moderne und zukünftige Fahrzeuge und wirft die Frage auf, wie aktuelle Entwicklungen zu Connected Cars, Fahrerassistenzsystemen und automatisiertem Fahren deren Security beeinflussen und möglicherweise zu einem gläsernen Autofahrer führen. Ziel ist es, einen auch für Laien verständlichen Überblick über die verschiedenen Aspekte der Thematik zu geben und dabei sowohl Car-2-Car Communication, fahrzeuginterne Systeme und die Sensorik automatisierter Fahrzeuge als Angriffsziel zu betrachten. Dies wird anhand konkreter Beispiele aus eigenen Arbeiten und aus der Literatur illustriert. Am Ende soll eine realistische Einschätzung des Bedrohungspotentials ermöglicht werden, um mit dem Publikum zu diskutieren, ob neue Technologien im Fahrzeug eher Fluch oder Segen sind.

Zum Referenten: Frank Kargl ist seit Anfang der 90er Jahre Mitglied im Chaos Computer Club und seit 2012 Professor für Verteilte Systeme am gleichnamigen Institut der Universität Ulm. Seine Forschung beschäftigt sich mit einen breiten Spektrum an Themen rund um Rechnernetze, IT Security und Privacy.

Lua

Thema
Lua
Termin
2016-03-14 20:00
Ort
Uni Ulm, Hörsaal H20
Vortragende
Phil, Simon
Archiv

Lua ist eine beliebte Skriptsprache mit verschiedensten Anwendungmöglichkeiten. Entwickelt als Konfigurations- und Erweiterungssprache, zeigte sich bald, dass Lua sehr gut portierbar ist und z.B. auch für eingebettete Systeme wunderbar geeignet ist. Phil und Simon erklären uns Grundlagen, Philosophie und fortgeschrittene Konzepte der Sprache.