Комментарии
Почему о защите интернет-проекта от взлома стоит подумать прямо сейчас: разрушаем иллюзии и подсказываем инструменты
«Да кому мой сайт нужен?!»
Сибирикс
«Да кому мой сайт нужен?!»
Почему о защите интернет-проекта от взлома стоит подумать прямо сейчас: разрушаем иллюзии и подсказываем инструменты
Мы когда-то уже поднимали тему безопасности проектов в интернете — но на тот момент касались только защиты доступов на стороне разработчика. А киберпреступники (неважно, хакеры-одинадцатиклассники или серьезные профи) не дремлют и то и дело ищут лазейку, чтобы навредить. Например, украсть данные компании, платежные реквизиты клиентов или с удовольствием поработать на конкурентов, которые мечтают вставить палки в колёса вашему рабочему интернет-бизнесу.

В этой статье разберёмся, какими бывают атаки, как и почему они удаются злоумышленникам и что со всем этим делать, чтобы защитить свой сайт от посягательств.
Какими бывают атаки
Если грубо обобщать, то их всего два вида: целевые (заказанные конкурентами или тщательно спланированные вымогателями) и нецелевые (поиск брешей с получением последующего профита). Ниже расскажем подробнее о возможных сценариях.
DDoS-атака
DDoS (Distributed Denial of Service) — целевая атака, призванная вывести интернет-ресурс из строя: посылается огромное количество запросов, которое сайт не может обслужить одновременно. Как результат — отказ системы и прекращение работы. Чаще всего такие атаки заказывают конкуренты (особенно, когда рынок делится между крупными игроками). Популярные жертвы: интернет-магазины и компании, предоставляющие онлайн-услуги.
Самая мощная DDoS-атака произошла в марте 2018-го — атаковали сайт GitHub. Мощность атаки в пике — 1,7 Тб/сек.
Ребята из LiveTyping поделились своим опытом преодоления DDoS-атаки: в их случае это был банальный вымогатель, который требовал $ 500. Справиться с вредителем помог сервис CloudFlare.
Ещё несколько сервисов для отражения DDoS-атак: QRator, AKAMAI, Imperva, Myra. Общий принцип работы: через сервис первично проходят запросы и отсеиваются подозрительные, не соответствующие заданным критериям
Часто для DDoS используют ботнеты — компьютерные сети, собирающиеся с помощью вирусов и состоящие из большого количества подключенных к интернету компьютеров или других устройств, на которых запущено автономное программное обеспечение (боты). Они атакуют сразу из нескольких стран (и даже континентов) и включают в себя порой очень странные устройства: например, умную бытовую технику или роутеры. Обычно ботнеты сдаются в аренду с почасовой оплатой — подойдёт для того, чтобы «уронить» сайт на часок-другой. Для сложных и длительных атак злоумышленникам они невыгодны.
Фишинг
Фишингом принято считать кражу данных банковских карт, паролей и прочей конфиденциальной информации. Также считается целевой атакой. Из-за этого интернет-магазины, например, всегда в курсе этой темы, а вот владельцы корпоративных сайтов о фишинге задумываются редко — мол, а чего у нас воровать? А есть чего.
Репутационный вред

Вы — «НефтьГазАлмазПромСервисТорг». Что-то там производите, куда-то поставляете, на сайте у вас список услуг, немножко новостей, чуть-чуть контактов и… всё. Но это не мешает вам стать жертвой фишеров. Кааак? А так, как обошлись с «Тольяттиазот» — тупо создали сайт-двойник и уводили на него всех клиентов. А потом брали с них предоплату на фирмы-однодневки и скрывались. Доказать невозможно, поймать злодеев, как догадываетесь, тоже.
Сайт-двойник для хитрой фишинговой схемы — подробнее о инциденте можно почитать здесь
Воровство в интернетах

И всё-таки, более традиционная схема — кража персональных данных у интернет-пользователей. И хотя ваш сайт может быть ни при чём, репутации и клиентским кошелькам это тоже вредит. Механик — масса, вот ключевые:

  • Электронные письма с уведомлениями от «банков» и «почтовых сервисов» со ссылками, которые перенаправляют пользователей на вредоносные сайты или предлагают поделиться конфиденциальными данными.
  • Социальные сети — сотрудники «банка» могут написать прям там, и это в эпоху омниканальности уже никого не удивит, а конфиденциальные данные опять уйдут не туда.
  • Смс-сообщения от «ГИБДД» или «банка» — тоже со ссылкой для якобы оплаты задолженности.

И этот список можно продолжать всё новыми хитрыми схемами. Частые жертвы такого фишинга: авиакомпании, банки, платежные системы и, конечно, интернет-магазины. И тут можно уповать только на грамотность самих пользователей (что они в курсе про SSL-сертификаты и HTTPS).
Атаки с перехватом DNS
Один из сценариев фишинга — злоумышленники взламывают DNS-провайдера, меняют запись домена или посылают пользователя на дополнительный сервис, а следом на подложный DNS-сервер и сайт-копию.
Поиск уязвимостей
Способов навредить, кроме целенаправленной атаки умных холодильников или продуманной кражи данных карточек ваших клиентов, — достаточно. Но и для нецелевых атак их множество. Вот — самые распространённые способы.
Перебор паролей

Смешно, но это всё ещё работает: администраторы запросто могут создавать учётные записи вроде admin/admin, admin/bitrix, admin/123 456, admin/111 111. Статистика говорит, что в 2018-м пароли 123 456 и qwerty опять в топе по популярности. Взломать такое можно за 5 секунд, а что делать с вашим сайтом дальше — дело фантазии и корыстного интереса злодея.
Двухфакторная аутентификация, вроде, решает эту проблему — но это неточно.

В июне 2018-го хакеры получили доступ к исходным кодам, документации, части пользовательских email-адресов и старым бэкапам сайта Reddit, хотя двухфакторная аутентификация через смс там была. Код подтверждения удалось перехватить (возможно, хакеры дублировали SIM, обманули сотрудников оператора связи и перевыпустили карты или атаковали устаревший протокол SS7).
Меры предосторожности: никогда не входите в админку сайта на HTTP или с установленным VPN в браузере, используя публичный wi-fi (который есть в кафе, аэропортах и т. д.), — ваш пароль могут легко перехватить злоумышленники. Если на сайте используется HTTPS (тем более с HSTS) — можете быть спокойны.
«Полезные» модули для CMS

По статистике 2017-го, Wordpress лидирует по уязвимости среди других CMS. Но дело не столько в самой CMS, сколько в не очень прямых руках веб-мастеров, у которых бывают проблемы с развёртыванием этих систем, их настройкой, поддержкой и своевременным обновлением (для закрытия выявленных уязвимостей).
Вторая причина — у бесплатных коробочных «движков» вроде WordPress, Drupal, Joomla, Opencart и прочих полно готовых модулей, которые доступны для установки. Среди них могут быть как плагины с заведомо вредоносным кодом (замаскированные под полезные решения), так и безобидные (но нередко с «дырами» в коде, сквозь которые легко проникнуть и взломать сайт).

Третья причина — открытый код, который взламывается злоумышленниками гораздо проще.
У Битрикса есть система Bitrix Framework, API которого устойчиво к взломам. Внутри есть фильтр WAF (о нём чуточку позже), веб-антивирус, а также защита сессий, журнал вторжений, панель безопасности, одноразовые пароли и шифрование данных. Правда, от криворуких специалистов, которые как-то не так интегрировали или кастомизировали страницы, компоненты и модули (и тем самым оставили шансы для взломщиков), это, увы, не спасёт.
Какую выбрать CMS, решать только вам — но не забывайте сразу устанавливать обновления безопасности. Используйте только популярные и проверенные дополнительные плагины (и не скачивайте их со сторонних подозрительных сайтов).

Иван
Технический директор
Неудачный выбор хостинга

Про бесплатный и говорить нечего: помимо навязчивой рекламы на сайте, вы получите сомнительную производительность и не дождетесь никаких гарантий безопасности. С shared-хостингом всё зависит от настроек. Часто взлом одного сайта на таком хостинге ведет к взлому соседних (хотя иногда достаточно и тестового аккаунта, чтобы добраться до остальных ресурсов на хостинге). За счёт низкой стоимости услуг виртуального хостинга его владельцам мониторить и обеспечивать безопасность обычно экономически необоснованно. Решение — сразу выбрать под проект виртуальный (а лучше — выделенный) сервер, чтобы у вашего сайта точно не было сомнительных соседей :)


Старое ПО

Старые версии ПО могут стать лазейкой для проникновения злоумышленников. Так, кое-кто обнаружил несколько критических уязвимостей в веб-сервисах гиганта Microsoft, из-за которых злодеи (получи они доступ) легко могли рассылать письма с фишинговыми ссылками от имени компании. А причина — неработающее веб-приложение Azure. Повезло, что человек был сознательным и сразу связался с детищем Гейтса, где это недоразумение тут же устранили.

Другой пример — Google+. Из-за ошибок в API социальной сети Гугла можно было узнать логин, возраст и пол, а также почту и место работы пользователей и ещё кучу конфиденциальных данных (затрагивающих 52,5 млн. учетных записей). Наверное, поэтому этой соцсети с нами больше нет :)


Трояны

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

Банковские трояны — популярный способ мошенничества в финансовой сфере. Атакам подвергаются и сами банки, и их клиенты. Чаще всего используется техника man-in-browser («человек в браузере») — прокси-троян, заражающий браузер. Он либо изменяет веб-страницы, либо содержимое транзакций, либо добавляет дополнительные транзакции незаметно для пользователя. Например, поджидает пользователя в браузере, пока тот не зайдёт в онлайн-банк: а дальше отслеживает нажатия клавиш и завладевает паролями для входа в систему онлайн-банкинга.
Из самых свежих способов наживы на вашем сайте — внедрение скрипта майнера криптовалют, например Coinhive. Когда пользователь заходит на такой сайт, JavaScript запускает майнер в его браузере в фоновом режиме (для майнинга используется процессор компьютера). В феврале 2018-го с помощью такой атаки 4200+ сайтов несколько часов майнили валюту для злоумышленников — среди них были даже правительственные ресурсы Великобритании и США.
Почему атаки случаются
Причин несколько. Во-первых, атаки кому-то нужны: самим хакерам, желающим тыкнуть вас носом в некомпетентность в вопросах защиты сайта (ради повышения своего ЧСВ и/или заработка), и конкурентам, желающим нанести вам репутационный ущерб.

Вторая причина: доступность техник взлома на сайтах и форумах около-хакерских тематик и широкая огласка крупных инцидентов с изложением технических деталей происшествий — повторить подобное становится всё проще. Но если бы компании уделяли больше внимания и ресурсов вопросам информационной безопасности, хакерам было бы сложнее.

Отсюда и третья причина: халатное отношение к безопасности и слабый IT-сегмент во многих компаниях. Здесь всё бывает очень плачевно. Либо IT-специалист всего один (и тот на удалёнке) и решает ВСЕ вопросы: от установки Excel для бухгалтеров до вопросов безопасности (и скорее всего, у него недостаточно компетенций для последнего). Либо есть целый отдел, но его задачи никто не контролирует (потому что никто, кроме этих ребят не понимает в этом деле). Из-за отсутствия контроля со стороны компетентного специалиста может получиться, что какие-то уязвимости пройдут мимо не очень бдительного взора таких спецов и станут подарком для хакеров. Ещё вариант — какие-то меры по безопасности принимаются, но с расчётом на сценарий «сделали и теперь можно расслабиться».
Безопасность сайта — не результат, а процесс
Как защититься
Единого рецепта не существует — пока есть бизнес в интернете, будут и хакеры. Но набор общих рекомендаций всё-таки есть:

1. Регулярно меняйте пароли
Ну, помните про банальные варианты, которые взламываются за 5 секунд? Не пренебрегайте цифрами и буквами разного регистра (да, это неудобно).

2. Регулярно обновляйте ПО и CMS
В новых версиях софта разработчиками учтены ранее не выявленные уязвимости, которые могут стать отличным способом взломать ваш сайт.

3. Внедрите Web application firewall (WAF)
WAF может отслеживать и анализировать входные и выходные данные на сайте, и способен блокировать их, если посчитает, что они являются вредоносными. Предотвращает часть целевых атак по известным сценариям, но не учитывает уязвимостей в бизнес-логике. Бывает встроенным в систему (например в Bitrix Framework), либо сторонним, реализующимся методом проксирования всего траффика к сайту (чаще всего совмещён с дополнительными защитами, например от DDoS). Пример — уже упомянутый QRator. Но для внешних WAF, если злоумышленникам удастся узнать IP-адрес, WAF становится бесполезен.

4. Установите сканеры уязвимости
Они упрощают аудит и сбор информации о необходимости обновления служб и ПО, а также отслеживают небезопасные конфигурации, открытые порты и делают первичный анализ поверхностных уязвимостей. Можно попробовать Zyxel SecuReporter, Nemesida WAF или зарубежный Acunetix.
Чаще всего устанавливаются либо локально на конкретный компьютер (например, специалиста по информационной безопасности), либо рядом с сайтом, либо на отдельный хостинг, чтобы выполнять проверку периодически. Разные сканеры — по-разному.

Иван
Технический директор
5. Установите защиту от DDoS
Используйте сервисы типа QRator или попробуйте облачную защиту от NGENIX (фильтрует трафик и защищает публичные веб-сервисы, а также предотвращает атаки на DNS). Но будьте готовы к тому, что это очень дорого. Постоянно такая защита используется только на сайтах, где DDoS — это регулярная и ОЧЕНЬ критическая проблема. На других ресурсах — как временная мера.
Также частично защититься от DDoS помогает CDN.

6. Регулярно проводите code security review на сайте
И да, для этого понадобится грамотный специалист, который сможет вовремя увидеть критические уязвимости и ликвидировать их.
У нас в студии уже давно выработался комплекс мер, который решает большую часть проблем с безопасностью проектов. Среди мер есть и обязательное ревью кода на безопасность. Ну и общие правила для любого кода, написанного нашими программистами: не верить входным данным и всегда проверять, а может ли пользователь совершать то или иное действие (чтобы потом не получилось, что он, например, может отменить чужой заказ в интернет-магазине).

Иван
Технический директор
7. Настройте бэкап данных
Бэкап, или резервное копирование, помогает восстановить данные при их потере. Для бэкапов есть несколько правил:

  1. копии должны размещаться на разных физических носителях (например, на жёстком диске и в облачном хранилище);
  2. физические копии должны размещаться в разных местах (удалённых друг от друга) для защиты от проблем в дата-центре/пожара/наводнения, либо от блокировки дата-центра РКН;
  3. копии должны шифроваться;
  4. частота бэкапа — не реже раза в сутки;
  5. длительность хранения — не менее недели.
Мы делаем бэкап ежедневно на всех серверах, данные хранятся на отдельном сервере минимум 2 недели. У Битрикса неплохое облачное хранилище — делает ежедневный бэкап автоматически плюс загружает данные в облако и шифрует их.

Иван
Технический директор
Вместо заключения
Если кратко — опасностей для сайтов масса. И тренды этого года в отрасли кибербезопасности это подтверждают. Вот главные:

  • необходимость внедрять ИИ-системы для анализа и предотвращения атак (для человека объём информации, которую приходится мониторить, становится слишком велик);
  • нехватка специалистов в области информационной безопасности и, как следствие, необходимость изучения общих вопросов ИБ уже в школе;
  • передача мониторинга потенциальных угроз на аутсорс, поскольку ИБ для бизнеса — это трудоёмко и дорого;
  • развитие страхования киберрисков (только начинает развиваться в России, но уже имеет хоть какую-то законодательную базу);
  • внедрение биометрической системы идентификации, призванное повысить безопасность данных в банковском секторе (но это неточно);
  • более пристальное внимание к интернету вещей (с ростом «умных» устройств возрастает и их уязвимость).

Самое грустное, хакеры тоже в тренде — а значит, тоже будут внедрять ИИ в свои чёрные методы и искать новые лазейки и способы взлома (в обход биометрии и повсеместной улучшенной безопасности). Поэтому вопрос «защищать ли свой сайт?» уже не стоит — теперь важнее, насколько комплексно это делать.
Пока у вас стартап, вам важнее запустить на рынок минимально жизнеспособную версию, а уж потом можно начинать думать о безопасности. Но для интернет-магазинов этот вопрос чуть ли не на первом месте, и чем раньше о нём задумаются при разработке интернет-ресурса, тем лучше. В целом, важно понимать, чем чем больше становится бизнес, тем больше потенциальных угроз (и попыток взлома) стоит ожидать. А если это бизнес, связанный с финансовым сектором, то стоит ожидать ещё и огромных расходов на обеспечение его безопасности.

Иван
Технический директор