Дамы и господа! С опозданием на год я все-таки решил написать для Вас эту статью. Написать просто из уважения к Вам. Не в обиду будет сказано, но большинство так называемых "пользователей" персональных компьютеров на самом деле ОЧЕНЬ мало понимают работу САМИХ компьютеров. Дело даже не в том, что кто-то чего-то не знает... Скажите, зачем например, юристу, менеджеру, доктору наук или врачу ДОСКОНАЛЬНО знать все тонкости работы компьютера? У этих людей, как правило, своя специфика, они гораздо больше знают в другой области наук. Знать принципы работы компьютера, высшую математику, десяток языков программирования, сетевые протоколы, несколько операционных систем, принципы атаки и защиты на компьютеры этим людям совсем необязательно. Но по роду своих занятий, по своей работе такие люди вынуждены использовать вычислительную технику хотя бы потому, что это достаточно удобно. Но что именно удобно, благодаря чему использовать компьютеры стало удобно? Позволю себе высказать свою точку зрения. Если кто-то со мной не согласен, то мы обсудим это по e-mail.
Итак... Многие ругают операционную систему WINDOWS любой версии и его создателя Билла Гейтса. Действительно, хороша или плоха его операционная система? Как говорится, это еще бабушка надвое сказала. С одной стороны - хороша, с другой - плоха...
Чем хороша? Прежде всего тем, что она КРАЙНЕ проста в установке, настройке и использовании (На взгляд "простого" пользователя). Практически любой человек, даже не имевший опыта работы за компьютером, может за пару дней научиться сносно использовать его для офиса, для игр и для прочих задач. В этом смысле WINDOWS - это воплощение гениальной идеи. (Я это серьезно!).
А чем же плоха WINDOWS, что многие ругают ее последними словами? О, тут вам "крутой компьютерщик" много чего наговорит... Сразу стоит сказать, что это далеко не самая стабильная в работе операционная система, это присуще как ее первым версиям, так и последним. Процитирую одного из "серьезных" пользователей: - "Как я могу доверить свою научную работу этой операционке, если она в любой момент отправит все мои труды коту под хвост?" Этот человек действительно в результате сбоя потерял важные данные...
Но самое важное, что операционная система WINDOWS буквально оптимизирована для взлома...
Действительно, Microsoft не потрудилась применить криптостойкие алгоритмы защиты (частный случай). Что было сделано, чтоб спрятать те же самые пароли? Всего лишь то, чтоб их нельзя было увидеть, нажав F3 в Нортон Коммандере. Это помогло бы только против самых что ни на есть "псевдо" хакеров. (Даже нечем похвалиться, если бы вас так подломали).
Но создатели WINDOWS решили не утруждать себя и закодировали все пароли в системе некриптостойкими алгоритмами, в частности за"XOR"иванием. Такое кодирование вскрывается за доли секунды, в отличие от метода кодирования паролей в UNIX-системах, где вскрыть пароль можно только прямым перебором, да и то при достаточно большой вычислительной можности перебор всех вариантов одного пароля займет в среднем 12 тысяч лет.
Но самое примечательное - это то, что в плане атак по сети WINDOWS просто полностью открыта! Есть немало программ, которые посылая несколько байтов по сети на компьютер-жертву, заставляют его зависнуть или перезагрузиться. В народе по этому поводу проскакивают такие слова, как "Nuke", "Ping Flood", "TearDrop" и много чего еще. Об этих атаках много уже написано статей, обзоров, уже существует достаточное количество "заплаток", и если грамотно воспользоваться этим, то можно себя более-менее обезопасить.
Но существует такой изощренный способ атак, что большинство людей перед ними бессильны. Что это? Можно сказать одним словом - ТРОЯНЫ.
Трояны - что это такое? Чем они отличаются от вирусов, как распространяются, какой вред они могут принести?
Само определение "Троян", или "Троянский конь" появилось по аналогии с мифическим конем, то есть снаружи это красивая вещь, а внутри спрятано что-то нехорошее. Что именно? Про все трояны ничего конкретного сказать нельзя, можно лишь отметить, что от вирусов они отличаются тем, что зачастую управляются человеком, сидящим "на другом конце провода". Это в том случае, если ваш компьютер подключен к Интернет. Отсутствие подключения зачастую сводит на нет все усилия троянов. Данные программы могут не иметь деструктивных функций. Их назначение иное - извлекать информацию, несанкционированно изменять ее, а также иметь полный контроль над компьютером, настолько полный, что даже человек, сидящий не посредственно за ним, не может так всеобъемлемо управлять этим теперь уже непредсказуемым "ящиком".
Итак, что же из себя представляет программа-троян? А ничего особенного, даже начинающий программист способен ее написать. Принцип основан на том, что программа является одной из задач Windows, как правило, невидимой по Ctrl-Alt-Del. Программа-троян "слушает" порты (это то, благодаря чему существует соединение по сети, портов может быть до 65535. Например, ftp-сервер слушает 21 порт, web-сервер, как правило, 80 порт, почтовый сервер - порт 25 для отправки и порт 110 для приема почты), и когда на определенный порт приходит пакет данных, программа-троян исполняет пришедшие команды.
Для трояна ничего не стоит выцепить любой закешированный пароль к любому из ресурсов, перехватывать нажатие клавиш на вашей клавиатуре...
Ниже я приведу далеко не полный список функций, выполняемых троянами. Вы представьте сразу, что эти действия выполняются на вашей машине. Итак, начнем...
Доступ к дискам. Можно копировать, стирать файлики... Все файловые операции, то есть. Ничего не стоит прочитать вашу почту, которая уже получена и хранится в файле "Inbox", или поправить autoexec.bat, вписав туда строчку "echo y|format c:>nul", благодаря которой при перезагрузке жесткий диск будет безо всяких вопросов отформатирован.
Перехват клавиатуры. Вот он, ваш парольчик-то... Кража закешированных паролей (тех, что "запоминаются" системой). Вот все пароли сразу...
Сбор информации о системе (какой логин, сколько памяти, диски, принтеры...)
Получение копии вашего экрана. Без комментариев.
Запрещение нажатий определенных клавиш на клавиатуре. (Издевательство.)
Поменять кнопки мышки местами. (Тоже издевательство.)
Контроль координат курсора мыши (ой, мышка сама ездит???)
Открыть/закрыть CD-ROM. (Оооочень забавно...)
Или вообще блокировать кнопку "Eject" на нем... (CD-ROM сломался!!!)
Перенаправление консоли (то есть как telnet, только например, command.com запустился у вас, а на экран он вышел не у вас... А тот человек набрал команду "format c:" и нажал "y"...)
Перенаправление портов. Это еще серьезней. Злоумышленник будет ломать банк, Белый Дом, спутники... А ФБР или ФСБ почему-то придет к вам... То есть, сигнал пойдет от злоумышленника через ваш компьютер, и везде засветится именно ваш IP-адрес...
Узнать, какие программы у вас запущены.
Закрыть парочку этих программ (например, пасьянс у секретарши или Word у профессора...)
Запустить программу (вот вам калькулятор, считайте на здоровье. Или еще один, новый троян, которого антивирусы не видят.)
Вывести на экран картинку (порно, в то время, когда у начальника важный посетитель.)
Показать/убрать панель задач (вот весело-то, кнопки Пуск нет... часов нет...)
Выключить или перезагрузить компьютер. (Без комментариев.)
Отключить компьютер от Интернета. (Пусть перезагружается, чтоб снова работать)
Если у вас подключен микрофон, то можно услышать вас.
Если у вас есть Web-Camera, то можно и увидеть вас.
Если у вас слишком громко играет музыка, то можно ее вам убавить.
Или наоборот, проиграть на вашей машине звуковой файл...
А можно и документ на вашем принтере напечатать. Можно подредактировать ваш реестр. Там хранятся ВСЕ настройки... Что "настройщику" придет в голову, неизвестно.
Можно диалоговые окошки выводить. Вот такие, например...
Иногда полезно бывает открыть вам броузер и "послать" вас например, на wwwfuck.ru. Вам должно понравиться. Особенно если вы человек высокой морали.
Можно вывести окошко, в котором вы обычно набираете пароль... 90 %, что вы наберете его. Это может быть пароль от почты, от ICQ или еще от чего-нибудь. Последствия известны...
Можно посмотреть, что вы там через буфер обмена носите. А может, там пароль???
В конце концов, можно стереть у вас содержимое Flash-BIOS. Последствия будут, как от вируса "Чернобыль" (Win.CIH).
Можно с машины-жертвы просканировать порты, например, на сервере... Вот админ сервера удивится, когда начальник, ничего в этом не понимающий, засветит свой IP в логах...
Можно переименовать заголовки окон, например, "WinWord" в "Привет от Васи Пупкина"... Человек будет в трансе...
Можно текст вам переслать, как будто вы его сами на клавиатуре набрали. (Клавиатура с ума сошла!!!)
Время на компьютере изменить - тоже не проблема. Особенно опасным может быть такая комбинация: закачать вам на диск вирус "Чернобыль" (Win.Cih), изменить время на 26 апреля, запустить этот файл, с полчасика подождать и перезагрузить вас.
Ваш компьютер может посылать каждый раз при включении почту злоумышленнику, сообщая о времени включения и о других параметрах.
А также в некоторых троянах есть функция самоликвидирования, то есть при грамотном использовании их можно нанести очень большой урон и замести практически все следы деятельности, так что доказательств не останется.
Вот такие пироги... Это далеко не полный список. Это всего лишь то, что я вспомнил "с лету". Подытоживая все это, хочу сказать, что контроль над компьютером таким образом осуществляется АБСОЛЮТНО ПОЛНЫЙ. Насколько полный - зависит от конкретного трояна и от фантазии его создателей. Прогресс идет...
Вот моя точка зрения, как дальше будут развиваться трояны:
1. Насчет обнаруживаемости антивирусами... Ну, тут вряд ли что-то изменится, концепция известна давно. Спустя некоторое время после попадания вредной программы в руки антивирусописателей, на многих компьютерах часы данной программы сочтены.
2. Насчет расположения... Классический троян при запуске копирует себя в директорию Windows, например, и прописывает в реестр строку старта. Или это делается в файлах system.ini, win.ini и им подобных. Этот способ обнаружения знают многие, в таком случае даже антивируса или каких-то дополнительных программ не надо. Достаточно стандартного REGEDIT'а, или MSCONFIG (им-то я и пользуюсь). Новые поколения троянов скорее всего, будут внедряться по вирусному типу (а есть уже такие) в системные библиотеки. Таким образом, нигде не будет видна стартовая строка трояна.
3. Кстати, есть такое понятие, как "ловушки", то есть программы, перехватывающие нажатия клавиш на клавиатуре. Типичная стандартная Виндовая "ловушка", по определению одной из программ, показывающих информацию о системе - это "INTERNAT.EXE", та программа, которай отслеживает нажатия "Alt+Shift" или "Ctrl+Shift" (переключение с русского языка на английский), и показывающая в System Tray (около часов) иконку "Ru" или "En" соответственно. А есть и другие "ловушки", например достаточно широко распространенная программа "HookDump", которая логает (записывает в файл) не только нажатия клавиш, но и заголовок окна программы, в которой эти клавиши набирались, а также время, нажатия кнопок мыши и кое-что еще. Отрадно? Если всего этого не знать, то можно стать жертвой не то что профессионального хакера, а просто человека, возомнившего себя им, т.е. "псевдохакера" (или ламера, что еще хуже). Из всего этого вытекает. что троянец лучше всего внедрять в INTERNAT.EXE (а может, и еще кое-куда), т.к. кое-какие нужные функции эта программа уже выполняет.
4. Двигаемся дальше... Известно, что если компьютер находится за прокси-сервером, Firewall'ом или чем-то подобным, то опасность вторжения извне на этот компьютер снижается на несколько порядков. Но ничто не мешает сделать такой троян, который бы использовал стандартный WWW-интерфейс, то есть делал бы то же, что и пользователь - шел бы на указанный заранее WWW-адрес, например обращался бы к файлу -- в котором содержались бы команды типа "GET FILETREE", которые необходимо выполнить. Затем результаты отправлялись бы на адрес vasja@pupkin.mil , прочитав которые, злоумышленник запоимеет все, что ему надо. Как защититься от такого способа? Ведь если закрыть порты, как это делалось, например, с BackOrifice (блокация порта 31337, и нет проблем), то пользователь не сможет читать/отправлять почту, заниматься WEB-серфингом... То есть это есть потеря главной функции, к которой прицепился троян. Пока таких продуктов в широком употреблении нет, но я уверен, что они уже существуют.
5. В настоящее время есть много программ, который позволяют зашифровать и/или заархивировать исполняемый файл так, что антивирусы не смогут его обнаружить. Например, если рассмотреть старый DOSовый вариант самораспаковывающихся программ при их исполнении: цитирую первый номер хакерского журнала "Infected Voice":
"Подготовка вируса к распространению.
1. Как скрыть скомпрессированный файл
2. Как дважды скомпрессировать файл
1. Скрывая подготовленные к распространению вирусы в файле, заПыколотив (PKLITE) или заЛзексив их (LZEXE), хотя бы с опцией ExtraCompression, никогда нет уверенности в том, что та или иная задница (DR. WEB), увидев лейбл LZ или PKLITE, не полезет туда с целью выПЫколотить оригинальчик. Здесь предлагаются некоторые методы по защите от этого.
Конечно, для начала вы скомпрессируете ваш файл чем-нибудь типа PkLite или LZexe, и даже с опцией Extra Compression. Готово? Нет - это еще не все. Загрузите-ка этот файл в HEX-editor и посмотрите в начало:
Виден заголовок? "PKLITE Corp."... Забейте мусором все от "PKLITE... до ...Rights Reserved" , а также извратите до неузнаваемости надпись "Not enough memory", забейте ее нулями, (или символами 07 -вот пищать будет!) или чем-нибудь еще, но помните, что это г... будет выводиться на экран при нехватке памяти. Не трогайте '$'! Не забивайте эти участки текстом - это будет заметно.
Итак, теперь ваш файл - неразжимаем с помощью утилит - непонятен для глаза - непроверяем фаКами(тупейшие программы!),- теми из них, которые имеют наглость лезть файлам под одежду PkLite'вского производства.
Ну и, конечно, не стоит заражать файл вирусом в чистом виде. Лучше напишите инсталлятор, который сделает это не сразу.
2. Сейчас я расскажу вам, как скомпрессировать файл два раза:
- один раз - Pklite'ом
- второй раз - LZExe
Что тут неясного - откомпрессить файл Pklite'ом, потом Lzexe... Нате вам дулю - Lzexe не напишет что-то типа "ужат на минус 5%", он просто не даст вам такого сделать ваще! А теперь вы ему дулю - посмотрите, что там у нас в текущем каталоге, хорошо посмотрите, - Undelet'oм. хZEXE.TMP. Восстановим LZEXE.TMP - это и есть дважды обработанный файл. Переименовываем его в то, что нам надо. Дальше см. п.5.1."
Конец цитаты... Впечатляет? Как говорится, все гениальное просто. И от DOSа до WINDOWSа в этом смысле всего лишь один шаг. Антивирус не сможет обнаружить сигнатуру вируса, это сможет сделать только человек. В смысле, не обнаружить сигнатуру, а обнаружить наличие вируса на компьютере. Как - это уже другой вопрос, и он рассматривается в другой моей статье.