http://habrahabr.ru/company/pentestit/blog/242953/
Вы владелец интернет магазина, жизнь прекрасна и замечательна – вы договариваетесь с поставщиками или налаживаете собственное производство. Специально обученные люди или Вы сами занимаетесь продвижением, контекстной рекламой.
Магазин мало-помалу начинает приносить доход и занимать свою нишу в расширяющемся рынке интернет торговли. И становится мишенью.
Конкуренты.
Петя и Вася продают чехлы для телефонов. Петя вложил душу в магазин, проработал юзабилити-кейс, его user-path мотивирует к покупке. Новые клиенты появляются благодаря грамотно выстроенной рекламной компании, старые лояльно настроены и готовы покупать еще. Петя старался, вложил время и деньги и начинает зарабатывать.
Вася слепил сайт на коленке, украл изображения с Петиного сайта и ждет прибыли. Вернее он ждет клиентов, а их нет. Вася не разбирается в первопричине своей неудачи и винит во всем Петю. Далее события развиваются по нескольким сценариям:
Васе обидно, Вася зол. Вася заказывает DDoS. Но обычно Васин DDoS такой же корявый, как и его сайт и Петя быстро справляется с новой напастью. Вася, спустив карманные деньги на DDoS начинает чесать репу. Денег нет, Петя процветает. Что делать? Украсть заказы/клиентов!
Василий начинает читать тематические сайты и скачивать незнакомые программки. Обращается к соседу Сереже с просьбой о взломе или ищет в интернете:
Реальный пример с одного из «хакерских» сайтов:Нужно взломать интернет-магазин. Внедрить код. Перенаправлять заказы на нужную почту. Запись о заказе в CMS должна отсутствовать.
Обычно такого рода «взломы» сводятся к фишинговому уводу почты владельца магазина или попытке эксплуатации XSS для увода админской сессии и попадания в админку сайта:
http://xxxxxx.xxxx/contact.php?"><script>alert('XSS')<%2fscript>
Пете, по большей части, это не особо вредит, но доставляет несколько неприятных моментов.
Киберпреступники.
Петя уже не Петя, а целый Петр Петрович, со штатом сотрудников, большим количеством клиентов и секретаршей с большими списками дел. Интернет магазин занимает лидирующие позиции, расширяет ассортимент и географию заказов. Для клиентов существует программа лояльности, скидки и бонусы, на сайте 1000 и 1 способ оплаты, всё для любимых клиентов.
Естественно, что находятся люди, желающие разделить прибыль Петра Петровича или попытаться на нём заработать.
Здесь сценариев атак гораздо больше, чем в первом примере.
На сайт идет хороший траффик и его хотят «забрать». Принимаются попытки поиска уязвимостей для заливки т.н. iframe на сайт для установки exploit-pack (связки эксплоитов) – набора скриптов, эксплуатирующих известные уязвимости браузеров и их компонентов для атак вида drive-by и доставки вредоносного кода на компьютеры посетителей. Это может быть как обычная добыча ботов в ботнет, так и заражения пользователей для вымогательства.
В некоторых случаях сайты атакуют для атак других сайтов или в сложных атаках на системы используют в качестве т.н. watering hole. Watering hole атаки затрагивают не сам объект атаки, а причастные инфраструктуры. В контексте Петра Петровича могут атаковать его поставщиков для кражи технологических секретов. Выглядит это так – сотрудники компании-поставщика посещают сайт Петра Петровича и заражаются вредоносным кодом. Если привести пример в реальную жизнь: есть банк, его хотят ограбить, для этого надо попасть внутрь, нужны карты доступа. Рядом есть продуктовый магазин, совсем без охраны. Туда иногда ходят сотрудники банка. Злоумышленники лупят трубой по голове всех посетителей «Продуктов», иногда там попадаются сотрудники банка, иногда даже с картами доступа.
Клиентская база магазина – она сама может пойти на продажу, может содержать нужные злоумышленникам сведения для различных целей, вариантов зачем она нужна много, как и векторов атаки.
В случае с профессиональными злоумышленниками вариативность и сложность атак многократно возрастает. Атакуют сам хостинг или смежные сайты – используют AXFR для сбора информации о трансфере зоны и возможных поддоменах сайта – с тестовыми или старыми версиями сайта, техническими инстансами, репозиториями для последющего анализа и развития атаки на систему.
Также, собирают информацию с использованием специализированных сервисов и инструментов – Shodan, Foca, Maltego, Harvester и прочими, т.н. data gathering.
Иногда они просто ждут. Ждут резонансной уязвимости типа Heartbleed или Shellshock, появления т.н. уязвимостей нулевого дня – 0-day. Обычно реакция злоумышленников намного опережает реакцию владельцев интернет-магазина, и они успевают провести атаку.
Векторы атаки на саму систему отрабатываются от простых до сложных и могут составлять сложную операцию: эксплуатация XSS/CSRF, поиск и «раскручивание» SQL-injection, до атак на обслуживающий персонал компании.
Производится Bruteforce атаки форм авторизации и сервисов, проводится рассылка с применением социотехнических приемов и фишинга.
С помощью обхода фильтрации загружаемых файлов заливается т.н. shell на сайт для управления скомпрометированным ресурсом. К примеру, в некоторых версиях известных движков через уязвимости класса Arbitrary File Upload была возможность залития любых .phtml файлов на исполнение.
«Заливка» .pdf файла, который у большинства вообще не ассоциируется с возможностью выполнения вредоносных действий, но может содержать в себе, к примеру, такую JS-конструкцию:
Пример вредоносного кода, доставленного через тикет-систему интернет магазина в виде платежного поручения. При открытии в браузере такого pdf файла с помощью внедренного POST-запроса создается дополнительный администратор CMS.var a = Get("http://XXXXXXXX.XXX/admin/index.php")
var sessid = (Substr(a,At(a,"token=")+7,32))
Post("http:// XXXXXXXX.XXX/admin/index.php?route=”XXXXXXXXXXXXXX”
Атаки класса XXE – внедрение XML сущностей, а учитывая, что XML-транспорт достаточно широко используется – такого рода векторы будут отрабатываться все чаще и чаще.
Существуют сложные в реализации атаки на класс ошибок (и эксплуатирующих их типов атак), позволяющих непривилегированно влиять на работу приложений через возможность изменения общедоступных ресурсов временных файлов), т.н. «состояние гонки» Race Condition. В качестве примера можно привести LFI (locale file include) через phpinfo().
Возможны атаки, направленные на: логику работы бизнес-процессов и нарушения штатного функционала; проведения задвоенных транзакций, или double-spending атак; интеграцией с платежными шлюзами и мерчант-системами и модулями оплаты — после оплаты товара в платежном шлюзе слабая фильтрация передаваемых параметров в GET запросе в модуль, который предоставила площадка приводит к эксплуатации SQL-injection. Многие владельцы интернет магазинов слепо верят в непогрешимость разработчиков модулей и доверяют их видению безопасности, что может привести к очень плачевным результатам.
Защита.
Вопросы безопасности лучше доверять профессионалам, а не ждать пока грянет гром. Об актуальных угрозах для интернет бизнеса Вы сможете подробнее узнать на бесплатном семинаре:
«Насколько защищены интернет-магазины в России?» проводимой компанией
Sitesecure при участии
InSales,
Qrator и
PentestIT.
«Семинар для владельцев, маркетологов и ИТ-специалистов интернет-магазинов, на котором будут оглашены результаты исследования безопасности сайтов интернет-магазинов и то, как они влияют на продажи интернет-магазина.»
http://sitesecureru.timepad.ru/event/150547/
Семинар на тему «Насколько защищены интернет-магазины в России?» будет проходить 20 ноября 2014 (чт), с 18:30 до 21:00 по адресу: Москва, Серебряническая набережная, дом 29, 7 этаж (Коворкинг ФРИИ; tceh). Участие бесплатное.