J'ai besoin d'aide pour répertorier les risques spécifiques liés à l'intégration d'une iframe HTTPS qui permet le paiement par carte de crédit à l'intérieur d'une page HTTP. Y a-t-il des problèmes de sécurité avec l'incorporation d'un iframe HTTPS sur une page HTTP? fournit quelques préoccupations de haut niveau, mais je cherche à être aussi précis que possible sur les vecteurs d'attaque potentiels. Cliquez sur Acheter maintenant pour un bon exemple d'un iframe sécurisé à l'intérieur d'une page non sécurisée, utilisé aujourd'hui pour les transactions par carte de crédit. Voici ce que j'ai jusqu'à présent:
J'ai également cette liste de préoccupations irréalistes:
Pourriez-vous me dire quelles sont les autres vulnérabilités réalistes et irréalistes qui me manquent? Je ne doute pas que la meilleure option est toujours d'incorporer un iframe sécurisé dans une page parent sécurisée. Ce que j'essaie de décider, ce sont les risques et avantages relatifs de l'activation d'une iframe sécurisée dans une page non sécurisée par rapport à la mauvaise expérience utilisateur de sauter des utilisateurs du site non sécurisé où ils voient le produit afin de terminer un paiement sécurisé ailleurs.
Cliquez sur Acheter maintenant pour un bon exemple d'un iframe sécurisé à l'intérieur d'une page non sécurisée, utilisé aujourd'hui pour les transactions par carte de crédit.
Mis à part toutes les raisons techniques mentionnées, c'est une mauvaise chose désastreuse, c'est explicitement contraire aux exigences PCI-DSS. Voir "Naviguer DSS 2.0" exigence 4.1:
When using SSL secured websites, ensure “https” is part of the URL
L'interface liée ne respecte pas les conditions PCI auxquelles les commerçants s'inscrivent dans le cadre de leur accord avec leur banque. ShopLocket semble fournir/encourager une approche manifestement non conforme au PCI ainsi qu'une approche profondément discutable du traitement des cartes.
Un attaquant qui peut intégrer un script escroc dans la page parent peut également simplement changer l'URL de l'iframe, en le redirigeant vers un emplacement arbitraire, auquel cas toutes sortes de configurations de phishing et de man-in-the-middle sont faciles. Pas besoin de jouer des tours DNS à ce niveau. C'est le principal problème avec un tel iframe HTTPS: vous ne pouvez pas facilement savoir si vous avez obtenu la chose authentique (vous devez activer le mode de débogage du navigateur pour être vraiment sûr - un aperçu rapide de la source de la page n'est finalement pas suffisant car les scripts chargés depuis la page peut le manipuler à volonté au niveau du DOM, donc ce que vous semblez voir dans le code source n'est pas nécessairement ce que vous obtenez).
Cela se résume vraiment à l'absence de barre d'URL pour l'iframe. Pour un site HTTPS, la barre d'URL vous indique que le bon SSL est en place, avec un certificat de serveur valide, et il vous indique le nom du serveur vous parlez en fait. Retirez la barre et toutes sortes de trucs désagréables deviennent possibles.
Du bon côté, un iframe HTTPS, comme une URL cible HTTPS pour un formulaire de connexion dans une page HTTP, est excellent contre les attaquants passifs uniquement (le type d'attaquants qui écoute tous les octets échangés mais n'injecte jamais rien par lui-même). Il se trouve que croire que la plupart des attaquants sont uniquement passifs est devenu singulièrement naïf de nos jours.
Quant à l'expérience utilisateur, la recommandation habituelle est tout simplement de rendre l'ensemble du site HTTPS. C'est beaucoup moins cher, d'un point de vue informatique, qu'on ne le pense habituellement. D'une manière générale, les humains ne sont pas bons pour prédire les problèmes de performances. La performance est une question de mesure, pas de supposition. Je vous suggère de l'essayer.
En outre, en tant qu'utilisateur (mais pas nécessairement un utilisateur typique ), J'aime un peu la transition visible de HTTP à HTTPS. Le paiement concerne l'argent et, surtout, mon argent. Ainsi, il est important .