П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3568 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6155 раз(а).

Учебник HTML.
Просмотров 3300 раз(а).

Руководство по PHP5.
Просмотров 5531 раз(а).

Хостинг через призму DNS.
Просмотров 4187 раз(а).

Подборка текстов стандартных документов.
Просмотров 55794 раз(а).

Учебник PHP - Самоучитель
Просмотров 3124 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 6195 раз(а).

Внешние атаки...
Просмотров 3875 раз(а).

Учебник PHP.
Просмотров 2843 раз(а).

SSI в примерах.
Просмотров 37485 раз(а).






 
 
| Добавить в избранное | Сделать стартовой Project.Net.Ru | Помощь





Введение

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

Для сисадмина каждодневная работа состоит в чтении списков, посвященных проблемам безопасности, и немедленном обновлении пакетов, упомянутых в этих списках. Программисту может быть полезным проверка подобных проблем безопасности, так как избежание дыр в безопасности в начале - лучший способ исправления их. Мы попытаемся определить некоторые "классические" опасные поведения программ и дадим советы, как уменьшить риск. Мы не будем говорить о проблемах сетевой безовасности, так как они часто возникают из-за ошибок в конфигурации (небезопасные скрипты cgi-bin, ...) или из-за ошибок в системе, позволяющих проводить атаки DOS-типа(Denial Of Service - отказ в обслуживании), мешая машине принимать запросы от своих клиентов. Эти проблемы - забота сисадминов и разработчиков ядра. Однако и программист приложения должен защитить код, как только программа получает доступ к внешним данным пользователя. Некоторые версии pine, acroread, netscape, access,... имеют превышенный доступ к информации или производят утечку информации при некоторых условиях. По существу, безопасность программирования - забота каждого.

Данный цикл статей показывает методы, которые могут быть использованы для повреждения Unix системы. Мы могли бы только упомянуть о них или сказать пару слов, однако мы предпочитаем полное разъяснение, чтобы дать людям осознать риск. Таким образом, при отладке программы или при разработке своей, вы сможете обойти или исправить эти ошибки. При рассмотрении каждой дыры, мы будем придерживаться одного подхода. Будем начинать с уточнения способа ее работы. Затем, мы покажем как избежать ее. Для каждого примера мы будем использовать дыры в безопасности до сих пор присутствующие в широко распространенном програмном обеспечении.

В данной - первой - статье рассказывается об основах, нужных для изучения дыр в безопасности: знакомство с привилегиями и битами Set-UID и Set-GID. Далее мы анализируем дыры основанные на функции system(), так как они просты для понимания.

Мы будем часто использовать маленькие программы на Си, чтобы показать то, о чем мы говорим. Однако подходы, описаные в данных статьях, применимы и к другим языкам программирования: perl, java, скрипты shell... Некоторые дыры в безопасности зависят от языка, однако это не всегда так, что мы и увидим при рассмотрении system().

Назад | Содержание | Вперед



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru