2009-03-22 4 views
0

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

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

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

ответ

1

Я, наконец, выяснил, что это одна из веских причин.

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

3

Quote:

Использование для междоменном связи требует защиты от нескольких видов уязвимости, которые могут быть использованы для использования веб-приложений. Кросс-сайт-подделка - это класс эксплойтов, который становится угрозой при разрешении междоменных вызовов. Этот эксплойт включает в себя вредоносный элемент управления 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 без каких-либо потенциально опасных последствий для данных, хранящихся в сервисе.


EDIT: на основе комментарий/вопрос ...

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

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

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

+0

1) Я спрашиваю о сокетах, а не об услугах. 2) Это не отвечает на мой вопрос. –

+0

См. Размещенное изображение –

+0

Я просто не понимаю, как Silverlight в основном спрашивает хозяина, «что я могу получить» - это нечто большее, чем просто раздражение. Вредоносные приложения просто игнорируют политику и идут на любой ресурс, который им нравится, поэтому он ничего не мешает. Я просто не вижу смысла. –

Смежные вопросы