![][1]У нас очередная неделя патчей с нюансами. Начнем с очередной новости про ботнет Mirai, использовавшийся для минимум двух масштабных DDoS-атак. Благодаря утечке исходников эта казалось бы одноразовая история превращается в масштабный сериал с сиквелами и приквелами. На этой неделе появился еще и спин-офф: исследователи из Invincea Labs откопали в атакующем коде Mirai три уязвимости (подробно в [этой][2] новости или в оригинальном [исследовании][3]).
Самая серьезная уязвимость приводит к переполнению буфера в коде Mirai. Проблема заключается в некорректной обработке заголовка HTTP Location, который может присутствовать в ответе атакуемого сервера. Код отвечает за удаление префикса http:// из полученной строки. Сделано это очень просто: берем длину строки и вычитаем из нее количество знаков префикса (семь штук). Если подсунуть в ответе очень короткий заголовок Location (из пяти символов), то у нас получится отрицательное число (5-7 = -2), что и приводит к переполнению буфера и сбою.
Важный момент: сбой происходит в процессе, выполняющем атаку. То есть можно таким образом прекратить атаку с зараженного устройства, но не выключить его из ботнета. В общем, получается какая-то очень знакомая, но перевернутая ситуация. Если бы речь шла о легитимной программе, мы бы говорили о «критической уязвимости, которая может быть легко эксплуатирована злоумышленником с помощью специально подготовленного ответа на http-запрос» или как-то так. Срочно патчить! А тут? По идее, наоборот, появляется возможность эффективно гасить атаки. Но возникает вопрос морально-этического плана: а не является ли эта процедура «взломом в ответ на взлом»?
[Читать дальше →][4]
[1]:
https://habrastorage.org/files/0ca/322/807/0ca32280766247ec841f3afa19ee123f.jpg
[2]:
https://threatpost.ru/mirai-vulnerability-disclosed-but-exploits-may-constitute-hacking-back/18949/
[3]:
https://www.invincealabs.com/blog/2016/10/killing-mirai/
[4]:
https://habrahabr.ru/post/314434/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut