Qlik Sense 2.0 - Smart Data Compression - Wie gebräuchlich ist denn Ihr Passwort?

Vergangene Woche ist Qlik Sense 2.0 erschienen, und natürlich haben wir unsere Demo-Umgebung demo.heldendaten.net sofort hochgezogen. Einen guten Überblick bekommen Sie in diesem einstündigen Qlik Sense Getting Started Video.Wir wollen uns hier mit einem der herausstechenden neuen Feature beschäftigen: Qlik Sense Smart Data Compression.


Vor einiger Zeit hat der Security-Experte Mark Burnett 10 Millionen Datensätze mit Usernamen und Passwörtern veröffentlicht. Nein, kein neuer Leak irgendeines Netzwerks, sondern eine Benutzerdaten die schon bisher auf verschiedensten Wegen im Internet auffindbar waren. (Trotzdem hatte er wohl ein wenig Angst vor dem FBI). 10 Millionen Datenpunkte in eine einzelne Darstellung zu bekommen ist natürlich eine Herausforderung. Qlik Sense Smart Data Compression ist dabei äußerst dienlich.*


Smart Data Compression

Ich wolle eine schnelle Darstellung die zeigt, welche Passwörter von wievielen Usern benutzt werden. Ein normaler Scatterplot mit so vielen Datenpunkten ist nicht sehr hilfreich, weil die Datenpunkte überlappen würden. Smart Data Compression agiert hier wie eine Art  zoombare "Heatmap":

Smart Data Compression komprimiert die 2.8 Millionen Passwörter in eine Heatmap
Wir sehen durch die dünklere Blaufärbung, dass die meisten Personen ein  achtstelliges Passwort benutzen. Wenn wir mit dem Mausrad hineinzoomen, sehen wir, dass etwa 840.000 achtstellige Passwörter in unseren Daten enthalten sind.

6 bis 10 stellige Passwörter scheinen am gebräuchlichsten zu sein




Die populärsten Passwörter sind immer spannend: Selektiert man die oberen Ausreißer an der Y-Achse, so sieht man jene Passwörter die man besser nicht benutzen sollte: "qwerty", "123456" und Konsorten. Immerhin 62.621 User setzen auf eines dieser sechs Passwörter.

Zoom In jene Passwörter die von mehr als 5.000 Usern benutzt werden.

Aus den 2.8 Millionen Passwörtern die 6 häufigsten gefiltert! Bitte besser nicht benutzen! 



An der X-Achse kann man die Länge der Passwörter wählen.  Wir sehen, dass es eine Person mit einem 42-stelligen Passwort gibt. Das scheint eine sichere Wahl zu sein (außer das Passwort wird eben geleakt). Wählen wir alle Passwörter mit 10-stellig bis 42-stellig, sehen wir dass nur 12,82% der 5 Millionen User ein mehr als 9 stelliges Passwort haben. Oder anders ausgedrückt: 87,18% haben ein kurzes Passwort, das man wohl mittels Brute Force innerhalb 6 Stunden knacken könnte.

Die Selektion an der X-Achse wählt die 641.184 User die ein >= 10 stelliges Passwort nützen


Die anderen 4.360.798 Benutzer haben Passwörter mit weniger als 10 Zeichen


Global Search

Sie wollen testen wie gebräuchlich Ihr eigenes Passwort ist? Benutzen Sie die Global Search in Qlik Sense. Wenn Ihr Lieblingspasswort "elvis" ist, teilen Sie sich das Passwort immerhin mit 181 anderen Personen. Das Passwort "beatles" ist zwar um 2 Zeichen länger, hat aber dafür gleich 246 Treffer. Also auch nicht sehr sicher.

Globale Suche nach Passwörtern in denen "elvis" vorkommt

Der King lebt in unseren Passwörtern weiter!
Wobei: die Beatles sind als Passwort noch beliebter!



Die Qlik Sense Applikation gibt es ausnahmsweise nur auf Anfrage; ein wenig Angst vor dem FBI haben wir auch, wenn die ganze Sache so einfach zum Analysieren ist wie mit Qlik Sense .

Unterhalb das Video wie man die oben genannten Analysen mit Qlik Sense AdHoc durchführen kann.




* 10 Mio Datensätze waren für meinen 8GB RAM Laptop dann doch zu viel. Deswegen habe ich mittels dem Sample Load 5.001.982 Datensätze und damit 2.843.213 eindeutigen Passwörtern aus den Daten gezogen.

QlikView & Was für Felder habe ich denn da gerade selektiert?

Mit QlikView kann man seit der Version 10 Kommentare für Feldnamen hinterlegen, um etwa zu erklären aus welcher Datenquelle das Feld stammt und was das Feld beinhaltet (Klassische Frage: enthält das Feld Datum das Bestelldatum, das Rechnungsdatum oder das Lieferdatum?). Dieses Feature kam bisher vor allem Entwicklern und Fachanwendern zu gute, die selbst QlikView Applikationen entwickeln. Seit QlikView 11.20 Service Release 9 werden diese Feldbeschreibungen über den QlikView Accesspoint nun allen Benutzern bereitgestellt.

Beschreibende Infos liegen uns am Herzen. Wie wir hier beschrieben haben, ist es unserer Meinung ideal bereits in der Entwicklung am QVD-Layer eine Beschreibung für jedes Feld zu hinterlegen. Hat man beispielsweise SAP kann man aus dem Data Dictionary die Feldbeschreibung automatisch nach QlikView übernehmen.

An der Oberfläche hatte man bisher schon die Möglichkeit bei jedem Objekt ein Kommentar zu hinterlegen. Ist unter "Eigenschaften|Titelleiste" ein Kommentar eingetragen, so erscheint beim Objekt ein Fragezeichen-Icon. Wer mehr als einen kurzen Text erklären möchte, kann mittels unserer Document Extension auf ein Wiki/eine Webseite abspringen.
 

Für Applikationserklärung hat sich über die Jahre der "Info"-Button durchgesetzt. Mittels Show/Hide-Bedingungen werden Objekte eingeblendet, die die Funktionalität bzw. Inhalt der Applikation erklären.


In QlikView 11.20 SR9 ist uns eine Neuerung im IE-Plugin aufgefallen: Fährt man in der Auswahlbox über ein selektiertes Feld, so wird das im Skript hinterlegte Feld-Kommentar als Tooltip angezeigt.

Das ist sehr praktisch, denn im Gegensatz zum Ansatz mit "Titelleiste|Kommentar", hat man für Gewöhnlich nicht für jede Feldselektion eine eigene Listbox bei der man ein Kommentar hinterlegen kann (weil man zB. Multibox oder Globale Suche nutzt). Weiters hat der Benutzer in der Auswahlbox nun einen zentralen Punkt wo er alle Felderklärungen sehen kann, sobald er einen Filter darauf gesetzt hat.

Der "COMMENT Fields" Befehl im Skript sorgt für die Erklärung des Feldes "Kunden.Firma" in der Auswahlbox


Für QlikView-Entwickler die bisher schon das COMMENT-Feature benutzt haben, heißt das:
  • Achtung wenn Sie bereits Feldbeschreibungen definiert haben, die nicht für jedermann bestimmt sind! Nun sehen auch all Ihre Anwender das Kommentar
  • Fügen Sie das COMMENT Field erst nach dem BINARY-Load ein; sonst gehen die Kommentare verloren
  • Im AJAX-Client sehen wir das Kommentar als Tooltip noch nicht. Wir werden uns schlau machen, ob wir dieses sinnvolle Feature auch dort bekommen können.





Qlik Sense - Mashup Integration mit Drupal CMS auf qvheroes.com

Die Themen Integration und Mashup sind eine der großen Stärken von Qlik Sense. Wir haben unsere Webseite qvheroes.com genutzt, um zu demonstrieren wie man interaktive Qlik Sense Analysen direkt in die eigene Webseite einbauen kann.

Meistens sind Integrationen von Dashboards  und Analysen lediglich via HTML und <IFRAME> gelöst; ein <IFRAME> ist jedoch bloß ein unabhängiger "Reiter" der sich innerhalb der eigentlichen Webseite öffnet. Diese <IFRAME> Integrationen haben keine Möglichkeiten auf die Darstellung (den DOM-Tree) der "aufrufenden" Webseite zuzugreifen um diese bei Bedarf zu ändern.

Warum möchte ich, dass meine Analysen mit der Webseite interagieren? Es wäre doch hilfreiche, wenn ein Filter auf meinem Dashboard sich direkt auf die dargestellten Werte meiner Webseite auswirken würde. Sei es nun meine Börsen-Webseite, mein Online-Banking oder ein Online Auto-Konfigurator.

Für unseren Blog-Aggregator qvheroes.com haben wir genau das gemacht, und Qlik Sense direkt in den DOM-Tree der Seite eingebaut:

Der obere Teil der Webseite zeigt einige Analysen zu den gesammelten "Blogs" an. Die Darstellungen sind Qlik Sense Elemente, die wir mit der Mashup API in das Drupal CMS unserer Webseite eingebaut haben.


Weiter unten befinden sich die Liste der Blogeinträge auf qvheroes.com, sortiert nach Datum.


Wie man in dem Video unterhalb sehen kann, interagiert nun Qlik Sense mit der Webseite. Filtere ich auf spezifische Blogs - etwa heldendaten.net - werden mir auch nur noch die Beiträge dieser Quelle angezeigt. Die Buttons "Clear All", "Back" und "Forward" sind hingegen Teile von Drupal, die in Qlik Sense Filter verändern.

 

Technische Notizen


Mit QlikView waren derartige Integrationen meist mühsam, vor allem aufgrund der Same Origin Policy die alle modernen Browser implementiert haben, und Integrationen mit dem AJAX-Client erschwert haben. Da Qlik Sense für die Kommunikation auf Websockets setzt, fällt dieses Problem weg:

  • qvheroes.com ist bei einem amerikanischen Webhoster gehostet
  •  unsere Qlik Sense Umgebung läuft  - wie hier beschrieben - auf einer Amazon Maschine und ist eigentlich über http://demo.heldendaten.net:8080/hub/ erreichbar
  •  man kann im Qlik Proxy mehrere Domains whitelisten mit denen die Websocket Kommunikation erlaubt wird. Bei uns sieht das folgendermaßen aus:

Qlik Sense QMC Virtual Proxy Settings


- Die Qlik Sense Applikation wird über den Hub gebaut, und ist auch direkt auf unserer demo.heldendaten.net QlikSense Umgebung verfügbar. Die einzelnen Darstellungen wurden mittels Qlik Sense Workbench aus der Applikation "herausgeholt" und auf qvheroes.com eingebunden.

- Der "Kleber" der die beiden Welten - Qlik Sense und Drupal - zusammenhält sind dann einige Javascript-Libraries (JQuery, JQuery UI, require.js,gridstack.js) und bloß ca. 150 Zeilen customized Code! Falls jemand die Code-Details interessieren: einfach melden!


heldendaten GmbH,2017