Top 10 Arten von Sicherheitsanfälligkeiten

Top 10 Arten von Sicherheitsanfälligkeiten
Ein unbeabsichtigter oder zufälliger Fehler im Software -Code oder eines Systems, das ihn im Hinblick auf den Zugriff auf uneheliche Benutzer, böswillige Verhaltensweisen wie Viren, Trojaner, Würmer oder andere Malware potenziell ausnutzbar macht, wird als Sicherheitsanfälligkeit bezeichnet. Die Verwendung von Software, die bereits ausgenutzt wurde, oder die Verwendung schwacher und Standardkennwörter führt auch dazu, dass das System für die Außenwelt anfällig ist. Diese Arten von Sicherheitslücken erfordern das Patching, um zu verhindern,. Eine Sicherheitsanfälligkeit, die auch als Sicherheitsloch oder Schwäche bezeichnet wird Ganzes Netzwerk für den Angriff anfällig. Zu den Personen, die infiziert werden. Schauen wir uns die gefährlichsten und häufigsten Sicherheitsrisiken für Webanwendungen an.

Inhaltsverzeichnis

  1. Datenbankinjektion
  2. Kaputte Authentifizierung
  3. Sensitive Datenexposition
  4. XML externe Entitäten (Xee)
  5. Gebrochene Zugangskontrolle
  6. Sicherheitsmiskonfiguration
  7. Cross-Site Scripting (XSS)
  8. Unsichere Deserialisierung
  9. Verwendung von Komponenten mit bekannten Schwachstellen
  10. Unzureichende Protokollierung und Überwachung

Datenbankinjektion:

Im Falle des Sendens nicht vertrauenswürdiger Datenstücke an den Interpreter als Teil des Befehls über einen Bereich, in dem Benutzereingabe i erforderlich sind.E Formulareingabe oder andere Datenübermittlungsbereich, Injektionsfehler treten auf. Die böswilligen Abfragen des Angreifers können den Dolmetscher dazu bringen, Befehle auszuführen, die vertrauliche Daten angezeigt werden, die der Benutzer nicht zur Verfügung stellt, um einen Blick darauf zu werfen. Zum Beispiel kann der Angreifer bei einem SQL -Injektionsangriff, wenn der Formulareingang nicht ordnungsgemäß bereinigt wird. Jede Art von Feld, die die Eingabe des Benutzers nimmt, ist injizierbar i.E -Parameter, Umgebungsvariablen, alle Webdienste usw.

Die Anwendung ist anfällig für den Injektionsangriff, wenn von benutzerversorgte Daten nicht durch die Verwendung dynamischer Abfragen ohne Kontext-bewusstes Entkommen und die Verwendung feindlicher Daten dynamische Abfragen bereinigt und validiert werden. Injektionsfehler können durch die Untersuchung des Codes und durch die Verwendung automatisierter Tools wie Scanner und Fuzzer leicht entdeckt werden. Um Injektionsangriffe zu verhindern, gibt es einige Maßnahmen, die wie die Trennung der Daten von Befehlen und Abfragen und Verwendung einer sicheren API erfolgen können, die eine parametrisierte Schnittstelle und die Verwendung von "White-List" -Server-Seiten-Eingabevalidierung durch Tools wie Snort, verwendet. Entkommen von Sonderzeichen mit spezifischer Escape -Syntax usw.

Ein Injektionsangriff kann zu einem massiven Datenverlust, der Offenlegung vertraulicher Informationen, der Verweigerung des Zugriffs und sogar zu einer vollständigen Übernahme von Anwendungen führen. Einige SQL -Steuerelemente wie Limit können verwendet werden, um große Mengen an Datenverlust bei einem Angriff zu kontrollieren. Einige Arten von Injektionsangriffen sind SQL, OS, NoSQL, LDAP -Injektionsangriffe.

Kaputte Authentifizierung:

Angreifer können auf Benutzerkonten zugreifen und sogar das gesamte Host -System über Administratorkonten beeinträchtigen, wobei die Schwachstellen in Authentifizierungssystemen verwendet werden. Mit der Authentifizierungsfehler können der Angreifer Kennwörter, Sitzungstoken und Authentifizierungsschlüssel beeinträchtigen und mit anderen Angriffen gekettet werden, die zu einem nicht autorisierten Zugriff auf ein anderes Benutzerkonto oder eine Sitzung vorübergehend und in einigen Fällen dauerhaft führen können. Nehmen wir an, ein Benutzer hat eine WordList oder ein Wörterbuch von Millionen gültiger Benutzernamen und Passwörter. Er kann sie in einer extrem weniger Zeit mit automatisierten Tools und Skripten im Anmeldesystem einzeln verwenden, um festzustellen, ob jemand funktioniert. Eine schlechte Implementierung von Identitätsmanagement- und Zugangskontrollen führt zu Schwachstellen wie der kaputten Authentifizierung.

Die Anwendung ist anfällig für Authentifizierungsangriffe, wenn sie den Versuch verschiedener Benutzernamen und Passwörter ermöglicht, Wörterbuchangriffe oder Brute -Force -Angriffe ohne Verteidigungsstrategie ermöglicht, einfache, Standardkennwörter oder Passwörter verwenden, die in einem Verstoß gegeneinander ausgetragen sind, Sitzungs -IDs in URL, verwendet, verwendet, verwendet, verwendet, verwendet, verwendet, verwendet, verwendet, verwendet Session -IDs, Verwendungszwecke Schlechtes Schema für das Wiederherstellen von Passwort und verwendet ein Muster von Cookies. Eine kaputte Authentifizierung kann einfach ausgenutzt werden, um einfache Werkzeuge für Brute-Forcing- und Wörterbuchangriffe mit einem guten Wörterbuch zu verwenden. Diese Arten von Angriffen können mithilfe von Multi-Faktor-Authentifizierungssystemen, indem schwache Kennwortprüfungen implementiert werden Sitzungsmanager, der nach dem Login usw. eine neue zufällige Sitzungs-ID generiert, usw.

Eine durchgebrochene Authentifizierungsanfälligkeit kann dazu führen, dass einige Benutzerkonten und ein Administratorkonto gefährdet werden. Dies ist alles, was ein Angreifer benötigt, um ein System zu beeinträchtigen. Diese Arten von Angriffen führen zu Identitätsdiebstahl, Betrug für soziale Sicherheit, Geldwäsche und Offenlegung hochklassifizierter Informationen. Zu den Angriffen gehören Wörterbuchangriffe, Brute-Forcing, Sitzungsleitungen und Sitzungsmanagementangriffe.

Sensitive Datenexposition:

Manchmal schützen Webanwendungen keine sensiblen Daten und Informationen wie Passwörter, Datenbankanmeldeinformationen usw. Ein Angreifer kann diese schwach geschützten Anmeldeinformationen leicht stehlen oder modifizieren und sie für uneheliche Zwecke verwenden. Sensible Daten sollten während der Ruhe- oder Transitverschlüsselung verschlüsselt werden und eine zusätzliche Sicherheitsebene haben. Andernfalls können Angreifer sie stehlen. Angreifer können sensible exponierte Daten in die Hände bekommen und Hashed oder Löschen von Textnutzern und Datenbankanmeldeinformationen vom Server oder einem Webbrowser klären. Wenn beispielsweise eine Kennwortdatenbank nicht gesalkte oder einfache Hashes verwendet, um Passwörter zu speichern, kann ein Upload-Fehler mit einem Datei-Fehler einen Angreifer ermöglichen.

Der Hauptfehler ist nicht nur, dass die Daten nicht verschlüsselt sind, auch wenn sie verschlüsselt sind, sondern auch schwache Schlüsselgeneration, schwache Hashing -Algorithmen, eine schwache Verbreitung von Chiffrikern kann auch zu solchen Arten von einem der häufigsten Angriffe führen. Um diese Arten von Angriffen zu verhindern, klassifizieren Sie zunächst, welche Art von Daten gemäß den Datenschutzgesetzen als sensibel angesehen werden können, und wenden Sie Kontrollen gemäß der Klassifizierung an. Versuchen Sie, keine klassifizierten Daten zu speichern, die Sie nicht benötigen, und waschen Sie sie, sobald Sie sie verwenden. Verschlüsseln Sie für die Daten im Transit mit sicheren Protokollen i.E tls mit PFS -Chiffren usw.

Diese Arten von Schwachstellen können dazu führen, dass hochsensible Informationen wie Kreditkartenausweise, Gesundheitsakten, Passwörter und andere personenbezogene Daten, die zu Identitätsdiebstahl und Bankbetrug usw. führen können, auftreten können.

XML externe Entitäten (Xee):

Schlecht konfigurierte XML -Prozessoren verarbeiten externe Entitätsreferenzen in XML -Dokumenten. Diese externen Entitäten können verwendet werden, um die Daten von internen Dateien abzurufen /etc/passwd Datei oder andere böswillige Aufgaben ausführen. Anfällige XML -Prozessoren können problemlos ausgenutzt werden, wenn ein Angreifer ein XML -Dokument hochladen oder XML usw. enthalten kann. Diese gefährdeten XML -Entitäten können mithilfe von SAST- und DAST -Tools oder manuell durch Inspektion von Abhängigkeiten und Konfigurationen entdeckt werden.

Eine Webanwendung ist anfällig für den Xee -Angriff, da die Anwendung direkte XML -Eingaben aus nicht vertrauenswürdigen Quellen akzeptiert, Dokumenttypdefinitionen (DTDs) für die Anwendung. Die Anwendung verwendet SAML für die Identitätsverarbeitung als SAML für Identitäts -Identität Einfügungen usw. XEE -Angriffe können gemindert werden, indem die Serialisierung sensibler Daten unter Verwendung weniger komplizierter Datenformate i vermieden werden.E JSON, Patching XML -Prozessoren Die Anwendung wird unter Verwendung der Bibliotheken und sogar in den Bibliotheken, die DTDs in allen XML -Parsers deaktivieren, Validierung der XML -Datei -Upload -Funktionalität mithilfe der XSD -Überprüfung usw. deaktivieren.

Die Anwendung, die für diese Arten von Angriffen anfällig ist.

Gebrochene Zugangskontrolle:

Die Zugriffskontrolle gibt den Benutzern die Berechtigung, bestimmte Aufgaben zu erledigen. Die Verwundbarkeit der kaputten Zugriffskontrolle erfolgt, wenn die Benutzer bei den Aufgaben, die sie ausführen können, nicht ordnungsgemäß eingeschränkt sind. Angreifer können diese Sicherheitsanfälligkeit ausnutzen, die beim Zugriff auf unbefugte Funktionen oder Informationen enden kann. Nehmen wir an, eine Webanwendung ermöglicht es dem Benutzer, das Konto zu ändern, das er von nur durch Ändern der URL auf das Konto eines anderen Benutzers ohne weitere Überprüfung angemeldet ist. Die Ausbeutung der Anfälligkeit der Zugangskontrolle ist ein Anfall eines Angreifers. Diese Sicherheitsanfälligkeit kann sowohl manuell als auch mit SAFT- und DAFT-Tools verwendet werden. Diese Schwachstellen existieren aufgrund mangelnder Tests und automatisierter Erkennung von Webanwendungen, obwohl es am besten ist, sie zu finden, besteht darin, dies manuell zu tun.

Schwachstellen enthalten Privilegien Eskalation i.Ich fungiere als Benutzer, den Sie nicht sind oder als Administrator während Sie ein Benutzer sind, um die Zugriffskontrollprüfungen zu umgehen, indem Sie die URL ändern oder den Status der Anwendung ändern, Metadatenmanipulation, sodass der Primärschlüssel als Primärschlüssel eines anderen Benutzers geändert werden kann. usw. Um diese Art von Angriffen zu verhindern, müssen Zugriffskontrollmechanismen im serverseitigen Code implementiert werden, bei dem Angreifer die Zugriffssteuerungen nicht ändern können. Durchsetzung von einzigartigen Anwendungsgeschäftsgrenzen nach Domänenmodellen, Deaktivieren von Listing Server -Verzeichnissen, Warnungsadministrator für wiederholte fehlgeschlagen.

Angreifer können als ein anderer Benutzer oder Administrator fungieren, der diese Verwundbarkeit nutzt, um böswillige Aufgaben wie das Erstellen, Löschen und Ändern von Datensätzen usw. auszuführen, usw. Es kann ein massiver Datenverlust auftreten, wenn die Daten auch nach einem Verstoß nicht gesichert sind.

Sicherheitsmiskonfiguration:

Die häufigste Sicherheitsanfälligkeit ist die Misskonfiguration der Sicherheit. Der Hauptgrund für die Sicherheitsanfälligkeit ist die Verwendung von Standardkonfiguration, unvollständiger Konfiguration, ADHOC -Konfigurationen, schlecht konfigurierte HTTP. Auf jeder Ebene einer Webanwendung können Sicherheitsmehlkonfigurationen auftreten i.E Datenbank, Webserver, Anwendungsserver, Netzwerkdienste usw. Angreifer können unpatchierte Systeme und auf ungeschützte Dateien und Verzeichnisse ausnutzen, um das System nicht autorisiert zu halten. Zum Beispiel eine Anwendung übermäßig ausführliche Fehlermeldungen, die dem Angreifer helfen, Schwachstellen im Anwendungssystem und der Funktionsweise zu kennen. Automatische Tools und Scanner können verwendet werden, um diese Arten von Sicherheitsfehler zu erkennen.

Eine Webanwendung enthält diese Typ -Sicherheitsanfälligkeit, wenn die Sicherheitshärtungsmaßnahmen in einem Teil der Anwendung fehlen, unnötige Ports geöffnet sind oder unnötige Funktionen ermöglicht, Standardkennwörter werden verwendet, Fehlerbehandlungen enthüllen über informative Fehler für den Angreifer. Unpatched oder veraltete Sicherheitssoftware usw. Es kann verhindert werden, indem unnötige Funktionen des Codes entfernt werden, ich.E Eine minimale Plattform ohne unnötige Funktionen, Dokumentation usw., die eine Aufgabe ermöglicht Es ist einfach, eine andere Umgebung einzusetzen, die ordnungsgemäß gesperrt ist.

Diese Arten von Schwachstellen oder Mängel ermöglichen es dem Angreifer, nicht autorisierten Zugriff auf Systemdaten zu erhalten, was zur vollständigen Kompromisation des Systems führt.

Cross-Site Scripting (XSS):

XSS-Schwachstellen ereignen sich zu dem Zeitpunkt, an dem eine Webanwendung nicht vertrauenswürdige Daten in einer neuen Website ohne legitime Genehmigung oder Entweihung integriert oder eine aktuelle Site-Seite mit Client-bereitgestellten Daten aktualisiert, wobei eine Browser-API verwendet wird, mit der HTML oder JavaScript erstellt werden kann. XSS -Fehler treten auf, falls die Website von einem Benutzer einen URL -Pfad hinzufügen kann, der von anderen Benutzern angezeigt werden kann. Diese Mängel werden verwendet, um böswilligen JavaScript -Code im Browser des Ziels auszuführen. Nehmen wir an, ein Angreifer kann einen Link zum Opfer senden, der einen Link zur Website eines Unternehmens enthält. Diese Verbindung könnte einen böswilligen JavaScript -Code eingebettet haben, falls die Webseite der Bank nicht angemessen gegen XSS -Angriffe gesichert ist. Wenn Sie auf den Link klicken, wird der böswillige Code auf dem Browser des Opfers ausgeführt.

Cross-Site-Scripting ist eine Sicherheitsanfälligkeit, die in fast ⅔ der Webanwendungen vorhanden ist. Eine Anwendung ist für XSS anfällig, wenn die Anwendung eine unitanitierte Benutzereingabe speichert, die von einem anderen Benutzer unter Verwendung von JavaScript-Strukturen, einseitigen Anwendungen und APIs angezeigt werden kann, die den Angreifer kontrollierbaren Informationen auf eine Seite stark einbeziehen, sind hilflos gegen DOM XSS. XSS -Angriffe können durch die Verwendung von Frameworks gemindert werden, die den XSS -Eingang von Natur aus wie React JS usw. entkommen und die Eingabe von React usw. lernten, die Grenzen von Frameworks erlernen und sie mit den eigenen Fällen abdecken, unnötige und nicht vertrauenswürdige HTML -Daten überall entkommen.e in HTML-Attributen, URI, JavaScript usw., Verwendung von kontextsensitiven Codierung bei der Änderung des Dokuments auf der Client-Seite usw.

XSS -basierte Angriffe sind von drei Typen i.E reflektierte XSS, DOM XSS und gespeicherte XSS. Alle Arten dieser Angriffe haben eine erhebliche Auswirkung, aber bei gespeicherten XSS sind die Auswirkungen noch größer i.Ich stehlen Anmeldeinformationen, sende Malware an das Opfer usw.

Unsichere Deserialisierung:

Die Serialisierung von Daten bedeutet, Objekte zu nehmen und sie in ein beliebiges Format zu konvertieren, damit diese Daten später für andere Zwecke verwendet werden können, während die Deserialisierung von Daten das Gegenteil davon bedeutet. Die Deserialisierung packt diese serialisierten Daten für die Verwendung von Anwendungen aus. Unsichere Deserialisierung bedeutet das Temperieren von Daten, die kurz zuvor serialisiert wurden. Unsichere Deserialisierung führt zur Ausführung der Remote -Code und wird verwendet, um andere Aufgaben für böswillige Zwecke wie die Eskalation von Privilegien, Injektionsangriffe, Wiederholungsangriffe usw. auszuführen. Es stehen einige Tools zur Verfügung, um diese Art von Mängel zu entdecken, aber häufig ist menschliche Hilfe erforderlich, um das Problem zu validieren. Die Ausbeutung der Deserialisierung ist etwas schwierig, da die Heldentaten ohne manuelle Änderungen nicht funktionieren werden.

Wenn die Anwendung böswillige Objekte des Angreifers der Angriffseinheit deses ersetzt. Dies kann zu zwei Arten von Angriffen führen,.E Angriffe in Bezug auf die Datenstruktur und Objekte, bei denen der Angreifer die Anwendungslogik ändert oder Remotecode und typische Datenmanipulationsangriffe ausführen, bei denen vorhandene Datenstrukturen mit geänderten Inhalten verwendet werden, z. Die Serialisierung kann in der Remote-Prozesskommunikation (RPC) oder einer Inter-Process Communication (IPC), der Caching von Daten, Webdiensten, Datenbanken-Cache-Server, Dateisystemen, API-Authentifizierungs-Token, HTML-Cookies, HTML-Formparametern usw. verwendet werden. Deserialisierungangriffe können gemindert werden, indem keine serialisierten Objekte aus nicht vertrauenswürdigen Quellen verwendet werden, die Integritätsprüfungen implementieren, den Code isolieren.

Verwenden von Komponenten mit bekannten Schwachstellen:

Verschiedene Komponenten wie Bibliotheken, Frameworks und Softwaremodule werden von den meisten Entwicklern in der Webanwendung verwendet. Diese Bibliotheken helfen dem Entwickler, unnötige Arbeiten zu vermeiden und die erforderlichen Funktionen zu liefern. Angreifer suchen in diesen Komponenten nach Fehler und Schwachstellen, um einen Angriff zu koordinieren. Bei der Suche nach einer Sicherheitslücke in einer Komponente kann alle Standorte mit derselben Komponente anfällig sein. Exploits dieser Schwachstellen sind bereits verfügbar, während ein benutzerdefinierter Exploit von Grund auf neu geschrieben wird. Dies ist ein sehr häufiges und weit verbreitetes Problem. Die Verwendung großer Mengen von Komponenten bei der Entwicklung einer Webanwendung kann dazu führen.

Eine Anwendung ist anfällig, wenn der Entwickler die Version einer verwendeten Komponente nicht kennt. Die Software ist veraltet i.E Das Betriebssystem, DBMS, Software ausgeführt, Laufzeitumgebungen und Bibliotheken, das Scanning der Sicherheitsanfälligkeit wird nicht regelmäßig durchgeführt. Die Kompatibilität von Patched Software wird von den Entwicklern nicht getestet. Dies kann verhindert werden, indem ungenutzte Abhängigkeiten, Dateien, Dokumentationen und Bibliotheken entfernt werden, die Version der Client- und serverseitigen Komponenten regelmäßig überprüft werden, wodurch Komponenten und Bibliotheken von offiziellen und vertrauenswürdigen sicher Zum Aktualisieren und Patch von anfälligen Komponenten regelmäßig zu aktualisieren und zu patchen.

Diese Schwachstellen führen zu geringfügigen Auswirkungen, können aber auch zu einer Kompromisse des Servers und des Systems führen. Viele große Verstöße stützten sich auf bekannte Schwachstellen von Komponenten. Die Verwendung schutzbedürftiger Komponenten untergraben die Anwendungsabwehr und kann ein Ausgangspunkt für einen großen Angriff sein.

Unzureichende Protokollierung und Überwachung:

Die meisten Systeme ergreifen nicht genügend Maßnahmen und Schritte, um Datenverletzungen zu erkennen. Die durchschnittliche Reaktionszeit eines Vorfalls beträgt 200 Tage, nachdem er stattgefunden hat. Dies ist viel Zeit, um alle bösen Dinge für eine angreifende Einheit zu machen. Eine unzureichende Protokollierung und Überwachung ermöglichen es dem Angreifer, das System weiter anzugreifen, das System festzuhalten, Daten zu manipulieren, zu halten und zu extrahieren. Angreifer verwenden den Mangel an Überwachung und Reaktion zu ihren Gunsten, um die Webanwendung anzugreifen.
Eine unzureichende Protokollierung und Überwachung treten jederzeit auf.e Protokolle von Anwendungen, die nicht auf ungewöhnliche Aktivitäten überwacht werden, prüfbare Ereignisse wie fehlgeschlagene Anmeldeversuche und hohe Transaktionswerte sind nicht ordnungsgemäß angemeldet oder schnell aktive Angriffe usw. alarmieren. Diese können gemindert werden, indem sichergestellt werden kann, dass alle Anmeldungen, Zugriffssteuerungsfehler und die validenübergreifende Eingabevalidierung der Server angelegt werden können kompatibel mit zentralisierten Log-Management-Lösungen, indem Integritätsprüfungen bei hochwertigen Transaktionen sichergestellt werden, indem ein System für zeitnahe Warnungen an verdächtigen Aktivitäten usw. festgelegt wird, usw.

Die meisten erfolgreichen Angriffe beginnen mit der Überprüfung und Prüfung der Schwachstellen in einem System, sodass diese Anfälligkeitsuntersuchungen dazu führen können, dass das gesamte System gefährdet ist.

Abschluss:

Die Sicherheitslücken in einer Webanwendung wirken sich auf alle Entitäten im Zusammenhang mit dieser Anwendung aus. Diese Sicherheitslücken müssen betreut werden, um den Benutzern eine sichere und sichere Umgebung zu bieten. Angreifer können diese Sicherheitslücken nutzen, um ein System zu kompromittieren, es zu erlangen und Privilegien zu eskalieren. Die Auswirkungen einer gefährdeten Webanwendung können sich aus gestohlenen Kreditkartenausweise und Identitätsdiebstahl bis hin zu dem Verlauf von hoch vertraulichen Informationen usw. visualisieren lassen usw. Abhängig von den Bedürfnissen und Angriffsvektoren bösartiger Wesenheiten.