русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Запуск ненадежных программ


Дата добавления: 2013-12-23; просмотров: 728; Нарушение авторских прав


Защита файлов

При создании, копировании и перемещении файлов следуйте следующим рекомендациям:

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

* В результате использования команды cp для копирования SUID-файла, принадлежащего не вам, будет создан новый SUID-файл, владельцем которого уже будете вы. Обратите внимание на то, что этот файл имеет доступ ко всем вашим файлам и каталогам. Будет разумным шагом использовать команду chmod для такого изменения прав доступа к файлу, после которого файл остался бы доступен только для вас.

* В результате использования команды cp для копирования файла будет создан новый файл, наследующий права доступа от исходного файла. Не забудьте проверить эти данные и в случае необходимости внесите в них изменения командой chmod.

* Помните о том, что временные каталоги открыты для всех.

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

 

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

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



Прислушайтесь к следующим рекомендациям:

1. Снимите полномочия типа execsuid, chmodsugid и chown с вашей программы командой auths. Такая операция не позволит программе запускать другие SUID-программы, создавать SUID-файлы с передачей их в ваше владение и отбирать их обратно с помощью команды chown. auths -r execsuid,chmodsugid,chown

2. Создайте "шлюзовой" каталог. Затем перенесите все файлы, обрабатываемые программой, в подкаталог указанного каталога. После этого смените маску защиты для "шлюзового" каталога на 000 командой chmod:

mkdir /usr/you/gateway

mkdir /usr/you/gateway/test

cd /usr/you/gateway/test

cp /usr/you/testfiles/* .

chmod 000 /usr/you/gateway

ls -ldu /usr/you/gateway

Обратите внимание на время, содержащееся в сообщении команды ls. Это время является моментом выполнения предыдущей команды chmod.

3. Закройте доступ к вашему загрузочному каталогу:

chmod 000 /usr/you

4. Обратите внимание на сообщение команды ls:

cd

ls -ldu

Время, содержащееся в сообщении, может измениться. Это говорит о том, что ваш каталог был открыт и закрыт программой.

5. Запустите программу. Все обращения к файлам по относительным составным именам, начинающимся от каталога /usr/you/gateway/test, остановятся на уровне "шлюзового" каталога и любые другие попытки получить доступ к файлам в вашей иерархии остановятся на уровне вашего загрузочного каталога.

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

7. После запуска программы следите за появляющимися сообщениями об ошибках и файлами-невидимками (используя команду ls с опцией -a). Обращайте особое внимание на время последнего обращения к вашему загрузочному и "шлюзовому" каталогам:

ls -ldu /usr/you

chmod 750 /usr/you

ls -ldu /usr/you/gateway

8. В зависимости от вашего желания вы можете восстановить прежние права доступа к "шлюзовому" каталогу:

chmod 750 /usr/you/gateway

Теперь вы можете вывести результаты программы, убрать "шлюзовой" каталог и т.д.

Благодаря вышеописанной процедуре большая часть ваших файлов будет защищена от нанесения ущерба. Тем не менее, изощренные атаки, управляющие доступом к вашим "шлюзовому" и загрузочному каталогам и нарушающие целостность ваших файлов, могут быть обнаружены только по своим последствиям. Если программа не вызывает вашего доверия, перед ее запуском следует сохранить вашу файловую структуру или проанализировать исходный текст самой программы.

 



<== предыдущая лекция | следующая лекция ==>
Вход и выход | Шифрование информации - команды и описания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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