Software-Entwicklung 21.03.2018, 13:00 Uhr

Blockchain, Chatbots und KI: Die Trends im Überblick

Programmierer haben eine rosige Zukunft vor sich: Neue Technologien wie Chatbots, künstliche Intelligenz, Internet of Things sowie die Blockchain erfordern das Können qualifizierter Software-Entwickler.
Auf den ersten Blick stagniert die Software-Entwicklung zurzeit. Im Vergleich zu den umwälzenden Änderungen der vergangenen Jahre tut sich tatsächlich – zumindest im Hinblick auf die vorherrschenden Standards – momentan wenig. HTML5 hat sich durchgesetzt, die PHP-Gemeinde konnte die wichtigsten Punkte auf der Pendenzenliste mehr oder weniger vollständig bewältigen, Flash – längst totgesagt – ist tatsächlich Geschichte und mobile Apps scheinen soeben das Plateau ihrer Popularität erreicht zu haben. Was nun? Sich zurücklehnen und das Gelernte einfach entspannt in der täglichen Arbeit umsetzen? Das wäre in der Welt der IT fast zu schön, um wahr zu sein.
Auch das offene Comeback einstiger Webdesign-Tabus wie GIF-Animationen scheint auf eine Innovationsflaute hinzudeuten. Nichts könnte weiter von der Realität entfernt sein. Denn vielmehr rückt das Ende der Webentwicklung, wie wir sie heute kennen, nahe. Aktuelle Trends keimen nahezu allesamt jenseits des bisherigen Mainstreams auf und dürften das Ende der klassischen Programmierung für die Online-Seiten einläuten.

Design-Minimalismus

Animierte GIFs machen im Übrigen eine derart gute Figur, dass sie fast unbemerkt inmitten von Design-Minimalismus auftauchen, meist in Form von How-to-Anleitungen auf Unternehmensseiten. Totgesagte leben offenbar doch länger. Denn animierte GIFs sind nahezu so alt wie das Web selbst. Sie sind so unverfänglich in ihrer Simplizität wie bescheiden in ihren Ressourcenanforderungen und gleich­zeitig universell einsetzbar. GIFs decken nur eine geringe Untermenge der Features ab, die eine HTML5-Animation bieten kann, doch daran scheint sich niemand zu stören, solange die GIFs ihre Aufgabe erfüllen. Dank der Verfügbarkeit von Werkzeugen (neben Platzhirsch Photoshop auch Giphy und record.it) will dieses uralte, unverwüstliche Datenformat einfach nicht in die Bedeutungslosigkeit zurückfallen, sondern scheint gerade ein Comeback zu erleben.
Das Comeback von GIFs geht mit der aktuellen Faszination für den Design-Minimalismus einher. Der reflektiert sich vielerorts ausser in interaktiven Animationen – oft anstelle üppiger Ästhetik – auch in lauter Schrift und Viewport-füllender Bebilderung. Einfache animierte Designs mit Kartennavigation sind im Kommen genauso wie endlose Websites, die dem Benutzer einen Scroll-Marathon ab­verlangen. Ob vertikal oder horizontal – wie im Fall von Parallaxen-Scrolling für simulierte Tiefe – ist dabei zweitrangig. Dabei war das Scrollen im Webdesign einst ein Tabuthema. Was hat sich seither geändert?
Zum einen gilt das Smartphone als das meistgenutzte Device. Mobile Nutzer begrüssen das gewohnte, berührungsfreundliche UI-Verhalten auch auf Desktop-Geräten. Inzwischen gilt die im Mobilfunk vorhandene Bandbreite als durchaus angemessen. Zum anderen rendern moderne Webbrowser JavaScript-basierte Interaktivität in HTML5-Websites praktisch in Echtzeit. So ist es kein Wunder, dass sich seitenloses Webdesign nach und nach zum relevanten Trend entwickelt, ähnlich wie Websites im Stil einer mobilen App. Es gibt dafür sogar Frameworks, beispielsweise fullPage.js. Es ist rückwärtskompatibel mit älteren Browsern.

Unverwechselbare Simplizität

Originalität durch unverwechselbare Simplizität lautet die Devise. Eine Website kann sich derzeit am besten durch ausdrucksstarke Animationen, laute Typografie und engagierende Interaktivität absetzen. Brands wissen Originalität zu schätzen und da gibt es für Webschaffende eine Menge Spielraum, um mit Kreativität zu trumpfen. Dennoch gilt: Das wahre Geschehen findet jenseits des Webbrowsers statt, nämlich im Backend.
Traditionelles Webdesign ist tot – liessen Eric Meyer und andere Ikonen des Webdesigns fast einstimmig verlauten. Lang lebe das Experience Design. Der Begriff sei vielen Experten zufolge nicht bloss ein leeres Marketingschlagwort, sondern eine neue Art, über die Webgestaltung nachzudenken. Von Designern sei nun mehr gefragt als visuell ansprechende Formen. Gefordert seien Benutzererlebnisse.
Die Umstellung auf HTML5 hatte längst neue Wege eröffnet, um Webseiten in wahre Erlebniswelten zu verwandeln. Diese Möglichkeiten blieben bisher grösstenteils ungenutzt. Wer sich von der Masse absetzen möchte, müsse nun tiefer in die Trickkiste greifen: zu Methoden und Techniken des Experience Designs.
Lange Zeit schien es, als ob mobile Apps ihren besonderen Status für absehbare Zeit behalten würden. Doch was gestern noch modern und fortschrittlich wirkte, fühlt sich heute für viele schon leicht angestaubt an. Die hohe Popularität von Messaging-Diensten wie Slack, Snapchat oder WhatsApp (immer öfter als Audio-Nachrichten) hatte zur Entstehung von Chatbots beigetragen.

Chatbots als neue Apps

Bei einem Chatbot handelt es sich um eine Software, die mit dem Benutzer via Text- oder Sprachnachrichten in natürlicher Sprache und/oder mithilfe grafischer UI-Elemente und/oder Gesten kommuniziert. Chatbots erweitern Webseiten und mobile Apps um die Fähigkeiten, Fragen zu beantworten, Handlungsanweisungen aus dem Chat aus­zuführen und auf eine Aufforderung des Benutzers hin konkrete Probleme zu lösen. Für den Endbenutzer erübrigt sich dabei der Download einer weiteren App.
Messaging-Apps haben soziale Netze im Hinblick auf die Anzahl monatlich aktiver Nutzer bereits vor zwei Jahren übertroffen. Gleichzeitig scheint die Popularität konventioneller mobiler Apps – gemessen an der Anzahl aktiver Benutzer – je länger, je mehr zu stagnieren. Was diese Trends für die Entwickler mobiler Apps bedeuten, liegt auf der Hand: Chatbots sind die neuen Apps. Wenn es nach ihren Anbietern geht, würden Chatbots die konventionellen mobilen Apps sofort ablösen.
Bei einem rein textbasierten Chatbot tippt der Benutzer seine Anfrage in ein Eingabefeld ein, um mit einem Computer oder einer Cloud-Applikation im Backend zu kommunizieren. Fragen in der Art: «Wo bleibt denn meine Bestellung?» oder «Bis wann muss ich meine Koffer für den Flug einchecken?» kann ein Chatbot auf der Basis vorgefertigter Gesprächsmuster zuverlässig beantworten, nebenbei um ein Vielfaches schneller als ein Kundendienstmitarbeiter. In Folge wird für viele Unternehmen der Kundendienst rund um die Uhr erstmals greifbare Realität. Software-Entwickler sind gefragter denn je.

Chatbots für diverse Anliegen der Kunden

Neue Wege beschreitet unter anderem der Finanzdienstleister TransferWise mit der Chatbot-Technik von Facebook. Das Start-up ermöglicht es den Benutzern, internationale Geldüberweisungen im Chat mit einem Messenger-Bot zu initiieren. TransferWise positioniert sich als «die clevere Alternative für Überweisungen ins Ausland». Der Dienst kann mittlerweile auf über eine Million Kunden in Europa, Australien, den USA und Kanada verweisen. Über die Anzahl der Chatbot-Nutzer schweigt sich TransferWise allerdings aus. Dafür ist bekannt, wie viele Programmierer sich mit Chatbot-APIs auseinandersetzen: Wit.ai zählte vor gut einem Jahr schon satte 100 000 Entwickler.
Passagiere von KLM können ihre Bordkarten mittels Chatbot anfordern
Aktiven Kundensupport via Facebook-Messenger bietet unter anderem auch die Fluglinie KLM. Die Übergabe von Flugtickets nach einer Online-Bestellung, die Check-in-Prozedur und der Empfang der Bordkarte lassen sich bereits komfortabel (und hoffentlich auch sicher) per Chatbot erledigen. Facebook selbst musste jedoch innerhalb des ersten Jahres nach der Vorstellung der Plattform eine Fehlerrate in Höhe von 70 Prozent zugeben. Einige dieser Anwendungen sollen sogar ab und zu von Menschen im Backend beaufsichtigt und manuell angeschoben worden sein. Damit es nicht hapert, müssten Chatbots wohl einfacher, unaufdringlicher und unterhaltsamer werden. Dass es auch anders geht, beweisen zahlreiche Erfolgsgeschichten, zum Teil auch ausserhalb von Chatbot-Apps: in reinen Webseiten.
Der Recruiting-Chatbot des Zürcher Marktplatzes Siroop.ch ersetzt eine konventionelle Webseiten-Navigation
Der Zürcher Online-Marktplatz Siroop hat einen Teil seiner Webpräsenz mit einem UI im Stil eines Chatbots ver­sehen. Unter jobs.siroop.ch können sich potenzielle Bewerber mit Siroops Chatbot-Navigation auseinandersetzen. Auf Wunsch führt der Bot mit dem Kandidaten sogar ein simuliertes Job-Interview durch und findet gleich auch passende Stellenangebote. Das Ganze verläuft zeitsparend und trägt zur Auflockerung bei.

Krieg der Chatbots

Die Entwickler von Chatbots haben inzwischen echt die Qual der Wahl: Über 100 Frameworks buhlen um die Gnade der Programmierer. Vom unscheinbaren Platzhirsch Wit.ai über Microsofts Bot Framework, die universelle Chatbot-Plattform API.ai mit Fähigkeiten zum maschinellen Lernen bis hin zur Python-Bibliothek ChatterBot – es findet sich etwas für (fast) alle Ansprüche. Ein Krieg der Chatbot-Plattformen und KI-Assistenten – angefangen von Apple Siri über Facebook Messenger/M, Google, Microsoft Cortana bis hin zum Schwergewicht Amazon Alexa – ist offenbar lediglich eine Frage der Zeit.
Die ersten kommerziellen Anwendungen von Chatbots waren vergleichsweise simpel gestrickt: Sie folgten einem vordefinierten Gesprächsablauf. Auch heute können die Benutzer eines Chatbots mithilfe der Anwendung Informa­tionen vom automatisierten Kundendienst anfordern oder Bestellungen aufgeben, nicht jedoch einen philosophischen Diskurs führen. Weicht der Benutzer in seinen Anfragen vom Skript ab, zeigt sich ein Chatbot schon mal überfordert. Auch sind Chatbots weit davon entfernt, die Emotionen des Gegenübers oder Nuancen wie ironische Bemerkungen aus dem Kontext des Gesprächs ablesen zu können. In der Zukunft ist aber eine Menge mehr zu erwarten.

Training für die nötige Flexibilität

Für den Nutzer gibt es nahezu unzählige Möglichkeiten, die gewünschte Handlung des Chatbots anzufordern. Ein Chatbot sollte daher in der Lage sein, auch Anfragen mit alternativen Formulierungen korrekt zu interpretieren. Bei der Eingabe «Wo ist meine Bestellung?» und «Wann bekomme ich meine Bestellung?» handelt es sich im Grunde genommen um dieselbe Problemstellung: Der Kunde wartet auf sein Produkt. Um lebensechte alternative Formulierungen zu implementieren, sollten Chatbots anhand echter Daten trainiert werden. Diese Lernphase dürfte im Ideal­fall eigentlich niemals aufhören. Entwickler sind gut beraten, sich auch nach der Bereitstellung der Chatbot-Anwendung regelmässig durch Logs von Text-Chats durchzuhangeln, um zu ermitteln, wo es eventuell noch hapert.
Produktive Chatbots können zum Teil eigenständig weiterlernen, sofern sie mit einem passenden Interface ausgestattet sind. Meldet der Nutzer etwa «Mir fehlt die Wasserpumpenzange», könnte ein Chatbot, der mit der Zange in Kombination mit einer Bestellung nichts anzufangen weiss, den Ausnahmezustand wie folgt handhaben:
Bitte Zutreffendes eingeben (A, B oder C):
  • A: Ihr Paket ist verloren gegangen oder wurde beschädigt bzw. nicht vollständig zugestellt.
  • B: Sie haben die Rechnung nicht erhalten.
  • C: Sie möchten mit einem unserer Mitarbeiter chatten.
Aus der Antwort des Nutzers (A, B oder C) kann der Chatbot lernen, was es mit der Wasserpumpenzange im Kontext der Bestellung auf sich hat.
Doch damit hat sich die Sache noch lange nicht er­ledigt. Denn böswillige Nutzer könnten dem System leicht Unsinn antrainieren. Allein aus diesem Grund ist es zwingend notwendig, lernenden Chatbots auch Grenzen zu setzen und den Ablauf echter Chats mithilfe der Logs durch Menschen beaufsichtigen zu lassen. Im Endeffekt nutzen Chatbots idealerweise mehrere Methoden der Klassifizierung von Anfragen, und zwar:
  • Erkennung von Übereinstimmungen der Benutzereingabe mit Vorlagen,
  • erweiterte Mustererkennung durch Algorithmen und
  • heuristische Entscheidungsfindung, typischerweise mithilfe (lernender) künstlicher neuronaler Netze.
Bei der Mustererkennung anhand von Vorlagen genügt bereits eine alternative Schreibweise oder Zusammenstellung der Worte, um den Chatbot ausser Gefecht zu setzen. Erweiterte Mustererkennung durch Algorithmen kann hier Abhilfe schaffen. Ein solcher Algorithmus ist der NLP- und Textklassifizierungsklassiker Multinational Naive Bayes, ein überwachter Lernalgorithmus auf der Grundlage von Bayes Theorem mit der naiven Annahme der Unabhängigkeit zwischen jedem Paar von Merkmalen.
Der Chatbot klassifiziert die Anfrage auf der Basis errechneter Wahrscheinlichkeiten, die sich aus starren Vorgaben des eingesetzten Modells ableiten lassen. Diese Methode erweitert das Verständnis des Bots, kann allerdings weder einen Volltreffer garantieren noch dazulernen.
Damit das eingesetzte Modell dynamisch lernen kann, müssen Chatbot-Entwickler tiefer in die Trickkiste greifen. Immer öfter kommen hierbei künstliche neuronale Netze zum Einsatz. Durch eine ausgiebige Trainingsphase zur Ermittlung der optimalen Gewichtung der künstlichen Sy­napsen lässt sich die Genauigkeit der Klassifizierung einer Anfrage durch den Chatbot wesentlich erhöhen.

Vorabdiagnose per Chatbot

Ein Chatbot verwandelt das Smartphone in eine virtuelle, KI-gestützte Arztpraxis
Einen kleinen Vorgeschmack auf die Fähigkeiten künftiger Chatbots gibt die App Your.MD. Sie nutzt künstliche Intelligenz – konkret ein proprietäres künstliches neuronales Netz, Maschinelles Lernen (ML) und Natural Language Processing (NLP) – in Kombination mit menschlicher Intelligenz, indem es ab und zu auch echte Ärzte zurate zieht. Benutzer der App können mit dem Chatbot über ihre Gesundheit plaudern, um kostenfrei eine Vorabdiagnose ihrer Symptome zu erhalten und auf mögliche Ursachen ihrer Gesundheitsprobleme sensibilisiert zu werden. Der Chatbot ist sowohl im Web als auch als App für Android und iOS, eine Erweiterung für Facebook Messenger, Skype, Slack und Telegram verfügbar sowie mittlerweile für mehr als 60 Prozent der Weltbevölkerung zugänglich. Your.MD rühmt sich einer Million aktiver Benutzer, denen das System eine «medizinisch zertifizierte Beratung» gewährleisten möchte. Und das ohne den Zugang zu einem Mediziner, via reiner Ferndiagnose per KI-Chatbot. Das Beispiel mag zwar nicht gerade ein erstrebenswertes Modell der Krankenversorgung repräsentieren, aber es illustriert eindrücklich die Fähigkeiten von künstlicher Intelligenz (KI).

KI für die Massen

Als Sprachassistenten wie Amazon Alexa, Apple Siri oder Microsoft Cortana in den Alltag der Endanwender Einzug hielten, läuteten sie die Ära künstlicher Intelligenz der Konsumentenklasse ein. Inzwischen haben sich einige von ihnen zu weitaus mehr als nur einer Schnittstelle zwischen Mensch und Maschine gemausert: Sie sind Plattformen für die Entwicklung (künstlich) intelligenter Software.
Die simple Statusanzeige von Amazons Alexa versteckt komplexe Technologie
Künstliche Intelligenz steckt inzwischen praktisch hinter so gut wie jeder aktuellen Innovation. Laut einer IDC-Studie sollen bis 2019 etwa 40 Prozent aller digitaler Transformationsinitiativen und praktisch alle erfolgreichen IoT-Implementierungen KI-gestützt ablaufen und über kognitive Fähigkeiten verfügen. Denn anders als die Leistung menschlicher Fachimportexperten lässt sich die Verfügbarkeit von KI-Lösungen bedarfsgerecht in Echtzeit skalieren – und zwar mit minimalen Zusatzkosten.
Überall, wo Fachkräfte auf dem Arbeitsmarkt nicht schnell genug sind, können in Zukunft KI-Systeme in die Bresche springen. Den ersten konzeptionellen Beweis lieferte Amazon mit Alexa auf Geräten der Echo-Familie.

Chatbots fürs Banking

Die UBS tüftelt bereits an Skills und Chatbots für die Vermögensverwaltung mit Amazon Alexa. Ein Pilotprojekt läuft unter anderem in Grossbritannien. Der UBS-Chatbot soll anfangs über allgemein zugängliche Wirtschaftskennzahlen wie die Inflationsrate plaudern können; in Zukunft sei eine personalisierte Vermögensberatung durchaus nicht auszuschliessen. Anlageberater, die sich bisher vorwiegend ums Investieren gekümmert haben, müssten aufwachen und einsehen, dass sie aufgrund der digitalen Revolution irgendwann keinen Job mehr haben könnten, warnt Stephan Hässig, der Leiter Vermögende Privatkunden der UBS Schweiz. Für Entwickler gilt allerdings eher das Gegenteil: Künstliche Intelligenz schafft neue Karrierechancen.
Wie die Programmierer ihre bestehenden Kenntnisse einsetzen können, um für eine KI-Engine zu entwickeln, illustriert das Konzept der Skills für Amazon Alexa. Unter Skills versteht der Anbieter Erweiterungen, die Alexa neue Fähigkeiten beibringen.

Smarte Lautsprecher

Amazon hat eine ganze Reihe Alexa-fähiger Geräte für das smarte Zuhause eingeführt: Echo, Echo Plus, Echo Dot, Echo Show, Echo Spot und nicht zuletzt FireTV. Neben Amazon haben sich auch Apple und Google am smarten Zuhause probiert und hätten sich fast die Zähne daran ausgebissen. Nur Amazon ist es gelungen, ein Ökosystem von Lösungen aufzubauen und die Anwendungs­gebiete von Alexa so weit zu erweitern, dass der Assistent mittlerweile vielerorts zur Familie gehört. Laut einer IDC-Studie sind Kunden von Amazons Appstore eher geneigt, für Apps und andere Software die Kasse klingeln zu lassen als Kunden anderer führender App-Plattformen.
Echosim.io liefert Informationen zur Diagnose von Benutzerinteraktionen mit der Alexa-Engine nahezu in Echtzeit
Google hatte im Jahre 2014 das Unternehmen Nest für stolze 3,2 Milliarden US-Dollar erworben und kam damit im Grunde genommen in den Besitz eines digitalen, lernenden Thermostats und eines intelligenten Feueralarms. Doch trotz Akquisitionen im Wert von insgesamt einer halben Milliarde US-Dollar war nach zweieinhalb Jahren bei Google in Sachen Nest die Luft raus. Auch Apple hat sich im Bereich Connected Home probiert. Apple TV 4K ist zwar technisch solide und auf verhaltene Zustimmung gestossen. Aber der wirkliche Durchbruch gelang Apple nicht. Im Gegensatz dazu hatte Amazon mit den Alexa- Geräten (anders als einst beim Kindle) auf Anhieb einen Knaller gelandet. Technisch sind die Produkte der Alexa-Serie recht simpel gestrickt: Ein Bluetooth-Lautsprecher bietet die Schnittstelle zum eingebauten digitalen Assistenten, dessen Spracherkennung den Benutzer aus dem Häuschen lockt. Nachladbare Skills erweitern den Funk­tionsumfang um Trivia-Spiele, Ausbildungskurse und vieles andere. Das Beste an der Alexa-Plattform stammt gar nicht aus dem Hause Amazon: Alexa-Skills machen den Unterschied. Wer bei der Skills-Entwicklung erste Schritte unternehmen möchte, kann den kostenfreien Dienst Echosim.io von iQuarius Media einspannen, ohne erst ein Alexa-fähiges Gerät erwerben zu müssen. Die Konsole liefert Informationen zur Diagnose von Benutzerinteraktionen mit der Alexa-Engine quasi in Echtzeit.

Alexa: Erfolgreich dank Skills

Einen Teil ihres Erfolgs verdankt die Alexa-Plattform der Simplizität der Entwicklung von Skills. Developer können bereits bestehendes Know-how nutzen. Das Design der Benutzerinteraktionen mit Alexa erfordert die Nutzung von Amazons webbasierten Tools; im Backend hat der Coder mehr Flexibilität. Zur Auswahl stehen derzeit zwei Optionen:
  • AWS Lambda ARN (serverless): Der voll verwaltete serverlose Computing-Service von Amazon führt Programmcode ereignisgetrieben aus.
  • HTTPS (bereitgestellt durch einen beliebigen Webserver): Der Anwendungscode kann von HTTPS-Webservern ausgeführt werden.
Serverloses Computing: eine Lambda-Funktion als Alexa-Skills-Endpunkt
Die Bereitstellung von AWS Lambda durch Amazon illustriert einen weiteren Trend: Serverless Computing. Bei diesem verwalteten Dienst werden Anfragen ereignisgetrieben abgearbeitet. Es läuft alles ohne (sichtbare) Server-Instanzen ab. Für die bedarfs­gerechte Skalierbarkeit und Hochverfügbarkeit zeichnet AWS verantwortlich. Die Flut von Big Data aus IoT-Sensorik der smarten Fabrik, Logistik und der Gesellschaft 4.0 mit dem smarten Zuhause benötigt leistungsstarke Algorithmen zur Auswertung der Daten und eine (semiautonome) intelligente Steue­rung der Endgeräte. Die Entstehung von Marktplätzen für Algorithmen ist die Folge. Googles Kagg­le.com und Algorithmia.com sind die neuen App-Stores. Anwendungs­entwickler können das Wissen von Data Scientists zurate ziehen und die eigene Software mit daten­getriebenen Features auf Basis fortgeschrittener Algorithmen anreichern. Beispiele solcher Algorithmen, die im Cloud-Backend einer App massive Datenmengen interpretieren können, fallen in eine oder mehrere Kategorien. Zu diesen zählen:
  • Textinterpretation und Verarbeitung natürlicher Sprache: Extrahieren von Adressdaten aus beliebigen Texten, Sentimentanalyse einer Marke in sozialen Netzen, Ausführung von Sprachbefehlen (zum Beispiel Baidu), Aufspüren von Phishing-Webseiten.
  • Empfehlungssysteme: Affinitätsanalyse für Inhalts- oder Warenkorbempfehlungen und vieles andere, wie sie die sozialen Netzwerke Pinterest (mit der Technik des ein­gekauften Start-ups Kosei) und Twitter mit dem Feature Curated Timelines praktizieren.
  • Klassifizierung von Daten: Interpretieren von Bildmotiven in Videos (zum Beispiel zur Bereitstellung einer Suche nach visuellen Merkmalen oder zum maschinellen Taggen von Inhalten); diese Form des maschinellen Lernens hat unter anderem der Dienst Yelp zur Perfektion entwickelt.
  • Deep Learning und prädiktive Analyse: Diagnostizieren von Krankheiten anhand von Daten aus medizinischen Instrumenten (eine Domäne von IBM), Klassifizieren von Personen anhand von Fotos nach demografischen Merkmalen wie Alter oder Geschlecht, Erkennen von Kauf­auslösern (Spezialist: Salesforce Einstein), Optimieren von Konversionsraten im E-Commerce (zum Beispiel der Dienst Edgecase) und vieles andere.
Mit der wachsenden Bedeutung von Daten nimmt auch die Datenvisualisierung an Gewicht zu. Unverfängliche Methoden zum Visualisieren einer Datenquelle sind gefragter denn je. Die aufkeimende Algorithmenwirtschaft fördert die Entstehung ausgefeilter Webdienste und demokratisiert den Zugriff auf ausgefeilte KI-Logik für smartere Webanwendungen. Die Möglichkeiten sind vielversprechend. Dank leistungsstarker Frameworks müssen Webentwickler neuerdings auch vor Deep Learning und prädiktiver Modellierung nicht mehr haltmachen. Die Webagentur Label305 hat nach nur vier Wochen Tüftlerei ein Vorschlagssystem entwickelt, das menschlichen Dolmetschern des Crowd-Übersetzungsdiensts Fairlingo.com beim Suchen der richtigen Worte auf die Sprünge hilft. Das System nutzt ein neuronales Netzwerk auf der Basis von TensorFlow in Python und wurde für Niederländisch–Englisch auf einer Nvidia-Grafikkarte (GeForce GTX 1080 Ti) trainiert.
Frameworks wie TensorFlow erlauben den Aufruf sehr komplexer mathematischer Funktionen und den Aufbau mehrschichtiger neuronaler Netze mit nur wenigen Zeilen Source Code. Für Webentwickler gilt es, sich nicht einschüchtern zu lassen. Wer eine noch höhere Abstraktionsebene wünscht, kann hierzu noch weitere quelloffene Bibliotheken zurate ziehen – im Fall von TensorFlow zum Beispiel tflearn.

Dapps und smarte Verträge

Aus der Feder der Krypto-Enthusiasten stammt eine völlig neue Art verteilter Anwendungen, deren Popularität in der Start-up-Szene geradezu explodiert: die Dapps (kurz für Decentralized Apps). Hierbei handelt es sich um quelloffene verteilte Anwendungen, die ihre Daten und relevante Ereignisse kryptografisch beglaubigt in einer Blockchain aufzeichnen. Dapps können eine eigene Währung schaffen, um den Nutzern gewisse Anreize zu bieten. Doch Krypto-Währungen und -Tokens sind dabei eigentlich nebensächlich. Als einer der wichtigsten Anwendungsgebiete von Dapps gelten vielmehr die smarten Verträge.
Bei einem smarten Vertrag handelt es sich um Software-Code, der eine Vereinbarung zwischen zwei oder mehr Vertragsparteien darstellt und alle relevanten Ereignisse in einem Distributed Ledger (beispielsweise einer gemein­samen Blockchain auf Ethereum) aufzeichnet. So können IoT-Produktionsanlagen im Rahmen eines smarten Vertrags selbst Bestellungen von Ersatzteilen aufgeben, automatisch Zahlungen ausführen, Vertragsstrafen geltend machen und dergleichen mehr.
Smarte Verträge werden in der Ethereum Virtual Machine ausgeführt. Sie zeichnen vertragsrelevante Ereignisse in der zugehörigen Blockchain auf und können die Einhaltung getroffener Vereinbarungen überwachen. Sie können ausserdem Agenten – die Bots – ins Leben rufen; diese führen dann eine Software-gestützte Existenz in der Blockchain und können gegebenenfalls mit Nutzern wie ein Kundendienstmitarbeiter kommunizieren.
Hintergrund
Die Blockchain Revolution
Der Begriff «Blockchain» bezeichnet ein Verfahren zum Protokollieren und Beglaubigen von Transaktionen durch den Einsatz von Kryptografie-Software. Es ist ein verteiltes System der Informationsverarbeitung ohne die Beteiligung einer Zwischenstelle. Das entstehende Protokoll aller Transaktionen ist eine verteilte Datenbank und nennt sich ebenfalls Blockchain (Distributed Ledger Technology).
Jeder Teilnehmer einer Transaktion benötigt eine Wallet, also ein digitales Portemonnaie, bestehend aus einem öffentlichen und einem (geheimen) privaten Krypto-Schlüssel. Mit dem öffentlichen Schlüssel werden alle Transaktionen des betreffenden Benutzers gekennzeichnet. Mit dem privaten Schlüssel bestätigt er seine Identität als der Besitzer der Wallet. Der öffentliche Schlüssel entspricht damit etwa einer gewöhnlichen Kontonummer im konventionellen Zahlungsverkehr. Der private Schlüssel erfüllt etwa die Aufgabe der Unterschrift des Kontoinhabers, die ausser ihm niemand sonst leisten kann.
Die Blockchain ist ein verteiltes System: Die Transaktionsabwicklung läuft in einem Netzwerk auf spezieller, autorisierter Hardware ab. Die einzelnen Geschäftsabschlüsse werden auf diese Weise bezeugt, kryptografisch bekundet, gebündelt, an die Blockchain-Transaktionskette angehängt und via Netzwerk an die übrigen Teilnehmer repliziert. Dieses verteilte System übernimmt die Aufgabe virtueller Notare, Buchhalter und Rechnungsprüfer. Die Kontrolle über eine Blockchain liegt bei der Mehrheit der Teilnehmer, weswegen das System als grundsätzlich manipulationssicher gilt. Kein einzelner Teilnehmer kann ohne Weiteres das Steuer an sich reissen, so zumindest die Theorie.
Die Blockchain ist das erste native Medium der digitalen Ära für den direkten Austausch von Werten zwischen einzelnen Marktteilnehmern (Peer-to-Peer). Auf der Grundlage der Blockchain-Technologie entstehen völlig neuartige Anwendungen: die Decentralized Applications oder kurz Dapps.
Viele Dapps generieren eine Art systeminterner Währung, die Tokens. Sie sollen für die Gemeindemitglieder finanzielle Anreize schaffen, um das betreffende Projekt zu unterstützen. Als Folge entwickelt sich die Technologie in Form praktischer Anwendungsszenarien rasant weiter.
Das Innovationstempo ist atemberaubend. Inzwischen sind sogar mehrere Programmiersprachen entstanden, die auf smarte Verträge spezialisiert sind; die wohl beliebteste ist eine JavaScript-ähnliche Sprache namens Solidity. Sie verfügt über einen eigenen Compiler, der die Skripte in Bytecode für die Ethereum Virtual Machine umwandelt.
Diese Art eines Vertrags erlaubt es einem Teilnehmer, beliebige Schlüssel-Wert-Paare in der Blockchain aufzuzeichnen und anderen Nutzern, diese Informationen abzurufen. So könnte ein Nutzer beispielsweise seine E-Mail- Adresse oder Handy-Nummer in der Blockchain aufzeichnen, um für aktuelle und zukünftige Transaktionspartner erreichbar zu sein. Die eigentliche Ethereum-Adresse eines Nutzers ist nicht an seine Identität, sondern lediglich an den privaten Schlüssel gebunden, mit dem sich der Betroffene zwar authentifizieren kann, aber nicht auffinden lässt.
Smarte Verträge sind für Unternehmen der letzte Schrei punkto Effizienz und Wirtschaftlichkeit. Die Technologie verspricht massive Kostensenkungen bei gleichzeitiger Steigerung der Ausführungsgeschwindigkeit von Trans­aktionen. Das angestrebte Resultat ist die Automatisierung von Geschäftsabläufen durch die Anbindung von IoT-Endgeräten an eine Blockchain, die sich mithilfe smarter Verträge ereignisgetrieben und autark verwaltet. Das etwas utopische Leitbild ist unter dem Akronym DAO (Decentralized Autonomous Organization) bekannt. Unternehmen versprechen sich von der Blockchain-Technologie enorme Wettbewerbsvorteile. Auch gibt es bereits zahlreiche praktische, handfeste Lösungen, die sich eben diese Vorteile zunutze machen. Ein Beispiel ist das Insurtech Lemonade. Das Start-up erlaubt es den Versicherten, ihre Schaden­ersatzansprüche per mobiler App einzureichen. Der Versicherer bearbeitet die Anträge innerhalb von drei Minuten und zahlt sie automatisch – und verzögerungsfrei – an die Ver­sicherten aus. Blockchain-Technologie macht es möglich.
Die verteilte Natur einer Blockchain, die bei smarten Verträgen die Konsensfindung und die Manipulations­sicherheit sicherstellen soll, erschwert allerdings gleichzeitig die Anbindung smarter Verträge an externe APIs. Es geht schon, allerdings nur über Umwege.

Big Data aus IoT-Sensorik

Der Markt für IoT-Betriebssysteme ist stark fragmentiert. Die Gewährleistung einer reibungslosen Interoperabilität zwischen smarten Objekten verschiedener Hersteller unter Einhaltung höchster Sicherheit gestaltet sich in Ermangelung fester Standards derzeit etwas kompliziert. Eine leistungsstarke IoT-Plattform gehört bei unternehmenskritischen IoT-Projekten dazu. Hinzu kommt: Die Entstehung von Edge Computing erfordert neue Architekturmuster, nicht zuletzt auch für mobile Apps. Diese stecken noch in den Kinderschuhen, doch der Bedarf ist enorm.
Android Things ist eine leichtgewichtige Distribution von Android. Damit möchte Google das intelligente Zuhause erobern. IoT-Geräte anderer Anbieter müssen zur Gewährleistung von Interoperabilität mit Android-Thing-Endpunkten Googles Weave-Protokoll beherrschen und ein Zertifizierungsprogramm von Google durchlaufen. Mit Weave kann Google Home unter anderem mit smarten Glüh­birnen, Lichtschaltern, Stromsteckern und Thermostaten kommunizieren. Derzeit fehlt es an IoT-Anwendungen, sodass die Plattform noch kaum praktische Relevanz besitzt, was sich jedoch in Zukunft ändern könnte.
Das quelloffene IoT-Betriebssystem Contiki trumpft mit effizientem Speichermanagement und fortschrittlicher Unterstützung drahtloser Vernetzung auf. Den leistungsstarken IPv6-Stack hatte der Netzwerkriese Cisco beigesteuert. Zu den Stärken von Contiki zählen ausgereifte Entwicklungswerkzeuge, darunter Cooja, ein leistungsstarker Netzwerksimulator zum Debuggen von Sensornetzen, den WSNs (Wireless Sensor Network). Contiki fühlt sich unter anderem in vernetzten Parksensoren, Strassenlaternen und auch in Thermostaten zu Hause.
Im Inventurroboter Tall von Sime Robotics werkelt Ubuntu for IoT von Canonical auf Intel-Hardware
Der Linux-Anbieter Canonical hat mit Ubuntu for the Internet of Things eine spezielle IoT-Edition des Betriebssystems lanciert. Das System bietet erweiterte Sicherheits-Features und lässt sich dank der transaktionalen Update-Engine Snaps auf dem neusten Stand halten. Mit Snaps hat Canonical ein universelles Binärformat für Linux-Pakete geschaffen, die sich mit jeder beliebigen Linux-Distribution nutzen lassen. Snaps sollen sichere Updates mit transaktionalen Rollbacks ermöglichen. So entsteht eine «kognitive Beziehung zwischen der Cloud und den Edge-Geräten im Netzwerk», sagt Mac Devine, CTO für Schwellentechnik und Innovation bei IBM. Drohnen und Roboter auf der Basis von Ubuntu lassen sich sogar aus der Ferne mit neuer Software aktualisieren. Das Robotic Operating System (ROS) setzt auf Ubuntu auf. Zu den unterstützten Hardware-Plattformen zählen Intel Joule, Parrot, Qualcomm DragonBoard, Samsung Artik und Simbe Robotics.
Canonical ist dem Industrial Internet Consortium beigetreten und baut sein Netzwerk von Partnerschaften rund um IoT intensiv aus. Im November 2017 hat der Anbieter offizielle LTS-Images von Ubuntu für die OpenStack-Plattform von T-Systems bereitgestellt.

Eingebaute Sicherheit

Anfang Jahr ist der Sicherheitsspezialist Kaspersky mit einem eigenen Betriebssystem auf den IoT-Zug auf­gesprungen. Das Betriebssystem basiert auf der Flask- Architektur (Flux Advanced Security Kernel), die sich zuvor bereits in den Security-fokussierten Distributionen SELinux und SEBSD bewährt hatte. Es nutzt eine globale Sicherheitsrichtlinie (default deny), die jegliche Aktivitäten standardmässig verweigert. Alle nicht explizit freigeschalteten Anwendungen können nicht ausgeführt werden. Alle Treiber sind vom Kernel isoliert. Ein unabhängiger sicherer Hypervisor (KSH) und ein Kommunikationssystem für sichere Interaktionen zwischen verschiedenen Komponenten des Betriebssystems (KSS) runden das Angebot ab.
Mit Windows 10 IoT Core adressiert Microsoft nicht nur etablierte Unternehmen mit einem Bedarf an IoT-Geräten, sondern – in Anerkennung der Innovationskraft individuel­ler Erfinder – auch Start-ups, Entwickler sowie Bastler. Zu den Stärken von Windows 10 für IoT zählen Microsofts Entwicklerwerkzeuge der Visual-Studio-Familie und die darauf eingespielten IoT-Dienste von Microsoft Azure. Für Unter­nehmen, die bereits für die Universal Windows Platform entwickeln und/oder Azure nutzen, ist es damit nur ein Katzensprung, ein IoT-Projekt zu lancieren. Mit dem Quelltexteditor Visual Studio Code holt Microsoft neuerdings auch Benutzer von Linux und OS X mit ins Boot. Das quelloffene Projekt Riot OS basiert auf offenen IoT-Standards. Das Betriebssystem ist kostenfrei, zeichnet sich durch einen geringen Stromverbrauch und sehr moderate Ressourcenanforderungen aus. Es verfügt zudem über einen Mikrokernel, beherrscht Datenverschlüsselung, bietet mehrere Netzwerk-Stacks und unterstützt eine sehr grosse Vielfalt an Hardware-Devices.

Vorhersagen, wann das Triebwerk ausfällt

VxWorks RTOS von Wind River Systems (einer Tochter des Chipriesen Intel) zählt zu den führenden Echtzeit­betriebssystemen für kritische Infrastrukturen. Das System rühmt sich zahlreicher Zertifizierungen in sicherheitssensiblen Branchen wie der Luftfahrt und Medizin. Zu den Anwendern zählen unter anderem die Konzerne BAE Systems, Boeing und Bosch Motorsport. Letzterer nutzt VxWorks unter anderem als Betriebssystem für die Motorsteuerung in den High-Endurance-Rennwagen.
Ein IoT-Betriebssystem bildet den grundlegenden Baustein für die Umsetzung von IoT-Projekten, ist aber bei Weitem nicht das einzige Element einer IoT-Implementierung. Eine Anbindung an analytische Systeme und Management-Werkzeuge gehört ebenfalls dazu. Eine solche IoT-Plattform speziell für Anwendungen der Industrie 4.0 hat Siemens unter dem Namen MindSphere auf der Basis von SAP HANA entwickelt. Jedes Unternehmen könne seinen Maschinenpark an MindSphere anbinden, sagt Florian Beil, Head of Technical Sales and Mobilization, Data Services, Siemens Digital Factory. Das offene Ökosystem sei die treibende Kraft hinter dem Erfolg von MindSphere. Ein Unternehmen könne beispielsweise die Sensordaten eines Triebwerks erfassen. So liesse sich vorhersagen, wann das Triebwerk zusammenbricht und welches Bauteil den Ausfall ver­ursacht. Dadurch könne man Betriebsstörungen verhindern und Geld sparen.

KI für die Cyber-Abwehr

Ein überaus fruchtbares Betätigungsfeld für Entwickler keimt im Bereich der Cyber-Abwehr auf. Am 25. Mai 2018 tritt die europäische Datenschutz-Grundverordnung in Kraft. Die neue Rechtslage ruft bei Unternehmen das Thema der Cyber-Sicherheit auf den Plan. Was die Situation zusätzlich erschwert, ist die Tatsache, dass sich die Landschaft von Cyber-Bedrohungen im Lauf der letzten Monate massiv ver­ändert hat – und sich auch weiter stetig zu ändern scheint. Die neue dynamische Bedrohungslage überfordert sehr oft die Administratoren der betroffenen Systeme; gefragt sind daher Entwickler mit DevSecOps-Kompetenz.
Noch nie war die Bedrohungslage so gravierend und die Angriffsvektoren so differenziert und wandlungsfähig. Denn die künstliche Intelligenz ist ein zweischneidiges Schwert. Wer möchte sich schon mit maschinell lernender Malware auseinandersetzen – doch eben dieses Szenario kommt auf die Unternehmen zu. Kryptowährungen wie Bitcoin haben den aktuellen Boom der Ransomware erst überhaupt möglich gemacht. Die Zahlungsmittel ermöglichen anonyme Transaktionen, die sich nicht annullieren lassen. Auf diese Weise ist für die Täter ein Traum wahr geworden: die problemlose Finanzierung ihrer perfiden Malware-Aktivitäten durch Erpressung.

Firmen-IT als Zielscheibe

Zum bevorzugten Ziel der Attacken wurde prompt die Unternehmensinformatik. Nicht nur verfügen die Unternehmen viel eher über die finanziellen Mittel, sondern sie besitzen oft auch die Motivation zur Zahlung von Lösegeld: Geschäftskritische Daten wie Kundendatenbanken mit persönlichen Informationen der Betroffenen, steuerlich relevante Finanzdaten, proprietärer Software-Code, technische Spezifikationen von Produktionsverfahren und andere ähnliche Betriebsgeheimnisse setzen die Betroffenen unter Zugzwang. Der Verlust relevanter Daten, das Bekanntwerden von Geschäftsgeheimnissen oder eine Betriebsstörung durch das Fehlverhalten von Computersystemen kann für die betroffene Organisation katastrophale Folgen haben. Eine typische Forderung nach Lösegeld beläuft sich derzeit auf umgerechnet durchschnittlich knapp 700 Franken, fand der IT-Security-Spezialist Symantec heraus. Hingegen berichtete IBM von vereinzelten vier- und fünfstelligen Lösegeldsummen. Die dafür verwendete Ransomware fällt generell in eine von zwei Basiskategorien:
  • Locker-Ransomware schränkt die Funktionsfähigkeit eines Computers ein und fordert selbstständig Lösegeld für die Freischaltung (zum Beispiel verhindert Petya die Nutzung der verseuchten Computer, indem sie den Master Boot Record manipuliert).
  • Crypto-Ransomware nutzt typischerweise eine bruch­sichere Verschlüsselung, um Datenbestände in Geiselhaft zu nehmen (zum Beispiel die Ransomware Locky). Sie verlangt dann Lösegeld unter Androhung fortschreitender Datenvernichtung (Jigsaw und andere).

IoT rückt in den Fokus

Im Zuge der digitalen Transformation dürfte sich die Plage der Ransomware von der Unternehmens-IT auf IoT-Infrastrukturen wie Fahrzeuge oder Fertigungsroboter ausweiten. Eine Ransomware-Attacke kann das laufende Geschäft zum Stillstand bringen, unternehmenskritische Daten vernichten, die Produktivität senken und nebenbei noch einen Imageverlust verursachen. Die Zahlung von Lösegeld erscheint da vielen Verantwortlichen als eine vertretbare Methode der Krisenbewältigung. Doch weit gefehlt. Der Anstieg zielgerichteter Ransomware gegen handverlesene Opfer, wovon Symantec im Laufe des letzten Jahres berichtete, hat diese Dynamik gekippt. Wer Lösegeld zahlt, erkauft sich neue Attacken und gilt von nun an als leichte Beute.
Mit der Entstehung neuer Geschäftsmodelle rund um den Vertrieb von Ransomware haben sich kriminelle Entwicklungsschmieden in eine neue Liga des Übels hineinkatapultiert. Ransomware wie Cerber, Cryptolocker oder Locky gibt es als Do-it-yourself-Kits im Preisbereich zwischen um­gerechnet 30 und 3000 Franken zu kaufen. Viele dieser Tools sind sicherlich einfach Ramsch. Doch darum geht es nicht: Mithilfe dieser Malware-Kits können Täter, die hinter den Ohren ansonsten noch grün sind, ihre Opfer bereits mit Löse­geldforderungen terrorisieren. Als Top-Bedrohung gilt Ransomware as a Service. Der Einsatz KI-gestützter Lösungen zur Abwehr von Ransomware, insbesondere im Rahmen von DevSecOps-Initiativen, nimmt zu. Trotzdem gilt: Vorsorge statt Nachsorge bietet den besten Schutz vor Ransomware.
Zusatzinfo
Snapshots schützen vor Ransomware
Normalerweise läuft die Abwehr gegen Ransomware darauf hinaus, das Betriebssystem (in der Regel Windows) samt der passenden Antivirus-Software auf dem neusten Stand zu halten. Doch für die Hacker genügt es, die Antivirus-Software nur ein einziges Mal auszutricksen, um an ihr Ziel zu gelangen. Die Hacker sind dann in der Lage, alle Daten zu verschlüsseln und von den betroffenen Opfern die Zahlung eines Lösegeldes zu erzwingen.
Doch es geht auch anders: mit ZFS/OpenZFS dank Dateisystem-Snapshots auf der Block-Level-Ebene. Bei ZFS und OpenZFS handelt es sich um ein «Copy on Write»-Dateisystem, das jederzeit effiziente und zudem konsistente Snapshots des Dateisystems vorrätig hält. Jedes Snapshot enthält lediglich die Delta-Änderungen zwischen jeweils zwei Zeitpunkten und kann geklont werden, um eine beschreibbare Kopie eines bestimmten vorigen Zustands wiederherzustellen, ohne dabei die Originalkopie zu verlieren. Snapshots stellen die Basis der OpenZFS-Replikation oder Backups auf lokale oder Remote-Systeme dar.
Da bei ZFS und OpenZFS die Snapshots auf der Block-Level-Ebene stattfinden, ist das Dateisystem immer immun gegen Datei-Level-Verschlüsselung, wie sie bei Ransomware-Angriffen der Fall ist.
Entwickler auf FreeBSD, Illumos oder Linux können direkt auf ZFS-Daten zugreifen. Auch Windows-Programmierer müssen nicht aussen vor bleiben, denn sie können über das AFP-, iSCSI-, NFS- oder SMB-Protokoll Daten auf einem OpenZFS-Dateisystem nutzen. Die Windows-Anwender können die Daten beispielsweise auf einem NAS- und SAN-Storage-System wie zum Beispiel FreeNAS oder TrueNAS mit OpenZFS vorrätig halten und sind so vor Ransomware-Attacken gefeit.
Auch Entwickler, die das Betriebssystem macOS (10.8 bis 10.12) verwenden, können auf OpenZFS setzen. Unterstützung für die aktuelle Version macOS 10.13 (High Sierra) ist derzeit in Arbeit.
Sorgsam geplante und regelmässige OpenZFS-Snap­shots bieten eine Low-Level-Isolation und damit volle Immunität gegen Ransomware-Attacken, da sich jeder vorige (Ransomware-freie) Zustand dank OpenZFS wiederherstellen lässt.

Fazit: Entwickler lernen nie aus

Nachdem HTML5 zum Webstandard geworden ist, unterscheiden sich Browser immer weniger voneinander. Auch ist mit PHP 7 ein seit langer Zeit überfälliges Redesign gelungen. Zu meinen, dass man sich jetzt zurücklehnen und einfach das Gelernte anwenden könne, wäre aber wahrscheinlich äus­serst kurzsichtig.
Zu den neuen aktuellen Trends in der Software-Entwicklung zählen insbesondere die künst­liche Intelligenz, Machine Learning, Dapps und das Internet of Things. Auch ist der Cyber Security mit dem Anwachsen von Ransomware-Vorfällen eine neue Bedeutung zugekommen. Die Entwickler und Unternehmen müssen diesen neuen Bedrohungen proaktiv begegnen; allein auf Angriffe zu reagieren, reicht heute schon nicht mehr aus. Je mehr die geschäftskritischen Daten­bestände förmlich explodieren, desto wertvoller und damit auch interessanter werden die Geschäftsdaten für potenzielle Angreifer. Der einzig praktikable Weg ist hierbei, kontinuierlich auf der Hut zu sein. Der Vorteil dieser Entwicklung aus der Informatik­perspektive liegt auf der Hand: Der Bedarf an erfahrenen Programmierern und versierten IT-Experten dürfte in Zukunft – trotz der zunehmenden Automatisierung – weiter wachsen, auch wenn sich die Anforderungsprofile für IT-Fachleute und Entwickler im konstanten Wandel befinden.



Das könnte Sie auch interessieren