Bachelorarbeit - Absicherung von Linux Systemen Geschätzte Lesezeit: 5 Minuten Bildergalerie Abbildung 1 Abbildung 2 Abbildung 3 Abbildung 4 Abbildung 5 Inhaltsübersicht: Enger, Sebastian Softwareseitige Absicherung von Linux-Syste... 1.1 Sicherheit in IT-Systemen von Unternehmen Unternehmen ha... gekündigt worden sind Gelingt es einem Angreifer, gespoofte Pakete in das eigene N... Darüber hinaus gibt es die Möglichkeit im Kernel, den Parame... Damit kann man der sendenden Station mitteilen, welche Inter... Oft ist dies ein nicht bekannter Internet###########, sondern der... Wenn nun jedoch diese Parser schlecht und fehlerhaft program... Sollte der Port geschlossen sein, so antwortet er mit einem ... Dabei werden bekannte Logins wie administrator, guest, servi... Wenn man nun die Verschlüsselung von DES auf OpenBSD Blowfis... Dies tritt meist auf, wenn ein Programm Daten von einer Netz... Es gibt sie für verschiedene Betriebssysteme wie Microsoft W... [21] 3.4 Verteidigungsmaßnahmen gegen Angriffe auf Anwendung... Richtlinien für sichere Passwörter Um ein Password Guessing ... Jedoch sollte man bei Bekanntwerden eines Buffer Overflows i... 3.5 Denial-of-Service-Angriffe Neben den bekannten Spoofing-... Dazu dient der ICMP-Echo-Request, der versendet wird, um zu ... Kurze Zusammenfassung: Enger, Sebastian Softwareseitige Absicherung von Linux-Systemen gegen netzwerkbasierende Angriffe Bachelorarbeit HOCHSCHULE MITTWEIDA (FH) ------------------------------------------ UNIVERSITY OF APPLIED SCIENCES Fachbereich Informationstechnik & Elektrotechnik Mittweida, 2005 Enger, Sebastian Softwareseitige Absicherung von Linux-Systemen gegen netzwerkbasierende Angriffe eingereicht als Bachelorarbeit an der HOCHSCHULE MITTWEIDA (FH) ------------------------------------------ UNIVERSITY OF APPLIED SCIENCES Fachbereich Informationstechnik & Elektrotechnik Mittweida, 2005 Erstprüfer: Prof. Joachim Geiler Zweitprüfer: Dipl.-Inf. Danach schließt sich das Kapitel "Sicherheitsmechanismen für Linuxsysteme" an, in welchem detailliert auf aktuelle Mechanismen zur Erhöhung der Systemsicherheit eingegangen wird und diese mit ihren Vor- und Nachteilen tabellarisch gegenübergestellt werden. 1.1 Sicherheit in IT-Systemen von Unternehmen Unternehmen haben verschiedene Anforderungen an die IT-Systeme. Man muss hierbei zwischen "Hackern", "Script Kiddies", und "Crackern" unterscheiden. Oft sind dies ehe- malige Mitarbeiter, die der Firma Schaden zufügen wollen, weil sie z.B. gekündigt worden sind. Weiterhin bietet das BSI eine ganze Reihe von Publikationen zum Thema IT-Sicherheit, die kostenlos eingesehen werden können. Die im Folgenden vorgestellten Programme Nemesis, Nmap und Nessus sind für dieses Vorhaben sehr gut geeignet, weshalb im Rahmen dieser Arbeit darauf eingegangen werden soll. Gelingt es einem Angreifer, gespoofte Pakete in das eigene Netzwerk einzuschleusen, so kann das als ein Anzeichen für einen bald folgenden Angriff gesehen werden. Da nun frag- mentierte Pakete ohne TCP-Port durchgelassen werden müssen, können z.B. zu kurze Pakete, bei denen die TCP-Portnummer erst im zweiten Paket erscheint, den Paketfilter vor große Probleme stellen. Darüber hinaus gibt es die Möglichkeit im Kernel, den Parameter ip_always_defrag zu aktivieren, sodass standardmäßig alle fragmentierten Pakete defragmentiert werden. Als Sender von ICMP- Paketen treten Sendestationen auf, bei denen ein Fehler entdeckt wurde und empfangen wird das Paket vom Absender des Originalpaketes. Ferner 18 3.1.3 ICMP-Angriffe werden neben dem eigentlichen Paketheader auch noch die ersten 64 Datenbytes des entsprechenden Paketes mit dem ICMP-Paket übertragen. Damit kann man der sendenden Station mitteilen, welche Internetverbindung abgebrochen ist. nicht mehr erreichbar ist. Auf das Programm anti_syn_flood.pl wird im weiteren Verlauf noch detaillierter eingegangen. Oft ist dies ein nicht bekannter Internet###########, sondern der Rechner des Angreifers, der dann als ########### fungiert und den Verkehr zwischen beiden kontrolliert und weiterleitet. Mit dem bereits beschriebenen Tool Ettercap kann man verschiedene Man-in-the-Middle Angriffe durchführen. [13] 20 3.2 Verteidigungsmaßnahmen gegen Angriffe auf Protokollebene 3.2 Verteidigungsmaßnahmen gegen Angriffe auf Protokollebene Die hier besprochenen Vorkehrungen gegen eben genannte Angriffe sind leicht umzusetzen und er- fordern es nicht, dass ein eigener Kernel übersetzt wird. Wenn nun jedoch diese Parser schlecht und fehlerhaft programmiert sind, können Angriffe auf diese Systeme gefahren werden. Auf die Wichtigsten soll hier kurz eingegangen werden, um einen Rechner auf offene Ports zu testen. Wenn der Host nach Richtlinie des 3-Way-TCP-Handshake handelt, sendet er auf diese SYN- Anfrage natürlich ein Paket mit gesetztem Flag SYN-ACK und kennzeichnet damit, dass sich der Port im Zustand LISTENING befindet und Nmap diesen Port anschließend als offen kennzeichnet. Sollte der Port geschlossen sein, so antwortet er mit einem TCP- Paket mit gesetztem RST-Flag. Beim TCP Stealth NULL-Scan werden TCP-Pakete generiert, bei denen kein Optionsflag gesetzt ist und an den 23 3.3.3 Portscanning mit Nmap als Angriffsvorbereitung Port des entfernten Hosts gesendet wird. Sollte der Port geschlossen sein, so reagiert das entfernte System auf diesen Scan, indem es eine ICMP port unreachable Nachricht zurücksendet und Nmap daraus auf einen geschlossenen Port schlussfolgern kann. Dabei werden bekannte Logins wie administrator, guest, service, field oder root genommen und nun durch Ausprobieren versucht, das entsprechende Passwort für diese Zugangskennung zu erraten. Mit dem zugehörigen Programm support_genpasswd.pl ist es auch möglich, auf einmal mehrere Passwörter zu erstellen. Mittels einfacher Programme, wie oben beschrie- ben, ist es heutzutage möglich, sichere Passwörter zu erstellen. Wenn man nun die Verschlüsselung von DES auf OpenBSD Blowfish umstellt, kann man mit aktuellen Einzelrech- nersystemen nur noch knapp 3000- 4000 Passwörter pro Sekunde erraten, was einer enormen Sicherheitssteigerung gegenüber DES entspricht, da es nun mit Hilfe von John the Ripper viel läng- er dauert, entsprechende Passwörter zu knacken bzw sie zu erraten. Durch diesen Vorgang kann die Rücksprungadresse eines Unterprogramms mit Daten überschrieben werden und somit fremder Code eingeschleust werden, der zum Bei- spiel einem Angreifer eine Shell öffnet. Das oben erwähnte Programmfragment führt nur zu einem Programmabsturz, jedoch kann man Buffer Overflow behaftete Programme im günstigsten Fall auch so ausnutzen, dass er eine Rootshell und somit unberechtigte Privilegien vom System erhält. Dies tritt meist auf, wenn ein Programm Daten von einer Netzwerkverbindung liest oder wenn dem Programm Daten zur Verarbeitung übergeben werden. Diese Stelle wird meistens nicht im originalen Code zu finden sein, sondern in einem eigens eingeschleusten Angriffscode, oft auch Shellcode genannt. Es gibt Trojanische Pferde, die aus einer einfachen ausführbaren Da- tei bestehen und außer der schädlichen Funktion keinerlei nützliche Funktion haben. Es gibt sie für verschiedene Betriebssysteme wie Microsoft Windows XP oder die diversen Linuxderivate. Unter Linux werden die Programme "ps", "nestat","w" oder auch das "passwd"-Programm gerne gegen Crackertools ausgetauscht, sodass diese dann nicht mehr die verräterischen Spuren des Crackers für den Systemadministrator 29 3.3.7 Schadsoftware: Würmer, Trojaner und Rootkits aufzeigen. Dies alles dient dem Ziel "root"-Rechte auf dem betreffenden System zu sichern. [21] 3.4 Verteidigungsmaßnahmen gegen Angriffe auf Anwendungsebene Korrektur des Quellcodes durch Dritte Mangelndem Syntaxcheck kann man eigentlich nur vorbeugen, wenn man vor der Programmierung Sicherheitsrichtlinien aufstellt und darin z.B. deklariert, dass sicherheitsrelevante Codeabschnitte von mehreren Programmierern kontrolliert werden müssen, sodass kein kritischer Fehler in der Applikation bleibt. Weiterhin besteht die Möglichkeit, den Linuxkernel mit dem Security Patch Grsecurity zu patchen und IPTables mit dem Stealth Patch zu modifizieren, sodass ebenfalls Portscanns abgeblockt wer- den. Richtlinien für sichere Passwörter Um ein Password Guessing oder Password Cracking zu erschweren, kann man folgende vier Eigen- schaften für ein Passwort geltend machen. Durch Wortkombinationen kann man die Sicherheit weiter erhöhen. Im Bereich der Open Source Programme gibt es auch das Programm Slint der Hackergruppe L0pht. Jedoch sollte man bei Bekanntwerden eines Buffer Overflows in einem Programm immer die neuesten Patches und Updates einspielen, um die Sicherheit des Systems zu gewähren. Somit ließen sich Pufferüberläufe geschickt verhindern. Die wichtigste StackGuard Version ist stout. 3.5 Denial-of-Service-Angriffe Neben den bekannten Spoofing-Angriffen zur Vortäuschung von falschen Paketen gibt es auch so genannte Denial-of-Service-Angriffe, deren Ziel es ist, einen bestimmten Dienst durch Über- schwemmung mit Pakten unbrauchbar zu machen. Das ICMP-Protokoll wurde u.a. dazu entwickelt, Statusmeldungen über die Erreichbarkeit von Internetrechnern zu versenden. Dazu dient der ICMP-Echo-Request, der versendet wird, um zu testen, ob der entfernte Rechner ansprechbar ist und auf Serviceanfragen reagieren kann. Daraufhin senden alle ans Netzwerk angeschlossenen Rechner einen Echo-Response an die falsche IP-Adresse. Die Angriffe Smurf und Fraggle basieren auf den Broadcast-Angriffen. Bildergalerie Abbildung 1 Abbildung 2 Abbildung 3 Abbildung 4 Abbildung 5 Auszug aus dem Inhalt: Enger, Sebastian Softwareseitige Absicherung von Linux-Systemen gegen netzwerkbasierende Angriffe Bachelorarbeit HOCHSCHULE MITTWEIDA (FH) ------------------------------------------ UNIVERSITY OF APPLIED SCIENCES Fachbereich Informationstechnik & Elektrotechnik Mittweida, 2005 Enger, Sebastian Softwareseitige Absicherung von Linux-Systemen gegen netzwerkbasierende Angriffe eingereicht als Bachelorarbeit an der HOCHSCHULE MITTWEIDA (FH) ------------------------------------------ UNIVERSITY OF APPLIED SCIENCES Fachbereich Informationstechnik & Elektrotechnik Mittweida, 2005 Erstprüfer: Prof. Joachim Geiler Zweitprüfer: Dipl.-Inf. Im weiteren Verlauf der Arbeit wird kurz auf den Sinn und Zweck der IT-Sicherheit, wichtiger Täterprofile, Angriffsarten, Informationssysteme zur IT-Sicherheit und Sicherheitswerkzeuge ein- gegangen. Die im Folgenden vorgestellten Programme Nemesis, Nmap und Nessus sind für dieses Vorhaben sehr gut geeignet, weshalb im Rahmen dieser Arbeit darauf eingegangen werden soll. Am Zielort werden mittels TCP/IP Stack die einzelnen fragmentierten Pakete wieder zu einem ganzen Paket zusammengesetzt. Damit kann man der sendenden Station mitteilen, welche Internetverbindung abgebrochen ist. Oft besteht zwischen 2 Internetrechnern eine große Anzahl an ###########n, die zu verschiedenen Internetadressen gehören, allerdings sind nicht alle ICMP-Implementationen fähig, die Port-Informationen des ICMP-Paketes zu analysieren und brechen somit die Verbindung ab. Normalerweise treten ICMP-Nachrichten nur sehr selten auf und moderne Überwachungssoftware sorgt dafür, dass bei übermäßiger Anzahl von ICMP-Paketen eine warnende Nachricht versendet wird. Mit dem bereits beschriebenen Tool Ettercap kann man verschiedene Man-in-the-Middle Angriffe durchführen. [13] 20 3.2 Verteidigungsmaßnahmen gegen Angriffe auf Protokollebene 3.2 Verteidigungsmaßnahmen gegen Angriffe auf Protokollebene Die hier besprochenen Vorkehrungen gegen eben genannte Angriffe sind leicht umzusetzen und er- fordern es nicht, dass ein eigener Kernel übersetzt wird. Oft finden Angriffe mittels Race Condition auf die tem- porären Daten einer Anwendung statt, die entsprechend geändert werden und somit zu einem für 22 3.3.2 Race Conditions den Angreifer positiven Nebeneffekt bei der originalen Anwendung führen. Diese Art des Scannens wird auch als "halb-offener" Scan bezeichnet, da hier keine vollständige TCP-Verbindung nach dem 3-Way-TCP-Handshake aufgebaut wird. Sollte der Port geschlossen sein, so antwortet er mit einem TCP- Paket mit gesetztem RST-Flag. [16] 3.3.4 Password Sniffing Unter dem Begriff Password Sniffing versteht man das Mitlesen bzw. Es gibt 2 Arten von Rootkits. Dort sucht man ab Zeile 1154 nach folgendem Codeabschnitt : static void tcp_v4_send_reset(struct sk_buff *skb) { struct tcphdr *th = skb-h.th; struct tcphdr rth; struct ip_reply_arg arg; /* Never send a reset in response to a reset. Weiterhin kann man mit Hilfe einfacher Abkürzungen wie "I need a very short Password 4 my Account": "InavsP4mA" bereits gute Passwörter erstellen. Jedoch sollte man bei Bekanntwerden eines Buffer Overflows in einem Programm immer die neuesten Patches und Updates einspielen, um die Sicherheit des Systems zu gewähren. Jedoch ist hierbei jede Lese-, bzw. Dazu dient der ICMP-Echo-Request, der versendet wird, um zu testen, ob der entfernte Rechner ansprechbar ist und auf Serviceanfragen reagieren kann. Bildbeschreibung: Enger, Sebastian Softwareseitige Absicherung von Linux-Systemen gegen netzwerkbasierende Angriffe Bachelorarbeit HOCHSCHULE MITTWEIDA (FH)... Datum der Veröffentlichung: 2025-05-02T22:38:53 Teile die Botschaft! Teile diesen Artikel in den sozialen Medien: Teile auf Social Media: Facebook.com Teile auf Social Media: Twitter.com / X.Com Teile auf Social Media: WhatsApp.com Teile auf Social Media: Telegram.com Teile auf Social Media: LinkedIn.com Teile auf Social Media: Email Teile auf Social Media: v-Kontakte VK.com Teile auf Social Media: Tumblr.com Teile auf Social Media: Xing.com Teile auf Social Media: Lineit lineit.com.au Teile auf Social Media: Skype.com Teile auf Social Media: Snapchat.com Teile auf Social Media: Reddit.com Teile auf Social Media: Flipboard.com Teile auf Social Media: Pinterest.com Teile auf Social Media: Mix.com Teile auf Social Media: WeChat.com Teile auf Social Media: Pocket Getpocket.com Teile auf Social Media: Blogger.com Teile auf Social Media: Evernote.com Teile auf Social Media: Baidu Tieba tieba.baidu.com Teile auf Social Media: TikTok.com Teile auf Social Media: Mastodon.social Teile auf Social Media: Fark.com Teile auf Social Media: LiveJournal.com Teile auf Social Media: WordPress.com Teile auf Social Media: Buffer.com Teile auf Social Media: HackerNews.com Autor: MSc. Sebastian Enger