Podcasts about maschinensprache

  • 2PODCASTS
  • 3EPISODES
  • 1h 27mAVG DURATION
  • ?INFREQUENT EPISODES
  • Jun 22, 2017LATEST

POPULARITY

20172018201920202021202220232024


Latest podcast episodes about maschinensprache

Modellansatz
Automated Binary Analysis

Modellansatz

Play Episode Listen Later Jun 22, 2017 53:06


Zur GPN17 des Entropia e.V. im ZKM - Zentrum für Kunst und Medien und der Hochschule für Gestaltung (HfG) hat Florian Magin (@0x464d) einen Vortrag zu Automated Binary Analysis gehalten und war bereit uns auch im Podcast zu erzählen, wie er mit mathematischen Verfahren Software auf Schwachstellen analysiert. Florian studiert Informatik an der TU Darmstadt und engagiert sich im CTF-Team Wizards of Dos seiner Universität. Sein Interesse an der Computersicherheit hat ihn auch zur Firma ERNW Research geführt, wo er als Werkstudent in der IT-Sicherheitsforschung tätig ist. Wie wichtig die Suche nach Schwachstellen und deren Absicherung ist, wurde kürzlich bei der weltweiten Verbreitung der WannaCry/WannaCrypt-Schadsoftware bewusst, die die Aufmerksamkeit von einer anderen und lukrativeren Schadsoftware Adylkuzz ablenkte. Unter der Binary Analysis versteht man die quellenlose Analyse eines Programms alleine auf den Daten im Maschinencode auf einem Speichermedium. Ein erster Schritt der Analysis ist die Wandlung der Maschinensprache in Mnemonic durch einen Disassembler. Dieser Programmcode kann sich deutlich von einer ursprünglichen Quelltext des Programms unterscheiden, da der Maschinencode erzeugende Compiler eine Vielzahl von Optimierungsmöglichkeiten umsetzt, die den Ablauf und das Abbild des Programms im Maschinencode deutlich verändern können. Eine Herausforderung stellt sich inzwischen in der Größe der Programme: Während es inzwischen zahlreiche Wettbewerbe gibt, Programme unter extremen Platzbeschränkungen umzusetzen, wächst die Größe klassischer Programme stark an. Ein Maschinensprache-Befehl kann in einem Byte kodiert sein, wie früher etwa hexadezimal C9 auf dem Z80 eine Unterroutine beendet, so können in 4 Bytes Operationen wie eine Addition samt Parameter definiert sein. Die automatisierte Binäranalyse hat besonders durch die Darpa Cyber Grand Challenge im Jahr 2016 großes Interesse geweckt, wo die Teams autonome Software entwickeln sollten, die für sich alleine den CTF-Wettbewerb bestreitet. Eine Anwendung solcher automatisierten Programme ist die schnelle Überprüfung von neuer Software auf bekannte oder typische Schwachstellen oder Implementierungsfehler. Eine sehr allgemeine Methode zur Detektion von Sicherheitslücken ist das Fuzzing: Das Open Source Tool AFL modifiziert beispielsweise korrekte Eingabewerte und prüft bei welcher Modifikation das Programm vom zuvor aufgezeichneten Programmablauf abweicht und damit einen Hinweis auf eine mögliche Schwachstelle gibt. Es kann dabei idealerweise auf dem Sourcecode operieren oder auch das Programm in einem Emulator wie QEMU ausführen und analysieren. Wie schwer aber selbst Source Code zu verstehen sein kann, zeigen die Wettbewerbe International Obfuscated C Code Contest (IOCCC), zu möglichst schwer verständlichen sinnvollen Code, und der Underhanded C Contest, wo ein scheinbar sinnvoller Code für Menschen möglichst unvorhersehbare Zusatzfunktionen aufweist. Ebenso können sehr beliebte Programmiersprachen wie Python sehr unvorhersehbar reagieren, wenn man versehentlich Tabulatoren und Space vermischt, oder gleich die Programmiersprache Whitespace benutzt. Ein weiteres Beispiel ist, dass das Breitenlose Leerzeichen in neuen C++-Standards erlaubt ist, und für den Menschen ununterscheidbaren Code ermöglicht, der unterschiedliche Dinge tut. Aber auch Computer können getäuscht werden, wenn zum Vergleich unsichere Hash-Funktionen genutzt werden, wie jüngst die Shattered-Attacke auf die SHA-1 Hash zeigte. Eine automatisierte Analysemöglichkeit ist die Control Flow Graph Recovery, die beispielsweise mit IDA , radare2, binary ninja durchgeführt werden kann, um aus einer eindimensionalen Speicherdarstellung zu einem Programmnetz, wo zusammengehörige Programmblöcke miteinander vernetzt werden. Hier kann auch schon sichtbar werden, ob beschränkte Bereiche ohne Authentifikation erreicht werden können. Ein weiteres automatisierbares Verfahren ist die Datenflussanalyse, wo die Verarbeitung und Auswirkungen von Variablen und Daten im Verlauf des Programms analysiert wird. Hier kann der Verlauf von beispielsweise vertraulichen Daten kontrolliert werden. Bei einer Symbolischen Auswertung wird das Programm abstrakt mit einem Interpreter auf beliebigen variablen Daten bzw. symbolischen Ausdrücken auf allen Pfaden gleichzeitig ausgeführt. Für die Pfaderkundung benötigt man hier eine Strategie zwischen der Breitensuche und Tiefensuche, um die relevanten Teile des Ausführungsgraphen möglichst schnell abzudecken. In der automatisierten Analyse werden dabei offene Sprungmöglichkeiten zu nahezu beliebigen Adressen sehr interessant, da dies einen starken Indikator für einen Angriffsvektor liefern. Mit Return-oriented Programming kann man so bestehenden Code gezielt anspringen und für eigene Zwecke missbrauchen. Das Open-Source Framework Angr wurde von Forschern des Computer Security Lab at UC Santa Barbara entwickelt und belegte mit Shellphish auf der Darpa-Challenge den dritten Platz. Ein weiteres Open-Source Analyseframework ist Triton, welches man leicht in eigene Projekte einbinden kann. Sehr verbreitet ist auch das Framework S2E der École Polytechnique Fédérale de Lausanne. Ein weiterer Finalist der Cyber Grand Challenge ist das Team CodeJitsu von der University of California at Berkeley, Cyberhaven, and Syracuse. Die Binary Analysis Platform wurde vom Team um Professor David Brumley am Cylab der Carnegie Mellon University entwickelt. Funktionale Programmiersprachen wie OCAML oder Haskell haben für den Anwendungsfall der symbolischen Auswertung ganz besondere Vorteile. Ebenso werden Programmiersprachen auch auf ihre inherente Unsicherheit im Sinne der Language based security untersucht, sowie fertige Programme versucht auch auf ihre Korrektheit zu verifizieren. Ein Tool, das dies vereinfachen soll ist der Z3 Prover. Hier kommt die Suche nach Sicherheitslücke zur Mathematik: In der formalen Darstellung einer Routine kann das Verhalten als Abbildung aus symbolischen Variablen beschrieben werden, und die Suche nach einer Lösung führt auf die entsprechenden Logik oder Optimierungsverfahren. Literatur und weiterführende Informationen Florian Magin: Introduction to Automated Binary Analysis, Vortrag auf der GPN17, 2017. Program Analysis reading list D. Brumley: Analysis and Defense of Vulnerabilities in Binary Code, PhD thesis, School of Computer Science Carnegie Mellon University, 2008. Podcasts M. Musch: Steganographie, Gespräch mit S. Ritterbusch im Modellansatz Podcast, Folge 57, Fakultät für Mathematik, Karlsruher Institut für Technologie (KIT), 2015. J. Breitner: Incredible Proof Machine, Gespräch mit S. Ritterbusch im Modellansatz Podcast, Folge 78, Fakultät für Mathematik, Karlsruher Institut für Technologie (KIT), 2016. GPN17 Special Sibyllinische Neuigkeiten: GPN17, Folge 4 im Podcast des CCC Essen, 2017. M. Lösch: Smart Meter Gateway, Gespräch mit S. Ritterbusch im Modellansatz Podcast, Folge 135, Fakultät für Mathematik, Karlsruher Institut für Technologie (KIT), 2017. F. Magin: Automated Binary Analysis, Gespräch mit S. Ritterbusch im Modellansatz Podcast, Folge 137, Fakultät für Mathematik, Karlsruher Institut für Technologie (KIT), 2017.

Neues Terrain
Freiflächen

Neues Terrain

Play Episode Listen Later Aug 11, 2016 130:58


Im Gespräch mit Daniel Koester am Computer Vision for Human-Computer Interaction Lab (cv:hci) geht es um die Erkennung des freien Weges vor unseren Füßen. Das cv:hci befasst sich mit der Fragestellung, wie Menschen mit Computer oder Robotern interagieren, und wie gerade die Bildverarbeitung dazu beitragen kann. Das Thema lässt sich auch gut mit dem Begriff der Anthropromatik beschreiben, der von Karlsruher Informatikprofessoren als Wissenschaft der Symbiose von Mensch und Maschine geprägt wurde und im Institut für Anthropromatik und Robotik am Karlsruher Institut für Technologie (KIT) http://www.kit.edu/ erforscht und gelebt wird. So wurde der ARMAR Roboter, der elektronische Küchenjunge (Video), ebenfalls am Institut an der Fakultät für Informatik  entwickelt. Schon früh stellte sich heraus, dass die Steuerung von Programmierung von Computern mit höheren Programmiersprachen wie Fortran, BASIC oder Logo durch Anlehnung an die menschliche Sprache große Vorteile gegenüber der Verwendung der Maschinensprache besitzt. Damit liegt das Thema ganz natürlich im Bereich der Informatik ist aber auch gleichzeitig sehr interdisziplinär aufgestellt: Das Team des KaMaRo (Folge im Modellansatz Podcast zum KaMaRo und Probabilistischer Robotik) entwickelt den Roboter in einem Team aus den Disziplinen Maschinenbau, Elektrotechnik und Informatik. Mit der Freiflächenerkennung befasst sich Daniel Koester seit seiner Diplomarbeit, wo er die Frage anging, wie die Kurzstreckennavigation für blinde Personen erleichtert werden kann. Hier besteht eine Herausforderung darin, dass zwischen einer Fußgängernavigation und der Umgebungserfassung mit dem Blindenlangstock eine große informative Lücke besteht. Nach Abschaltung der Selective Availability des GPS liegt die erreichbare Genauigkeit bei mehreren Metern, aber selbst das ist nicht immer ausreichend. Dazu sind Hindernisse und Gefahren, wie Baustellen oder Personen auf dem Weg, natürlich in keiner Karte verzeichnet. Dabei können Informationen von anderen Verkehrsteilnehmern Navigationslösungen deutlich verbessern, wie das Navigationssystem Waze demonstriert. Die Erkennung von freien Flächen ist außer zur Unterstützung in der Fußgängernavigation auch für einige weitere Anwendungen sehr wichtig- so werden diese Techniken auch für Fahrassistenzsysteme in Autos und für die Bewegungssteuerung von Robotern genutzt. Dabei kommen neben der visuellen Erfassung der Umgebung wie bei Mobileye auch weitere Sensoren hinzu: Mit Lidar werden mit Lasern sehr schnell und genau Abstände vermessen, Beispiele sind hier das Google Driverless Car oder auch der KaMaRo. Mit Schall arbeiten Sonor-Systeme sehr robust und sind im Vergleich zu Lidar relativ preisgünstig und werden oft für Einparkhilfe verwendet. Der UltraCane ist beispielsweise ein Blindenstock mit Ultraschallunterstützung und der GuideCane leitet mit Rädern aktiv um Hindernisse herum. Mit Radar werden im Auto beispielsweise Abstandsregelungen und Notbremsassistenten umgesetzt. Die hier betrachtete Freiflächenerkennung soll aber keinesfalls den Langstock ersetzen, sondern das bewährte System möglichst hilfreich ergänzen. Dabei war es ein besonderer Schritt von der Erkennung bekannter und zu erlernenden Objekte abzusehen, sondern für eine größere Robustheit und Stabilität gerade die Abwesenheit von Objekten zu betrachten. Dazu beschränken sich die Arbeiten zunächst auf optische Sensoren, wobei Daniel Koester sich auf die Erfassung mit Stereo-Kamerasystemen konzentriert. Grundsätzlich ermöglicht die Analyse der Parataxe eine dreidimensionale Erfassung der Umgebung- dies ist zwar in gewissem Maße auch mit nur einer Kamera möglicht, die sich bewegt, jedoch mit zwei Kameras in definiertem Abstand wird dies deutlich leichter und genauer. Dies entspricht dem verbreiteten stereoskopischen Sehen von Menschen mit Augenlicht, doch mitunter kommt es zu Situationen, dass Kinder bei einem schwächeren Auge das stereoskopische Sehen nicht erlernen- hier können temporär Augenpflaster zum Einsatz kommen. Zur Rekonstruktion der Tiefenkarte aus einem Stereobild müssen zunächst korrespondierende Bildelemente gefunden werden, deren Parallaxenverschiebung dann die Bildtiefe ergibt. Ein Verfahren dazu ist das Block-Matching auf Epipolarlinien. Für ein gutes Ergebnis sollten die beiden Sensoren der Stereo-Kamera gut kalibriert und die Aufnahmen vor der Analyse rektifiziert sein. Die Zuordnung gleicher Bildelemente kann auch als lokale Kreuzkorrelation gesehen werden. Diese Tiefenrekonstruktion ist auch den menschlichen Augen nachempfunden, denen durch geeignete Wiederholung zufälliger Punkte in einem Bild eine räumliche Szene vorgespielt werden kann. Dieses Prinzip wird beim Stereogrammen oder Single Image Random Dot Stereogram (SIRDS)  ausgenutzt. Weiterhin muss man die Abbildungseigenschaften der Kameras berücksichtigen, damit die Parallaxverschiebungen auf horizontalen Linien bleiben. Ebenso müssen Vignettierungen ausgeglichen werden. Algorithmen, die nur lokale Informationen zur Identifikation von Korrespondenzen verwenden, lassen sich sehr gut parallelisieren und damit auf geeigneter Software beschleunigen. Für größere gleichmäßige Flächen kommen diese Verfahren aber an die Grenzen und müssen durch globale Verfahren ergänzt oder korrigiert werden. Dabei leiden Computer und Algorithmen in gewisser Weise auch an der Menge der Daten: Der Mensch ist ausgezeichnet darin, die Bildinformationen auf das eigentlich Wichtige zu reduzieren, der Computer hat damit aber große Schwierigkeiten. Für den Flowerbox-Testdatensatz (2GB) wurden Videos mit 1600x1200 Pixeln aufgelöste und synchronisierte Kameras in Stereo aufgezeichnet. Beispiele für synchronisierte Stereokamera-Systeme im Consumer-Bereich sind die Bumblebee oder das GoPro 3D-System. Die Kameras wurden leicht nach unten gerichtet an den Oberkörper gehalten und damit Aufnahmen gemacht, die dann zur Berechnung des Disparitätenbildes bzw. der Tiefenkarte verwendet wurden. Ebenso wurden die Videos manuell zu jedem 5. Bild gelabeled, um die tatsächliche Freifläche zur Evaluation als Referenz zu haben. Der Datensatz zeigt das grundsätzliche Problem bei der Aufnahme mit einer Kamera am Körper: Die Bewegung des Menschen lässt die Ausrichtung der Kamera stark variieren, wodurch herkömmliche Verfahren leicht an ihre Grenzen stoßen. Das entwickelte Verfahren bestimmt nun an Hand der Disparitätenkarte die Normalenvektoren für die Bereiche vor der Person. Hier wird ausgenutzt, dass bei der Betrachtung der Disparitätenkarte von unten nach oben auf freien Flächen die Entfernung kontinuierlich zunimmt. Deshalb kann man aus der Steigung bzw. dem Gradienten das Maß der Entfernungszunahme berechnen und damit die Ausrichtung und den auf der Fläche senkrecht stehenden Normalenvektor bestimmen. Die bestimmte Freifläche ist nun der zusammenhängende Bereich, bei denen der Normalenvektor ebenso aufrecht steht, wie bei dem Bereich vor den Füßen. Die Evaluation des Verfahrens erfolgte nun im Vergleich zu den gelabelten Daten aus dem Flowerbox-Datensatz. Dies führt auf eine Vierfeld-Statistik für das Verfahren. Im Ergebnis ergab sich eine korrekte Klassifikation für über 90% der Pixel auf Basis der realistischen Bilddaten. Die veröffentlichte Software ist im Blind and Vision Support System (BVS) integriert, in der erforderliche Module in der Form eine Graphen mit einander verknüpft werden können- bei Bedarf auch parallel. Eine ähnliche aber gleichzeitig deutlich umfassendere Architektur ist das Robot Operation System (ROS), das noch viele weitere Aspekte der Robotersteuerung abdeckt. Eine wichtige Bibliothek, die auch stark verwendet wurde, ist OpenCV, mit der viele Aspekte der Bildverarbeitung sehr effizient umgesetzt werden kann. Die Entwicklung der Hardware, gerade bei Mobilgeräten, lässt hoffen, dass die entwickelten Verfahren sehr bald in Echtzeit durchgeführt werden können: So können aktuelle Smartphones Spiele Software des Amiga Heimcomputers in einem interpretierten Javascript Emulator auf der Amiga Software Library auf Archive.org nahezu in Orginalgeschwindigkeit darstellen. Für die Umsetzung von Assistenzsystemen für blinde und sehgeschädigte Menschen ist aber auch immer der Austausch mit Nutzern erforderlich: So sind Freiflächen für sich für blinde Personen zunächst Bereiche ohne Orientierbarkeit, da es keinen tastbaren Anknüpfungspunkt gibt. Hier müssen entweder digitale Linien erschaffen werden, oder die Navigation sich weiter nahe an fühlbaren Hindernissen orientieren. Am cv:hci ist der Austausch durch das angeschlossene Studienzentrum für sehgeschädigte Studierende (SZS) unmittelbar gegeben, wo entwickelte Technik sich unmittelbar dem Alltagsnutzen stellen muss. Die entwickelte Freiflächenerkennung war nicht nur wissenschaftlich erfolgreich, sondern gewann auch einen Google Faculty Research Award und die Arbeitsgruppe wurde in der Lehre für ihr Praktikum den Best Praktikum Award 2015 ausgezeichnet.Literatur und weiterführende Informationen D.Koester: A Guidance and Obstacle Evasion Software Framework for Visually Impaired People, Diplomarbeit an der Fakultät für Informatik, Karlsruher Institut für Technologie (KIT), 2013.D. Koester, B. Schauerte, R. Stiefelhagen: Accessible Section Detection for Visual Guidance, IEEE International Conference on Multimedia and Expo Workshops (ICMEW), 2013.

video mit bild kameras kamera bumblebee dazu folge augen technik auto thema kinder mensch szene menschen arbeiten videos unterst umgebung computer aspekte aufnahme daten vorteile austausch hier sprache gps pixel analyse software weg blind auge weise techniken linien deshalb metern damit schritt archive system menge stereo hardware team maschine beispiele roboter literatur dabei einsatz computern das thema personen objekte basis grenzen logo lidar architektur lehre wissenschaft begriff basic multimedia gefahren sehen ausrichtung karte im gespr evaluation punkte fakult institut steuerung ergebnis herausforderung schon vergleich bibliothek verfahren umsetzung genauigkeit situationen abst navigation abstand symbiose fortran aufnahmen ebenso abwesenheit weiterhin autos betrachtung module bereiche bereich berechnung weges bedarf erfassung anlehnung verwendung anwendungen klassifikation graphen schwierigkeiten im ergebnis steigung algorithmen die bewegung die entwicklung identifikation oberk objekten erkennung sensoren robotik stabilit wichtige opencv grunds hindernisse mobilger entfernung praktikum informatik wiederholung das team koester programmierung computer vision baustellen echtzeit fragestellung nutzern verfahrens ankn karlsruher institut mobileye technologie kit arbeitsgruppe robotern assistenzsystemen elektrotechnik referenz augenlicht hindernissen robustheit pixeln dieses prinzip bildelemente diplomarbeit bildverarbeitung bilddaten freifl lasern bewegungssteuerung die evaluation gradienten ieee international conference zur rekonstruktion studienzentrum ein verfahren kreuzkorrelation die erkennung die zuordnung der datensatz normalenvektor modellansatz podcast maschinensprache visually impaired people alltagsnutzen human computer interaction lab
Modellansatz
Papierrechner

Modellansatz

Play Episode Listen Later Feb 5, 2015 78:00


Joachim Breitner veranstaltete im FabLab Karlsruhe einen Workshop auf dem er unter anderem seinen Taschenrechner auf Papier vorstellte. Den Rechner hat er mit einem speziellen Digitalstift realisiert, dessen genaue Funktionsweise analysiert wurde. Im Workshop ging es speziell um den Tiptoi-Stift, der auf dem Papier ein fast unsichtbares Punktemuster analysiert. Dieses Punktemuster macht das Papier zu digitalem Papier. Hier werden immer im Code 16 Punkte zu einem Block zusammengefasst, von denen die Punkte am linken und oberen Rand zur Erkennung, und die restlichen neun Punkte die eigentliche Information als Zahl mit Prüfbits beinhalten. Dabei entsprechen vier Punkte etwa einem Millimeter und daher sind die Muster, die sich auf den aktiven Bereichen wiederholen, mit dem Auge kaum zu erkennen. Die Funktionen des Stifts werden als GME-Dateien wie auf einen USB-Stick kopiert, und diese konnten in einem längeren Prozess zum Großteil analysiert werden. Zunächst wurden die im freien Ogg Vorbis-Format kodierten Tondateien gefunden, die über eine einfache Substitutions-Chiffre verschleiert wurden. Im Folge der weiteren Analyse wurden die Programme zu den Papiermustern gefunden, und aus diesen konnte die Maschinensprache der Stifte im Großteil bestimmt werden. Das System reagiert auf gescannte Codes, und kann dann verschiedene Aktionen wie das Abspielen von Audio, Variablen setzen, Rechnungen durchführen und Variablen abfragen. Ein Rätsel verblieb, warum die berechneten Werte aus den Papiercodes nicht mit den Kennungen in den Programmen übereinstimmten. Dies konnte man durch Wechsel des Stifts in einen Debug-Modus durch Drücken der Minus-Taste beim Anschalten und anschließend der Plus-Taste nachvollziehen, denn dann liest der Stift die in der Maschinensprache verwendeten Codes auf Chinesisch vor. Zum Verständnis braucht man da nur eine Tabelle der chinesischen Zahlen von 1 bis 10. Aber auch diese Zuordnung konnte inzwischen analysiert und gelöst werden. Damit können nun komplett eigene Seiten mit Papier-Code und zugehörigen GME-Programmen von jedem selbst erstellt werden, dazu wurde das tttool entwickelt, mit dem sowohl die Programme in einer speziellen Sprache, wie auch die zugehörigen Punktemuster erzeugt werden können. Das Erstellen druckbarer Seiten erfordert dann nur noch ein geeignetes Grafikprogramm und passende Hintergrundbilder, wie Joachim Breitner im Gespräch mit Sebastian Ritterbusch darlegt. Literatur und Zusatzinformationen J.Breitner: tttool, Das Schweizer Taschenmesser für den Tiptoi-Bastler Mailingliste für das tttool FabLab Karlsruhe e.V. Entropia e.V. Karlsruhe