Уже давно ходят споры о том, нужны ли сайты наподобие www.securityfocus.com. С одной стороны, они позволяют администраторам получать сведения об уязвимостях, а с другой — хакеры узнают, как можно взломать систему. Я считаю, что такие сайты должны существовать, проблема тут не в этом. Просто большинство администраторов никогда сюда не заходят, а узнают о наличии "тонких мест" в программном обеспечении только тогда, когда их сеть/сайт/сервер взломаны. Даже если вспомнить какую-либо брешь девяностых годов, можно найти в Интернете компьютер или сервер, который содержит эту уязвимость. Я бы таких администраторов увольнял без разговора.
Если вы думаете, что ежедневные проверки обновлений смогут спасти систему, то сильно ошибаетесь. После того, как найдена уязвимость, и до момента выхода обновления проходит некоторое время, и в этот период опасность проникновения на компьютер максимальная. Любой хакер, узнавший метод взлома, может начать штурм, и обязательно добьется успеха. Вы должны раньше него узнать об уязвимости и принять меры по предотвращению вторжения, пока не появится обновление.
Уязвимыми оказываются как сервисы, так и ядро ОС. Если погрешность найдена в программе, то ее нужно обновить, скачав более новую версию с сайта производителя. С ошибками в ОС дело обстоит сложнее. Тут необходимо обновление ядра, что не так уж и просто, если производить операцию из исходных кодов. Но можно облегчить себе задачу, если использовать RPM-пакет, тогда установка будет не намного сложнее, чем любой другой программы.
Помимо официальных обновлений ядра существует множество заплаток, написанных сторонними разработчиками (SELinux, lcap, LIDS и т.д.). Все они предназначены для защиты системы на уровне ядра ОС. Например, можно запретить выполнение кода из стека, что сделает невозможным многие атаки, использующие его переполнение. Некоторые заплатки запрещают просмотр каталога /proc, следят за процессами в системе, защищают от сканирования портов и многое другое.
Почему я не рассматривал примеры сторонних патчей ядра более подробно раньше? Большинство из них требуют перекомпиляции ядра и работают не со всеми версиями/ядрами ОС Linux, а также требуют немалых усилий при установке. Безопасность повышается, и это факт, но стабильность может пошатнуться, потому что эти заплатки делаются сторонними разработчиками, а Red Hat просто может их не учесть.
Именно поэтому я не включал обзор этой тему в данную книгу. Но вы должны знать о существовании таких патчей, и может быть возможности какой-то заплатки вам покажутся удобными и помогут в обеспечении безопасности системы. Но любая их установка будет происходить на ваш страх и риск. Вы также должны учитывать, что обновление ядра может вызвать проблемы. К тому же, каждое новое устанавливаемое вами ядро тоже нужно будет патчить.
Одна из важнейших составляющих эффективного управления — образование. В России проблема повышения квалификации стоит особо остро. Сколько администраторов самоучек? Очень много!!! Да и обучение (особенно в регионах) оставляет желать лучшего.
Многие специалисты в сфере безопасности не имеют специального образования. Я достаточно часто общаюсь с администраторами, и, глядя на компьютер, могу сказать, хороший он или нет. Если на компьютере стоят игры, то на 90% такой администратор свободное время тратит на разборки с монстрами. Если игрушек нет, и софт связан только с профессиональной деятельностью, то такой администратор хороший или может стать таким.
Компьютерные технологии стремительно развиваются, и если свободное время на работе тратить на бег с пистолетом по темным коридорам, то не сегодня, так завтра знания устареют. Нужно постоянно повышать свою квалификацию и осваивать что-то новое.
Специальное образование — это хорошо, но оно дает только базовые знания, которые можно получить из литературы в течение месяца. Более конкретные сведения устаревают еще до того момента, как вы закончите высшее учебное заведение, и без подпитки свежими данными можно превратиться в простого продвинутого пользователя.
Кто хорошо работает, тот должен обязательно отдыхать. Но только надо помнить, что деятельность специалиста по безопасности заключается не только в решении текущих задач, но и в повышении квалификации.
14.2. Переполнение буфера
Это одна из самых популярных и в то же время наиболее сложная в использовании уязвимость. Для начала определимся, почему программисты допускают такие ошибки, при которых возможно выполнить переполнение буфера?
Читать дальше
Конец ознакомительного отрывка
Купить книгу