SCW图标
英雄背景无分隔线
博客

Programmierer erobern Sicherheit: Share & Learn-Serie — Broken Access Control

Jaap Karan Singh
发布于 2019 年 5 月 09 日
最后更新于 2026年3月9日

Wenn Sie eine Geschäftsanwendung erstellen, sei es für den internen oder externen Gebrauch durch Ihre Kunden, lassen Sie wahrscheinlich nicht jeden Benutzer jede einzelne Funktion ausführen. Wenn Sie dies tun, sind Sie möglicherweise anfällig für eine unterbrochene Zugriffskontrolle.

Schauen wir uns an, was eine kaputte Zugangskontrolle ist, warum sie so gefährlich ist und wie sie behoben werden kann.

Verstehe kaputte Zugriffskontrolle

Eine fehlerhafte Zugriffskontrolle liegt vor, wenn der Anwendungscode nicht über die richtigen Sicherheits- oder Zugriffskontrollen verfügt. Es kann auch auftreten, wenn eine Anwendung in irgendeiner Weise falsch konfiguriert ist und den Zugriff auf Funktionen oder Seiten ermöglicht, auf die der Benutzer keinen Zugriff haben sollte.

Wenn Sie sich um die Finanzen Ihres Unternehmens kümmern, haben Sie möglicherweise die Möglichkeit, Geld auf bestimmte Konten einzuzahlen oder Geld zwischen den Konten Ihres Unternehmens zu überweisen. Sie sollten jedoch keinen Zugriff darauf haben, Bargeld von diesen Konten abzuheben oder Geld auf andere Konten zu überweisen. Wenn die richtigen Zugriffskontrollen nicht vorhanden sind, können Ihre Mitarbeiter möglicherweise mehr Funktionen als nötig ausführen.

Diese Prüfungen können entweder innerhalb des Codes oder in Konfigurationsdateien durchgeführt werden. Beispielsweise kann es XML-Konfigurationsdateien geben, die dem Web Application Framework mitteilen, welche Benutzer auf welche Seiten zugreifen dürfen. Dadurch wird sichergestellt, dass Benutzer nur auf die Funktionen zugreifen können, zu deren Nutzung sie berechtigt sind.

Warum eine kaputte Zugangskontrolle gefährlich ist

Sehen Sie sich dieses Beispiel an: Ein Angreifer hat erkannt, dass der Code zur Erstellung Ihres Benutzerkontos manipuliert werden kann, sodass der Angreifer mit einer einfachen Postanfrage einen Admin-Benutzer erstellen kann. Er kann eine Anfrage mit dem Benutzernamen und dem Passwort senden und diese dann unterwegs so ändern, dass die Rolle des Administrators in der URL als Parameter oder im Hauptteil der Anfrage enthalten ist. 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 angemessene Zugriffskontrollen können vertrauliche Informationen, die nicht zwischen Abteilungen ausgetauscht werden sollten, durchsickern. Stellen Sie sich vor, jeder Mitarbeiter des Unternehmens könnte Personaldaten oder Finanzdaten einsehen. Was würde passieren, wenn ein Mitarbeiter sehen könnte, dass aufgrund der schlechten finanziellen Situation des Unternehmens Entlassungen bevorstehen? Dies könnte Ihrer Moral und dem Ruf Ihres Unternehmens schaden.

Vertrauliche Kundeninformationen könnten ebenfalls verloren gehen. Unternehmen speichern häufig persönliche Daten von Kunden, die ihre Dienste nutzen. Achten Sie darauf, dass Sie dies nicht versehentlich aufgrund mangelnder Zugriffskontrolle preisgeben. Wenn Ihr System beispielsweise Benutzern die Möglichkeit gibt, ihre Gesundheitsdaten anzufordern, haben sie dann auch die Möglichkeit, die Gesundheitsinformationen anderer Benutzer anzufordern und einzusehen? Wenn die URL eine Kundennummer enthält, könnten Angreifer diese Kundennummer immer wieder erhöhen, bis sie eine finden, die mit einem anderen Kunden übereinstimmt, wodurch ihre persönlichen Daten preisgegeben werden.

Besiege Broken Access Control

Die rollenbasierte Zugriffskontrolle (RBAC) ist ein sehr effektives Tool zur Implementierung einer soliden Zugriffskontrolle. Diejenigen, die Active Directory verwenden, kennen möglicherweise die Idee von Gruppen erstellen und den Zugriff auf bestimmte Elemente in der gesamten Gruppe statt auf die Einzelperson zu gewähren. Anwendungen funktionieren auf die gleiche Weise und definieren mithilfe von Rollen, wer was sehen darf.

Das hat zwei Vorteile. Erstens muss eine Funktion nicht geändert werden, wenn jemand die Administratorrolle verlässt. Wenn jemand zuvor Administrator war und es jetzt nicht mehr sein sollte, dann setzt man einfach eine neue Person in die Administratorrolle und entfernt die vorherige Person aus der Rolle. Der Code überprüft, ob der Benutzer die Administratorrolle hat, anstatt zu überprüfen, ob jeder einzelne Benutzer Zugriff auf eine bestimmte Seite oder Funktion hat.

Der zweite Vorteil besteht darin, einen Wartungsalbtraum zu vermeiden. Eine Zugriffskontrolle, die so detailliert ist, dass jede Person mit jeder einzelnen möglichen Funktion oder Seite in Verbindung steht, wird im Laufe der Zeit unmöglich zu verwalten sein. Rollen erleichtern die Arbeit erheblich, da einer Rolle mehrere Personen hinzugefügt werden können. Eine Rolle kann das gesamte Unternehmen umfassen, während eine andere nur fünf Personen umfassen kann. Dadurch wird 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 die 10.000-fache Anzahl der Funktionen in Ihrer Anwendung. Informieren Sie sich über das von Ihnen gewählte Anwendungsframework, um festzustellen, welche Optionen für eine robuste Zugriffskontrolle existieren.

Es ist auch wichtig, eine Zugriffskontrolle auf Funktionsebene zu verwenden. Schützen Sie den Zugriff auf alle Funktionen, indem Sie von Benutzern verlangen, dass sie bestimmte Zugriffskontrollen bestehen. Verwenden Sie das Prinzip der geringsten Rechte, indem Sie den Zugriff standardmäßig verweigern und den Zugriff nur nach Bedarf öffnen. Es kann schwierig sein, sich daran zu erinnern, für jede Funktion eine Zugriffskontrolle zu implementieren. Verwenden Sie eine zentrale Komponente, um die Zugriffskontrolle zu verwalten und durchzusetzen.

Schützen Sie Ihre sensiblen Funktionen

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

Eine unterbrochene Zugriffskontrolle kann auch zur Kontoübernahme führen, wenn Angreifer auf Funktionen zugreifen können, auf die sie nicht zugreifen sollten. Verwenden Sie eine angemessene Zugriffskontrolle auf Funktionsebene, um Ihre Anwendung vor böswilligen Angreifern und sogar vor zufälligen Insidern zu schützen.

Denken Sie, dass Sie alle Fragen rund um den Zugriff auf Funktionsebene haben? Sie können sich jetzt selbst herausfordern, eine defekte Zutrittskontrolle zu reparieren: [Fangen Sie hier an]

查看资源
查看资源

Wenn Sie eine Geschäftsanwendung erstellen, sei es für den internen oder externen Gebrauch durch Ihre Kunden, lassen Sie wahrscheinlich nicht jeden Benutzer jede einzelne Funktion ausführen. Wenn Sie dies tun, sind Sie möglicherweise anfällig für eine unterbrochene Zugriffskontrolle.

想了解更多吗?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
2019年5月9日出版

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交x 标志

Wenn Sie eine Geschäftsanwendung erstellen, sei es für den internen oder externen Gebrauch durch Ihre Kunden, lassen Sie wahrscheinlich nicht jeden Benutzer jede einzelne Funktion ausführen. Wenn Sie dies tun, sind Sie möglicherweise anfällig für eine unterbrochene Zugriffskontrolle.

Schauen wir uns an, was eine kaputte Zugangskontrolle ist, warum sie so gefährlich ist und wie sie behoben werden kann.

Verstehe kaputte Zugriffskontrolle

Eine fehlerhafte Zugriffskontrolle liegt vor, wenn der Anwendungscode nicht über die richtigen Sicherheits- oder Zugriffskontrollen verfügt. Es kann auch auftreten, wenn eine Anwendung in irgendeiner Weise falsch konfiguriert ist und den Zugriff auf Funktionen oder Seiten ermöglicht, auf die der Benutzer keinen Zugriff haben sollte.

Wenn Sie sich um die Finanzen Ihres Unternehmens kümmern, haben Sie möglicherweise die Möglichkeit, Geld auf bestimmte Konten einzuzahlen oder Geld zwischen den Konten Ihres Unternehmens zu überweisen. Sie sollten jedoch keinen Zugriff darauf haben, Bargeld von diesen Konten abzuheben oder Geld auf andere Konten zu überweisen. Wenn die richtigen Zugriffskontrollen nicht vorhanden sind, können Ihre Mitarbeiter möglicherweise mehr Funktionen als nötig ausführen.

Diese Prüfungen können entweder innerhalb des Codes oder in Konfigurationsdateien durchgeführt werden. Beispielsweise kann es XML-Konfigurationsdateien geben, die dem Web Application Framework mitteilen, welche Benutzer auf welche Seiten zugreifen dürfen. Dadurch wird sichergestellt, dass Benutzer nur auf die Funktionen zugreifen können, zu deren Nutzung sie berechtigt sind.

Warum eine kaputte Zugangskontrolle gefährlich ist

Sehen Sie sich dieses Beispiel an: Ein Angreifer hat erkannt, dass der Code zur Erstellung Ihres Benutzerkontos manipuliert werden kann, sodass der Angreifer mit einer einfachen Postanfrage einen Admin-Benutzer erstellen kann. Er kann eine Anfrage mit dem Benutzernamen und dem Passwort senden und diese dann unterwegs so ändern, dass die Rolle des Administrators in der URL als Parameter oder im Hauptteil der Anfrage enthalten ist. 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 angemessene Zugriffskontrollen können vertrauliche Informationen, die nicht zwischen Abteilungen ausgetauscht werden sollten, durchsickern. Stellen Sie sich vor, jeder Mitarbeiter des Unternehmens könnte Personaldaten oder Finanzdaten einsehen. Was würde passieren, wenn ein Mitarbeiter sehen könnte, dass aufgrund der schlechten finanziellen Situation des Unternehmens Entlassungen bevorstehen? Dies könnte Ihrer Moral und dem Ruf Ihres Unternehmens schaden.

Vertrauliche Kundeninformationen könnten ebenfalls verloren gehen. Unternehmen speichern häufig persönliche Daten von Kunden, die ihre Dienste nutzen. Achten Sie darauf, dass Sie dies nicht versehentlich aufgrund mangelnder Zugriffskontrolle preisgeben. Wenn Ihr System beispielsweise Benutzern die Möglichkeit gibt, ihre Gesundheitsdaten anzufordern, haben sie dann auch die Möglichkeit, die Gesundheitsinformationen anderer Benutzer anzufordern und einzusehen? Wenn die URL eine Kundennummer enthält, könnten Angreifer diese Kundennummer immer wieder erhöhen, bis sie eine finden, die mit einem anderen Kunden übereinstimmt, wodurch ihre persönlichen Daten preisgegeben werden.

Besiege Broken Access Control

Die rollenbasierte Zugriffskontrolle (RBAC) ist ein sehr effektives Tool zur Implementierung einer soliden Zugriffskontrolle. Diejenigen, die Active Directory verwenden, kennen möglicherweise die Idee von Gruppen erstellen und den Zugriff auf bestimmte Elemente in der gesamten Gruppe statt auf die Einzelperson zu gewähren. Anwendungen funktionieren auf die gleiche Weise und definieren mithilfe von Rollen, wer was sehen darf.

Das hat zwei Vorteile. Erstens muss eine Funktion nicht geändert werden, wenn jemand die Administratorrolle verlässt. Wenn jemand zuvor Administrator war und es jetzt nicht mehr sein sollte, dann setzt man einfach eine neue Person in die Administratorrolle und entfernt die vorherige Person aus der Rolle. Der Code überprüft, ob der Benutzer die Administratorrolle hat, anstatt zu überprüfen, ob jeder einzelne Benutzer Zugriff auf eine bestimmte Seite oder Funktion hat.

Der zweite Vorteil besteht darin, einen Wartungsalbtraum zu vermeiden. Eine Zugriffskontrolle, die so detailliert ist, dass jede Person mit jeder einzelnen möglichen Funktion oder Seite in Verbindung steht, wird im Laufe der Zeit unmöglich zu verwalten sein. Rollen erleichtern die Arbeit erheblich, da einer Rolle mehrere Personen hinzugefügt werden können. Eine Rolle kann das gesamte Unternehmen umfassen, während eine andere nur fünf Personen umfassen kann. Dadurch wird 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 die 10.000-fache Anzahl der Funktionen in Ihrer Anwendung. Informieren Sie sich über das von Ihnen gewählte Anwendungsframework, um festzustellen, welche Optionen für eine robuste Zugriffskontrolle existieren.

Es ist auch wichtig, eine Zugriffskontrolle auf Funktionsebene zu verwenden. Schützen Sie den Zugriff auf alle Funktionen, indem Sie von Benutzern verlangen, dass sie bestimmte Zugriffskontrollen bestehen. Verwenden Sie das Prinzip der geringsten Rechte, indem Sie den Zugriff standardmäßig verweigern und den Zugriff nur nach Bedarf öffnen. Es kann schwierig sein, sich daran zu erinnern, für jede Funktion eine Zugriffskontrolle zu implementieren. Verwenden Sie eine zentrale Komponente, um die Zugriffskontrolle zu verwalten und durchzusetzen.

Schützen Sie Ihre sensiblen Funktionen

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

Eine unterbrochene Zugriffskontrolle kann auch zur Kontoübernahme führen, wenn Angreifer auf Funktionen zugreifen können, auf die sie nicht zugreifen sollten. Verwenden Sie eine angemessene Zugriffskontrolle auf Funktionsebene, um Ihre Anwendung vor böswilligen Angreifern und sogar vor zufälligen Insidern zu schützen.

Denken Sie, dass Sie alle Fragen rund um den Zugriff auf Funktionsebene haben? Sie können sich jetzt selbst herausfordern, eine defekte Zutrittskontrolle zu reparieren: [Fangen Sie hier an]

查看资源
查看资源

请填写下方表格以下载报告

我们恳请您允许我们向您发送有关我们产品及/或安全编码相关主题的信息。我们将始终以最高标准谨慎处理您的个人数据,绝不会为营销目的将其出售给其他企业。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。完成后,您可随时将其关闭。

Wenn Sie eine Geschäftsanwendung erstellen, sei es für den internen oder externen Gebrauch durch Ihre Kunden, lassen Sie wahrscheinlich nicht jeden Benutzer jede einzelne Funktion ausführen. Wenn Sie dies tun, sind Sie möglicherweise anfällig für eine unterbrochene Zugriffskontrolle.

Schauen wir uns an, was eine kaputte Zugangskontrolle ist, warum sie so gefährlich ist und wie sie behoben werden kann.

Verstehe kaputte Zugriffskontrolle

Eine fehlerhafte Zugriffskontrolle liegt vor, wenn der Anwendungscode nicht über die richtigen Sicherheits- oder Zugriffskontrollen verfügt. Es kann auch auftreten, wenn eine Anwendung in irgendeiner Weise falsch konfiguriert ist und den Zugriff auf Funktionen oder Seiten ermöglicht, auf die der Benutzer keinen Zugriff haben sollte.

Wenn Sie sich um die Finanzen Ihres Unternehmens kümmern, haben Sie möglicherweise die Möglichkeit, Geld auf bestimmte Konten einzuzahlen oder Geld zwischen den Konten Ihres Unternehmens zu überweisen. Sie sollten jedoch keinen Zugriff darauf haben, Bargeld von diesen Konten abzuheben oder Geld auf andere Konten zu überweisen. Wenn die richtigen Zugriffskontrollen nicht vorhanden sind, können Ihre Mitarbeiter möglicherweise mehr Funktionen als nötig ausführen.

Diese Prüfungen können entweder innerhalb des Codes oder in Konfigurationsdateien durchgeführt werden. Beispielsweise kann es XML-Konfigurationsdateien geben, die dem Web Application Framework mitteilen, welche Benutzer auf welche Seiten zugreifen dürfen. Dadurch wird sichergestellt, dass Benutzer nur auf die Funktionen zugreifen können, zu deren Nutzung sie berechtigt sind.

Warum eine kaputte Zugangskontrolle gefährlich ist

Sehen Sie sich dieses Beispiel an: Ein Angreifer hat erkannt, dass der Code zur Erstellung Ihres Benutzerkontos manipuliert werden kann, sodass der Angreifer mit einer einfachen Postanfrage einen Admin-Benutzer erstellen kann. Er kann eine Anfrage mit dem Benutzernamen und dem Passwort senden und diese dann unterwegs so ändern, dass die Rolle des Administrators in der URL als Parameter oder im Hauptteil der Anfrage enthalten ist. 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 angemessene Zugriffskontrollen können vertrauliche Informationen, die nicht zwischen Abteilungen ausgetauscht werden sollten, durchsickern. Stellen Sie sich vor, jeder Mitarbeiter des Unternehmens könnte Personaldaten oder Finanzdaten einsehen. Was würde passieren, wenn ein Mitarbeiter sehen könnte, dass aufgrund der schlechten finanziellen Situation des Unternehmens Entlassungen bevorstehen? Dies könnte Ihrer Moral und dem Ruf Ihres Unternehmens schaden.

Vertrauliche Kundeninformationen könnten ebenfalls verloren gehen. Unternehmen speichern häufig persönliche Daten von Kunden, die ihre Dienste nutzen. Achten Sie darauf, dass Sie dies nicht versehentlich aufgrund mangelnder Zugriffskontrolle preisgeben. Wenn Ihr System beispielsweise Benutzern die Möglichkeit gibt, ihre Gesundheitsdaten anzufordern, haben sie dann auch die Möglichkeit, die Gesundheitsinformationen anderer Benutzer anzufordern und einzusehen? Wenn die URL eine Kundennummer enthält, könnten Angreifer diese Kundennummer immer wieder erhöhen, bis sie eine finden, die mit einem anderen Kunden übereinstimmt, wodurch ihre persönlichen Daten preisgegeben werden.

Besiege Broken Access Control

Die rollenbasierte Zugriffskontrolle (RBAC) ist ein sehr effektives Tool zur Implementierung einer soliden Zugriffskontrolle. Diejenigen, die Active Directory verwenden, kennen möglicherweise die Idee von Gruppen erstellen und den Zugriff auf bestimmte Elemente in der gesamten Gruppe statt auf die Einzelperson zu gewähren. Anwendungen funktionieren auf die gleiche Weise und definieren mithilfe von Rollen, wer was sehen darf.

Das hat zwei Vorteile. Erstens muss eine Funktion nicht geändert werden, wenn jemand die Administratorrolle verlässt. Wenn jemand zuvor Administrator war und es jetzt nicht mehr sein sollte, dann setzt man einfach eine neue Person in die Administratorrolle und entfernt die vorherige Person aus der Rolle. Der Code überprüft, ob der Benutzer die Administratorrolle hat, anstatt zu überprüfen, ob jeder einzelne Benutzer Zugriff auf eine bestimmte Seite oder Funktion hat.

Der zweite Vorteil besteht darin, einen Wartungsalbtraum zu vermeiden. Eine Zugriffskontrolle, die so detailliert ist, dass jede Person mit jeder einzelnen möglichen Funktion oder Seite in Verbindung steht, wird im Laufe der Zeit unmöglich zu verwalten sein. Rollen erleichtern die Arbeit erheblich, da einer Rolle mehrere Personen hinzugefügt werden können. Eine Rolle kann das gesamte Unternehmen umfassen, während eine andere nur fünf Personen umfassen kann. Dadurch wird 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 die 10.000-fache Anzahl der Funktionen in Ihrer Anwendung. Informieren Sie sich über das von Ihnen gewählte Anwendungsframework, um festzustellen, welche Optionen für eine robuste Zugriffskontrolle existieren.

Es ist auch wichtig, eine Zugriffskontrolle auf Funktionsebene zu verwenden. Schützen Sie den Zugriff auf alle Funktionen, indem Sie von Benutzern verlangen, dass sie bestimmte Zugriffskontrollen bestehen. Verwenden Sie das Prinzip der geringsten Rechte, indem Sie den Zugriff standardmäßig verweigern und den Zugriff nur nach Bedarf öffnen. Es kann schwierig sein, sich daran zu erinnern, für jede Funktion eine Zugriffskontrolle zu implementieren. Verwenden Sie eine zentrale Komponente, um die Zugriffskontrolle zu verwalten und durchzusetzen.

Schützen Sie Ihre sensiblen Funktionen

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

Eine unterbrochene Zugriffskontrolle kann auch zur Kontoübernahme führen, wenn Angreifer auf Funktionen zugreifen können, auf die sie nicht zugreifen sollten. Verwenden Sie eine angemessene Zugriffskontrolle auf Funktionsebene, um Ihre Anwendung vor böswilligen Angreifern und sogar vor zufälligen Insidern zu schützen.

Denken Sie, dass Sie alle Fragen rund um den Zugriff auf Funktionsebene haben? Sie können sich jetzt selbst herausfordern, eine defekte Zutrittskontrolle zu reparieren: [Fangen Sie hier an]

观看网络研讨会
开始吧
了解更多

请点击下方链接下载该资源的PDF文件。

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

查看报告预约演示
下载PDF文件
查看资源
分享到:
领英品牌社交x 标志
想了解更多吗?

分享到:
领英品牌社交x 标志
作者
Jaap Karan Singh
2019年5月9日出版

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

分享到:
领英品牌社交x 标志

Wenn Sie eine Geschäftsanwendung erstellen, sei es für den internen oder externen Gebrauch durch Ihre Kunden, lassen Sie wahrscheinlich nicht jeden Benutzer jede einzelne Funktion ausführen. Wenn Sie dies tun, sind Sie möglicherweise anfällig für eine unterbrochene Zugriffskontrolle.

Schauen wir uns an, was eine kaputte Zugangskontrolle ist, warum sie so gefährlich ist und wie sie behoben werden kann.

Verstehe kaputte Zugriffskontrolle

Eine fehlerhafte Zugriffskontrolle liegt vor, wenn der Anwendungscode nicht über die richtigen Sicherheits- oder Zugriffskontrollen verfügt. Es kann auch auftreten, wenn eine Anwendung in irgendeiner Weise falsch konfiguriert ist und den Zugriff auf Funktionen oder Seiten ermöglicht, auf die der Benutzer keinen Zugriff haben sollte.

Wenn Sie sich um die Finanzen Ihres Unternehmens kümmern, haben Sie möglicherweise die Möglichkeit, Geld auf bestimmte Konten einzuzahlen oder Geld zwischen den Konten Ihres Unternehmens zu überweisen. Sie sollten jedoch keinen Zugriff darauf haben, Bargeld von diesen Konten abzuheben oder Geld auf andere Konten zu überweisen. Wenn die richtigen Zugriffskontrollen nicht vorhanden sind, können Ihre Mitarbeiter möglicherweise mehr Funktionen als nötig ausführen.

Diese Prüfungen können entweder innerhalb des Codes oder in Konfigurationsdateien durchgeführt werden. Beispielsweise kann es XML-Konfigurationsdateien geben, die dem Web Application Framework mitteilen, welche Benutzer auf welche Seiten zugreifen dürfen. Dadurch wird sichergestellt, dass Benutzer nur auf die Funktionen zugreifen können, zu deren Nutzung sie berechtigt sind.

Warum eine kaputte Zugangskontrolle gefährlich ist

Sehen Sie sich dieses Beispiel an: Ein Angreifer hat erkannt, dass der Code zur Erstellung Ihres Benutzerkontos manipuliert werden kann, sodass der Angreifer mit einer einfachen Postanfrage einen Admin-Benutzer erstellen kann. Er kann eine Anfrage mit dem Benutzernamen und dem Passwort senden und diese dann unterwegs so ändern, dass die Rolle des Administrators in der URL als Parameter oder im Hauptteil der Anfrage enthalten ist. 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 angemessene Zugriffskontrollen können vertrauliche Informationen, die nicht zwischen Abteilungen ausgetauscht werden sollten, durchsickern. Stellen Sie sich vor, jeder Mitarbeiter des Unternehmens könnte Personaldaten oder Finanzdaten einsehen. Was würde passieren, wenn ein Mitarbeiter sehen könnte, dass aufgrund der schlechten finanziellen Situation des Unternehmens Entlassungen bevorstehen? Dies könnte Ihrer Moral und dem Ruf Ihres Unternehmens schaden.

Vertrauliche Kundeninformationen könnten ebenfalls verloren gehen. Unternehmen speichern häufig persönliche Daten von Kunden, die ihre Dienste nutzen. Achten Sie darauf, dass Sie dies nicht versehentlich aufgrund mangelnder Zugriffskontrolle preisgeben. Wenn Ihr System beispielsweise Benutzern die Möglichkeit gibt, ihre Gesundheitsdaten anzufordern, haben sie dann auch die Möglichkeit, die Gesundheitsinformationen anderer Benutzer anzufordern und einzusehen? Wenn die URL eine Kundennummer enthält, könnten Angreifer diese Kundennummer immer wieder erhöhen, bis sie eine finden, die mit einem anderen Kunden übereinstimmt, wodurch ihre persönlichen Daten preisgegeben werden.

Besiege Broken Access Control

Die rollenbasierte Zugriffskontrolle (RBAC) ist ein sehr effektives Tool zur Implementierung einer soliden Zugriffskontrolle. Diejenigen, die Active Directory verwenden, kennen möglicherweise die Idee von Gruppen erstellen und den Zugriff auf bestimmte Elemente in der gesamten Gruppe statt auf die Einzelperson zu gewähren. Anwendungen funktionieren auf die gleiche Weise und definieren mithilfe von Rollen, wer was sehen darf.

Das hat zwei Vorteile. Erstens muss eine Funktion nicht geändert werden, wenn jemand die Administratorrolle verlässt. Wenn jemand zuvor Administrator war und es jetzt nicht mehr sein sollte, dann setzt man einfach eine neue Person in die Administratorrolle und entfernt die vorherige Person aus der Rolle. Der Code überprüft, ob der Benutzer die Administratorrolle hat, anstatt zu überprüfen, ob jeder einzelne Benutzer Zugriff auf eine bestimmte Seite oder Funktion hat.

Der zweite Vorteil besteht darin, einen Wartungsalbtraum zu vermeiden. Eine Zugriffskontrolle, die so detailliert ist, dass jede Person mit jeder einzelnen möglichen Funktion oder Seite in Verbindung steht, wird im Laufe der Zeit unmöglich zu verwalten sein. Rollen erleichtern die Arbeit erheblich, da einer Rolle mehrere Personen hinzugefügt werden können. Eine Rolle kann das gesamte Unternehmen umfassen, während eine andere nur fünf Personen umfassen kann. Dadurch wird 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 die 10.000-fache Anzahl der Funktionen in Ihrer Anwendung. Informieren Sie sich über das von Ihnen gewählte Anwendungsframework, um festzustellen, welche Optionen für eine robuste Zugriffskontrolle existieren.

Es ist auch wichtig, eine Zugriffskontrolle auf Funktionsebene zu verwenden. Schützen Sie den Zugriff auf alle Funktionen, indem Sie von Benutzern verlangen, dass sie bestimmte Zugriffskontrollen bestehen. Verwenden Sie das Prinzip der geringsten Rechte, indem Sie den Zugriff standardmäßig verweigern und den Zugriff nur nach Bedarf öffnen. Es kann schwierig sein, sich daran zu erinnern, für jede Funktion eine Zugriffskontrolle zu implementieren. Verwenden Sie eine zentrale Komponente, um die Zugriffskontrolle zu verwalten und durchzusetzen.

Schützen Sie Ihre sensiblen Funktionen

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

Eine unterbrochene Zugriffskontrolle kann auch zur Kontoübernahme führen, wenn Angreifer auf Funktionen zugreifen können, auf die sie nicht zugreifen sollten. Verwenden Sie eine angemessene Zugriffskontrolle auf Funktionsebene, um Ihre Anwendung vor böswilligen Angreifern und sogar vor zufälligen Insidern zu schützen.

Denken Sie, dass Sie alle Fragen rund um den Zugriff auf Funktionsebene haben? Sie können sich jetzt selbst herausfordern, eine defekte Zutrittskontrolle zu reparieren: [Fangen Sie hier an]

目录

下载PDF文件
查看资源
想了解更多吗?

Jaap Karan Singh是一位安全编码布道者,首席辛格和Secure Code Warrior 的共同创始人。

了解更多

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

入门资源

更多文章
资源中心

入门资源

更多文章