Wie erleichtert die heutige Architektur Angriffe?
-Sharing
Gemeinschaftliche Nutzen von Daten, Programmen, Services, Kanälen und Leitungen.
-Universelle Interpretation
Einheitliche Speicherung von Daten und Programmen sowie die plattformübergreifende Nutzung von Programmiersprachen.
-Transitivität
Transitivität des Informationsflusses (A->B->C damit auch A->C) und der hohe Grad der (redundanten) Verknüpfung und Vernetzung
Wie können Bedrohungen abgewehrt werden?
-Verhinderung (prevention): stark typisierte Sprachen, Code Verifikation, I/O-Validierung,
Zugriffsbeschränkung, Schulungen (Entwickler + Anwender), Design
-Erkennung + Behebung (detection): Code-Analyse, Virenscanner, Intrusion Detection Systeme
-Begrenzen (mitigation): Sandboxing, Separation, Aktualisierungen
Was versteht man unter einem Computervirus?
Ein Computervirus (virus) ist eine Befehlsfolge, die ein Wirtsprogramm zur Ausführung benötigt. Viren
sind zur Reproduktion fähig. Dazu wird bei der Ausführung des Virus eine Kopie oder eine
modifizierte Version des Virus in einen Speicherbereich geschrieben (Infektion), der diese
Befehlssequenz noch nicht enthält. Zusätzlich zur Reproduktion enthalten Viren in der Regel einen
Schadteil. Dieser kann unbedingt oder bedingt durch einen Auslöser aktiviert werden.
Was gehört zu den Virusbestandtteilen?
Viruskennung: Kennzeichen des Virus und ggf. bedingter (Datum, Flag) Aufruf/Aktivierung der
Befehlsfolge
Infektionsteil: Suche infizierbare Programmdatei und kopiere
Schadensteil: Manipuliere Daten und/oder Programme
Sprung: kehre zum Wirtsprogramm zurück / verschleire eigene Aktivität
Mutierter Virus: wenn die Befehlssequenz bei der Reproduktion modifiziert wird
Wie verbreiten sich Viren und wie können sie eingeschränkt werden?
Verbreitung beim Kopieren von Programmen via Datenträger oder Download
Verbreitung im Rahmen von Netzwerkkommunikation (E-Mails, Java-Applets, Weitergabe von
Dokumenten (PDF, Bilder, etc.), Mobile Apps/kostenfreie Spiele!)
Aktivierung durch für den Benutzer transparente Aktionen
Verbreitung über in Dokumente eingebettete Makros (heute häufigste Form!)
Einschränkung durch Softwareverteilung über einen Server, der als Quarantänestation
Softwareprodukte auf Integrität und Virenfreiheit prüft.
Was für Virenarten gibt es?
Programm-Viren
• Kopieren sich in beliebige Programmen und „wandern“ durch die Weitergabe von Programmen Bootsektor-Viren
• Befallen die Speicherbereiche (Bootsektoren) eines Datenträgers (Platte, Stick, CD), die beim Starten des Systems gelesen werden
Was sind Präventations Gegenmaßnahmen?
Berechtigungen: Beschränken von Schreibberechtigungen, z.B. ausschließlich auf tmp-Verzeichnisse und insb. nicht auf Programmdateien
Verschlüsseln: von Daten und Programmen, bspw. über EFS (Encrypt.FileSys.)
Fingerabdrücke: Verwendung von schreibgeschützten Hashes zu installierten Programmen, um die Integrität sicher zu stellen.
Quarantäne: Verhindert das Ausführen von Programmen oder das Interpretieren von Daten aus unsicheren Quellen.
Isolation: Ausführen von unsicheren Programmen in isolierten Umgebungen, wie bspw. Sandboxes
Wichtig: für die Wiederherstellung stets aktuelle Backups vorhalten!
Was für Abwehrmechanismen gibt es?
Muster-Scanner: erkennen spezifische Bytemuster/Codesequenzen
Heuristik-Scanner: typische Codesequenzen
Aktivitätskontrolle: Typische Verhaltensmuster, bspw. Suche nach ausführbaren Programmen
Monitoring: zumeist werden Systemdateien hinsichtlich Veränderungen überwacht
Was versteht man unter Würmern?
Ein Wurm (worm) ist ein eigenständiges, ablauffähiges Programm mit der Fähigkeit zur
Reproduktion.
Die Vervielfältigung erfolgt oft unter Kommunikation mit anderen Würmern.
Verbreitung erfolgt in der Regel über das Netzwerk / das Ausnutzen von Lücken.
(nicht das Nutzen von „legalen“ Wegen wie bei Viren!)
Beanspruchen oft viel Netzwerkressourcen sowie oft auch ein Mehrfachbefall vorliegt.
Wie verursachen Würmer schaden?
Schaden: Zumeist die Integrität und Vertraulichkeit von Informationen als auch die Bedrohung der Verfügbarkeit (DoS)
Was sind Gegenmaßnahmen gegen Würmer?
Restriktive Rechtevergabe und minimales Diensteangebot (Konfiguration)
Patching, Patching, Patching… (und natürlich Monitoring und Protokollierung)
Wie konnte sich der Internet Wurm 1988 ausbreiten?
a.) per remote Shell (rsh) mit Brut Force (Passwort raten)
b.) Ausnutzen einer bekannten sendmail-Sicherheitslücke
(spezieller Debug-Modus sendete Nachricht an ein Programm und nicht an einen Empfänger)
c.) Ausnutzen einer Sicherheitslücke beim finger-Befehl, das dort genutzte gets()konnte zu
einem Buffer-Overflow gebracht werden
Was versteht man unter einem trojanischem Pferd?
Ein Trojanische Pferd/Trojaner (trojan horse) ist ein Programm, dessen Ist-
Funktionalität nicht mit der angegebenen Soll-Funktionalität übereinstimmt. Zumeist erfüllt es die Soll-Funktionalität, besitzt aber darüber hinaus (beabsichtigt) eine zusätzliche Verborgene.
-Verborgene Funktionalität (auch „logische Bombe“) kann ggf. erst aufgrund
eines Auslösers aktiviert werden, bspw. Zeit oder Nachricht.
-Häufigste Verbreitung über fingierte E-Mails
-2011 waren 69% der entdeckten Schadsoftware Trojaner
Wie verursacht ein trojanisches Pferd Schaden?
Zumeist die Vertraulichkeit von Informationen (Passwörter!) als auch die Übernahme des Rechners (z.B. in ein Bot-Netz)
Wie funktionierte das trojanische Pferd CadSoft?
Infektion
Es konnte ein interaktives Formular zur kostenfreien Bereitstellung des Handbuches ausgefüllt werden. Im Hintergrund wurde nach nicht lizensierten CadSoft Produkten auf dem Rechner gesucht und die Information kodiert im Bestellformular mit übermittelt.
Was für Gegenmaßnahmen wurden getroffen?
Verschlüsseln: Sensible Daten (wie Passwörter) nie unverschlüsselt speichern.
Rechte: Benutzerrechte stets minimieren (insb. für schützenswerte Dateien, Netzwerkverbindung,
Ausführen/Installieren von Programmen)
Lizensierte Software: Nur lizensierte SW aus gesicherten Quellen aufspielen, die auch tatsächlich und dauerhaft benötigt wird.
Was ist die Definition eines Bot-Netz?
Ein Bot-Netz (bot net) ist ein Verbund von infizierten Rechnern („Bots“), die über die Schadsoftware
miteinander kommunizieren und meist durch einen zentralen Server ferngesteuert werden.
-IRC (Internet Relay Chat) wird häufig zur Kommunikation in Bot-Netzen missbraucht. Neuere Bot-
Netze setzen Peer-to-Peer (P2P) Technologien ein (höhere Ausfallsicherheit).
-Kontrolle und Kommunikation der Bots ist im allgemeinen Passwort geschützt.
-Trend: Bot-Netz Betreiber bieten Kriminellen ihr Netz an, um Dienste zu blockieren oder um
Geldbeträge zu erpressen.
-Größtes Botnetz (11/2016) Mirai basierte auf IoT (Internet of Things = Festplattenrekorder,
Zahnbürsten, Smart Homes, etc.), die häufig mit Standardpasswörtern operieren.
Wie entsteht der Schaden durch ein Bot-Netz?
Schaden: Zumeist stehen verteilte Denial-of-Service Attacks (DDoS) oder die massenhafte Spam-
Versendung im Fokus der Angreifer. Aber auch die Bot-Rechner selbst können angegriffen werden.
Was versteht man unter Spam?
Unter Spam versteht man eine in Massen unaufgeforderte versendete E-Mail.
-Grund des Versands ist in der Regel Werbung oder die Verbreitung von Schadsoftware.
-Adressen stammen von Adresshändler, die diese häufig aus dem Internet „harvesten“ sowie über Schadsoftware gewinnen.
Was für einen Schaden verursacht Spam?
Direkter Schaden: etwa 1,4% der Arbeitszeit eines Mitarbeiters (bei ~13,3 Spam Nachrichten /Tag)
allein in den USA 10 Milliarden $ (im Jahr 2004)
Indirekter Schaden: etwa 120 Mio $ Kosten / Jahr in den USA für Antispamsysteme.
Schaden durch erfolgreich eingebrachte Schadsoftware.
Anteil: 2012 noch 69%, 2019 auf 55% runter
Deutschland wird am stärksten mit schädlichen E-Mails weltweit attackiert (Stand 2020)
Was sind Gegenmaßnahmen gegen Spam und Bot-Netze?
Filter
• Filter auf den Ebenen: Netzwerk, MTA, Mailserver und Mailclient
• Filtern auf Inhalt: Muster zur Erkennung von Spam
• Filtern auf Absendereben
Blacklisting, Greylisting und Whitelisting (nächste Folie) de facto kommt meist eine Kombination zum Einsatz
Schulung der Mitarbeiter: korrekter Umgang mit Spam
Was ist Blacklisting, Greylisiting und Whitelisting?
Blacklisting:
• Explizites Ausschließen von MTAs/IP-Adressen und spez. beschaffenen Mails.
• Häufig werden öffentlich verfügbar gemachte Blacklists automatisch genutzt.
• Benötigt wenig Konfiguration, allerdings werden oftmals auch reguläre Adressen (IPs) gelistet das Entfernen dauert i.a. 1-2 Tage!
Greylisting
• Der MTA weist jede Nachricht zurück, wenn ihm der Sender noch nicht bekannt ist. erst nach einer n-ten Verzögerung werden Nachrichten akzeptiert.
• Annahme: Spam-Versendung erfolgt nicht über vollständige MTA-Implementierung.
• Benötigt kaum Konfiguration und ist effizient, jedoch benötigen Mails von neuen Kontakten länger! (Mailheader)
X-Greylist: delayed 393 seconds by postgrey-1.32 at deliver; Mon, 06 DEC 2010 01:53:40 CET
Whitelisting
• Explizites Erlauben von Absendern.
• „Certified Sender Alliance“ stellt eine zentrale Positivliste zur Verfügung.
Was versteht man unter mobilen Code und was ist ein Beispiel?
Unter mobilen Code bzw. aktiven Inhalten verstehen wir alle Programme, die auf einem entfernten,
potentiell nicht vertrauenswürdigen Rechner erstellt wurden und auf einem lokalen System ausgeführt werden.
-Klare Unterscheidung zum Code bei n-tier Modell, insb. zum Client-Server-Modell.
-Typisch: mobiler Code (auch: mobiler Agent) wandert von Rechnerknoten zu Rechnerknoten im Netz und wird dort ausgeführt.
Beispiel: Java-Applets, ActiveX-Controls, Java-Script Website, E-Mails mit eingebetteten Skripten, etc.
Was sind drei zentrale Bedrohungen durch mobilen Code?
Integrität des Codes kann beim Transport über einen unsicheren Kanal verletzt werden:
->Einbringung von Schadcode (Absturz, Datenänderung oder Tojaner einfügen).
Der Code selbst ist der Bedrohung des unsicheren Gastrechners ausgesetzt:
->Manipulation (Schadcode bei Weitergabe) und unautorisierter Missbrauch.
Bedrohung des Gastrechners durch den mobilen Code:
-> unautorisierte Zugriffe, unzulässige Ressourcenbeanspruchung, Einbringung von Schadcode
Was sind Gegenmaßnahmen gegen mobilden Code?
Verschlüsselung und Zertifikate
• Sowohl der Anbieter des Codes als auch der Gastrechner müssen Ihre Identität anhand von
Zertifikaten eindeutig nachweisen.
• Auch der Code selbst muss signiert (authentifiziert/bspw. via Authenticode Technik) und
gegenüber Dritten verschlüsselt (unversehrt und vertraulich) übertragen werden.
• Die Vertrauenswürdigkeit des Gastrechners / der dort befindlichen Ablaufumgebung ist
ebenfalls über ein Zertifikat auszuweisen.
Sandboxing und Virtualisierung
• Zum Schutz des Gastrechners und zur klaren Schadensbegrenzung.
Proof-Carrying Code
• Ansatz der perspektivisch einmal sicherstellen soll, dass auch nur gewünschte Funktionalitäten
(und Speicher) ausgeführt werden.
Zuletzt geändertvor 6 Tagen