Moin!
Eine ergänzende Frage ist mir noch eingefallen: Was nutzt eigentlich einem Spion ein offener Port, wenn das dazugehörige Programm (also das, das ihn geöffnet hat) seine Datenpakete nicht verarbeiten kann und zurückweist bzw. wenn es weniger robust ist, abstürtzt?
Dann nutzt es nichts.
Beziehungsweise ist das eben genau die Frage. Und um das Risiko zu minimieren, sollten eben nur diejenigen Programme aktiv sein und einen Port offen haben, die man unbedingt zur Erfüllung seiner Aufgaben braucht.
Was an Programmen potentiell gefährlich sein kann: Wenn du beispielsweise ein Login hast, sei es nun FTP oder eine Kommandozeile (Telnet, SSH), dann wird sich dein Server bei Kontakt mit einem freundlich Text melden und auf Benutzername und Passwort warten. Natürlich kann man jetzt hingegen und alle möglichen Passworte ausprobieren. Das ist aber nicht unbedingt Sinn der Sache, dauert in der Regel ziemlich lange und kann auch durchaus entdeckt werden.
Wie lang ist typischerweise ein Benutzername oder ein Passwort? Wenn das mehr als 20 Zeichen hat, ist es schon unrealistisch. Wenn das Serverprogramm vielleicht (um sicherzugehen) 100 Zeichen im Speicher reserviert, könnte man auf der sicheren Seite sein.
Wenn der Angreifer aber 2000 Zeichen als Benutzername eingibt, und das Serverprogramm die alle brav vom Startbyte aus nacheinander in den Speicher schreibt, ohne die gesetzte Grenze bei 100 Zeichen zu beachten (und danach alle Zeichen zu ignorieren), dann kann man auf diese Weise Programmcode in den Speicher schreiben lassen, der möglicherweise auch ausgeführt wird.
Solche sogenannten Exploits, als das Ausnutzen einer Schwäche in der Programmierung eines Programms, sind in der Regel nur durch gutes Fachwissen über die Programmierinterna des Programms herzustellen. Die guten Fachleute melden solche Lücken (auch wenn sie kein Programm zum Ausnutzen schreiben konnten - ein Überschreiben solcher Puffer (Buffer Overflow) reicht als Kriterium) der Öffentlichkeit und dem Hersteller des Programms. Die bösen nutzen diese Sicherheitslücke für sich aus. Sowas ist allerdings auch nicht mal einfach so zu machen, man muß schon exakt die verwendete Softwareversion kennen, die man angreifen will. Manche Programme machen es einem leicht, indem sie in der Begrüßungsmeldung sagen "Hallo, ich bin Programm ABC Version X.Y". Manche Programme machen es einem schwer, indem sie diese Angabe nicht machen. Und manche Programme lassen sich so konfigurieren, dass dort eine beliebige falsche Angabe den Angreifer täuschen kann.
- Sven Rautenberg
Die SelfHTML-Developer sagen Dankeschön für aktuell 21335,05 Euro Spendengelder!