Главная страница Обзор программного обеспечения |
Идея проверить(!) операционную систему Линукс (ОС Linux) на "прочность" возникла давно, не хватало лишь опыта программирования на языке GCC. Однако, в ОС Ubuntu Linux существует среда разработки Lazarus (lazarus.org) и компилятор Free Pascal (также страничка на русском: "http://freepascal.ru/"). Эта среда разработки позволяет написать графическое приложение для Ubuntu и для других дистрибутивов Linux.
Говоря о вирусном программном обеспечении (ПО) для Linux, хочется отметить, что одни считают Linux систему полностью защищенной от вирусного ПО, другие же полагают, что это явление временное, поскольку Linux не так широко распространена как система Microsoft Windows и, дескать, когда до Linux "доберутся" все желающие, то напишут вирусного кода не меньше чем для ОС Windows.
В действительности, системные файлы ОС Linux защищены до тех пор, пока пользователь сам не разрешит сторонним программам вносить изменения. Таким образом, пока устанавливаемые пользователем программы не запросят пароль администратора (пароль root), можно быть уверенным, что они не приведут ОС к разрушению (тем не менее уничтожат пользовательские данные!). В отличие от Linux, в ОС Microsoft Windows даже в режиме пользователя есть опасения, что вирус самостоятельно "проберется" в систему и попытается там обосноваться Так, в январе 2009 года от проникшего в операционную систему Windows XP Service Pack 1 вируса "Samal.A", (вызывающий перезагрузку компьютера), пострадало множество пользователей в мире. Удручает еще и то, что в Windows пользовательский режим имеет недостатки. Например, при установке разрешения на запуск необходимых в работе приложений (с помощью gpedit.msc) можно из разрешенных программ запускать запрещенные. В другом случае отдельные программы запрашивают разрешение на запись в системные области и получив отрицательный ответ закрываются. Когда речь заходит о печати документа, оказывается, что часть программ, относящаяся к обслуживанию принтера, недоступна пользователю для запуска и так далее. В связи с этим, чаще всего в Windows работают в режиме администратора, но мне хотелось бы порекомендовать создание двух учетных записей - Администратор (с паролем, длиной более 8 символов) и Пользователь (можно без пароля). Входить в администраторский режим необходимо только для операций обслуживания системы и установки проверенных антивирусом программ. Если какая-то программа запросит пароль, то во всяком случае это будет видно и всегда ей в этом можно будет отказать. Но случается и так, что новейший вирус "отыскал" очередную уязвимость и "пробрался" в систему. В этом случае пострадает сразу всё, как пользовательские данные, так и система. Если служебные файлы, находящиеся в файловой системе NTFS защитить паролем, то где ОС найдет "отмычку"? А если система отыскивает пароль, то и вирус отыщет. В ОС Linux есть четкое разделение между системой и пользователем, поэтому запущенный пользователем вирус способен удалить только пользовательские данные (будет показано на примере), при этом системные настройки не пострадают. В сети Интернет есть заметки, в которых говорится о взломе серверов (служебных компьютеров сети Интернет) с установленной на них ОС Linux, но мне пока трудно понять, каким образом злоумышленникам удается прочесть файлы /etc/passwd и /etc/shadow, для того чтобы заняться перебором символов, последующим взломом и проникновением в ОС в качестве зарегистрированного пользователя. Вероятнее всего взломщик как-то "вычислил" несложный пароль.
В менеджерах хранилищ программ для Linux, например, таких как Центр приложений Ubuntu, хранятся надежные программы, не являющиеся вирусным ПО, однако файлы, расположенные на неизвестных вэб-ресурсах, потенциально могут представлять опасность для пользовательских данных. Немаловажным является и то, что в Линукс присутствует такой момент как свободный исходный код. Программист всегда может просмотреть текст и удостовериться в отсутствии вирусного кода. Если я сомневаюсь в том, что бинарная программа (готовый к запуску файл) без вирусов, то скачиваю ее исходный код и создаю бинарную программу у себя на компьютере самостоятельно.
Предположим, пользователь, в ходе "мозгового штурма" с одного из вэб-сайтов, поверил прекрасному описанию ПО, скачал его и запустил. Мы знаем, что в ОС Windows таких премудростей не требуется, поскольку все программы проникают в систему и запускаются даже без ведома пользователя, поэтому там рекомендуют установку антивирусного ПО. С Linux все обстоит иначе. Так, пользователь, начавший знакомство с этой ОС, не сможет запустить вообще какую-то стороннюю программу, не говоря уже о вирусах (мало кто из новичков знает об атрибуте файла "исполняемый"). Итак, пользователь скачал файл, установил атрибут "исполняемый" и двойным кликом левой кнопки мыши по значку, запустил программу. На экран можно вывести какую угодно информацию о "фальшивой" программе, а в это время, в мгновение ока у пользователя будут удалены все документы.
Учитывая то обстоятельство, что восстановление документов файловых систем Ext4, ReiserFS, XFS (кроме Ext2, Ext3) сегодня затруднено, вирус может представлять реальную угрозу документам пользователя ОС Linux. С точки зрения системы, действие так называемого "вируса" ничем не отличается от действий пользователя, которому позволяется как угодно обращаться со своими документами. Однако, вирусное ПО все-таки не может удалить или как-то модифицировать системные каталоги операционной системы, что отчасти радует. Интересно, что работа в режиме учетной записи администратора (так называемый root) позволяет удалить почти все файлы ОС, за исключением некоторых ссылок и каталогов (причина мной еще не изучена).
Предлагаемая программа lin-virus, в упакованном каталоге test-virus.zip представляет собой окно, в котором выводится каталог, где она была запущена. Если пользователь скачал программу поместив на Десктоп, т.е. на Рабочий стол (а такое явление мне приходилось наблюдать неоднократно), либо в другой каталог пользователя, то программный код автоматически вычисляет имя пользователя и выведет текст в соответствующем окне. Кнопка "Убить файлы в каталоге запуска вируса" означает, что будут безвозвратно удалены все файлы и каталоги по указанному пути.
Публикуемое приложение запаковано архиватором ZIP и представляет собой каталог test-virus, в котором находится файл самой программы "lin-virus", текст с предупреждением "readme.txt" и упакованный исходный код "source.zip". После распаковки файла test-virus.zip, в качестве эксперимента, в этот же каталог можно накопировать произвольных файлов и папок, чтобы убедиться в том что программа работает довольно четко. Разумеется, вы не станете размещать там важные документы. Интересно, что с такой же легкостью удаляются файлы, помещенные в эту папку администратором (суперпользователем, под учетной записью root), что конечно же огорчает.
Идеальные условия проведения теста - Live CD, который можно скачать, например, по ссылке Ubuntu Linux Live CD (оригинальный сайт ubuntu.com). Сам каталог с "вирусом" размещается на флешке, которая устанавливается в компьютер после загрузки ОС. Другой вариант запуска - виртуальная машина с образом предустановленной системы. Но это годится для продвинутых пользователей. Адрес сайта с программой виртуализации - www.virtualbox.org
"Нападению" подверглись следующие дистрибутивы:
Ubuntu-11.04 (Gnome) --- удалены только пользовательские данные
openSUSE-11.4 (KDE)--- удалены только пользовательские данные
Drweb-livecd-600--- удалены почти все файлы (системные и пользовательские)
KasperskyRescue-10 (Gentoo Linux) --- удалены почти все файлы (системные и пользовательские)
Linux Mint-12 (Gnome) --- удалены только пользовательские данные
Mandriva-2011 (KDE) --- удалены только пользовательские данные
RussianFedoraRemix-16 (Gnome) --- удалены только пользовательские данные
(в случае удаления всех файлов, операционные системы находились в режиме суперпользователя)
В заключение хочется отметить, что вирусную программу можно написать для любой системы, но в Linux она не может являться "настоящей", поскольку не имеет возможности вести скрытую деятельность в системе (довольно трудно "пробраться" в автозапуск). Поэтому в подобных системах остается одно - использовать хорошую рекламу и психологическую обработку пользователей. Тогда, при вводе администраторского пароля удастся захватить управление. Мне приходится часто встречать, как под действием "зомбирования", пользователи запускали практически любые программы, скачиваемые из сети Интернет. Более того, отсылают деньги в виде СМС, поверив злоумышленникам. На форумах сети Интернет по этому поводу пишут: "Лохотроны будут существовать пока существуют лохи", "Пока человек верит в халяву - будет существовать лохотрон". Пока мы убеждены, что программа, запросившая пароль надежная, будут существовать и вирусы.