Гинекология в могилеве консультация гинеколога.

Копирование файлов

Копирование - это создание еще одного экземпляра файла. Можно скопировать файл в тот же каталог, где расположен оригинал, но изменить имя копии. Можно скопировать файл с прежним именем в другой каталог. Наконец, можно скомбинировать эти два варианта. Для копирования файла надо иметь следующие права:

> право на чтение файла-оригинала,

>- право на чтение и исполнение каталога, в котором исходный файл хранится, >- право на запись и исполнение в каталоге, куда предстоит записать копию.

Если на месте расположения копии уже существует файл с таким же именем, он обнуляется (точнее, его блоки данных объявляются свободными), а индексный дескриптор передается создаваемой копии. При копировании права доступа (код режима) файла не изменяются, за исключением сброса флагов эффективных идентификаторов SUID и GUID. Системная функция, записывающая копию файла, обнуляет биты эффективных прав доступа. Владелец копии и его группа меняются - ими становятся пользователь, копирующий файл, и его группа. После копирования пользователь может сделать со своим экземпляром файла всё, что ему заблагорассудится. Обычные пользователи имеют права на чтение в каталогах /bin, /sbin, /dev и в принципе могут обзавестись своими копиями различных утилит и специальных файлов.

Сами по себе копии утилит опасности не вызывают, ведь пользователь сможет запустить их только со своими правами. Но дело в том, что некоторые защитные механизмы встроены в сами утилиты. Многие из них могут выполнять потенциально опасные действия в зависимости от используемых опций. Так, например, утилита ping может быть запущена с целью проверки существования сетевого узла от имени любого пользователя. Но отправка по определенному сетевому адресу большого числа пакетов ICMP (Echo_Request), следующих с максимальной скоростью, это уже разновидность атаки на отказ в обслуживании, и запуск программы ping с соответствующими опциями - это прерогатива администратора. Программа, запущенная с подобными опасными опциями (или вызываемый ею библиотечный код) должна сама проверить UID и, если он не равен нулю, информировать пользователя о невозможности выполнения команды (либо просто ее игнорировать).

Модифицируя программный код, злоумышленник может создать экземпляры утилит, которые способны выполнять некоторые опасные функции независимо от прав запустившего их лица (в том случае, если проверка допустимости исполнения не возложена на ядро операционной системы). Так появляются «инструменты администратора» - Root Kit, позволяющие осуществлять взлом системы с приобретением недозволенных прав.

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

Обычно программы запускаются в командной строке с использованием короткого имени файла. Задача найти этот файл возлагается на командный интерпретатор, который использует для поиска свою переменную окружения PATH. Если в этой переменной на первом месте будет значиться текущий каталог, а только потом - каталоги /bin и /sbin, несомненно оболочка первой найдет и запустит фальшивую утилиту, а поиском других файлов с таким же именем утруждать себя не станет. С учетом этого неплохой привычкой для администратора может стать использование абсолютных имен файлов.

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

Оказание помощи пользователям входит в задачу администратора. Но в таких ситуациях администратор должен вначале ввести команду su с именем пользователя, ведь реальные затруднения могут быть вызваны и различием в правах доступа. После того как администратор окажется на месте и с правами пользователя, он сможет проверить состоятельность его жалоб, не рискуя навредить системе.