|
|
Люблю мечтать. Ну, скажем, что бы я делал, если бы у меня была машина времени. Нет-нет, я бы не
полетел спасать мир от мировых войн, и даже не полез бы скупать акции АО МММ - все круче,
есть идея поинтереснее - рекурсивный оптимизатор жизни... одна фигня - нигде не могу найти машину времени.
Грузоподъемность большая не нужна - нужно всего-то утянуть в прошлое однокристальный микроконтроллер
с батарейками и флэшиной... впрочем, чего это я? Это же секретная мечта :-)
Или, скажем - захватить под свое управление компьютерный мир. Не целиком, конечно -
это просто невозможно, да и не нужно - захватив хотя бы процентов десять компьютеров в мире
можно такого наворотить - уууу. Вот только - муторно наверно, столько компьютеров ломать,
состариться можно. Подумаем дальше...
Распространенных в мире систем не так уж и много. Собственно, Линукс да винды двух
разновидностей - вот вам и полмира. Дыры в описанных системах регулярно обнаруживаются,
регулярно публикуются, и столь же регулярно затыкаются. Заметную часть можно "сломать"
не особенно напрягая мозги, а применяя известные эксплойты и ставя готовые "руткиты".
Правда, сломать полмира из дома по модему - все равно тяжеловато будет. Подумаем дальше.
Хакерами давно используется простой прием для заметания следов - взломанная линукс-система (как правило
именно линукс - винды мало кому нужны, остальных юниксов просто меньше) используется
как плацдарм для дальнейшего взлома. А еще более давно :-) Некто Моррис написал своего "червя" -
программу, умевшую, используя существовавшие в тогдашнем софте дыры, самостоятельно
распространаться по сети. Правда, со скоростью размножения он несколько не рассчитал, чем
и был обусловлен печальный его (червя) конец. Никаких идей в голову не приходит? Думаю, уже приходят.
Давайте сделаем червя. По образу и подобию Моррисовского, но:
- умеющего обновлять "базу атак" - список алгоритмов и условий их применимости к хосту.
То есть, мо мере появления новых (и исчезновения старых) дыр, автор червя будет где-нибудь в общедоступном месте
интернета (на геоситиз, хе-хе) выкладывать новые "рецепты" взлома, в виде исходников, бинарников - как угодно.
Для затруднения затыкания геоситиза :-) алгоритм поиска можно запутать - скажем,
на Альтависте (а лучше - на асталависте
ищутся сайты, содержащие некое ключевое слово. Далее содержимое проверяется на наличие некоей
"подписи", при совпадении оттуда тянутся апдейты, при несовпадении - берется следующий сайт из списка.
- поддерживающего связь с взломанными соседями, и возможность удаленного управления. Вовсе необязательно
чтобы каждая "зараженная" машина "отзванивалась" на некий центральный сервер - это слишком легко затыкается после обнаружения,
и слишком явный след для желающих обнаружить начальную точку. Вполне достаточно будет, чтобы отдав первой попавшейся машине
команду "выполни это-и-это на N машинах, расположенных по возможности в окрестностях сети xxx.yyy.zzz.ttt",
после чего команда будет автоматически, по собственной системе "горизонтальных" связей отправлена куда надо,
и там выполнена. Естественно, это подразумевает некую самоорганизуемость такой сети -
граф связей должен по возможности упрощаться, сохраняя множественность путей,
должны отслеживаться обрывы (выпадения узлов) и приниматься меры по восстановлению целостности сети. Это
непросто, конечно, но не сложнее первой задачи - автоматического, саморазмножающегося вломщика сети.
Да вот, собственно, и достаточно. Можно мечтать дальше - скажем, захватив сервер redhat или freebsd
можно будет "встраивать" червя непосредственно в дистрибутив системы, можно даже
воспроизвести "вирус Ритчи", кажется так он называется - троянский компилятор, содержащий закладку в коде, но не в исходниках,
и воспроизводящий закладку при пересборке компилятора этим же (содержащим закладку)
компилятором... Мечтать можно много - какая мощь сосредоточилась бы в руках человека... ладно. к чему бы это я, а?
А вот к чему. Я тут Team Void обчитался. А у них, в частности,
рассказывают про идеологически близкую (хотя и недотягивающую пока до настоящей мечты)
систему для проведения распределенных атак. Точнее,
анализ обнаруженной, уже готовой и работоспособной, системы, кем-то когда-то зачем-то установленной,
и сейчас с удивлением обнаруженной. Попроще правда -
в основном для DoS-атак, неясной степени автоматичности (определенные шаги, похоже, все-таки
контролируются человеком), но достаточно развитой - число только обнаруженных машин
исчисляется тысячами, сколько пока необнаружено - неизвестно.
В общем, очень похоже. И ведь это - только первый шаг. Точнее - второй, первый сделал все-таки Моррис.
Интересно, когда состоится третий шаг - полностью автономный червь, и четвертый - червь, самостоятельно читающий
bugtrack'и и самостоятельно генерирующий эксплойты :-)
| |
| |