Gefährdungsgrad unterschiedlicher Betriebssysteme für Viren

Das verwendete Betriebssystem hat großen Einfluss darauf, wie hoch die Wahrscheinlichkeit einer Virusinfektion ist oder wie hoch die Wahrscheinlichkeit für eine systemweite Infektion ist. Grundsätzlich sind alle Betriebssysteme anfällig, die einem Programm erlauben, eine andere Datei zu manipulieren. Ob Sicherheitssysteme wie beispielsweise Benutzerrechtesysteme vorhanden sind und verwendet werden, beeinflusst, inwieweit sich ein Virus auf einem System ausbreiten kann.

Betriebssysteme ohne jegliche Rechtesysteme wie etwa MS-DOS, auf MS-DOS basierende Microsoft Windows- oder Amiga-Systeme sind die anfälligsten Systeme. Wenn der Benutzer ausschließlich als Administrator arbeitet und somit das Rechtesystem des Betriebssystems nicht eingreifen kann, sind jedoch auch neuere Microsoft Windows NT-, Unix- und Unix-ähnliche Systeme wie Linux und Mac OS X genauso anfällig.

Besonders bei Windows NT und darauf basierenden Systemen wie Windows 2000 oder XP besteht das Problem, dass zwar ein gutes Benutzerrechtesystem vorhanden ist, dieses aber in der Standardeinstellung nicht verwendet wird, um die Rechte des Anwenders einzuschränken. Ein Grund dafür ist, dass nach der Installation von einigen Windows-Versionen die automatisch eingerichteten Benutzerkonten Administratorenrechte besitzen. Anders jedoch ab Windows Vista, wo die Einrichtung eines Standardkontos nicht die vollen Administratorrechte hat und mit Hilfe der Benutzerkontensteuerung (UAC) wird zudem das System geschützt. Die meisten Linux-Distributionen richten bei der Installation ein Nutzerkonto ohne administrative Rechte ein, so dass beim normalen Benutzen des Computers zunächst nur beschränkte Rechte zur Verfügung stehen und nur der spezielle Root-Account Administratorenrechte besitzt.

Wenn ein Anwender mit einem Benutzerkonto mit eingeschränkten Rechten arbeitet, kann ein Virus sich nur auf Dateien verbreiten, für die der Benutzer die entsprechenden Rechte zur Veränderung besitzt. Dieses bedeutet normalerweise, dass Systemdateien vom Virus nicht infiziert werden können, solange der Administrator oder mit Administratorrechten versehene Systemdienste nicht Dateien des infizierten Benutzers aufrufen. Eventuell auf dem gleichen System arbeitende Benutzer können meist ebenfalls nicht infiziert werden, so lange sie nicht eine infizierte Datei des infizierten Benutzers ausführen oder die Rechte des infizierten Benutzers es erlauben, die Dateien von anderen Benutzern zu verändern.

Da Windows-Systeme heute die weiteste Verbreitung auf PCs haben, sind sie derzeit das Hauptziel von Virenautoren. Die Tatsache, dass sehr viele Windows-Anwender mit Konten arbeiten, die Administratorrechte haben, sowie die Unkenntnis von Sicherheitspraktiken bei der relativ hohen Zahl unerfahrener Privatanwender macht Windows-Systeme noch lohnender als Ziel von Virenautoren.

Während für Windows-Systeme über hunderttausende Viren bekannt sind, liegt die Zahl der bekannten Viren für Linux und das klassische Mac OS deutlich niedriger. In „freier Wildbahn“ werden allerdings weitaus weniger verschiedene Viren beobachtet, als theoretisch bekannt sind. Das erste Virus für Apples Mac-OS-X-Betriebssystem wurde am 13. Februar 2006 im Forum einer US-amerikanischen Gerüchteseite veröffentlicht. Bis dahin galt das Betriebssystem der Macintosh-Computer als gänzlich von Viren und Würmern unbelastet. Der Hersteller von Windows-Antivirenprogrammen Sophos stellt in seinem Security Report 2006 öffentlich fest, dass Mac OS X sicherer sei als Windows.

Bei Unix- und Linux-Systemen sorgen ebenfalls die hohen Sicherheitsstandards und die geringe Verbreitung dieser Systeme bei Endanwendern dafür, dass sie für Virenautoren momentan kein lohnendes Ziel darstellen und Viren „in freier Wildbahn“ praktisch nicht vorkommen. Anders sieht es bei Computerwürmern aus. Unix- bzw. Linux-Systeme sind wegen der hohen Marktanteile bei Internet-Servern mittlerweile ein häufiges Ziel von Wurmautoren.

 


Dieser Artikel basiert auf dem Artikel Computervirus aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

 

Computervirus

Ein Computervirus (lateinisch virus ‚Gift, Schleim‘; im Deutschen neutralen, auch maskulinen Geschlechts, Plural -viren) ist ein sich selbst verbreitendesComputerprogramm, welches sich in andere Computerprogramme einschleust und sich damit reproduziert. Die Klassifizierung als Virus bezieht sich hierbei auf die Verbreitungs- und Infektionsfunktion.

Einmal gestartet, kann es vom Anwender nicht kontrollierbare Veränderungen am Status der Hardware, am Betriebssystem oder an weiterer Software vornehmen (Schadfunktion). Computerviren können durch vom Ersteller gewünschte oder nicht gewünschte Funktionen die Computersicherheit beeinträchtigen und zählen zurMalware.

Der Ausdruck Computervirus wird umgangssprachlich auch für Computerwürmer und Trojanische Pferde genutzt, da es oft Mischformen gibt und für Anwender der Unterschied kaum zu erkennen ist.

Anwender sollten niemals unbekannte Dateien oder Programme aus unsicherer Quelle ausführen und generell beim Öffnen von Dateien Vorsicht walten lassen. Das gilt insbesondere für Dateien, die per E-Mail empfangen wurden. Solche Dateien – auch harmlos erscheinende Dokumente wie Bilder oder PDF-Dokumente – können durch Sicherheitslücken in den damit verknüpften Anwendungen auf verschiedene Weise Schadprogramme aktivieren. Daher ist deren Überprüfung mit einem aktuellen Antivirenprogramm zu empfehlen.

Betriebssystem und Anwendungen sollten regelmäßig aktualisiert werden und vom Hersteller bereitgestellte Service Packs und Patches/Hotfixes eingespielt werden. Dabei ist zu beachten, dass es einige Zeit dauern kann, bis Patches bereitgestellt werden.[2] Einige Betriebssysteme vereinfachen diese Prozedur, indem sie das automatische Herunterladen und Installieren von Aktualisierungen unterstützen. Manche unterstützen sogar das gezielte Herunterladen und Installieren nur derjenigen Aktualisierungen, die sicherheitskritische Probleme beheben. Dazu gibt es auch die Möglichkeit, die Service Packs und Hotfixes für Windows 2000 und Windows XP via „Offline-Update“ einzuspielen. Diese Offline-Updates sind besonders bei neuen PCs zu empfehlen, da andernfalls der PC bereits beim ersten Verbinden mit dem Internet infiziert werden könnte.

Die eingebauten Schutzfunktionen des Betriebssystems sollten ausgenutzt werden. Dazu zählt insbesondere, nicht als Administrator mit allen Rechten, sondern als Nutzer mit eingeschränkten Rechten zu arbeiten, da dieser keine Software systemweit installieren darf.

Das automatische Öffnen von Dateien aus dem Internet sowie das automatische Ausblenden von bekannten Dateianhängen sollte deaktiviert werden, um nicht versehentlich Dateien auszuführen, die man sonst als getarnten Schädling erkennen würde. Auch durch die Autostartfunktion für CD-ROMs und DVD-ROMs können Programme bereits beim Einlegen eines solchen Datenträgers ausgeführt und damit ein System infiziert werden.

Es empfiehlt sich, die auf den meisten Privatrechnern vorinstallierte Software von Microsoft zu meiden oder sicherer zu konfigurieren, da sie meist so konfiguriert sind, dass sie für den Anwender den höchsten Komfort und nicht die höchste Sicherheit bieten. Auch bieten sie durch ihren extrem hohen Verbreitungsgrad eine große Angriffsfläche. Vor allem Internet Explorer und Outlook Express sind hier zu nennen. Sie sind die am häufigsten von Schädlingen angegriffenen Anwendungen, da sie weit verbreitet und in den Standardeinstellungen leicht angreifbar sind. Die zurzeit bedeutendsten Alternativen zum Internet Explorer sind Firefox sowie Opera, da beide deutlich mehr Sicherheit versprechen. Alternativen zu Outlook Express sind beispielsweise Mozilla Thunderbird, Opera oder The Bat.

 


Dieser Artikel basiert auf dem Artikel Computervirus aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

 

Malware

Als Schadprogramm auch Evilware oder Malware [ˈmælˌwɛə] (Kofferwort aus englisch malicious „bösartig“ beziehungsweise lateinisch malus„schlecht“ und Software) bezeichnet man Computerprogramme, die entwickelt wurden, um vom Benutzer unerwünschte und gegebenenfalls schädliche Funktionen auszuführen. Malware ist damit ein Oberbegriff, der u.a. den Computervirus umfasst. Der Begriff des Virus ist älter und häufig nicht klar abgegrenzt. So ist die Rede von Virenschutz, womit viel allgemeiner der Schutz vor Schadsoftware jeglicher Art gemeint ist. Ein typischer Virus verbreitet sich, während die heute gängigen Schadprogramme die Struktur von Trojanischen Pferden zeigen, deren primärer Zweck nicht die Verbreitung, sondern die Fernsteuerbarkeit ist.

Mit Malware ist nicht fehlerhafte Software gemeint, obwohl auch diese selbst Schaden anrichten kann oder durch Sicherheitslücken beziehungsweise mangelnde Informationssicherheit zum Angriff auf Computersysteme ausgenutzt werden kann.

 


Dieser Artikel basiert auf dem Artikel Schadprogramm aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

 

Identitätsdiebstahl

Als Identitätsdiebstahl (auch Identitätsbetrug, Identitätsmissbrauch. Identitätsmissbrauch; engl. identity theft) wird die missbräuchliche Nutzung personenbezogener Daten (der Identität) einer natürlichen Person durch Dritte bezeichnet.

Die Bezeichnung als „Identitätsdiebstahl“ ist zwar sehr häufig, trifft aber die Sachlage nicht so gut wie „Identitätsmissbrauch“, weil bei einem typischen Diebstahl dem Berechtigten etwas weggenommen wird, so dass er es anschließend selbst nicht mehr hat. Beim Identitätsdiebstahl kann der Berechtigte seine Identität aber weiter verwenden.

Ziel eines Identitätsdiebstahls kann es sein, einen betrügerischen Vermögensvorteil zu erreichen oder den rechtmäßigen Inhaber der Identität in Misskredit zu bringen (selten).

Bei einem Identitätsdiebstahl wird neben dem Namen eine Reihe persönlicher Daten wie beispielsweise Geburtsdatum, Anschrift, Führerschein- oder Sozialversicherungsnummern, Bankkonto- oder Kreditkartennummerngenutzt, um die Feststellung der tatsächlichen eigenen Identität zu umgehen oder diese zu verfälschen. Je mehr zueinander passende Daten der Missbrauchende hat, desto sicherer wird ihm die Vorspiegelung gelingen.

Bereits erlangte Daten können zur Ermittlung weiterer Daten genutzt werden. So geriet z. B. die Versicherungswirtschaft kürzlich in Erklärungsprobleme, weil ein Fernsehsender über zufällig im Straßenverkehr ausgewählte Kfz-Kennzeichen an die Versicherungsdaten der Halter – insbesondere die vollständigen Anschriften – gelangte und der Reporter dann bei den Fahrzeughaltern an der Tür erschien. Dabei wurde in den Telefongesprächen zunächst ein Unfall behauptet, mit dem man über den Zentralruf der Autoversicherer immer an den Namen der Versicherung und die Vertragsnummer kommt. Dann wurde bei der ermittelten Versicherung mit der Vertragsnummer angerufen und z. B. behauptet, man sei gerade umgezogen und wolle nur die Richtigkeit der Anschrift prüfen. In der Regel wurde dann von der betreffenden Versicherung der Name des Halters und die Anschrift genannt – im guten Glauben, dass man mit dem Halter spreche.

Die missbräuchliche Nutzung einer fremden Identität kann für die Opfer zur Verschuldung oder – wenn kriminelle Handlungen im Namen des Opfers des Identitätsdiebstahls durchgeführt werden – zu ungerechten Strafenführen. Wird der Missbrauch aufgedeckt, so wird der Täter nicht nur für den Missbrauch selbst bestraft, sondern muss den angerichteten finanziellen Schaden tragen und die Strafen für die im Namen des Opfers begangenen Taten übernehmen.

Insbesondere im E-Commerce, beispielsweise beim Durchführen von Transaktionen über das Internet-Auktionshaus eBay, das bisher keine rechtsverbindliche Identitätsfeststellung durchführt, kann Identitätsdiebstahlerhebliche Auswirkungen auf die Geschäftspartner haben. Nach den Urteilen des Oberlandesgericht Köln vom 6. September 2002[1] und des Amtsgerichts Erfurt vom 14. September 2001[2] muss bei Vertragsabschlüssen im Internet der Verkäufer beweisen, dass der Käufer identisch mit dem angeblichen Account-Inhaber ist. Geschädigte durch Identitätsdiebstahl wehren sich nach Bekanntwerden der Straftat am effektivsten durch eine Strafanzeige (auch gegen Unbekannt) bei einer Polizeidienststelle.

Illegal operierende Auskunfteien manipulieren durch Phishing, Pharming und Spoofing die Computer der jeweiligen Zielpersonen und verschaffen sich damit zunächst die Identität (zum Beispiel Nickname in Verbindung mit einem Kennwort). Mit dieser gestohlenen Identität verschaffen sie sich dann Zugang zu Daten bei Onlineberatungen, Kontaktportalen, Internet-Auktionshäusern und anderen (Informationsdiebstahl) und vermarkten die gewonnenen Daten an „interessierte Kreise“ (Kriminelle).

 


Dieser Artikel basiert auf dem Artikel Identitätsdiebstahl aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

 

Cross Site Scripting XSS

Cross-Site-Scripting (XSS; deutsch Webseitenübergreifendes Skripting) bezeichnet das Ausnutzen einer Computersicherheitslücke in Webanwendungen, indem Informationen aus einem Kontext, in dem sie nicht vertrauenswürdig sind, in einen anderen Kontext eingefügt werden, in dem sie als vertrauenswürdig eingestuft werden. Aus diesem vertrauenswürdigen Kontext kann dann ein Angriff gestartet werden.

Ziel ist es meist, an sensible Daten des Benutzers zu gelangen, um beispielsweise seine Benutzerkonten zu übernehmen (Identitätsdiebstahl).

Eine spezielle Anwendung des XSS ist das Cross-Site-Tracing.

Die Bezeichnung „Cross-Site“ bezieht sich darauf, dass der Angriff zwischen verschiedenen Aufrufen einer Seite stattfindet, in der Regel jedoch nicht darauf, dass unterschiedliche Websites beteiligt sind. Meist werden für diese Angriffsart aufgrund ihrer weiten Verbreitung Script-Sprachen – insbesondere JavaScript – genutzt: daher „Scripting“.

Das X wird im Englischen als Abkürzung für cross (= „Kreuz“) verstanden.

Trotz der Namensähnlichkeit sind das Cross-Site-Cooking und die Cross-Site-Request-Forgery sowie deren Anwendungen wie etwa die Cross-Site-Authentication-Attacke keine Formen von Cross-Site-Scripting.

Cross-Site-Scripting ist eine Art der HTML Injection. Cross-Site-Scripting tritt dann auf, wenn eine Webanwendung Daten annimmt, die von einem Nutzer stammen, und diese Daten dann an einen Browser weitersendet, ohne den Inhalt zu überprüfen. Damit ist es einem Angreifer möglich, auch Skripte indirekt an den Browser des Opfers zu senden und damit Schadcode auf der Seite des Clients auszuführen.

Ein klassisches Beispiel für Cross-Site-Scripting ist die Übergabe von Parametern an ein serverseitiges Skript, das eine dynamische Webseite erzeugt. Dies kann etwa das Eingabeformular einer Webseite sein, wie in Webshops, Foren, Blogs und Wikis üblich. Die eingegebenen Daten werden auf der Webseite wieder als Seiteninhalt ausgegeben, wenn die Seite von Benutzern aufgerufen wird. So ist es möglich, manipulierte Daten an alle Benutzer zu senden, sofern das Serverskript dies nicht verhindert. Diese Daten sind oft Code einer clientseitigen Skriptsprache (meist JavaScript).

Häufige Angriffsarten sind das Entführen von Benutzer-Sessions, Website-Defacements, das Einstellen negativer Inhalte, Phishing-Angriffe und die Übernahme der Kontrolle des Benutzerbrowsers.

Besonders gefährlich wird dies, wenn die Webseite, auf der der Schadcode untergebracht wurde, im lokalen Browser mit besonderen Sicherheitsrechten (Privilegien) ausgestattet ist. Der Schadcode kann dann in Abhängigkeit von der Mächtigkeit der Skriptsprache verschiedene Dinge tun, die mit den Rechten des lokalen Benutzers möglich sind. Da aus Bequemlichkeit auf Microsoft-Windows-Systemen (vor Windows Vista) der lokale Benutzer häufig mit Administrator-Rechten ausgestattet ist, ist dies bereits eine sehr gefährliche Konstellation. Aber auch ohne Administrator-Rechte kann der Angreifer versuchen, durch Ausnutzung von Sicherheitslücken bei der Ausführung der betreffenden Skriptsprache diese Rechte zu erlangen.

In der Regel wird XSS etwa in Foren breit gestreut und nicht zielgerichtet an ausgewählte Personen gerichtet. Dies ist jedoch ebenfalls möglich. Neben dem klassischen XSS im Webbrowser interpretieren häufig auch E-Mail-Programme Scriptcode, was einen Angriff per E-Mail ermöglicht. Dazu schiebt der Angreifer dem Opfer ein von ihm präpariertes HTML-Dokument unter, das per E-Mail verschickt wird. Oder der Angreifer lässt dem Opfer einen Hyperlink zukommen, der auf eine vom Angreifer präparierte Webseite weist oder selbst den Schadcode enthält. Häufig werden dazu auch Kurz-URLs, URL-Spoofing-Techniken und andereKodierungsverfahren eingesetzt, um den Link zu verschleiern oder vertrauenswürdig erscheinen zu lassen.

Neuerdings werden auch Webspider missbraucht, um XSS- und SQL-Injection-Attacken auszuführen. Hierzu wird ein präparierter Link auf einer Webseite veröffentlicht. Sobald ein Webspider diesem Link folgt, löst er die Attacke aus. Dadurch taucht die IP-Adresse des Spiders und nicht die des eigentlichen Angreifers in den Protokollen des angegriffenen Systems auf. Der Angreifer kann somit anonym agieren. In schwerwiegenden Fällen wäre es aber dennoch möglich, die IP-Adresse des Computers, der den manipulierten Link veröffentlicht hat, herauszufinden.

Um durch eine Webanwendung keine Basis für XSS-Angriffe zu bieten, müssen alle eingehenden Eingabewerte als unsicher betrachtet und vor der weiteren Verarbeitung auf der Serverseite geprüft werden. Dabei sollte man sich nicht darauf verlassen, „böse“ Eingaben zu definieren (Schwarze Liste), um diese herauszufiltern, da man nicht genau wissen kann, welche Angriffsmethoden es gibt. Besser ist es daher, die „guten“ Eingaben exakt zu definieren (Weiße Liste) und nur solche Eingaben zuzulassen. Dieses Verfahren zählt ganz allgemein zu den Best Practices der Programmierung und sollte wo immer möglich angewandt werden, um unerwartetes Programmverhalten zu verhindern. Allerdings ist es je nach Anwendung nicht immer ohne weiteres in der Praxis umzusetzen, besonders wenn die erlaubten Eingabewerte sehr zahlreich sind.

Eine DOM-Injection zu verhindern, ist weit weniger einfach, da Benutzereingaben nicht serverseitig geprüft werden können. Da dieser Angriff unter Umgehung des Servers stattfindet, muss die Gültigkeitsprüfung für Eingabedaten auf Clientseite im Browser erfolgen, was allerdings wiederum leicht manipulierbar ist.

SQL Injection

SQL-Injection (dt. SQL-Einschleusung) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL-Datenbanken, die durch mangelnde Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht. Der Angreifer versucht dabei, über die Anwendung, die den Zugriff auf die Datenbank bereitstellt, eigene Datenbankbefehle einzuschleusen. Sein Ziel ist es, Daten auszuspähen, in seinem Sinne zu verändern, die Kontrolle über den Server zu erhalten oder einfach größtmöglichen Schaden anzurichten.

SQL-Injections sind dann möglich, wenn Daten wie beispielsweise Benutzereingaben in den SQL-Interpreter gelangen. Denn Benutzereingaben können Zeichen enthalten, die für den SQL-Interpreter Sonderfunktion besitzen und so Einfluss von außen auf die ausgeführten Datenbankbefehle ermöglichen. Solche Metazeichen in SQL sind zum Beispiel der umgekehrte Schrägstrich (Backslash), das Anführungszeichen, derApostroph und das Semikolon.

Oft sind solche Lücken in CGI-Skripten und in Programmen zu finden, die Daten wie Webseiteninhalte oder E-Mails in SQL-Datenbanken eintragen. Nimmt ein solches Programm die Maskierung nicht korrekt vor, kann ein Angreifer durch den gezielten Einsatz von Funktionszeichen weitere SQL-Befehle einschleusen oder die Abfragen so manipulieren, dass zusätzliche Daten verändert oder ausgegeben werden. In einigen Fällen besteht auch die Möglichkeit, Zugriff auf eine Shell zu erhalten, was im Regelfall die Möglichkeit der Kompromittierung des gesamten Servers bedeutet.

Um SQL-Injections zu verhindern, dürfen vom Benutzer eingegebene Daten nicht ohne Weiteres in eine SQL-Anweisung eingebaut werden. Durch das Escapen der Eingabe werden Metazeichen wie z. B. Anführungszeichen maskiert und somit vom SQL-Interpreter nicht beachtet.

Generell ist die Webanwendung für die korrekte Prüfung der Eingabedaten verantwortlich, so dass vor allem die Metazeichen des betreffenden Datenbanksystems entsprechend zu maskieren sind, die für Ausnutzung dieser Sicherheitslücke verantwortlich sind. Weitergehend können auch die Eingabedaten auf die Eigenschaften erwarteter Werte geprüft werden. So bestehen deutsche Postleitzahlen beispielsweise nur aus Ziffern. Geeignete Schutzmaßnahmen sind in erster Linie dort zu implementieren.

Der simplere und sicherere Weg ist jedoch, die Daten überhaupt vom SQL-Interpreter fernzuhalten. Dabei kann man auf das Kappen der Eingabe verzichten. Die Technik dazu sind gebundene Parameter in Prepared Statements. Dabei werden die Daten als Parameter an einen bereits kompilierten Befehl übergeben. Die Daten werden somit nicht interpretiert und eine SQL-Injection verhindert. Als positiven Nebeneffekt bekommt man bei bestimmten Datenbanken (z. B. Oracle) außerdem eine Steigerung der Performance. Stored Procedures bieten dagegen keinen generellen Schutz vor SQL-Injection, insbesondere dann nicht, wenn der SQL-Code der Funktion nicht bekannt ist.

Doch auch auf Seiten des Datenbankservers lassen sich Sicherheitsvorkehrungen treffen. So sollten die Benutzer, mit denen sich eine Webanwendung beim Datenbankserver authentifiziert, nur die Privilegien besitzen, die er tatsächlich benötigt. So können zumindest einige der möglichen Angriffe unwirksam werden.

Hat ein Betreiber eines Webservers keine Kontrolle über die Anwendungen, kann durch Einsatz von Web Application Firewalls (WAF) zumindest teilweise verhindert werden, dass SQL-Injection-Schwachstellen ausgenutzt werden können. Unabhängig von der Kontrolle über die Anwendungen kann ein Betreiber eines Webservers durch den gezielten Einsatz einer WAF die Sicherheit zusätzlich erhöhen, da viele WAFs neben abwehrenden auch prophylaktische Maßnahmen anbieten.

Es ist nicht schwer, bestehende Programme so umzubauen, dass SQL-Injections nicht mehr möglich sind. Das hauptsächliche Problem der meisten Programmierer ist fehlendes Wissen über diese Art von Angriffen. Nachfolgend einige Beispiele, um die Angriffe abzuwehren.

 


Dieser Artikel basiert auf dem Artikel SQL-Injection aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

Sicherheitslücke

Eine Sicherheitslücke ist im Gebiet der Informationssicherheit ein Fehler in einer Software, durch den ein Programm mit Schadwirkung (Malware) oder ein Angreifer in ein Computersystem eindringen kann.

Eine Sicherheitslücke stellt eine Bedrohung für die Sicherheit eines Computersystems dar. Es besteht das Risiko, dass die Sicherheitslücke ausgenutzt und das betroffene Computersystem kompromittiert werden kann. Sicherheitslücken entstehen unter anderem durch den unzureichenden Schutz eines Computers vor Angriffen aus dem Netz (beispielsweise mangels Firewall oder anderer Sicherheitssoftware) sowie durchProgrammierfehler im Betriebssystem, Webbrowser oder anderen Softwareanwendungen, die auf dem System betrieben werden.

Sicherheitslücken können im Entwicklungsprozess entstehen, wenn Sicherheitsaspekte in der Planung, Konzeption und Entwicklung vernachlässigt werden und Sicherheitsvorgaben nicht ausreichend berücksichtigt werden, z. B. als Qualitätsziele. Des Weiteren ergeben sich Sicherheitslücken aus Fehlern, die auf Grund der Komplexität von Softwaresystemen im Entwicklungsprozess entstehen können. Grobe Schätzungen zeigen, dass ein Programmierer pro 1000 Programmzeilen einen Fehler erzeugt, das entspricht einem Promille Fehlerhäufigkeit; bei 1.000.000 Zeilen sind also etwa 1000 Fehler zu erwarten. Falls beim Alpha- und Beta-Prozess nicht alle Fehler gefunden werden, entsteht ein fehlerhaftes Produkt.

Viele Fehler werden nie entdeckt, da der Fehlergehalt gering ist oder die Auswirkung erst bei längerer Laufzeit des Programms Schaden erzeugen würde. In hochkomplexen Programmen werden solche einfachen Fehler bei Entdeckung zunächst nur dokumentiert und erst später behoben. Dies nicht nur aus Kostengründen, sondern auch deshalb, da jede zur Behebung notwendige Änderung am Programmcode wiederum Quelle neuer Fehler sein kann. Manche Fehler erzeugen jedoch schwerwiegende Sicherheitslücken, ohne dass dies sofort zu einem kompletten Absturz führt.

Derartige Sicherheitslücken sind symptomatisch für Programme, welche mit Programmiersprachen geschrieben wurden, die in Hinblick auf zum Beispiel Performance optimiert sind (beispielsweise C oder Assembler) und auf Grund von ihrem Programmiermodell anfällig für Fehler sind (Stichwort: Zeigerarithmetik). Durch die weite Verbreitung von derartigen Programmiersprachen, dem hohen Zeitdruck in der Softwareerzeugung, verbunden mit dem ausgeprägten Kostendruck der Softwareerzeugerfirmen und dem wenig sensiblen Umgang mit dem Thema sichere Software sind Sicherheitslücken eher die Regel als die Ausnahme.

Ein häufig genanntes Problem sind vor allem Softwareangebote von Hardwareherstellern zu ihren Produkten, welche oftmals nur aus Marketinggründen bei bestimmten Produkten beiliegen (vergleicheVideoschnittsoftware bei Camcordern). Durch kostengünstige Entwicklung und dadurch schlechte Programmierung werden eine Vielzahl von Programmfehlern und Sicherheitslücken geschaffen, die vor allem den Heimanwenderbereich betreffen. Erschwerend kommt hinzu, dass Hardwarefirmen oft nicht auf die Entwicklung von Anwendungssoftware spezialisiert sind, daher Entwicklungsaufträge an Fremdfirmen und somit dieProduktqualität auch nicht mehr ohne weiteres selbst überprüfen können. Zum andern sind die Fremdfirmen unter Umständen noch nicht einmal auf die Entwicklung der speziellen Software spezialisiert. Diese Faktoren führen dazu, dass immer wieder neue, fehlerbelastete Software auf den Markt kommt anstatt dass alte Software weiterentwickelt und verbessert wird.[1]

Einige massive Probleme und Fehler könnten heute einfach vermieden werden, wenn statt den sehr systemnahen Sprachen, die eine direkte Adressierung von Speicherbereichen zulassen, Programmiersprachen wie zum Beispiel Modula-2, Eiffel, Oberon oder Component Pascal, in den jeweils entsprechenden Versionen, verwendet würden; nachweislich können Betriebssysteme und Treiber damit ebenfalls sehr effizient geschrieben werden.

Diese Programmfehler ermöglichen es unter Umständen einem Angreifer zum Beispiel mit einem Exploit in ein Computersystem einzudringen und dort Programme auszuführen, die schaden können. Einer der häufigsten Fehler, der zum Eindringen in Computersysteme benutzt wird, ist der Pufferüberlauf. Mangelnde oder überhaupt fehlende Überprüfung der kopierten Datenmenge führt zum Überschreiben anderer Programmteile, was von Angreifern gezielt zum Verändern des Programms oder Einbringen fremder Programmteile benutzt wird.

Vulnerability Scan

Unter einem Vulnerability Scan (Vulnerability, engl: Schwachstelle) versteht man das Scannen eines Computers oder Netzwerkes mittels automatisierten Programmen sowie Tools und manuellen Methoden.

Der übliche Weg für einen automatisierten Vulnerability Scan ist das Starten eines Tools, welches ein oder mehrere Ziele nach mindestens einer Sicherheitslücke abtastet.

Analog zu Antivirensoftware sind in diesen Scannern Informationen über bekannte Schwachstellen von Betriebssystemen und/oder Anwendungssoftware hinterlegt. Häufig wird dies in Form von Plug-ins realisiert. Jedes Plug-in steht dabei für eine bekannte Schwachstelle und kann durch den Nutzer selektiert werden. Ähnlich wie ein Virenscanner kann also auch ein Vulnerability-Scanner prinzipbedingt nie auf dem aktuellen Stand sein, da er immer nachgepflegt werden muss.

Aufgrund der Schwächen einzelner Programme empfiehlt es sich, möglichst mehrere Programme bei einer Sicherheitsüberprüfung einzusetzen.

Aufgrund der prinzipbedingten Einschränkungen bei Vulnerability Scans werden oft zusätzlich auch manuelle Methoden berücksichtigt. Hierzu zählen nicht-automatisiert durchführbare Schwachstellenprüfungen, manuelle Prüfungen von Web-Applikationen (z. B. SQL-Injection, Cross-Site Scripting) uvm. Manuelle Methoden unterstützen die Aussagekraft und Tiefe der Prüfungen nachhaltig.

 


Dieser Artikel basiert auf dem Artikel Vulnerability Scan aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

 

Sicherheitsanalyse

Die Sicherheitsanalyse ist Teil der Tätigkeiten im Rahmen des Sicherheitsmanagements in einer Organisation/einem Unternehmen oder dient der Zertifizierung von sicherheitskritischen Produkten, beispielsweise von Luftfahrzeugen. Ziel der Sicherheitsanalyse ist es, Bedrohungen zu erkennen, deren Eintrittswahrscheinlichkeit und Schadenspotenzial einzuschätzen und daraus das Risiko für die Organisation abzuschätzen oder ein Produkt so zu entwerfen, dass entsprechende Sicherheitsanforderungen erfüllt werden.

 


Dieser Artikel basiert auf dem Artikel Sicherheitsanalyse aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.

Informationstechnik

Informationstechnik (kurz IT, häufig englische Aussprache [aɪ tiː]) ist ein Oberbegriff für die Informations- und Datenverarbeitung sowie für die dafür benötigte Hard- und Software (Informationstechnisches System).

Eigentlich versteht man unter dem Begriff speziell elektronische Informationstechnik (EIT), zur Informationstechnik gehören auch nichtelektronische Systeme (wie die anfangs rein elektrische Telefonie und Telegraphie), die heute aber so kaum noch eine Rolle spielen, da auch solche Technologien weitestgehend auf elektronische Datenverarbeitung umgestellt wurden, wenn sie nicht ausgestorben sind.

Der eigentliche Fachbegriff ist aber (elektronische) Informations- und Datenverarbeitung (EID), der die anfangs getrennten Technologien der Kommunikationsmedien (‚Information‘ im ursprünglichen Sinne der Mitteilung) und der Datenverarbeitung im engeren Sinne (von Akten, Zahlenreihen und ähnlichem, EDV) zusammenfasst. Da die beiden Begriffe Information und Daten, heute in Praxis inhaltlich weitgehend verschmolzen sind, wie auch Technik und Verarbeitung nicht zu trennen sind, wird der Ausdruck „IT“ für den gesamten technologischen Sektor verwendet.

Die Ausdrücke Informationstechnik und Informationstechnologie können ebenfalls als synonym angesehen werden, unter „Technik“ versteht man üblicherweise allenfalls speziell die konkrete praktische Umsetzung (Anwendung), unter „Technologie“ die Forschung und Entwicklung und die theoretischen Grundlagen. In dem hochinnovativen Sektor wie auch bei Software ist das kaum trennbar.

 


Dieser Artikel basiert auf dem Artikel Informationstechnik aus der freien Enzyklopädie Wikipedia. In der Wikipedia ist eine Liste der Autoren verfügbar.