Hacker scripten – und lieben die Shell: Anonyme Umfrage beim Chaos Computer Club
Welche Programmiersprachen nutzen Hacker und Cracker? Ergebnisse des ersten quantitativen Survey bei Deutschlands größter Organisation für Informationsfreiheit.
- Silke Hahn
Um Hacker ranken sich mehr Gerüchte als Fachliteratur. Damit die Forschungslücke kleiner wird, befragten Eldar Sultanow, Katharina Müller und Christian Koch von den Universitäten Potsdam und Erlangen-Nürnberg sowie von der Technischen Hochschule Nürnberg die Mitglieder der regionalen und lokalen Ableger des deutschen Chaos Computer Club e.V. (CCC), welche Programmiersprachen sie beim "Hacken" bevorzugen. Shell-Skripte und Python gaben die meisten der Befragten an, auch die C-Sprachfamilie scheint weiterhin eine Rolle zu spielen.
Profihackern scheint laut Survey aber gar nicht so wichtig zu sein, welche Sprache sie verwenden, und die Sprachvorlieben haben sich bei der Mehrheit mit der Zeit offenbar stark verändert. Insgesamt beteiligten sich 43 Menschen – weshalb die Ergebnisse mit Sicherheit nicht als repräsentativ für die Programmierer-Community gelten können – vielleicht nicht einmal als repräsentativ für den CCC, der laut Website seine Mitgliedszahl seit Jahren mit "über 8.000" angibt.
Andererseits hatten die Forscher sich gezielt auf einen Kreis von Fachleuten festgelegt, die erwartungsgemäß etwas zum Thema sagen könnten und sich nach Selbstauskunft im Survey auch fast geschlossen zum aktiven Hackertum bekennen: 42 der 43 Befragten gaben an, Erfahrungen im Hacken zu besitzen, elf sogar über zwanzig Jahre und weitere elf über zehn Jahre. Im Vergleich dazu konnten 18 der Umfrageteilnehmer auf über zwanzig Jahre Programmiererfahrung verweisen (rund 42 %) und 14 bringen mehr als ein Jahrzehnt im Programmieren mit (rund ein Drittel der Befragten).
Die Sache mit den HĂĽten: Hacker, Cracker und Grauzone
Eine einheitliche Definition, was ein Hacker und was Hacking ist, gibt es noch nicht. Daher ist zunächst der Begriff zu klären. Der CCC hat eine Hackerethik entwickelt, die den drei Survey-Urhebern beim Definieren des Begriffs "Hacker" als Grundlage diente. Als Hacker im Sinne des Survey gilt eine Person, die ihr technisches Fachwissen einsetzt, um mit Computern umzugehen und dabei insbesondere die Sicherheit im Blick hat. Einige Autoren, auf die der Survey verweist, unterscheiden nach ethischen Gesichtspunkten zwischen Schwarzhut-, Weißhut- und Grauhut-Hackern, wobei in der abstrakten Symbolik die Hutfarbe schwarz für illegale Zwecke steht, weiß für das Hacken ohne kriminelle Absichten und Grau für die Zwischenstufen.
Der Autor eines Hacker-Guides von 2020 nutzte statt des Farbcodes den Begriff "Cracker", um böswillige Hacker von solchen mit guter Absicht zu unterscheiden (Eric Steven Raymond im Hacker-Guide: "The basic difference is this: hackers build things, crackers break them"). Wer diese Definition und die eingangs genannten Vorbehalte aufgrund der geringen Sample-Größe im Hinterkopf behält, ist gewappnet für einen Gang durch die Survey-Ergebnisse.
Im Detail: Shell-Skripte und Python an erster Stelle
Bei der Frage, welche Programmiersprache die online Befragten im Vorjahr zum Hacken verwendeten, waren Mehrfachantworten möglich: "Bash, Shell und PowerShell" (die im Survey nicht separat, sondern in einer gemeinsamen Kategorie erfasst waren) lagen bei fast drei Viertel der Befragten an erster Stelle (72,5 %), dicht gefolgt von Python (70 %). Die Sprachen C und JavaScript (beide 32,5 %), HTML/CSS (30 %) sowie C++ (27,5 %) rangierten in der Hackergunst deutlich niedriger. Die in der Literatur sonst oft genannten Sprachen schnitten auffällig schlechter ab: Java kam auf 20 Prozent, Perl wurde dreimal genannt (7,5 %) und Lisp kam überhaupt nicht vor. Der Survey listet eine Reihe weiterer Sprachen auf, insgesamt hatten sich 40 der 43 Umfrageteilnehmer zu dieser Frage geäußert
Dass diese Ergebnisse nicht statisch sind, geht auch aus dem Survey hervor: So gaben mehr als drei Viertel der Befragten an, dass ihre Vorlieben bei den eingesetzten Sprachen sich mit der Zeit geändert hätten (77,5 %, in absoluten Zahlen: 31). Die für die Herausgeber allerdings überraschendste Beobachtung brachte die Frage, wie wichtig oder unwichtig die Wahl einer bestimmten Programmiersprache nach Ansicht der Befragten für das Hacken sei: Drei Viertel hielten die Art und Wahl der Programmiersprache für weniger relevant bis irrelevant. Nur fünf Prozent (zwei Umfrageteilnehmer) hielten die Wahl einer bestimmten Sprache für ausgesprochen wichtig. Daraus folgern die Herausgeber, dass die starke Rolle der Sprache Python bei Hackern im eigenen Survey und der sonst verfügbaren aktuelleren Literatur möglicherweise nur deren allgemein steigende Verwendungshäufigkeit unter Programmierern reflektiert und gar nicht hackerspezifisch ist.
Bei den Ökosystemen lagen Linux-Varianten (95 %) und insbesondere das für Penetrationstests und Sicherheitsbelange gemachte Kali Linux vorne. Hier waren Mehrfachangaben möglich, und etliche Befragte betreiben mehrere Betriebssysteme parallel. Windows lag bei 40 Prozent, macOS bei 32,5 Prozent. Bei den Editoren beziehungsweise Entwicklungsumgebungen (IDE) wurde Vim am häufigsten genannt (60 %), gefolgt von Visual Studio Code (50 %) und weiteren Optionen. Abschließend noch die demografischen Daten: Die Mehrheit der Befragten ordnete sich dem männlichen Geschlecht zu (60 %), eine Befragte war weiblich. Der Rest gab entweder an, nicht-binär zu sein (12,5 %), wollte keine Auskunft dazu geben (20 %) oder fand sich in den Antwortmöglichkeiten nicht wieder (zwei Personen beziehungsweise 5 % der Befragten). Die Mehrheit der Befragten gab als Alter zwischen 25 und 44 an, wobei vier Personen unter 25 und sechs älter als 45 waren. Die genauen Daten stehen im Survey.
Hintergrund zum CCC-Hacker-Survey
Einen Monat lang konnten die lokalen und regionalen CCC-Ableger (Erfa-Kreise) ĂĽber einen Onlinefragebogen am Survey teilnehmen. Der Aufbau war angelehnt an den Stack Overflow Developer Survey, an Kaggle State of Data Science and Machine Learning sowie an Eric Steven Raymonds Guide "How to become a Hacker" von 2020. Verwendete Programmiersprachen standen im Mittelpunkt, aber auch verwandte Themen wie Betriebssysteme und Entwicklungsumgebungen.
Um die Ergebnisse qualitativ einzuordnen, fragten die Forscher zusätzlich, ob nach Ansicht der Befragten die Wahl einer bestimmten Programmiersprache überhaupt von Bedeutung sei und baten sie hierbei um eine Gewichtung. Die Antworten ließen sich je nach Typ der Frage mit Punkten auf einer Skala, Multiple Choice oder Optionen aus Drop-Down-Menüs beantworten. Im Zeitraum vom 1. bis 30. Mai 2021 kamen so 43 ausgefüllte Fragebögen zusammen.
Anders als bisher gemessen und gemutmaĂźt
Die Ergebnisse können aufgrund des kleinen Samples lediglich als erste Einblicke und als Ausgangspunkt für künftige Untersuchungen dienen, auch stehen sie unter dem Vorbehalt eines möglichen Bias, da die Befragung gezielt nur innerhalb des Chaos Computer Clubs lief. Die Survey-Einblicke decken sich nur zum Teil mit den Angaben und unter anderem auch Mutmaßungen der verstreuten, teils etwas angestaubten Literatur der letzten zehn Jahre.
Dass zum Thema kaum greifbare Daten vorliegen, liegt laut Herausgebern vor allem an der Anonymität, in der Hacker operieren, und durch die sie für die Forschung schwer greifbar seien. Die klassische Annahme ist, dass Sprachen der C-Familie eine große Rolle spielen sowie Python, Lisp und Perl, aber auch Java räumen manche Fachleute eine größere Rolle ein. Bei einer KI-gestützten Auswertung von Code-Postings in Untergrundforen aus dem Jahr 2015 hatten je nach Einsatzzweck Java und Perl sowie auch SQL den Löwenanteil gestellt. Eine kritische Reflexion darüber, dass letztlich nur 43 CCC-Mitglieder (von möglicherweise 8.000?) sich aufrafften, am Survey teilzunehmen, findet in dem bei arXiv.org veröffentlichten Paper nicht statt.
Auch ist seit der Umfrage im Mai 2021 bereits fast ein Jahr vergangen, was bei der Volatilität im Einsatz von Programmiersprachen, der Erkenntnis, dass die meisten Befragten im Laufe der Jahre ihre Präferenzen geändert haben und der geringen Sample-Größe die Ergebnisse des Survey mit Vorsicht genießen lässt. Ob er tatsächlich eine Forschungslücke schließt, wie offenbar das ursprüngliche Anliegen war, muss die Fachwelt entscheiden. Als Anregung für künftige, etwas größer angelegte Projekte mit dann belastbareren Ergebnissen kann er jedoch allemal dienen. Wer mag, findet das Paper zum Survey bei arXiv.org zum Nachlesen. In der Literaturliste gibt es einen Überblick über die greifbare Fachliteratur.
Ăśber den Chaos Computer Club
Die deutsche Nichtregierungsorganisation Chaos Computer Club (CCC) ist ein eingetragener Verein mit Sitz in Hamburg und setzt sich für Informationsfreiheit sowie IT-Sicherheit ein. Der CCC ist in dezentralen lokalen Gruppen organisiert – von den größeren Erfa-Kreisen (kurz: Erfas zum Austausch von Erfahrungen) soll es zurzeit rund dreißig geben, die kleineren Gruppen heißen Chaos-Treffs. Die Auswirkungen von Technologien auf die Gesellschaft und auf Einzelpersonen stehen beim CCC im Mittelpunkt, der Verein fordert "ein neues Menschenrecht auf weltweite, ungehinderte Kommunikation" und sein Zweck dient laut Satzung der Bildung, Informationssicherheit und der Informations- sowie Kommunikationsfreiheit.
Nach eigenen Angaben umfasst der Verein über 8.000 Mitglieder (Stand: April 2022) und gilt damit als die größte europäische Hackervereinigung. Mehr über den Club und seine Entstehung, Mission Statement und Hackerethik sind auf der Website des CCC zu finden. Heise berichtet regelmäßig über den jährlich stattfindenden Chaos Communication Congress, der zuletzt zweimal remote stattfand (Kurztitel: r3C).
(sih)