Кампания на ботнет изследва рутери за слаби места в диагностичните функции. Дейността се фокусира върху уеб пътища, свързани с инструменти за пинг (ping), трасиране на маршрута (traceroute) и отстраняване на неизправности, където лошо обработено име на хост или параметър може да се превърне в начин за изпълнение на команди на устройството.

Подобна уязвимост подхранваше по-стари ботнет кампании срещу рутери, когато неподдържаният хардуер оставаше онлайн.

Сканиранията са важни, тъй като тези функции са проектирани да позволят на администратора да тества свързаността, а не да обработва входни данни.

Ако рутерът свързва въведения от потребителя текст директно към системна команда, атакуващият може да успее да накара устройството да изпълни нещо съвсем различно и да поеме контрол над него.

Анализаторите от „Internet Storm Center“ идентифицираха модела, след като видяха източници многократно да изискват група от URL адреси на диагностични инструменти.

Заявките включват пътища, свързани с известни проблеми с инжектиране на команди в рутери, както и няколко пътя, за които не е идентифицирана веднага съответстваща уязвимост.

От „Internet Storm Center“ заявиха в доклад, споделен с „Cyber Security News“ (CSN), че констатациите не потвърждават, че всяка изследвана крайна точка е уязвима или че всяка заявка е доставила работещ злонамерен код.

Те обаче показват как автоматизирани оператори хвърлят широка мрежа върху интерфейсите на рутерите, търсейки устройства, където диагностично поле може да бъде превърнато в системна команда.

Ботнетът търси инструменти за пинг в рутери

Заявките се фокусират върху страници, които обикновено се използват за тестване дали даден хост е достъпен. Формата за пинг изглежда безобидна, но рискът се появява, когато софтуерът изгражда команда, като прикачва предоставеното име на хост към команден низ и го предава на операционната система.

Този дизайн дава възможност на специалните символи да променят инструкцията, вместо да останат обикновен текст.

Това е инжектиране на команди: полето за въвеждане от потребителя преминава в командния слой без ясна граница. Проблемът не е уникален за един език за програмиране или доставчик.

Това е повтарящ се проблем в уеб интерфейсите, а рисковете от инжектиране на команди в рутери показват защо тези малки функции за управление заслужават същото внимание, като страниците за вход и актуализациите на фърмуера.

Наблюдаваната активност засяга пътища, свързани с проследени уязвимости, засягащи няколко семейства рутери и устройства. Тя също така тества имена като страници за диагностика, пинг, трасиране на маршрута и мениджър на системата, което може да помогне на атакуващите да намерят подобни реализации или слабости.

Успешното компрометиране може да осигури на ботнета система за сканиране, ретранслиране на трафик или стартиране на атаки.

Рутерите са особено привлекателни, тъй като се намират на границата на мрежата и могат да работят с години без внимание.

Собствениците трябва да премахнат отдалечения администраторски достъп, освен ако не е от съществено значение, да инсталират наличните актуализации на фърмуера, да променят идентификационните данни по подразбиране и да заменят оборудването, което вече не получава корекции за сигурност.

Тези стъпки намаляват възможностите за атака, особено за защита на рутери в края на жизнения си цикъл, които не могат да разчитат на бъдеща корекция за сигурност.

Най-надеждното решение е архитектурно, а не списък с блокирани символи. Разработчиците трябва да избягват сглобяването на команда на операционната система чрез свързване на фиксиран текст с данни, предоставени чрез уеб заявка.

Проверките на входа и обработката на изхода остават важни, но те трябва да поддържат дизайн, който никога не позволява данните да станат част от командния език.

От „Internet Storm Center“ посочиха изпълнението с аргументен вектор, често изложено чрез интерфейс от тип execv, като по-безопасен модел. В Python извикването на subprocess може да предава програмата и всеки аргумент поотделно.

Тогава име на хост, съдържащо точка и запетая, се третира като единична стойност за име на хост, а не като инструкция за стартиране на втора команда.

Това разделение прави инжектирането на команди много по-трудно при процесите на пинг и трасиране на маршрута. Разработчиците все пак трябва да ограничават входа до очакваните формати, да изпълняват услугите за управление с минимални привилегии и да преглеждат помощните програми, които могат да стартират други команди чрез собствените си опции.

Този подход също така дава на защитниците практически начин да преразгледат наследените страници за диагностика, преди атакуващите да ги открият.

За администраторите управлението на експозицията е спешно, докато доставчиците оценяват засегнатите пътища. Ограничете уеб управлението до доверени мрежи или защитен административен канал, следете регистрационните файлове (логове) на рутера за необичайни заявки и третирайте необяснимите промени в конфигурацията като предупредителен знак.

По-широката история на тенденциите при атаките с Mirai срещу рутери показва колко бързо пренебрегваните крайни устройства могат да бъдат вербувани, след като даден експлойт стане надежден.