Информационная безопасность / EX.UA, LOIC и беспомощная украинская милиция

в 14:59, , рубрики: EX.UA, JSONP, LOIC, WebSocket, метки: , , ,

Информационная безопасность / EX.UA, LOIC и беспомощная украинская милиция
Не секрет, что Украина, это страна, где каждый думает, что он умнее всех. В результате мы имеем ситуацию, когда все считали, что контролируют процесс, а позже оказывается, что ни кто его не контролировал. Небольшой анализ предыстории в социально-политическом плане мы с коллегами даем на сайте ФКП.
Что же такое JS LOIC, это простейший и не очень хорошо написанный JavaScript размером в 50 строк. Но его уникальность в том, что каждый браузер может стать источником атак, без инсталляции специальных программ и заражения вирусом. Во-первых, каждый школьник и домохозяйка теперь могут участвовать в атаках, не разбираясь ни в чем, просто получив ссылку и нажав кнопку на странице. Более того, нажимать кнопку не так уж и обязательно, любой массовый ресурс может стать носителем такого скрипта, внедренного в него владельцами или злоумышленниками (не столь важно), но свою цель такие запросы достанут.
Так как в кросс-доменные AJAX запросы в браузерах не работают в целях безопасности, то в JS LOIC используется простая техника — динамическая вставка на страницу тега с картинкой, вот строка из кода, по которой понятна вся техника:
img.setAttribute("src", targetURL + "?id=" + rID + "&msg=" + messageNode.value);

И эту возможность ни как не выкинуть из браузеров, но при хорошо написанном сайте — такая особенность не очень страшна сайтам. В идеале, запрос не должен дойти ни до базы данных ни до скриптов, исполняемых динамически, ни до обращения к файловой системе. Это просто решается в Apache, nginx, IIS, на самом деле, фильтровать запросы можно многими способами: на этапе URL-реврайтига с помощью регулярных выражений, так же, между вызовами не удаляются cookies — еще один фактор фильтрации, блокировка по IP — само собой, а учитывая, что многие атакуют через прокси — то все переадресованные запросы можно сразу отбрасывать. При этом, чиновники плачутся, что им мало выделили денег на оборудование, и их железо не выдержало атак. Низкобюджетные и кривые сайты органов украинской власти не выдержали атак. Позорные админы и бездарные кодеры не выдержали атак, ну и конечно, бесстыдно растянувшие бюджетные средства чиновники не выдержали атак.
Но вернемся к техническим аспектам, динамическая вставка картинок, айфреймов, скриптов, в html — далеко не единственный и не самый эффективный способ способ браузерных атак. Есть еще протокол JSONP — это спецификация безопасных кросс-доменных запросов, но для DDOS атак такая безопасная спецификация тоже подходит, вот пример:

Если сервер понимает JSONP и запрос выполнен успешно, то результат вернется в виде вызова функции callbackProcName1({«Result1»: «value1», «SomethingMore»: «anotherValue»...}). Но для атак — получение результата не столь важно.
Гораздо плодотворнее в этом плане другая техника — это долгожданные Веб-сокеты и Socket.io, которые многократно расширят инструментарий браузерных атак. Так, что JS LOIC это всего лишь первые пробы и уже очень скоро мы столкнемся с тем, что школьники пятого класса за 30 минут смогут организоваться и ради шутки крушить что попало. Во время выборов, например, или других событий, военных действий, принятия законов, выступлений политиков, саммитов… цацка уже попала в руки, теперь не отберешь.
Вас наверное интересует истинная причина вашего визита ко мне?

И теперь обратно к EX.UA и атакам в Украине. Что же в результате:
1. Сайты госорганов, милиция и даже спецслужбы Украины показали свою полную беспомощность и некомпетентность.
2. Политикам и чиновникам скорее всего удастся получить пользу от случившегося — есть хорошая отмазка чтобы остановить развитие электронных средств взаимодействия общества с властью, электронных сервисов и т.д. но по правде, ни кто особо их и не развивал, это действительно замечательная причина совсем все прекратить.
3. Во время следующих выборов и Евро 2012 лежать будет все что может лежать.
4. EX.UA слишком лакомый кусочек, чтобы его просто закрыть насовсем, кто же будет уничтожать то, что способно генерировать хорошие деньги на рекламе, это не по украински, придется просто передоговариваться, переразделить прибыли с нужными людьми.


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js