Netidee Blog Bild
Herausforderungen und Probleme
Schwierigkeiten, die bei der Arbeit überwunden werden mussten (19.04.2018)
Förderjahr 2017 / Stipendien Call #12 / ProjektID: 2180 / Projekt: Automatisierte Generierung von personenbezogenen Passwortlisten

Es kann nicht immer alles glatt laufen und ein gutes Diplomarbeitsthema muss auch eine Herausforderung darstellen.

In den letzten Blogeinträgen habe ich Einblicke in inhaltliche Aspekte meiner Diplomarbeit gegeben und bereits fertige Ergebnisse vorgestellt. Diesmal möchte ich Probleme ansprechen, die es bei der Bearbeitung dieser Themen zu bewältigen gab und die größten Herausforderungen nennen.

 

Einschränkungen der API

Anfang Jänner habe ich in meinem Blogpost (https://www.netidee.at/automatisierte-generierung-von-personenbezogenen-passwortlisten/die-ersten-quellen-werden-angezapft) davon berichtet, dass die erste Version meines Facebook-Scrapers bereits Statusmeldungen von öffentlichen Seiten mittels Facebook Graph API akquirieren kann. Selbstbewusst habe ich prognostiziert, dass private Profile keine zusätzliche Herausforderung darstellen werden und diese Funktionalität in den nächsten Tagen folgen wird. Ernüchtert musste ich jedoch feststellen, dass die Facebook Graph API nur Zugriff auf öffentliche Profile zulässt und daher ein anderer Weg genommen werden muss. Eine Lösung wurde mit einer Browsersimulation gefunden, die jedoch deutlich zeitaufwändiger und nicht so resistent gegen Veränderung des Seitenaufbaus wie die Nutzung der API ist.

Die API von Twitter konnte hingegen überhaupt nicht genutzt werden, da in der kostenlosen Version nur Tweets der letzten 7 Tage ausgelesen werden können.

Die Beschränkungen der Programmierschnittstellen stellten daher eine große Herausforderung dar und mussten mit großem Aufwand umgangen werden.

 

Performance

Bedingt durch die Einschränkungen der API mussten manche Scraper mit Browsersimulation umgesetzt werden, was im Vergleich zu einer Nutzung der API deutlich langsamer ist. Letztendlich konnte der Prozess so optimiert werden, dass von privaten Facebook-Profilen etwa 275 Postings und von Twitter 1.500 Tweets pro Minute akquiriert werden können. Im Vergleich zu den 5.600 Postings pro Minute durch die Facebook Graph API hinkt diese Performance zwar noch immer enorm hinterher, ist jedoch bei durchschnittlicher Nutzungsintensität von Facebook und Twitter noch immer in einem akzeptablen Rahmen.

Bei der Datenverarbeitung, die ich in meinem Blogpost vom Februar (https://www.netidee.at/automatisierte-generierung-von-personenbezogenen-passwortlisten/aus-postings-werden-woerter) erläutert habe, werden zahlreiche Schritte abgearbeitet, die aus Postings relevante und sortierte Wörter machen. Dabei bestand die Gefahr, dass durch viele Schleifen im Programm ein hoher Performanceverlust einhergeht, was jedoch durch überlegte Zwischenspeicherung und Wiederverwendung von bereits berechneten Informationen sowie der Verwendung von Hashtabellen verhindert werden konnte. Letztendlich konnte so eine Bearbeitungsgeschwindigkeit von etwa 500 Ausdrücken pro Minute erreicht werden.

 

Evaluierung

Um die Funktionsweise des Tools zu evaluieren, ist es notwendig ein Testszenario bestehend aus realen Personen, ihren Profilen in den sozialen Netzwerken Twitter und/oder Facebook und tatsächlichen personenbezogenen Passwörtern aufzubauen. Während leicht reale Profile gefunden werden können, sind die damit verbundenen Passwörter nicht bekannt. Umgekehrt kann von “geleakten” Passwörtern ausgegangen werden, wobei die Besitzerin oder der Besitzer nicht leicht ausfindig gemacht werden kann.

Diese Zwickmühle wird in der Arbeit umgangen, indem zu realen Profilen von unabhängigen Personen eine Liste möglicher Passwörter erfunden und diese zur Evaluierung herangezogen wurde. 

CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, können Sie Ihre Einwilligung jederzeit via unserer Datenschutzerklärung anpassen oder widerrufen.