
Les codeurs conquièrent les 10 meilleures séries d'API de l'OWASP en matière de sécurité - Mass Assignment
La vulnérabilité d'assignation de masse est née parce que de nombreux frameworks modernes encouragent les développeurs à utiliser des fonctions qui lient automatiquement les entrées des clients à des variables de code et à des objets internes. Ceci est fait pour simplifier le code et accélérer les opérations.
Les attaquants peuvent utiliser cette méthodologie pour imposer des modifications aux propriétés des objets qui ne devraient jamais être mises à jour par un client. Normalement, cela entraîne des problèmes spécifiques à l'entreprise, par exemple un utilisateur qui se donne des privilèges d'administrateur au lieu de détruire un site Web ou de voler des secrets d'entreprise. Les attaquants doivent également avoir une idée des relations entre les objets et la logique métier de l'application qu'ils exploitent.
Cependant, rien de tout cela ne rend la vulnérabilité d'assignation de masse moins dangereuse entre les mains d'un utilisateur intelligent et malveillant.
Avant de lancer le guide complet, jouez à notre défi ludique et voyez comment vous vous en sortez :
Comment les attaquants peuvent-ils exploiter la vulnérabilité d'assignation de masse ?
Le scénario proposé par OWASP (et légèrement modifié par nos soins) suppose une application de covoiturage qui inclut différentes propriétés liées à des objets dans le code par attribution de masse. Il s'agit notamment des propriétés liées aux autorisations que les utilisateurs peuvent modifier et des propriétés dépendantes des processus qui ne doivent être définies qu'en interne par l'application. Les deux utilisent l'attribution de masse pour lier des propriétés à des objets.
Dans ce scénario, l'application de covoiturage permet aux utilisateurs de mettre à jour leurs profils, comme cela est courant dans de nombreuses applications destinées aux utilisateurs. Cela se fait à l'aide d'un appel d'API envoyé à PUT, qui renvoie l'objet JSON suivant :
{"user_name » :"SneakySnake », « age » :17, « is_admin » :false}
Comme l'attaquant, en l'occurrence M. SneakySnake, a découvert la relation entre les propriétés et les objets, il peut renvoyer sa demande initiale de mise à jour de son profil avec la chaîne suivante :
{"user_name » :"SneakySnake », « age » :24, « is_admin » :true}
Comme le point de terminaison est vulnérable à l'assignation en masse, il accepte la nouvelle entrée comme étant valide. Non seulement notre hacker a ajouté quelques années à son profil, mais il s'est également attribué des privilèges d'administrateur.
Élimination de la vulnérabilité liée aux affectations de masse
Aussi pratique que cela puisse être d'utiliser la fonction d'attribution de masse dans certains frameworks, vous devez éviter de le faire si vous souhaitez sécuriser vos API. Analysez plutôt les valeurs des requêtes plutôt que de les lier directement à un objet. Vous pouvez également utiliser un objet à transfert de données réduit, ce qui offrirait presque le même confort que la liaison directe à l'objet lui-même, mais sans le risque associé.
Par mesure de précaution supplémentaire, les propriétés sensibles telles que les privilèges d'administrateur de l'exemple ci-dessus peuvent être refusées afin qu'elles ne soient jamais acceptées par le serveur lors d'un appel d'API. Une meilleure idée serait de refuser toutes les propriétés par défaut, puis d'autoriser les propriétés spécifiques et non sensibles que vous souhaitez que les utilisateurs puissent mettre à jour ou modifier. Toutes ces mesures peuvent aider à verrouiller les API et à éliminer la vulnérabilité d'attribution de masse de votre environnement.
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é d'assignation de masse est née de nombreux frameworks modernes encourageant les développeurs à utiliser des fonctions qui lient automatiquement les entrées des clients à des variables de code et à des objets internes.
Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
デモを予約する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はゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。


La vulnérabilité d'assignation de masse est née parce que de nombreux frameworks modernes encouragent les développeurs à utiliser des fonctions qui lient automatiquement les entrées des clients à des variables de code et à des objets internes. Ceci est fait pour simplifier le code et accélérer les opérations.
Les attaquants peuvent utiliser cette méthodologie pour imposer des modifications aux propriétés des objets qui ne devraient jamais être mises à jour par un client. Normalement, cela entraîne des problèmes spécifiques à l'entreprise, par exemple un utilisateur qui se donne des privilèges d'administrateur au lieu de détruire un site Web ou de voler des secrets d'entreprise. Les attaquants doivent également avoir une idée des relations entre les objets et la logique métier de l'application qu'ils exploitent.
Cependant, rien de tout cela ne rend la vulnérabilité d'assignation de masse moins dangereuse entre les mains d'un utilisateur intelligent et malveillant.
Avant de lancer le guide complet, jouez à notre défi ludique et voyez comment vous vous en sortez :
Comment les attaquants peuvent-ils exploiter la vulnérabilité d'assignation de masse ?
Le scénario proposé par OWASP (et légèrement modifié par nos soins) suppose une application de covoiturage qui inclut différentes propriétés liées à des objets dans le code par attribution de masse. Il s'agit notamment des propriétés liées aux autorisations que les utilisateurs peuvent modifier et des propriétés dépendantes des processus qui ne doivent être définies qu'en interne par l'application. Les deux utilisent l'attribution de masse pour lier des propriétés à des objets.
Dans ce scénario, l'application de covoiturage permet aux utilisateurs de mettre à jour leurs profils, comme cela est courant dans de nombreuses applications destinées aux utilisateurs. Cela se fait à l'aide d'un appel d'API envoyé à PUT, qui renvoie l'objet JSON suivant :
{"user_name » :"SneakySnake », « age » :17, « is_admin » :false}
Comme l'attaquant, en l'occurrence M. SneakySnake, a découvert la relation entre les propriétés et les objets, il peut renvoyer sa demande initiale de mise à jour de son profil avec la chaîne suivante :
{"user_name » :"SneakySnake », « age » :24, « is_admin » :true}
Comme le point de terminaison est vulnérable à l'assignation en masse, il accepte la nouvelle entrée comme étant valide. Non seulement notre hacker a ajouté quelques années à son profil, mais il s'est également attribué des privilèges d'administrateur.
Élimination de la vulnérabilité liée aux affectations de masse
Aussi pratique que cela puisse être d'utiliser la fonction d'attribution de masse dans certains frameworks, vous devez éviter de le faire si vous souhaitez sécuriser vos API. Analysez plutôt les valeurs des requêtes plutôt que de les lier directement à un objet. Vous pouvez également utiliser un objet à transfert de données réduit, ce qui offrirait presque le même confort que la liaison directe à l'objet lui-même, mais sans le risque associé.
Par mesure de précaution supplémentaire, les propriétés sensibles telles que les privilèges d'administrateur de l'exemple ci-dessus peuvent être refusées afin qu'elles ne soient jamais acceptées par le serveur lors d'un appel d'API. Une meilleure idée serait de refuser toutes les propriétés par défaut, puis d'autoriser les propriétés spécifiques et non sensibles que vous souhaitez que les utilisateurs puissent mettre à jour ou modifier. Toutes ces mesures peuvent aider à verrouiller les API et à éliminer la vulnérabilité d'attribution de masse de votre environnement.
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é d'assignation de masse est née parce que de nombreux frameworks modernes encouragent les développeurs à utiliser des fonctions qui lient automatiquement les entrées des clients à des variables de code et à des objets internes. Ceci est fait pour simplifier le code et accélérer les opérations.
Les attaquants peuvent utiliser cette méthodologie pour imposer des modifications aux propriétés des objets qui ne devraient jamais être mises à jour par un client. Normalement, cela entraîne des problèmes spécifiques à l'entreprise, par exemple un utilisateur qui se donne des privilèges d'administrateur au lieu de détruire un site Web ou de voler des secrets d'entreprise. Les attaquants doivent également avoir une idée des relations entre les objets et la logique métier de l'application qu'ils exploitent.
Cependant, rien de tout cela ne rend la vulnérabilité d'assignation de masse moins dangereuse entre les mains d'un utilisateur intelligent et malveillant.
Avant de lancer le guide complet, jouez à notre défi ludique et voyez comment vous vous en sortez :
Comment les attaquants peuvent-ils exploiter la vulnérabilité d'assignation de masse ?
Le scénario proposé par OWASP (et légèrement modifié par nos soins) suppose une application de covoiturage qui inclut différentes propriétés liées à des objets dans le code par attribution de masse. Il s'agit notamment des propriétés liées aux autorisations que les utilisateurs peuvent modifier et des propriétés dépendantes des processus qui ne doivent être définies qu'en interne par l'application. Les deux utilisent l'attribution de masse pour lier des propriétés à des objets.
Dans ce scénario, l'application de covoiturage permet aux utilisateurs de mettre à jour leurs profils, comme cela est courant dans de nombreuses applications destinées aux utilisateurs. Cela se fait à l'aide d'un appel d'API envoyé à PUT, qui renvoie l'objet JSON suivant :
{"user_name » :"SneakySnake », « age » :17, « is_admin » :false}
Comme l'attaquant, en l'occurrence M. SneakySnake, a découvert la relation entre les propriétés et les objets, il peut renvoyer sa demande initiale de mise à jour de son profil avec la chaîne suivante :
{"user_name » :"SneakySnake », « age » :24, « is_admin » :true}
Comme le point de terminaison est vulnérable à l'assignation en masse, il accepte la nouvelle entrée comme étant valide. Non seulement notre hacker a ajouté quelques années à son profil, mais il s'est également attribué des privilèges d'administrateur.
Élimination de la vulnérabilité liée aux affectations de masse
Aussi pratique que cela puisse être d'utiliser la fonction d'attribution de masse dans certains frameworks, vous devez éviter de le faire si vous souhaitez sécuriser vos API. Analysez plutôt les valeurs des requêtes plutôt que de les lier directement à un objet. Vous pouvez également utiliser un objet à transfert de données réduit, ce qui offrirait presque le même confort que la liaison directe à l'objet lui-même, mais sans le risque associé.
Par mesure de précaution supplémentaire, les propriétés sensibles telles que les privilèges d'administrateur de l'exemple ci-dessus peuvent être refusées afin qu'elles ne soient jamais acceptées par le serveur lors d'un appel d'API. Une meilleure idée serait de refuser toutes les propriétés par défaut, puis d'autoriser les propriétés spécifiques et non sensibles que vous souhaitez que les utilisateurs puissent mettre à jour ou modifier. Toutes ces mesures peuvent aider à verrouiller les API et à éliminer la vulnérabilité d'attribution de masse de votre environnement.
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 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。
レポートを表示するデモを予約する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はゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。
La vulnérabilité d'assignation de masse est née parce que de nombreux frameworks modernes encouragent les développeurs à utiliser des fonctions qui lient automatiquement les entrées des clients à des variables de code et à des objets internes. Ceci est fait pour simplifier le code et accélérer les opérations.
Les attaquants peuvent utiliser cette méthodologie pour imposer des modifications aux propriétés des objets qui ne devraient jamais être mises à jour par un client. Normalement, cela entraîne des problèmes spécifiques à l'entreprise, par exemple un utilisateur qui se donne des privilèges d'administrateur au lieu de détruire un site Web ou de voler des secrets d'entreprise. Les attaquants doivent également avoir une idée des relations entre les objets et la logique métier de l'application qu'ils exploitent.
Cependant, rien de tout cela ne rend la vulnérabilité d'assignation de masse moins dangereuse entre les mains d'un utilisateur intelligent et malveillant.
Avant de lancer le guide complet, jouez à notre défi ludique et voyez comment vous vous en sortez :
Comment les attaquants peuvent-ils exploiter la vulnérabilité d'assignation de masse ?
Le scénario proposé par OWASP (et légèrement modifié par nos soins) suppose une application de covoiturage qui inclut différentes propriétés liées à des objets dans le code par attribution de masse. Il s'agit notamment des propriétés liées aux autorisations que les utilisateurs peuvent modifier et des propriétés dépendantes des processus qui ne doivent être définies qu'en interne par l'application. Les deux utilisent l'attribution de masse pour lier des propriétés à des objets.
Dans ce scénario, l'application de covoiturage permet aux utilisateurs de mettre à jour leurs profils, comme cela est courant dans de nombreuses applications destinées aux utilisateurs. Cela se fait à l'aide d'un appel d'API envoyé à PUT, qui renvoie l'objet JSON suivant :
{"user_name » :"SneakySnake », « age » :17, « is_admin » :false}
Comme l'attaquant, en l'occurrence M. SneakySnake, a découvert la relation entre les propriétés et les objets, il peut renvoyer sa demande initiale de mise à jour de son profil avec la chaîne suivante :
{"user_name » :"SneakySnake », « age » :24, « is_admin » :true}
Comme le point de terminaison est vulnérable à l'assignation en masse, il accepte la nouvelle entrée comme étant valide. Non seulement notre hacker a ajouté quelques années à son profil, mais il s'est également attribué des privilèges d'administrateur.
Élimination de la vulnérabilité liée aux affectations de masse
Aussi pratique que cela puisse être d'utiliser la fonction d'attribution de masse dans certains frameworks, vous devez éviter de le faire si vous souhaitez sécuriser vos API. Analysez plutôt les valeurs des requêtes plutôt que de les lier directement à un objet. Vous pouvez également utiliser un objet à transfert de données réduit, ce qui offrirait presque le même confort que la liaison directe à l'objet lui-même, mais sans le risque associé.
Par mesure de précaution supplémentaire, les propriétés sensibles telles que les privilèges d'administrateur de l'exemple ci-dessus peuvent être refusées afin qu'elles ne soient jamais acceptées par le serveur lors d'un appel d'API. Une meilleure idée serait de refuser toutes les propriétés par défaut, puis d'autoriser les propriétés spécifiques et non sensibles que vous souhaitez que les utilisateurs puissent mettre à jour ou modifier. Toutes ces mesures peuvent aider à verrouiller les API et à éliminer la vulnérabilité d'attribution de masse de votre environnement.
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.
目次
Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

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



%20(1).avif)
.avif)
