SCW アイコン
ヒーロー背景(区切りなし)
ブログ

Les codeurs conquièrent la série d'API Top 10 de l'OWASP en matière de sécurité - Contrôle d'accès au niveau des fonctions manquant

マティアス・マドゥ博士
2020年10月07日 掲載
最終更新日: 2026年3月8日

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

リソースを表示する
リソースを表示する

La vulnérabilité de contrôle d'accès au niveau des fonctions manquante permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui devraient être protégées.

さらに詳しく知りたいですか?

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
作者
マティアス・マドゥ博士
2020年10月07日発行

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

共有する:
リンクトインのブランドソーシャルx ロゴ

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

リソースを表示する
リソースを表示する

以下のフォームに記入してレポートをダウンロードしてください

当社製品および/またはセキュアコーディング関連の情報をお送りするにあたり、ご承諾を頂戴できれば幸いです。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ございません。

提出する
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、Analyticsクッキーを有効にしてください。完了後は再度無効化しても構いません。

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

ウェビナーを表示する
始めましょう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

レポートを表示するデモを予約する
PDFをダウンロード
リソースを表示する
共有する:
リンクトインのブランドソーシャルx ロゴ
さらに詳しく知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
作者
マティアス・マドゥ博士
2020年10月07日発行

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

共有する:
リンクトインのブランドソーシャルx ロゴ

Cette série de blogs se concentrera sur certaines des pires vulnérabilités liées aux interfaces de programmation d'applications (API). Ils sont si mauvais qu'ils ont créé l'Open Web Application Security Project (GUÊPE) liste des principales vulnérabilités des API. Compte tenu de l'importance des API pour les infrastructures informatiques modernes, il s'agit de problèmes critiques que vous devez à tout prix éviter dans vos applications et programmes.

Le contrôle d'accès au niveau des fonctions manquant Une vulnérabilité permet aux utilisateurs d'exécuter des fonctions qui devraient être restreintes ou leur permet d'accéder à des ressources qui doivent être protégées. Normalement, les fonctions et les ressources sont directement protégées dans le code ou par les paramètres de configuration, mais ce n'est pas toujours facile de le faire correctement. La mise en œuvre de contrôles appropriés peut s'avérer difficile car les applications modernes contiennent souvent de nombreux types de rôles et de groupes, ainsi qu'une hiérarchie d'utilisateurs complexe.

Mais d'abord, pourquoi ne pas participer à notre défi gamifié pour voir où vous en êtes dans cette catégorie délicate de bugs ?

Jetons un coup d'œil plus approfondi :

Les API sont particulièrement vulnérables à cette faille car elles sont très structurées. Les attaquants qui comprennent le code peuvent deviner en toute connaissance de cause comment implémenter des commandes qui devraient leur être réservées. C'est l'une des principales raisons pour lesquelles la vulnérabilité du contrôle d'accès au niveau des fonctions/ressources s'est classée dans le top 10 de l'OWASP.

Comment les attaquants peuvent-ils exploiter la vulnérabilité du contrôle d'accès au niveau des fonctions ?

Les attaquants qui pensent que des fonctions ou des ressources ne sont pas correctement protégées doivent d'abord accéder au système qu'ils souhaitent attaquer. Pour exploiter cette vulnérabilité, ils doivent être autorisés à envoyer des appels d'API légitimes au terminal. Il existe peut-être une fonction d'accès invité de bas niveau ou un moyen de se connecter de manière anonyme dans le cadre de la fonction de l'application. Une fois cet accès établi, ils peuvent commencer à modifier les commandes de leurs appels d'API légitimes. Par exemple, ils peuvent remplacer GET par PUT, ou remplacer la chaîne USERS de l'URL par ADMINS. Encore une fois, les API étant structurées, il est facile de deviner quelles commandes peuvent être autorisées et où les placer dans la chaîne.

L'OWASP donne un exemple de cette vulnérabilité d'un processus d'enregistrement mis en place pour permettre aux nouveaux utilisateurs de rejoindre un site Web. Il utiliserait probablement un appel d'API GET, comme celui-ci :

GET /api/invites/ {invite_guid}

L'utilisateur malveillant récupérerait un JSON contenant les détails de l'invitation, y compris le rôle et l'adresse e-mail de l'utilisateur. Ils pourraient ensuite changer GET en POST et également faire passer leur invitation d'utilisateur à administrateur à l'aide de l'appel d'API suivant :

POSTER /api/invites/nouveau
{"email » : » shadyguy@targetedsystem.com «, "role » :"admin "}

Seuls les administrateurs devraient être en mesure d'envoyer des commandes POST, mais si elles ne sont pas correctement sécurisées, l'API les considérera comme légitimes et exécutera ce que l'attaquant souhaite. Dans ce cas, l'utilisateur malveillant serait invité à rejoindre le système en tant que nouvel administrateur. Après cela, ils pourraient voir et faire tout ce qu'un administrateur légitime pourrait faire, ce qui ne serait pas une bonne chose.

Élimination de la vulnérabilité du contrôle d'accès au niveau des fonctions

Il est particulièrement important de prévenir cette vulnérabilité d'API, car il n'est pas difficile pour un attaquant de trouver des fonctions non protégées au sein d'une API structurée. Tant qu'ils peuvent obtenir un certain niveau d'accès à une API, ils peuvent commencer à cartographier la structure du code et à créer des appels qui seront éventuellement suivis.

Par conséquent, toutes les fonctions au niveau de l'entreprise doivent être protégées à l'aide d'une méthode d'autorisation basée sur les rôles. La plupart des frameworks proposent des routines centralisées pour y parvenir. Si le framework que vous avez choisi ne fonctionne pas ou si la routine qu'il contient est difficile à implémenter, de nombreux modules externes sont spécialement conçus pour une utilisation facile. Quelle que soit la méthode que vous choisissez finalement, veillez à implémenter l'autorisation sur le serveur. N'essayez jamais de sécuriser les fonctions côté client.

Lorsque vous créez des autorisations au niveau des fonctions et des ressources, n'oubliez pas que les utilisateurs ne doivent être autorisés qu'à faire ce dont ils ont besoin et rien de plus. Comme c'est toujours le cas lorsque vous codez des API ou quoi que ce soit d'autre, pratiquez la méthodologie du moindre privilège. Cela sécurisera votre environnement et évitera de nombreux problèmes liés à la cybersécurité à l'avenir.

Consultez le Secure Code Warrior pages de blog pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayez une démo de la plateforme de formation Secure Code Warrior pour maintenir toutes vos compétences en cybersécurité à jour et à jour.

目次

PDFをダウンロード
リソースを表示する
さらに詳しく知りたいですか?

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません