Ни для кого не секрет, что социальные сети уже давно являются притягательными платформами для различного рода кибер-преступлений, таких как спамминг, фишинг, фарминг аккаунтов и других. Причина кроется в ряде свойств, которыми обладают все социальные сети и которые могут быть использованы злоумышленниками в своих целях. Такими свойствами прежде всего являются :
Огромная пользовательская база
Возникновение связей доверия как между отдельными пользователями так и между группами пользователей
Высокое распределение базы пользователей по географическому и временному параметрам
Компьютерная неграмотность пользователей социальной сети
Людям знакомым с информационной безопасностью не надо объяснять, что при комбинации методов технических и социальной инженерии эти свойства позволяют достичь желаемого результата в короткие сроки при затрате минимальных усилий.
Легитимная уязвимость
На данный момент предоставление API для создания сторонних приложений для социальных сетей стало фактически стандартом де-факто. В большинстве случаев предполагается, что приложения создаваемые при помощи данных API не будут приносить вред и конечно из-за огромного количества создаваемых приложений проверка каждого из них представляется невыполнимой задачей. Соответственно создаваемые приложения добавляются в базу социальной сети без должной проверки на то, являются ли они вредоносным ПО.
Положение так же усугубляют упомянутые ранее связи доверия и прежде всего доверие к самой социальной сети. Несмотря на то, что администрация всячески указывает на то, что данные приложения являются продуктом сторонней разработки большинство пользователей не обращает на это внимание, предпочитая доверять любым приложениям по умолчанию.
Как результат — злоумышленники имеют возможность добавлять и распространять вредоносное ПО средствами, предоставляемой самой социальной сетью.
Червоточины
Крупная социальная сеть Facebook регулярно подвергается атакам червей. В обиход даже вошел специальный термин — rogue app. Используя совершенно легитимные средства, предоставляемые API Фейсбука, черви распространяются рассылкой сообщений друзьям зараженного аккаунта. Конечно основной целью этих червей является распространение другого вредоносного ПО, которое заражает машину пользователя, соответственно создавая ботнет.
Подобным атакам подвержена и отечественная сеть ВКонтакте. В данном случае имели место и прямые атаки на машину пользователя с использованием уязвимостей в технологии флеш.
Я не буду более углубляться в тему подобных атак, так как большинство из них уже освещались на Хабре.
Так где же мой ботнет или первая ласточка
По всей видимости идея использовать социальные сети для организации ботнета стара как сами API. В данной статье я хотел бы привлечь внимание к относительно новому способу. В этом году группа греческих исследователей создала proof of concept приложение для Facebook, которое без ведома пользователей производило DDOS атаку на заданную цель (сервер контролируемый исследователями).
Само приложение являлось «Картинкой дня», которое грузило в профиль пользователя изображение с сервера National Geographic. Параллельно с этой загрузкой исполнялся клиентский код на JavaScript, который грузил файл с атакуемого сервера в скрытый iframe.
Фактически был создан элементарный ботнет, который забивал канал атакуемого сервера. Была наглядно продемонстрирована возможность создания распределенного ботнета на прямую, исполняя легитимный код в браузере пользователя приложения.
Заинтересовавшись развитием данной темы, я отправился в Гугл на поиск свидетельств реальных атак с использованием подобных методов. В свободном доступе мне не удалось обнаружить много информации по теме. Я нашел только одно упоминание в блоге разработчика приложения для Фейсбук, которое тоже кстати довольно интересно само по себе. В данном случае одно приложение производило атаку на другое, посылая запросы к атакуемому приложению в бесконечном цикле. По словам автора атакуемого приложения, ему потребовалось несколько дней на то, чтобы определить природу атаки (из-за того, что приложение маскировалось, подменяя реферрер), а сама проблема решилась запретом на подключение от других приложений.
Заключение
В том виде, в котором они предоставляются сейчас, API социальных сетей могут быть использованы как платформы для различного типа атак. Конечно самое простое и эффективное применение — это DDOS атака.
Мне видятся три основных момента, которые делают данный метод создания ботнета привлекательным для злоумышленников:
Простота написания. Достаточно элементарного яваскрит кода (привет скрипткидди).
Легкость распространения. За несколько дней можно получить ботнет в несколько тысяч пользователей
Высокое распределение атаки, что затруднит её блокировку
Конечно имеется и ряд минусов:
Трудность контроля над ботнетом, ограниченное количество действий
Для высокой эффективности должен быть достигнут определенный порог одновременного использования приложения
Использование большинства приложений ограничивается всего лишь несколькими минутами, что минимизирует эффективность атаки
Относительная простота защиты
Затратив определенные усилия, злоумышленники могут преодолеть упомянутые минусы, увеличивая эффективность атаки и затрудняя её обнаружение/блокировку. Так же хочу добавить, что кроме DDOS атаки существует ряд других вредоносных действий, которые могут быть выполнены на базе такого рода ботнета.
В качестве послесловия замечу, что данный метод может быть использован и во благо. Уже существуют proof of concept приложения на JavaScript для выполнения распределенных вычислений. Время покажет в каком направлении пойдет развитие и пойдет ли оно вообще.