Ich möchte mir meinen Beruf selbst bei bringen, wird die Zeit reichen?

... komplette Frage anzeigen

2 Antworten

Mmmmh ... drei Jahre sind eine sehr kurze Zeit. Selbst wenn du von morgens bis Abends ackerst, ist das verdammt viel Zeug, was du da lernen musst.

Bevor du dir Bücher übers Hacking (Pen-Testing, Reversing, usw.) besorgst, solltest du die Gundlagen lernen. Das beinhaltet die gängigsten Programmiersprachen C/C++, C#, Java, JavaScript, Python, Ruby, PHP, Perl, sowie einige Assemblerdialekte (wozu auch entspr. Verständnis gehört), und der Umgang mit gängigen Shells wie Bash, PowerShell die olle CMD unter Windows. Außerdem solltest du noch weitere Nicht-Programmier-Sprachen wie RegEx, SQL, HTML/XML und CSS.

Im Falle von RegEx außerdem alle gängigen Dialekte und deren Unterschiede. Der Umgang mit grep, sed, awk und selbst solchen einfachen Kommandozeilen-Werkzeugen wie tr, wc, ps, etc. sollte ebenfalls soweit sitzen, dass man nicht jedes mal die Manpages konsultieren muss. Das gleiche gilt mindestens für die nächsten 100 Standardtools.

Überhaupt solltest du dir angewöhnen, mit Terminal-Fenstern zu arbeiten, und zwar unter allen gängigen Betriebssystemen, wie Linux, BSD, Mac OS X, und Windows. Es gibt kein mächtigeres User-Interface als eine gute Shell (also soz. fast alles außer Windows-CMD). Skriptbare Programme mit GUI sind ebenfalls OK, haben aber meist massive Probleme mit der Interoperabilität.

Wenn du z.B. als Sicherheitsexperte einen HUB vor dir hast, und du musst jetzt innerhalb von 5 Minuten alle Passwörter mitlauschen, die die angeschlossenen Clients unverschlüsselt an Server übertragen, dann wäre das im Terminal - nach kurzer Anpassung der eigenen Netzwerkkarte - ein simpler Einzeiler. Du könntest zwar auch Wireshark mit GUI benutzen, aber dessen Bedienung dauert definitv länger und ist umständlicher als die Shell.

Wie dem auch sei, um die gängigen GUI-Programme kommst du sowieso nicht rum. Und wenn du Shellcode analysieren musst, wären Kenntnisse in IDA oder dem Olly ganz günstig.

Es gibt so unglaublich viel zu lernen, und das ganze erfordert so viele Grundlagen ... also du könntest es vielleicht in 3 Jahren gaaanz knapp schaffen, wenn du dich wirklich rein kniest, aber zu den Besten wirst du dann definitiv noch nicht zählen.

Und egal worauf du dich später spezialisieren willst, die erforderlichen Grundkenntnisse sind auf allen Gebieten gleich. Wenn eine Firma dich beauftragt, ihr Netzwerk auf Industriespionage zu untersuchen, und du findest eine verdächtige Datei, die nach außen zu kommunizieren scheint, dann hast du keine 100 Jahre Zeit, die Spezifikation bzgl. des Dateiformats zu lesen, sondern musst schnell handeln, um zu verstehen, was die Datei macht, wie sie kommuniziert, und wie du das zukünftig unterbinden kannst. Sprich, du musst intuitiv bislang unbekannte Sicherheitslücken finden können.

Und diese Fähigkeit erfordert viel Erfahrung. Und Erfahrung erfordert Zeit. Und die Zeit kann man nicht beschleunigen. Du wirst immer weiter immer mehr lesen und lernen müssen, um am Ball zu bleiben.

Drei Jahre sind zwar nicht schlecht, aber über Anfängerniveau wirst du -  prinzipbedingt - in dieser kurzen Zeit kaum hinaus kommen. (auch wenn man damit schon einiges reißen kann, also lass dich nicht demotivieren)

Bücher wie "Computernetzwerke" von Rüdiger Schreiner sind zwar sehr gut für den Einstieg, kratzen aber nur leicht an der Obefläche. Selbst in wesentlich dickeren Wälzern, wie dem gleichnamigen Buch von "Pearson Studium" werden wichtige Themen nur in wenigen Absätzen angeschnitten. Trotzdem ist all dieses Grundlagenwissen essentiell wichtig für weitergehende autodidaktische Studien.

Meiner Meinung nach, wirst du mit Büchern, die den Namen "Hacking" im Titel tragen, entweder GAR nichts lernen, weil sie sich an Skript-Kiddies richten, und anstelle von technischen Details nur die Benutzung von gängigen GUI-Programmen erklärt wird, oder du bist Hoffnungslos überfordert, weil dir die Grundlagen fehlen (z. B. bei den gängigen Reversing-Büchern).

Du musst auf jeden Fall Assembler lernen, und das dürfte für Anfänger am schwierigsten werden. Ich glaube, es gibt keinen nennenswerten Sicherheitsforscher, der keine Ahnung von Assembler hat. :)

Also dann ... halte dich ran, und lerne schön! Lerne vor allem die Grundlagen im Bezug auf Rechner, Netzwerke, Prozessoren, Hardware allgemein, und bei Software vor allem Low-Level Sachen. Kein Schwein interessiert sich dafür, ob du mit C# ein Fenster mit Buttons bauen kannst, aber wenn du die gängigen Disassembler-Techniken umgehen, den MSIL Code extrahieren, verstehen und manipulieren kannst, hast du schon mal ganz gute Grundlagen.

Vermutlich geht es dir nur um Netzwerksachen, aber alles hängt zusammen, und wenn ein gehackter Server über eine Java-Lücke Malware verteilt, dann musst du auch in der Lage sein, diese untersuchen zu können. Dann reichen reine Netzwerkkenntnisse nicht mehr, sondern du brauchst ebenfalls Wissen über die JVM-Interna, usw.

Ein Koch, der eine Wunderbare Fischsuppe zubereiten kann, wird mit einem Schweinebraten auch keine Probleme haben. :)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von SwaggerBoi
22.11.2015, 20:26

Ich bin dir unglaublich dankbar für die ausführliche Antwort, besser könnte es einem Einsteiger nicht gehen :) Ich habe mir jetzt bevor ich deine Antwort gelesen habe das Buch 

"Hacking Handbuch: Penetrationstests planen und durchführen."

bestellt, was ja leider ein "Hacken" im Namen hat :) Da es aber von einem professionellen IT-Fachmann geschrieben wurde, bin ich zuversichtlich, dass da mehr als nur ein paar Tools vorgestellt werden. 

Sollte ich also mit dem Buch trotzdem anfangen? Ich denke mal, dass ein wenig theoretisches Wissen gar nicht so schlecht ist, was meinst du?

Und meine 2. Frage ist, ob ich statt der FOS vielleicht eine Ausbildung zum Fachinformatiker in Systemintegration anfangen sollte, ein Bekannter von mir lernt das gerade und sagt, dass es 2 Arten von Fachinformatikern gibt: Systemintegration und Anwendungsentwickler. Ich habe ja scheinbar Interesse an der Systemintegration, da der Schwerpunkt bei dem Anwendungsentwickler ja beim Programmieren liegt. Also was fändest du sinnvoller, während der FOS selbst lernen oder direkt eine Ausbildung als Fachinformatiker für Systemintegration machen? 

Ich hoffe, dass du darauf noch eingehst, weil deine Antwort unfassbar gut war, den Stern bekommst du natürlich sicher!

2

Also ich forsche in diesem Bereich (IT-Sicherheit, Penetration-Testing, Kryptographie, Kryptoanalyse, ...) und studiere dafür inzwischen seit 6 Jahren in Vollzeit.

Ich denke nicht, dass man sich das "mal so nebenbei" selbst beibringen kann, zumindest nicht auf "vernünftigem" Niveau. Aber wenn Du Informatik studierst, kannst Du Dich, je nach Uni, auf diesen Bereich spezialisieren. Allerdings ist das alles extrem mathematiklastig und damit meine ich keine Schulmathematik.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von TeeTier
22.11.2015, 20:24

Bei mir ist das vor allem in den letzten Jahren so, dass sich - je mehr ich lerne - massiv ein Gefühl des Nichtwissens aufbaut. Vor allem wenn man irgendwelche Papers von richtig guten Leuten liest, und sich denkt: "Wow, ist der gut ... da komm ich nicht mehr mit".

Prinzipiell kann ich sagen, dass wenn ich eine Sache lerne, intensivstes Interesse an mindestens 5 weiteren Themen geweckt wird.

Ich habe z. B. gestern mit mkfs und tune2fs rumgespielt, und bin beim lesen der Manpages natürlich auf "Theodore Ts'o" gestoßen, was nach einer Orgie an Googleanfragen in einem Benchmark für Serverdateisysteme mündete, und jetzt ist mein Kopf für mindestens eine Woche mit Themen voll, an die ich vorgestern noch gar nicht zu denken gewagt habe.

Ich denke, das wird dir oft ähnlich gehen. :)

In meiner Antwort habe ich geschrieben, dass der Fragensteller in seinen 3 Jahren nicht über Anfängerniveau hinaus kommen wird, wobei das ja nichts schlechtes sein muss, da man selbst mit Anfängerwissen schon viel anfangen kann.

Aber ob das zur Selbstständigkeit reicht?

Ich mache manchmal Code-Audits, die vor mir ebenfalls schon viele Firmen gemacht haben. Es war bisher immer so, dass ich irgend etwas gefunden habe, und seien es nur offensichtliche Anfängerfehler (die eigentlich vor mir schon zich mal gefunden worden wären sollten). Aber NACH mir gibt es auch Leute, die noch weitere Fehler finden!

Ich glaube, egal wie sehr man sich anstrengt, es gibt immer jemanden der nochmal doppelt so gut ist. Ich sehe das aber ehrlich gesagt als Motivation an. :)

1

Was möchtest Du wissen?