Как снизить риск, связанный со сторонним Javascript, учитывая преобладание значков «Поделиться в социальных сетях» (кнопки «Мне нравится» и т. Д.)? - PullRequest
4 голосов
/ 31 января 2012

У меня есть маркетинговая команда, которой нужны кнопки обмена социальными сетями (Facebook, G +, SU и т. Д.) На нашем сайте.Команда безопасности подняла вопрос, который я смущен, чтобы признать, что я действительно не рассматривал раньше: поскольку сторонний JS является вектором атаки, мы не должны загружать его напрямую со сторонних серверов.

Риск

Я буду использовать Facebook в качестве примера.Кто-то в FB может добавить какой-нибудь хитрый бэкдор-код для просмотра пользователей или, по крайней мере, получить их электронную почту и имя с нашего сайта.Отравление кеша DNS может использоваться для обслуживания вредоносного Javascript вместо ожидаемой библиотеки FB.И т.д. - здесь, вероятно, гораздо больше векторов атаки.

Возможные решения

-Установите JS локально (после проверки на наличие дыр в безопасности) и выполните curl + diffна cron следить за обновлениями - проверять эти обновления перед хостингом.Это не реально, потому что FB и g + загружают дополнительные библиотеки вне сайта после загрузки их основной библиотеки, и я не нашел способа обойти это.

-Не использовать кнопки социальных сетей?

Есть ли здесь лучшая практика?Моя первая реакция - давай, это Google и Facebook.Если с их кнопками в социальных сетях произойдет что-то вредоносное, весь Интернет узнает об этом за 0,001 секунды.Что скажете вы?

Ответы [ 3 ]

4 голосов
/ 31 января 2012

На самом деле для этого нет общепринятого решения, кроме:

  1. Слепое доверие Facebook / Google / и т. Д.
  2. Не используйте их сценарии.
3 голосов
/ 31 января 2012

Если вы загружаете все библиотеки (и весь ваш сайт) по протоколу SSL, вы уязвимы только для злонамеренного поведения в Facebook / Google.

Вы можете доверять им или не использоватьбиблиотеки и делать это самостоятельно, используя общедоступные URL-адреса или их серверные API.

1 голос
/ 31 января 2012

Давайте будем реалистичны здесь.Хотя я знаю, что может произойти, гораздо более вероятно, что ваш сайт будет взломан, чем Google / Facebook / Twitter, внедряющий вредоносный код в ваш сайт через недовольного сотрудника или что-то подобное.Это может случиться, но шансы довольно малы.

Если клиент, посещающий DNS вашего сайта, скомпрометирован, то добавьте свою собственную A-запись на facebook.com, чтобы они могли внедрить JavaScript на ваш сайтэто наименьшее из ваших беспокойств.Если бы у меня был вредоносный DNS-сервер и люди использовали его;и у меня были злые намерения, я бы либо специально нацелился на ваш сайт, и я бы просто сделал сайт, который будет выглядеть как ваш и перенесет все пользовательские данные в мою базу данных;или я буду после банков и финансовых учреждений.Внедрение javascripts на Facebook не будет моей главной целью.

Опять же, это может произойти, но, на мой взгляд, есть слишком много других, более низко висящих фруктов, чтобы о них стоило действительно беспокоиться.Если у вас есть какое-то государственное постановление, которое возлагает на вас ответственность за подобные вещи, возможно, было бы разумно сыграть в это с более безопасной стороны и просто не использовать их, или реализовать свои собственные кнопки «как» с помощью API Facebook.Я уверен, что G + и Twitter имеют похожие способы, не основанные на javascript, чтобы сделать это.

...