15 Must read books if you want to work on Cyber Security

Motivation

One of the most frequent questions I get asked by my students: What books should I read if I want to work in Cyber Security?

So I reviewed what I have read so far, talked to colleagues I trust to conduct the following list (as I have a lot of german readers, there is always a link to the german and the english version). The list is a mixture of educational books as well as books that will give an idea about mindset of hackers, defenders and other players in that field.

If you have other recommendations, opinions or comments, I would highly appreciate every feedback in the comments below.

I will try to update the post on a regular base as new trends are coming up e.g. machine learning, AI or blockchain (but I do not see any must-read-books in that areas).

It is fair to say, it is not the only way into the security area, a good amount of people learned by blogs, twitter, youtube and such and there is nothing wrong with it, it is quite the opposite, as the pace of change is so fast, it is hard to keep books up to date.

Every item has links to amazon.com, if you happen to buy the book using the links you support the blog, thank you for that.

1. The Art of War

by Sun Tzu

A relative short (and cheap) book that teaches various aspects of war that most experts agree can also be applied to cyber security. To be honest, there are also a good amount of people who think Art of war is not as important, so read it and make your own opinion.
At least it will be a good ice breaker for networking.

Englisch link / German link

2. Ghost in the Wires: My Adventures as the World’s Most Wanted Hacker

by Kevin Mitnick

This was the first security related book I read after attending a conference talk of the author Kevin Mitnick. It is fair to say he is one of the most known hackers and reading his stories gives the reader first hand access to the mind and motivation of a hacker. The book is also very good to read.

English link / German link

3. The Cuckoo’s Egg: Tracking a Spy Through the Maze of Computer Espionage

by Cliff Stoll

What to say, a book about espionage, spies and many more. Good book that for sure must be read.

English link / German link

4. Practical Malware Analysis: A Hands-On Guide to Dissecting Malicious Software

by Michael Sikorski

Reading that book will equip you with all concepts and skills to analyse malicious files. This is even a very good skill if your goal is not to become the top notch malware reverse engineer, but the concepts outlined in the book will help to understand weaponizing files to target systems or users.

English link / German link

5. Countdown to Zero Day: Stuxnet and the Launch of the World’s First Digital Weapon by Kim Zetter

This book covers the maybe most prominent cyber security attack in history: Stuxnet. To understand motivation of companies to invest money in cyber security, knowing and trying to understand the Stuxnet case is so helpful and Kim Zetters book is the best to do so.

English link / German link

6. Rtfm: Red Team Field Manual

by Ben Clark

This list would be incomplete without at least one book covering the offensive aspect of cyber security professionals: red teaming. Even if you do not want to be payed to hack into companies, it is good to know what the people getting paid to hack into companies have read without a doubt.

English link / German link

7. Crafting the InfoSec Playbook: Security Monitoring and Incident Response Master Plan

by Jeff Bollinger, Brandon Enright, Matthew Valites

Legendary book outlining how to ramp up an Incident Response Plan to defend a network. If your goal is to go into red teaming, read that book to understand how defenders work.

English link / German link

8: 1984

by George Orwell

Fictional book but also a must read for making a career because it will sharpen your sensors for privacy more than any other book out there.

German link

9: Practical Unix & Internet Security

by by Simson Garfinkel, Gene Spafford, Alan Schwartz

Sooner or later everyone in the industry encounters Unix, that is why this book is on that list, because it is the bible for that area.

English link / German link

10: Computer Incident Response and Product Security

by Damir Rajnovic

Damir „Gaus“ Rajnovic created the standard to read to set up an Computer Security Incident Response Team (CSIRT / CIRT / CERT / CSIRT) or a Product Security Incident Response Team (P-SIRT).

German link

11: Applied Cryptography: Protocols, Algorithms and Source Code in C

by Bruce Schneier

A top x list in Cyber Security without a book from Bruce Schneier is not worth to listen to. Bruce Schneier is the rockstar in the area and his book the go to for cryptography.

English link / German link

12: Secure Coding: Principles and Practices

by Mark G. Graff, Kenneth R. van Wyk

You need to understand how to write secure code. Without that know how it is way harder to argue on basic security principles. This book is bootcamp for that purpose.

English link

13: Hacking: The Art of Exploitation

by Jon Erickson

Refered by a trusted friend as one of the go-to books for understanding exploitation.

English link

14: Cryptonomicon

by Neal Stephenson

Another fictional book on that list to understand motivation and boost your motivation in the field.

English link

Bonus: The Ultimate Hitchhiker’s Guide to the Galaxy

by Douglas Adams

When asking friends for opinions and recommendations for that list, the ultimate hitchhiker’s guide to the Galaxy was mentioned „because no security professional will take you seriously if you haven’t read it“ – nothing to add here.

English link / German link

Comment

You might have discovered, it is not yet 15 books, I am still on the journey to discover the remaining bricks. But rather prefer to let people read less books that have a big impact than more books with some that might not be the same caliber.

Have fun with reading.

(This post is inspired by 15 Must Read Books if You Want to Work on Wall Street)

Überwachungskamera worauf kommt es an

Ich werde immer wieder gefragt, wie man einfach eine Kameraüberwachung für das eigene Haus umsetzen kann. Viele bauen gerade ihr Haus oder renovieren, viele Gewerke sind mit Experten besetzt oder es gibt schon sehr sehr viel Material im Internet. Anscheinend jedoch nicht zu Videokameras im Außenbereich.

Um nicht immer das gleiche zu erzählen also hier eine schriftliche Variante meiner Antworten.

Disclaimer: Dieser Blogpost ist keine rechtliche Beratung, prüft also bitte erst, welche Regeln, Gesetze es gibt und respektiert die Privatsphäre von euren Nachbarn und anderen Personen in eurem Haushalt genauso wie Personen die euch ggf. besuchen (mehr dazu später)

Der Beitrag ist in verschiedene Fragen unterteilt, sollten noch weitere Fragen unter den Nägeln brennen, einfach die Kommentarfunktion nutzen.

Frage: Warum sollte ich eine Videoanlage / Videoüberwachung in meinem Haus installieren?

Am wichtigsten ist es zu verstehen, dass eine Videoanlage nichts verhindert. Wer sich vor Einrücken schützen möchte muss in Dinge wie Schlösser, Beschläge oder Riegel investieren (Stichwort passive Sicherheit) auch eine Alarmanlage verhindert keine Einbrüche.
Eine Videoanlage kann aber für ein Sicherheitsgefühl sorgen, sie kann helfen, Einbrüche oder Diebstähle aufzuklären.

Eine solche Anlage kann auch genutzt werden, um Personen, die im Haus sind und z.b. ihr Büro im Dach haben einen Überblick zu verschaffen, was um das Haus herum geschieht.

Was auch beachtet werden sollte, ist die Stromversorgung, zum einen die Stromversorgung der Kamera (Power over Ethernet vs. reguläre Steckdose vs. Batterie)

Steckdose: Super wenn sie schon da ist. Frage jedoch wie dann die Datenübertragung funktioniert, Wifi / WLAN kann teilweise etwas unzuverlässig sein.

Power over Ethernet: ggf. sinnvoll wenn am Ort der Kamera keine Steckdose ist und man damit nur ein Kabel ziehen muss

Batterien: Nutzbar wenn man überhaupt keine Kabel hat / keine Kabel legen kann. Es ist jedoch zu beachten, dass bei entsprechender Bewegung viele Bilder / Videos entstehen und die Laufzeit der Kamera deutlich verkürzen.

Frage: Wo sollte eine Kamera platziert werden?

Die Antwort ist schwer zu geben, es kommt darauf an. Zum einen sollte man interessante Punkte wie Eingänge, Parkplätze oder Nischen in Betracht ziehen.
Ein weiterer Aspekt ist die genaue Platzierung, es ist zum Beispiel unglücklich, eine Kamera so zu platzieren, dass sie ungesehen demontiert oder abgedeckt werden könnte.

Auch die Distanz ist relevant, was bringt eine Aufnahme von einer Person an der Eingangstür wenn jede Aufnahme maximal die Farbe der Mütze erkennen lässt.

Frage: Welche Anlage sollte ich nutzen?

Je nach Budget. Gute Erfahrung habe ich mit Reolink Anlagen gemacht, dort ist auch ein Controller erhältlich, der die Speicherung usw übernehmen kann und Kameras zum Beispiel per Power over Ethernet versorgt und eine Mail schicken kann, wenn die Verbindung zu einer Kamera unterbrochen wurde.
Auch die Qualität der Kameras ist sehr gut.

Frage: Wohin sollten die Aufnahmen gehen?

Sie sollten gespeichert werden, wenn Aufnahmen in der Cloud gespeichert werden oder die Anlage über das INternet steuerbar ist, hat das immer das Risiko, dass sich Dritte unberechtigten Zugang zu der Anlage verschaffen.

Wie kann ich meine Anlage von außen steuern / auf Aufnahmen zugreifen?

Ich würde nicht empfehlen, die Anlage aus dem Internet erreichbar zu machen, sondern per VPN z.b. auf die FritzBox zugreifen und dann auf die Anlage als ob man sich im Heimnetz befindet. Das verkleinert das Risiko dramatisch.

Frage: Warum nicht in die Cloud?

Siehe oben, in die Cloud bringt immer das Risiko mit, dass die Anlage von außen gesteuert werden kann.

Frage: Welche Bereiche sollte ich überwachen?

Alle wichtigen, aber auf die eigene Privatsphäre und die der Anwohner achten. Z.b. öffentliche Straßen dürfen nicht überwacht werden. Einen Balkon überwachen scheint erst mal sinnvoll, aber was wenn ihr euch dort mal hinlegen wollt, dann gibt es Bilder von euch auf dem Balkon. Es ist also Abwägungssache.

Ein komplettes System:

Kabellose Kamera ohne Stromversorgung:

Backfischfest Blog 2018

Backfischfest Blog

In den letzten Jahren hat sich der Backfischfest Blog oder auch Backfischfest Vlog um die Band Die Döftels zu einer Institution in Worms entwickelt.

Die witzige Art die Tradition auf die Schippe zu nehmen und hinter die Kulisse zu schauen macht Freude und ist jeden Tag auf dem Festplatz oder der Fischerwääd Gesprächsthema.

Aus dem Backfischfestblog sind auch solche Geschichten wie die „Terrence-Hill-Brücke“ entstanden.

Unterstützt wird der Backfischfest Blog von einigen Wormser Unternehmen. Schnitt und Kamera übernehmen rawk und Steven Amendt

Hier die Videos

fatal error: ‚fuzzy.h‘ file not found

Trying to install pydeep on OSX and getting the error below:

pydeep.c:2:10: fatal error: 'fuzzy.h' file not found
#include
^~~~~~~~~
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1

So far I have not found a solution for it.

Some people recommended to use:

xcode-select --install

Which did not help my issues.

Also the following:

$ export LDFLAGS="-L/usr/local/lib"
$ export C_INCLUDE_PATH=/usr/local/include

Did not help

Still searching for a solution and will update that blogpost once I found anything

9TageTicket 10 Jahre

Dieses Jahr zum Backfichfest Worms feiert das 9TageTicket, an dem ich mit einigen Freunden beteiligt bin das 10-jährige Jubiläum.
Was anfangs noch ein Scherz unter Freunden war um zu zeigen, wie oft man auf dem Backfischfest war, hat sich mittlerweile zu einer Institution entwickelt, die von Wormsern wie auch den Schaustellern gerne angenommen wird.

Die Arbeit an dem Ticket macht jedes Jahr wieder Spaß, es ist zu einer Tradition geworden, am Tag vor der Eröffnung gemeinsam die Tickets zu drucken und zu schneiden und dann den ersten Abend auf dem Fischfest gemeinsam an der Ausgabe zu sitzen, bekannte Gesichter sehen und einfach die Zeit genießen, die auch manchmal etwas stressig ist.

Ich freue mich auf jeden Fall wieder drauf.

Ahoi

Virtualbox OSX freeze

From time to time, esp. after starting a few virtual systems at the same time, the whole OSX system can freeze and there is basically nothing to rescue the system but cold reboot.

This is due to some limits set to low, which can be fixed by:

sudo sysctl -w kern.aiomax=512 kern.aioprocmax=128 kern.aiothreads=16

That will be effective till reboot, it can be made persistent by adding the following line to /etc/sysctl.conf


kern.aiomax=512
kern.aioprocmax=128
kern.aiothreads=16

Found at http://www.firewing1.com/blog/2013/08/02/setting-os-x-kernel-asynchronous-io-limits-avoid-virtualbox-crashing-os-x

gpg: signing failed ioctl

While signing PGP keys the following error occured:

gpg: signing failed: Unpassender IOCTL (I/O-Control) für das Gerät

Which is german so googling for the following words:

gpg: signing failed ioctl

Revealed a possible solution that actually worked:

GPG_TTY=$(tty)
export GPG_TTY

Geschützt: DHBW 2018-04-06

Dieser Inhalt ist passwortgeschützt. Um ihn anschauen zu können, bitte das Passwort eingeben:

Veröffentlicht unter DHBW | Um die Kommentare zu sehen, musst du dein Passwort eingeben.

Vagrant issue Timed out while waiting for the machine to boot

vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/xenial64' is up to date...
==> default: Setting the name of the VM: vagrant_default_1516452195026_53624
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 5000 (guest) => 5000 (host) (adapter 1)
default: 7474 (guest) => 7474 (host) (adapter 1)
default: 7687 (guest) => 7687 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Resized disk: old 10240 MB, req 51200 MB, new 51200 MB
==> default: You may need to resize the filesystem from within the guest.
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.

Run
vagrant destroy

Upgrade Virtualbox and do the vagrant up again