Comment un modèle de conception "objet de contexte" est-il utilisé pour améliorer la sécurité?

StackOverflow https://stackoverflow.com/questions/3260323

Question

Je connais l'utilisation du modèle de conception de l'objet contexteur - une enveloppe de contexte légère autour des objets passés entre les niveaux.

Si l'on utilisait l'objet de contexte pour suivre la souillure (entrée d'utilisateur non approuvée) ou le niveau d'origine, je pouvais voir comment un niveau de réception pourrait filtrer, encoder ou valider de manière dynamique.

Par exemple: Un utilisateur envoie des données de contexte "http / htocl" qui seront éventuellement stockées en tant que fichier sur le système. La méthode de sauvegarde de fichiers pourrait détecter les entités contextuels et décoder HTML, attribuez un identifiant aléatoire au téléchargement de fichier et associer l'action utilisateur et le nom de fichier dans la base de données.

Ma question est la suivante: comment est-ce tout plus intelligent que d'appliquer tout filtrage, codage et validation par défaut? Quels cas existent là où connaître le contexte d'origine améliore la sécurité au-delà d'une bonne validation / codage d'entrée?

Je travaille dans Java / J2ee / Struts, mais cela est généralisé avec d'autres langues et cadres.

Références:

http://www.corej2epatterns.com/patterns2nded/contextObject.htm

http://www.cs.wustl. EDU / ~ SCHMIDT / PDF / Contexte-Object-Pattern.pdf

http://www.owasp.org/index.php/category:owasp_security_analysis_of_core_j2ee_design_pattatns_project

avec mes remerciements,

-ben

Était-ce utile?

La solution

Je ne sais pas que le suivi correct entre les niveaux d'application est la meilleure application du modèle d'objet contextuel. Si je comprends bien, un objet contextuel est un objet qui reste dans un seul niveau et fournit des services à plusieurs messages passant à travers ce niveau.

où je pouvais voir que cet être utilisé est un mécanisme de sécurité est dans la création d'une couche de sécurité explicite dans votre application. Imaginez que chaque utilisateur authentifie avec votre système, un objet contextuel de sécurité est créé dans la couche de sécurité pour cet utilisateur. L'objet contextuel de sécurité contient une liste de toutes les autorisations de l'utilisateur. Chaque demande qui entre dans le système de tout utilisateur doit d'abord passer à travers la couche de sécurité et être évaluée contre l'objet contextuel de sécurité de l'utilisateur.

Si la demande est autorisée, la couche de sécurité le transmet la pile aux couches supérieures pour le traitement. Si la demande est refusée, la couche de sécurité renvoie une erreur à l'utilisateur et le reste de l'application n'est pas le plus sage. Centraliser les préoccupations de sécurité dans la couche de sécurité empêche la diffusion des contrôles de sécurité dans les couches d'entreprise et de service.

Dans ce cas, l'objet de contexte de sécurité implémente le modèle d'objet contextuel. L'objet contextuel est de longue durée, fournissant au contexte de plusieurs demandes utilisateur, mais n'est pas visible pour les couches supérieures ou inférieures de la pile de demande.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top