Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Сокрытие процессов




Mesg y

На администратора, естественно, указанные запреты не действуют. С помощью утилиты chmod пользователь как бы имеет возможность выполнить не вполне рациональные действия, например запретить себе вводить данные с клавиатуры либо разрешить всем пользователям читать введенные им данные. Чтобы подобные действия не могли быть использованы для имитации неисправности, попытка блокировки собственной консоли системой игнорируется. Так, пользователь может ввести команду chmod 000 /dev/ttyN, после чего его консоль продолжает оставаться работоспособной.

Tty — это программа (команда), выводящая имя терминала, к которому подключен стандартный ввод stdin. Если запустить ее в текстовой консоли, будет выведена информация об используемом терминале:


$ tty

/dev/tty3

Запуск такой же команды в терминале X покажет иной результат:

$ tty

/dev/pts/2

С помощью команд w и who пользователь может определить, кто и с какого места работает в системе. В первую очередь он может узнать, не является ли его компьютер объектом удаленного доступа. Локальный терминал в системе называется ttyN, а доступ из сети с удаленного терминала обозначается pts/N или ttypN, где N – номер консоли.

На рис. 2.7 представлен результат выполнения команды w:

 

16:10:12 up 15 min, 4 users, load average: 0,00, 0,00, 0,01

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 - 15:55 1.00s 0.02s 0.00s w

ivanov tty2 - 16:07 3:08 0.01s 0.01s -sh

petrov tty3 - 16:07 2:54 0.00s 0.00s -bash

john pts/0 192.168.0.1 16.23 4:12 0.02s 0.00s –sh

Рис. 2.7. Информация о пользователях, выведенная командой w

 

Информация выведена в табличном виде и разделена по столбцам: USER – пользователь, TTY – терминал, FROM – имя домена или числовой IP-адрес удаленного хоста, LOGIN@ – локальное время начала соединения, IDLE – период времени с момента выполнения последнего процесса, JCPU – время, использованное всеми процессами, обслуживающими данный терминал, PCPU – время процессора, использованное текущим процессом, указанным в последнем столбце, WHAT – последний из процессов, запущенных из данной консоли. Из листинга видно, что в системе работают четыре пользователя – три из виртуальных терминалов, а четвертый получил терминальный доступ с сетевого узла 192.168.0.1.

Намного более краткая информация о пользователях и используемых терминалах выводится командой who (рис. 2.8). Пояснений здесь не требуется.

root tty1 2008-11-05 15:55

ivanov tty2 2008-11-05 16:07

petrov tty3 2008-11-05 16:07

john pts/0 2008-11-05 16.23

 

Рис. 2.8. Информация о пользователях, выведенная командой who

 

Команды w и who, отображающие сеансы пользователей, работающих в системе, берут информацию из журналов аудита (например, из файла /var/log/utmp). Поэтому эти команды неверно отображают информацию о пользователе, если он после регистрации командой su сменил свой имидж. Если пользователь в этой консоли «трансформировался» в администратора или администратор работает под именем обычного пользователя, команды w и who не покажут существующего статуса пользователей.

Утилиты, предназначенные для межконсольного обмена, называются write и wall. Они принадлежат владельцу root и группе tty. Права доступа к этим утилитам обозначены битовой строкой r-xr-sr-x. Установка эффективного права SGID предусмотрена для того, чтобы все пользователи могли посылать и читать сообщения с правами группы tty.

С помощью утилиты write пользователи могут посылать сообщения другим пользователям с указанием конкретного имени и/или терминала, при условии, что запись в него разрешена. Ее синтаксис весьма прост:

write <user_name> [tty_name]

После ввода команды последует перевод строки, в которую необходимо вводить текст сообщения. Если сообщение длинное, завершать строку и переходить к новой строке следует с помощью клавиши <Enter>. Корреспондент будет получать сообщение построчно. Завершить сообщение следует комбинацией клавиш <Ctrl>+<D>. Но если подобным образом попытается остановить вывод ненужного сообщения получатель, его ждет завершение сеанса с необходимостью повторной регистрации.

Утилита wall служит для широковещательного оповещения и может использоваться для передачи во все доступные на запись консоли срочных сообщений. Она вводится без каких–либо аргументов. Запись и окончание сообщения производится по аналогии с командой write.

Для того чтобы предотвратить анонимную и безответственную передачу сообщений с помощью указанных команд, вывод информации сопровождается сведениями о том, откуда (номер терминала) и когда сообщение было отправлено.

Администратор, впрочем, может обойтись без таких команд, напрямую адресуясь к специальным файлам устройств:

echo ”не отвлекайтесь от работы!” > /dev/tty5

 

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

· запущенные от имени root с именами, которые обычно не отображаются в списке задач. Выявление таких процессов затруднено вследствие того, что они обычно не отображаются в списке задач;

· запущенные пользователями потенциально опасные системные утилиты с установленным битом SUID. Правда, в последнем случае, как будет показано ниже, владельцем процессов является суперпользователь root;

· имеющие странные имена, в том числе включающие в себя необычные символы. Это может быть следствием программной атаки на переполнение буфера.

Упомянув программные средства контроля над процессами, нельзя обойти вниманием способы, которые могут применить злоумышленники для их сокрытия. Нарушитель при запуске вредоносной программы закономерно попытается «спрятать» ее процесс от глаз администратора и других внимательных пользователей. Нелояльные пользователи, которые пытаются незаконно повысить свои полномочия, также могут скрытно от администратора запускать ответственные утилиты su, sudo, passwd, mount, chmod и др. Никто, впрочем, не запрещает использовать эти утилиты явно и по их прямому назначению. Разумеется, с крывать от визуального контроля имеет смысл только те процессы, которые выполняются достаточно долго. О нейтрализации программных средств аудита, которые, в частности, фиксируют мгновенные события, речь пойдет отдельно.

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

· изменить параметры процесса, по которым его можно отличить от других и идентифицировать;

· осуществить подмену самих утилит ps и top, отображающих информацию о процессах;

· изменить содержимое виртуальных файлов в директории /proc/PID, соответствующей номеру скрываемого процесса;

· произвести вмешательство в «ядерные» процессы в целях перехвата и замены отображаемой информации о процессах.

Обладая правами администратора, нарушитель может:

· внедрить программный модуль;

· обеспечить автоматический или периодический запуск системного процесса или службы;

· запустить процесс из командной строки и использовать методы его сокрытия на уровне ядра.

Так называемые «ядерные» методы сокрытия процессов основаны на соображениях, изложенных в [11]. Виртуальная файловая система /proc содержит по одному «числовому» каталогу на каждый выполняющийся процесс. Если скрыть такой каталог, то процесс с соответствующим идентификатором PID не будет отображаться утилитами ps и top.

Для сокрытия каталогов и процессов предлагается одинаковый подход. Он заключается в том, что каждый файл (и каталог) представлен в ядре структурой file, одно из полей которой является указателем на другую структуру file_operations, определяющей допустимые действия с файлами. Если заблокировать обращение к конкретной функции, то она перестанет вызываться. Например, для сокрытия каталога следует заблокировать вызов функции readdir(). Алгоритмические и программные особенности для программистов можно почерпнуть в [8, 10, 11].

Ядро ОС Linux не является монолитным, а использует модульную архитектуру с механизмом загружаемых модулей (LKM – Loadable Kernel Modules). Модульные ядра, как правило, не требуют полной перекомпиляции при изменении состава аппаратного обеспечения компьютера. Это позволяет один раз собрать компактное ядро и, по мере необходимости, добавлять или удалять из него требуемый функционал. Модулями ядра могут быть и драйверы аппаратных устройств компьютера. После загрузки модуля он становится частью ядра.

Модули могут быть загружены с помощью команды modprobe или insmod. Как правило, команда modprobe более предпочтительна, потому что она загружает все вторичные модули, от которых зависит основной загружаемый модуль. Просмотреть список загруженных модулей можно командой lsmod (рис. 2.9).

 

 

# lsmod




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


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


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



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




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