Разрабатываемые нами сервисы — онлайн-консультант RedHelper и обратный звонок RedConnect работают с личными данными посетителей, и потому требуют очень тщательного подхода к безопасности как клиентской части виджета, так и к серверной. В этой статье мы немного расскажем о том, какие типы угроз могут ожидать Ваш после установки различных виджетов, и как мы обеспениваем безопасность в наших продуктах.
Безопасность виджета
Зачастую владелец сайта может даже не догадываться, что страницы его представительства в интернете чем-то заражены. Конечно, в последнее время хостеры достаточно успешно начали решать эту проблему, постоянно проводя проверку файлов своих клиентов на наличие вредоносного кода, но и это, как известно, не панацея.
Чтобы защитить клиентскую часть виджеты RedHelper загружается через iframe. Те, кто в курсе как работает эта технология уже поняли, в чем суть. Но все же приведу аналогию. Iframe можно сравнить с посольством. Какие бы страшные вещи не происходили за забором посольства, внутри действуют законы того государства, чей флаг развивается над входом. Точно так же и для iframe-виджета RedHelper не важно, какие угрозы и дыры в безопасности присутствуют на сайте — все данные вводятся в защищенные поля ввода, безопасность которых обеспечена серверной частью.
Безопасность серверной части
Мы постарались защитить RedHelper по высшей категории от всех имеющихся угроз. Но чтобы не расслабляться, мы регулярно просим известные компании, занимающиеся интернет-безопасностью, провести аудит нашей системы. К нашей чести, результаты всегда находятся на высоком уровне, а все найденные уязвимости мы оперативно устраняем.
Если говорить подробнее, то виджеты онлайн-консультантов и обратных звонков подвержены 5 типам интернет-угроз. И ниже мы расскажем, как им противостоит RedHelper.
MITM — Man In The Middle — Человек посередине
Самая понятная аналогия для этого типа уязвимости — прослушка телефона. Но в том, что кто-то может прочитать или удалить сообщения оператора и клиента только полбеды — злоумышленник может их изменять по своей воле. Причем ни оператор, ни клиент не будут догадываться о наличии “третьего лишнего” в канале.
Чтобы защититься от этой угрозы мы используем защищенный https-протокол с обязательным ssl-шифрованием. И даже если злоумышленник каким-то образом получит доступ к файлам сайта, и изменит подключение нашего скрипта с https на http — ничего плохого не случится. В RedHelper используется SSL-сертификат Comodo. Эта фирма является одним из мировых лидеров сетевой безопасности, и ее сертификаты всегда отличались хорошей защищенностью.
Чтобы было понятно, как это работает — давайте снова обратимся к магии аналогий. Допустим, Вам нужно отправить посылку своему клиенту Почтой России. Вы идете в свое отделение, упаковываете посылку и отправляете ее. Но подозревая почтальона Печкина в нечестной игре предварительно вешаете на посылку замок. Ключ при этом остается у вас. Несмотря на свое природное любопытство Печкину ничего не остается, кроме как доставить посылку адресату, так и не узнав содержимого.
Но адресат так же не может открыть посылку, т.к. не имеет ключа. Поэтому ваш клиент вешает на посылку свой собственный замок, и отправляет обратно. Опять-таки без ключа. Печкин видя, что теперь на посылке аж два замка, горюет, но привозит посылку обратно. Удостоверившись в том, что оба замка на месте и не имеют следов взлома, вы снимаете свой замок и в третий раз отправляете посылку. На этот раз клиент уже сможет ее открыть — своим собственным ключом.
Печкину, конечно, пришлось побегать, но содержимое посылки так и осталось для него тайной.
SQL-injection — Внедрение SQL-кода.
Внедрение опасного SQL-кода относится к разряду опаснейших уязвим остей на сайте. Возможность успешного «паразитирования» злоумышленника на Вашем сайте в случае удачной SQL-инъекции превышает 99%.
Это достаточно распространенный способ взлома программ и сайтов, работающих с БД (базами данных), и основан он на добавлении в запрос какого-либо SQL-кода.
Внедрив SQL-код злоумышленник может получить полный доступ к любой части сайта — будь то FTP (грозит потерей или изменением файлов), почтовые сервисы (возможность отправлять письма с вашего домена), административная панель сайта (изменение любой информации на сайте) или любые другие составляющие. Не говоря уже о том, что могут быть украдена вся информация, хранящаяся в Базе Данных.
От этой угрозы RedHelper защищен просто, но очень эффективно — любой исполняемый код, который попытается передать злоумышленник преобразуется в обычный текст, без возможности его исполнения.
XSS — Cross Site Scripting — межсайтовый скриптинг
Обратная ситуация, когда вредоносный код внедряется в выдаваемую посетителю веб-страницу. При открытии этой страницы код будет выполнен на компьютере клиента и начнет взаимодействие с веб-сервером злоумышленника.
Это тоже очень опасная уязвимость. С ее помощью злоумышленник может не только похитить cookies (а иногда даже логин и пароль от личного кабинета посетителя на этом сайте), но и устроить настоящую DDoS-атаку на ваш сайт. Особенно это опасно для сайтов с высокой посещаемостью — каждый новый посетитель по воле злоумышленника будет создавать целую кучу запросов, которые рано или поздно “положат” сервер.
Защита в данном случае точно такая же, как и с SQL-injection — все необходимые для работы приложения, виджета и серверной части данные передаются в виде текста, без возможности исполнения команд.
XSRF — Cross Site Request Forgery — межсайтовая подделка запроса
Опаснейшая атака, которая приводит к тому, что злоумышленник может выполнить на неподготовленном сайте массу различных действий от имени других, зарегистрированных посетителей.
Какие это действия – отправка ли сообщений, перевод денег со счёта на счёт или смена паролей – зависит от сайта, но в любом случае ничего хорошего не ждите.
Эта атака на посетителей сайта использует недостатки протокола HTTP. Когда владелец аккаунта онлайн-консультанта заходит на зараженный сайт, то от его имени тайно отправляется запрос на другой сервер (в рассматриваемом примере — на наш), осуществляющий некую вредоносную операцию. Например — смена пароля или удаление аккаунта.
Но для осуществления данного действия нужно множество факторов:
- жертва должна быть аутентифицирована на нашем сервере
- запрос не должен требовать какого-либо подтверждения со стороны пользователя.
- подтверждение может быть проигнорировано или подделано атакующим скриптом
Поэтому любое действие, которое может привести к нежелательным последствиям, требует подтверждения со стороны пользователя и зашифровано секретным ключом для проверки запросов, что исключает возможность атаки.
В заключение
Мы очень ревностно относимся к безопасности своего продукта и личных данных клиентов, а потому стараемся обеспечить надежность со всех сторон — на сайте клиента, на нашем сервере, и в приложении оператора. Множество раз мы просили компании, специализирующиеся на аудитах интернет-безопасности, проверить наши сервисы, и каждый раз мы с честью выдерживали эти испытания, получая лишь небольшой список некритичных замечаний, которые устраняли в самые короткие сроки.
Для этого мы прилагаем большие усилия. Наши специалисты постоянно своевременно предпринимают необходимые меры по улучшению безопасности – регулярно обновляют программное обеспечение и сертификаты безопасности, отслеживают все возможные варианты взлома системы и вводят новые степени защиты. Благодаря чему мы с гордостью можем сказать, что на данный момент онлайн-консультант RedHelper и обратный звонок RedConnect являются одними из наиболее защищенных систем обратной связи с клиентами.
Автор: RedHelper