logo

blog

My little blog can’t be this cute! git clone https://hacktivis.me/git/blog.git
commit: 0042a859f2927d52a2d524f3b968b67f1be4ff17
parent 448892bd3ecbd57d65459952934aae45f2c78895
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Sun, 18 Apr 2021 21:09:03 +0200

notes/computing-truths: DoSing an operating system

Diffstat:

Mnotes/computing-truths.txt3+++
1 file changed, 3 insertions(+), 0 deletions(-)

diff --git a/notes/computing-truths.txt b/notes/computing-truths.txt @@ -8,6 +8,9 @@ I would love to be proved wrong or shown doubts on any of this, thanks a lot if - You can sometimes detect after parsing if a program will or will not end (finite-automata / loop with no end condition) - You cannot detect for all programs if they will or will not end ("The halting problem") - Most programs can be made to crash (and under most Operating Systems it's All) +- You can render an operating system unusable (Denial-of-Service) probably more easily than you think, even with some restrictions: + - Easy to fix: Ping of Death, … + - Hard to fix: Forkbomb, using up all memory, using up all of a filesystem (be careful with logs), eating the limit of file descriptors/PIDs/… of the current user or root, … - Cryptography isn't some magic fairy dust to make something secure (it can actually make it worse) - There is no magic solutions to make something secure, but there is good practices - You will need actual debugging tools (gdb/lldb, dtrace, ping, tcpdump/wireshark, …), learn them