Какой смысл в Policy Server? (Silverlight)

Я возился с сокетами Silverlight и, немного почесав голову, почему мне отказывают в моих соединениях, я понял, что мне нужно настроить сервер политики. Silverlight подключается к порту сервера политики на хосте, указанном соединением сокета. Сервер политики возвращает файл XML, обозначающий, какой доступ разрешен для этого хоста.

Я правильно понимаю? Какой в ​​этом смысл? Не мог ли какой-нибудь злонамеренный пользователь просто проигнорировать файл политики и сделать все что хотел

http://www.netortech.com/Content/policy.jpg

2 ответа

Решение

Я наконец выяснил одну хорошую причину сделать это.

Приложения Silverlight имеют возможность очень быстро распространяться / выполняться. Скажем, как реклама на популярном сайте, например. В этом случае было бы очень просто использовать приложение Silverlight для запуска DoS-атаки на хост, просто передав его поставщику рекламы. Однако, поскольку все приложения Silverlight сначала проверяют файл политики для хоста, он ограничивает хосты и службы, на которые может быть нацелен этот тип атаки.

Цитата:

Использование для междоменной связи требует защиты от нескольких типов уязвимостей безопасности, которые могут использоваться для эксплуатации веб-приложений. Межсайтовая подделка - это класс эксплойтов, который становится угрозой при разрешении междоменных вызовов. Этот эксплойт включает в себя вредоносный элемент управления Silverlight, передающий несанкционированные команды стороннему сервису без ведома пользователя. Чтобы предотвратить подделку межсайтовых запросов, Silverlight по умолчанию разрешает общение только по месту происхождения для всех запросов, кроме изображений и мультимедиа. Например, элемент управления Silverlight, размещенный по адресу http://contoso.com/mycontrol.aspx может по умолчанию получать доступ только к службам в этом же домене - например, http://contoso.com/service.svc, но не к службе по адресу http://fabrikam.com/service.svc. Это не позволяет вредоносному элементу управления Silverlight, размещенному в домене http://contoso.com/ вызывать несанкционированные операции со службой, размещенной в домене http://fabrikam.com/.

Чтобы включить элемент управления Silverlight для доступа к службе в другом домене, служба должна явно разрешить междоменный доступ. При включении служба заявляет, что предоставляемые ею операции можно безопасно вызывать с помощью элемента управления Silverlight без потенциального ущерба для данных, которые хранит служба.


РЕДАКТИРОВАТЬ: на основе комментария / вопроса...

Я просто дам свое, вероятно, несовершенное понимание ситуации, но для меня это имеет смысл.

Браузер в целом ограничен тем, на что он может направить вас, затрудняя доступ к любому хосту, кроме того, который обслуживает http-страницы. Это верно независимо от того, какой ресурс обсуждается. И эти ограничения должны применяться путем вывода ко всему, что выполняется в контексте браузера / веб-страницы, включая Silverlight. Так что это просто экстраполяция существующего механизма для разрешения иностранных ссылок.

Я не уверен, как вы собираетесь отличить "сервис" от "сокета". Обычно службы используют сокеты; какой-то процесс (служба или иным образом) сидит на хосте, наблюдая за установлением соединения через порт; Один тип соединения - это розетка.

Другие вопросы по тегам