2

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

ответ

0

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

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

+0

Итак, я нахожусь в стороне от проверки браузера. Вы видите какой-либо способ по существу выполнить ту же цель (предотвращение MITM) с использованием другого метода? – Hydroslide

0

IMHO Вы можете проверить сертификат, который хранится локально, так как браузер сохранит его копию после запроса SSL. Оформить заявку this. Надеюсь, это даст вам несколько советов.

+0

Этот ответ не работает или не применяется к Silverlight, поскольку ссылка на статью относится к полной платформе .NET; Песочница Silverlight исключает такой доступ. –