Blog

Coder erobern die Sicherheit: Share & Learn-Reihe – Fehlerhafte Zugriffskontrolle

May 9, 2019
Jaap Karan Singh

Wenn Sie eine Geschäftsanwendung entwickeln, sei es für den internen Gebrauch oder für Ihre Kunden, erlauben Sie wahrscheinlich nicht jedem Benutzer, jede einzelne Funktion auszuführen. Wenn Sie dies doch tun, sind Sie möglicherweise anfällig für eine fehlerhafte Zugriffskontrolle.

Werfen wir einen Blick darauf, was eine fehlerhafte Zugriffskontrolle ist, warum sie so gefährlich ist und wie man sie behebt.

Fehlerhafte Zugriffskontrolle verstehen

Eine fehlerhafte Zugriffskontrolle tritt auf, wenn der Anwendungscode nicht über die richtigen Sicherheits- oder Zugriffsprüfungen verfügt. Sie kann auch entstehen, wenn eine Anwendung falsch konfiguriert ist und den Zugriff auf Funktionen oder Seiten ermöglicht, auf die der Benutzer eigentlich keinen Zugriff haben sollte.

Wenn Sie die Finanzen Ihres Unternehmens verwalten, haben Sie möglicherweise die Berechtigung, Geld auf bestimmte Konten einzuzahlen oder zwischen den Konten Ihres Unternehmens zu überweisen. Sie sollten jedoch nicht die Berechtigung haben, Bargeld von diesen Konten abzuheben oder Geld auf andere Konten zu überweisen. Wenn die entsprechenden Zugriffsprüfungen fehlen, können Ihre Mitarbeiter möglicherweise mehr Funktionen ausführen, als für ihre Arbeit erforderlich ist.

Diese Prüfungen können entweder im Code oder in Konfigurationsdateien durchgeführt werden. Es kann beispielsweise XML-Konfigurationsdateien geben, die dem Webanwendungs-Framework mitteilen, welche Benutzer auf welche Seiten zugreifen dürfen. Dies stellt sicher, dass Benutzer nur auf die Funktionen zugreifen können, für die sie autorisiert sind.

Warum fehlerhafte Zugriffskontrolle gefährlich ist

Betrachten Sie dieses Beispiel: Ein Angreifer hat erkannt, dass Ihr Code zur Erstellung von Benutzerkonten manipuliert werden kann, sodass er mit einer einfachen POST-Anfrage einen Administrator-Benutzer erstellen kann. Er kann eine Anfrage mit Benutzername und Passwort senden und diese während der Übertragung ändern, um die Rolle „Administrator“ als Parameter in der URL oder im Textkörper der Anfrage hinzuzufügen. Der Angreifer meldet sich bei der Anwendung an und erhält sofort Administratorrechte.

Es muss nicht immer ein böswilliger Angreifer sein, der in ein System eindringt. Ohne ordnungsgemäße Zugriffskontrollen können sensible Informationen, die nicht zwischen Abteilungen geteilt werden sollten, nach außen dringen. Stellen Sie sich vor, jeder Mitarbeiter im Unternehmen könnte Gehaltsdaten der Personalabteilung oder Finanzdaten einsehen. Was würde passieren, wenn jeder Mitarbeiter sehen könnte, dass aufgrund der schlechten finanziellen Lage des Unternehmens Entlassungen bevorstehen? Dies könnte der Arbeitsmoral und dem Ruf Ihres Unternehmens schaden.

Auch sensible Kundendaten könnten verloren gehen. Unternehmen speichern häufig persönliche Informationen von Kunden, die ihre Dienste nutzen. Achten Sie darauf, diese nicht versehentlich aufgrund mangelnder Zugriffskontrolle preiszugeben. Wenn Ihr System Benutzern beispielsweise die Möglichkeit gibt, ihre Gesundheitsakte anzufordern, haben sie dann auch die Möglichkeit, die Gesundheitsinformationen anderer anzufordern und einzusehen? Wenn die URL eine Kunden-ID-Nummer enthält, könnten Angreifer diese Nummer immer wieder erhöhen, bis sie eine finden, die mit einem anderen Kunden übereinstimmt, und so dessen persönliche Daten offenlegen.

Fehlerhafte Zugriffskontrolle besiegen

Die rollenbasierte Zugriffskontrolle (RBAC) ist ein sehr effektives Instrument zur Implementierung einer soliden Zugriffskontrolle. Wer Active Directory verwendet, ist möglicherweise mit dem Konzept vertraut, Gruppen zu erstellen und den Zugriff auf bestimmte Elemente über die Gruppe zu gewähren, anstatt an den Einzelnen. Anwendungen funktionieren auf die gleiche Weise und verwenden Rollen, um zu definieren, wer was sehen darf.

Dies hat zwei Vorteile. Erstens muss eine Funktion nicht geändert werden, wenn jemand die Administratorrolle verlässt. Wenn jemand zuvor Administrator war und dies nun nicht mehr sein sollte, weisen Sie einfach eine neue Person der Administratorrolle zu und entfernen die vorherige Person aus dieser Rolle. Der Code prüft, ob der Benutzer die Administratorrolle hat, anstatt zu prüfen, ob jeder einzelne Benutzer Zugriff auf eine bestimmte Seite oder Funktion hat.

Der zweite Vorteil ist die Vermeidung eines Wartungsalbtraums. Eine Zugriffskontrolle, die so granular ist, dass jede Person mit jeder einzelnen möglichen Funktion oder Seite verknüpft ist, wird mit der Zeit unmöglich zu verwalten sein. Rollen machen die Dinge viel einfacher, da mehrere Personen einer Rolle hinzugefügt werden können. Eine Rolle kann das gesamte Unternehmen umfassen, während eine andere nur fünf Personen enthalten kann. Dies macht die Verwaltung der Rollen effizienter, da weniger Rollen verwaltet werden müssen. Ein Unternehmen mit 10.000 Mitarbeitern könnte nur 100 Rollen haben, anstatt 10.000 mal die Anzahl der Funktionen in Ihrer Anwendung. Informieren Sie sich in Ihrem gewählten Anwendungs-Framework über die Möglichkeiten für eine robuste Zugriffskontrolle.

Es ist zudem entscheidend, eine Zugriffskontrolle auf Funktionsebene zu verwenden. Schützen Sie den Zugriff auf alle Funktionen, indem Sie von Benutzern verlangen, bestimmte Zugriffsprüfungen zu bestehen. Nutzen Sie das Prinzip der geringsten Rechte (Least Privilege), indem Sie den Zugriff standardmäßig verweigern und nur bei Bedarf gewähren. Es kann schwierig sein, daran zu denken, die Zugriffskontrolle für jede Funktion zu implementieren. Verwenden Sie eine zentrale Komponente, um die Zugriffskontrolle zu verwalten und durchzusetzen.

Schützen Sie Ihre sensiblen Funktionen

Eine fehlerhafte Zugriffskontrolle kann Ihre Daten und Ihre Anwendung anfällig für Angriffe und Ausnutzung machen. Kundendaten, die nicht ordnungsgemäß geschützt sind, könnten zu einer massiven Datenschutzverletzung führen, was Ihrem Ruf und Ihrem Umsatz schaden würde.

Fehlerhafte Zugriffskontrollen können zur Übernahme von Benutzerkonten führen, wenn Angreifer auf Funktionen zugreifen, für die sie keine Berechtigung haben. Implementieren Sie eine ordnungsgemäße Zugriffskontrolle auf Funktionsebene, um Ihre Anwendung vor böswilligen Angriffen und versehentlichen Fehlern durch interne Mitarbeiter zu schützen.

Sie glauben, das Thema Zugriffskontrolle im Griff zu haben? Stellen Sie sich jetzt der Herausforderung und beheben Sie fehlerhafte Zugriffskontrollen: [Hier starten]

Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.