ヒーロー背景(区切りなし)
ブログ

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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

もっと詳しく

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

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

Matias Madou, Ph.D. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

共有する:
リンクトインのブランドソーシャル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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique en matière de sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont abouti à des produits commerciaux et possède plus de 10 brevets à son actif. Lorsqu'il n'est pas à son bureau, Matias a enseigné des cours de formation avancée sur la sécurité des applications et prend régulièrement la parole lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en génie informatique de l'université de Gand, où il a étudié la sécurité des applications par le biais de l'obfuscation de programmes pour masquer le fonctionnement interne d'une application.

共有する:
リンクトインのブランドソーシャル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. est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter uniquement les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau au sein de Team Awesome, il aime être sur scène pour faire des présentations lors de conférences telles que RSA Conference, BlackHat et DefCon.

もっと詳しく

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

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

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

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

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

投稿はありません