Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ext3 62288 2




Rtc 6236 0 (autoclean)

Ac 1792 0

Subfs 4296 4 (autoclean)

Floppy 48568 0 (autoclean)

Pcnet32 15140 1 (autoclean)

Af_packet 12392 1 (autoclean)

Usb-uhci 21676 0 (unused)

Module Size Used by Not tainted

usbcore 58464 1 [usb-uhci]

mii 2544 0 (autoclean) [pcnet32]

crc32 2880 0 (autoclean) [pcnet32]

jbd 37852 2 [ext3]

 

Рис. 2.9. Получение списка загруженных модулей

 

В выводе команды присутствует наименование модуля, его размер, счетчик использования и имена модулей, с которыми он связан. Чтобы выгрузить модуль, используется команда rmmod.

Внедрение в ядро Linux динамически загружаемых программных модулей позволяет злоумышленнику управлять операционной системой на «ядерном» уровне. Эти возможности позволяют, в том числе, скрывать файлы и процессы.

Нарушитель, действующий с правами обычного пользователя, не располагает правами, позволяющими ему полностью скрыть от наблюдателя нежелательный процесс. Одних только прав root для этого также будет маловато, нужны еще инструменты и квалификация. Но попытаться изменить уличающие его параметры процесса пользователь вполне может. Такими параметрами в первую очередь являются имя программы, обозначение (имя и номер) терминала, с которого процесс запущен, а также UID или регистрационное имя пользователя. Рассмотрим все перечисленное по порядку.

Наивно полагать, что нарушитель назовет исполняемый файл своей программы каким-нибудь зловещим именем вроде virus_hiden, trojan666 или agent007. Для маскировки, вероятно, будут использованы имена программ, которые пользователь запускает наиболее часто. Большинство команд выполняется практически мгновенно, и их имена для камуфляжа непригодны. Так, наиболее часто используемая команда ls практически никогда не отображается в списке процессов, и если такое произойдет, то это скорее вызовет настороженность администратора. Маскировать опасные продолжительные процессы можно с помощью таких безобидных названий программ, как mc, man, info, bc. Даже очень подозрительному администратору трудно усмотреть угрозу в использовании файлового менеджера, справочной системы или калькулятора.

Системные утилиты, запускаемые оболочкой по «короткому» имени, найденному с помощью переменной окружения PATH, отображаются в списке процессов также только по имени файла. Но обычный пользователь, лишенный права записи в каталоги типа /bin и /sbin, сумеет запустить «двойника» такой программы только из своего домашнего каталога или каталога /tmp с указанием полного имени файла.

Довольно распространен способ сокрытия, основанный на символьном камуфляже. Он заключается в том, что создается процесс, по имени напоминающий привычную для глаза программу. Для этого используются похожие по начертанию символы в различных раскладках клавиатуры. Так, строчные символы a, c, e, о, р и заглавные символы A, B, C, E, K, O, P, T, M, X пишутся одинаково в русской и латинской кодировках.

Модифицируя исходный файл программы, используемый для проникновения в систему или перехвата данных, злоумышленник может заменить в нем аргументы командной строки, например, с помощью инструкции strcpy(argv[0], «man»). После этого запущенный процесс будет отображаться как экземпляр справочной системы.

Особо следует сказать о маскировке процессов, запускаемых из файлов-сценариев. Например, нарушитель создал атаку на переполнение ресурса дисковой памяти и написал для этого небольшой сценарий:

cat >/tmp/...

#! /bin/bash

yes abc > /tmp/abc

Ctrl+d

Присваивая файлу имя, состоящее из трех точек, нарушитель желает сделать его скрытым и неотображаемым при вводе команды ls -l. Затем, используя команду chmod 700...,он обеспечивает себе права на чтение и исполнение данного сценария, после чего запускает его, ожидая, что такой процесс будет «закамуфлирован». Но администратор, контролируя систему с помощью утилиты ps -ef, в это время может наблюдать два процесса, запущенные из пользовательской консоли и от его имени: /bin/bash... и yes. Вероятно, это не совсем то, на что рассчитывал предприимчивый пользователь. Причем даже если наблюдение за процессами не было организовано и файл непомерной величины был создан, то установить его создателя и владельца будет нетрудно.

Скрытие имени процесса – наиболее простая задача. Обычному пользователю труднее скрыть от системных мониторов факт запуска программы с конкретного терминала и от имени определенного пользователя. Однако один из этих параметров закамуфлировать можно.

Самый простой путь скрытия терминала – преобразование интерактивного процесса в фоновый. Для этого командную строку следует закончить пробелом и символом &. Затем командой exit или logout следует завершить пользовательский сеанс, после чего вновь зарегистрироваться. Команда ps -ef вместо имени терминала отобразит вопросительный знак.

Команда nohup <command> позволяет процессу продолжить выполнение при потере управляющего терминала. Эту команду выгодно использовать при выполнении команды продолжительного действия. Команда запускается, после чего терминальный сеанс завершается, а программа при этом продолжает выполняться.

Что характерно: в фоновом режиме запускаются даже такие явно интерактивные команды, как passwd и su, требующие ввода пароля. Однако попытка завершить после этого пользовательский сеанс окончится неудачно: система предложит вначале завершить фоновый процесс.

Если пользователь вводит команду passwd или su и не торопится с вводом пароля, его процесс может быть зафиксирован из другой консоли с помощью команды ps -ef. Но владельцем процесса будет значиться не пользователь, а администратор. По существу дела так оно и есть – ведь эти утилиты запускаются с правами их владельца – root. Эта особенность может быть использована в целях сокрытия от администратора длительных попыток подбора пароля root с помощью утилиты su. Например, для этого пользователь создает жесткую ссылку на утилиту su из своего каталога, используя команду

ln /bin/su man

Создать в своем каталоге полноценную утилиту su пользователь не сможет – он не обладает правом ее чтения, а следовательно, не сможет ее скопировать. Даже если допустить, что он ее скопирует, то ценность копии будет невелика, поскольку при копировании у файла сбрасывается бит эффективных прав доступа. Но создать жесткую ссылку на недоступный файл удается без проблем.




Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 386; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.