Вопрос

Я обеспокоен атаками MITM в приложении Silverlight, которое я пишу.Сайт будет работать по протоколу SSL.Если мой сайт стал жертвой MITM-атаки, насколько я знаю, моя единственная защита прямо сейчас - это страница предупреждения, которую браузер отображает, когда сертификат сайта ненадежен.Поскольку это всего лишь браузер, лучшее, что он может сделать, это просто предупредить пользователя, а затем все равно пропустить его.Пользователи могут быть довольны кликом и, как правило, ничего не читают.Поэтому, скорее всего, они прочтут это предупреждение, почешут в затылке и продолжат заходить на сайт.Моя мысль заключалась в том, что, поскольку я пишу надежное приложение Silverlight, я должен быть в состоянии либо определить, видит ли браузер ошибку сертификата, либо выполнить ту же проверку, которую выполняет браузер.Затем, если я определю, что есть проблема, я могу просто заблокировать все мое приложение, чтобы пользователь не предоставлял MITM никакой важной информации.Проблема, с которой я сталкиваюсь, заключается в том, что я, похоже, не могу найти нужные классы в ограниченном подмножестве Silverlight в .NET, чтобы делать то, что мне нужно.Кто-нибудь знает, как я могу достичь этой цели или как по-другому обойти эту проблему?

Это было полезно?

Решение

Насколько я знаю, это невозможно - Silverlight использует сетевой стек браузера и в результате полагается на свои сетевые предупреждения и инфраструктуру безопасности.

Silverlight 3 добавил новый сетевой стек, но я считаю, что в целом применяется то же самое:сертификат вашего хост-сервера проверяется, когда браузер загружает .xap (приложение Silverlight), а не что-то, что вы можете проверить или взаимодействовать с ним в коде.

Другие советы

ИМХО, вы можете проверить сертификат, который хранится локально, поскольку браузер сохранит его копию после SSL-запроса.Проверьте это Статья.Я надеюсь, что это даст вам несколько подсказок

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top