9938

Информационная безопасность при использовании ОС Linux

Реферат

Информатика, кибернетика и программирование

Информационная безопасность при использовании ОС Linux Система ASPLinux, построенная на базе Red Hat Linux и поддерживающая стандарт IEEE POSIX (Portable Operating System Interface), обеспечивает многоуровневую систему приоритетов с в...

Русский

2013-03-18

57.5 KB

49 чел.

 7 -

Информационная безопасность при использовании ОС Linux

Система ASPLinux, построеная на базе Red Hat Linux и поддерживающая  стандарт IEEE POSIX (Portable Operating System Interface), обеспечивает многоуровневую систему приоритетов с вытесняющей многозадачностью, виртуальную организацию памяти и полную сетевую поддержку. Различные дистрибутивы операционной системы Linux, в частности ASPLinux, установленные на Интернет-серверы в сочетании с антивирусными программами, гарантируют максимальную безопасность внутренней сети предприятия. ОС ASPLinux, практически не поддающаяся атакам вирусов и обладающая встроенными средствами защиты от посторонних вторжений, например от хакерских, — надежное решение для построения сервера безопасности.

В общем случае под безопасностью подразумевается предотвращение несанкционированного доступа. Впрочем, как правило, системы страдают от внедрения вирусов или от происков злоумышленников. По данным Вирусной лаборатории (http://www.viruslist.com/virus-list.html?id=4285), в настоящее время существует ни много ни мало семь вирусов, способных внедриться в Linux.

Возникает закономерный вопрос: почему для Windows и ее приложений вирусы появляются чуть ли не ежедневно, а в случае с Linux этого не происходит?

Во-первых, Linux — многопользовательская система.

Во-вторых, вследствие классического построения Linux как «кирпичного здания», где каждый «кирпичик» — отдельная программа, имеющая свой путь развития, свои версии, достоинства и недостатки, вероятность распространения вируса снижается, поскольку он должен обладать некоторым «интеллектом», чтобы распознавать бреши в системе безопасности тех или иных программ.

В-третьих, при распространении в Сети вирусы часто используют почтовое ПО, самостоятельно запускающее исполняемые файлы.

В-четвертых, у Linux, как и у любой другой системы семейства UNIX-подобных, существует брандмауэр (межсетевой экран, firewall), при правильной настройке которого значительно снижается риск получить вирус через программу, работающую сервисом в локальной сети.

В-пятых, открытость исходных текстов способствует высокой защищенности Linux. Аудит кода производится тысячами программистов во всем мире, поэтому уязвимые места, как правило, достаточно быстро удаляются.

В-шестых, Linux переняла многое из программного обеспечения, разработанного ранее на старых ОС, где количество «дыр» значительно ниже в силу их возраста.

Конечно, здесь приведен далеко не полный список преимуществ Linux в сфере безопасности. Рассмотрим подробнее, как они влияют на распространяемость вирусов в сетях.

Вирусы условно можно разделить на несколько видов:

  •  Boot-вирусы, поражающие загрузочные секторы жесткого диска. При работе в Linux и других UNIX-подобных ОС их функционирование невозможно из-за отсутствия прямого доступа к физическим секторам жестких дисков.
  •  Вирусы, поражающие исполняемые файлы и системные библиотеки. В среде Linux такое воздействие невозможно, поскольку процесс, происходящий при работе рядового пользователя, не имеет права на запись ни в один системный файл или каталог.
  •  Вирусы-троянцы, автоматически запускаемые фоновым процессом и производящие вредоносные действия — порчу информации или передачу конфиденциальных данных злоумышленнику. Данный механизм практически неосуществим в Linux из-за того, что системный администратор может ежесекундно контролировать любой процесс, происходящий в данный момент в системе. В фоновом режиме, запущенном от имени рядового пользователя, невозможно прочитать ни одного важного файла, открывающего доступ к файлам других пользователей. Существует еще одно препятствие к запуску такого вируса в Linux: при разработке троянской программы для любой UNIX-подобной системы злоумышленнику требуется точно знать конфигурацию системы и состав входящих в нее библиотек, иначе программа просто не запустится или будет выполнять совсем не то, что было задумано автором.
  •  Скриптовые вирусы, распространяемые в файлах закрытого формата (*.DOC, *.XLS). Они не способны активизироваться, даже если принесены на UNIX-подобную ОС, поскольку зачастую пишутся специально под продукты Microsoft. При импорте из формата файлов Microsoft в такие программы, как StarOffice/OpenOffice.org, gnumeric, KOffice, AbiWord, данные макросы обезвреживаются.
  •  Вирусы, приходящие вместе с электронной почтой. Практически все перечисленные выше вирусы могут спокойно распространяться таким образом. Известные почтовые клиенты для Windows-систем используют стандартное API, чтобы открывать файлы, присланные во вложении к электронному письму. Поэтому файлы с расширениями *.ехе, *.com, *.pif, *.bat, *.dll при попытке открытия такого письма зачастую будут запущены операционной системой без предупреждения пользователя, а вирус получит полный доступ к файловой системе и дисковым накопителям компьютера. В среде Linux подобное невозможно, поскольку ни одна почтовая программа не будет автоматически исполнять ни один файл (как известно, в UNIX-подобных системах признаком исполняемости файла является наличие не определенного расширения *.com, *.ехе, *.pif, …, а специального атрибута файла, не передающегося через почтовые сообщения). На сервере с установленным антивирусом eSafe или AVP Касперского подобные вирусы можно обезвреживать на этапе обработки письма почтовым роботом, что обеспечивает защищенность входящих в локальную сеть рабочих станций с различными версиями Windows.

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

Еще один немаловажный момент обеспечения безопасности любой ОС — ее стойкость к хакерским атакам. Для защиты от нападений такого рода и строят межсетевые экраны. Как дополнительное средство обеспечения безопасности все системы на базе Linux имеют развитую схему фильтрации пакетов (statefull firewall), которая позволяет защититься от распространения вирусов напрямую, в обход почтовых и файловых серверов с поддержкой проверки антивирусными программами, а также обезопасить компьютеры от несанкционированного доступа к ресурсам, на которых установлена ОС Windows, и от атак типа DoS (Deny-of-Service — отказ от обслуживания), рассчитанных на блокирование предоставления какого-либо сервиса, а также на использование уязвимых мест в известных общеупотребимых сервисах.

Хакеры довольно часто нападают на различные сервисы, работающие от имени суперпользователя, к примеру на ftpd, рорЗ, imap, ntp, sshd и др., которым необходима авторизация пользователей или прямой доступ к сетевым интерфейсам. Такие атаки производятся с помощью эксплоитов. Эксплоиты – специальные хакерские программы, использующие ошибку в каком-либо конкретном ПО. Они нужны для получения доступа к компьютеру через слабые места в программах, запущенных суперпользователем. Разные эксплоиты делают разные гадости, эксплуатируют разные ошибки и потому не универсальны. Чаще всего они вызывают аварийную остановку программы. Эти эксплоиты посылают специальные последовательности символов, переполняющие внутренние буфера программы, и выполняют код, содержащийся в посланной последовательности. В ASPLinux существует встроенная защита от атак типа buffer overflow (переполнение буфера), о чем подробнее написано ниже.

Рецепты разработчиков

На практике команда ASPLinux встречалась с хакерскими атаками на вовремя не обновленный DNS-сервер BIND и в другом случае на сервер NTP (network time protocol) — XNTPD. Сценарий обоих нападений примерно одинаков. Используя уязвимость программы-сервера, на систему по сети переносится почти полноценный стандартный так называемый RootKit — набор программ для взлома, подменяющий основные системные утилиты по контролю процессов, которые, как правило, запускаются от суперпользователя (root). В их число обычно входят следующие команды: login, ps, top, netstat, route и т.п. Загрузка необходимых программ во время старта операционной системы устанавливалась путем редактирования файла /etc/re.d/rc.sysinit.

Также на зараженной системе запускались sniffer — программа мониторинга сетевых пакетов на предмет отлавливания паролей на различные виды сервисов — и IRC bot для каналов IRC.

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

Рекомендации по профилактике на такие случаи следующие. Необходимо проверить на правильность контрольных сумм пакеты initscripts, psacct, procps, net-tools, util-linux или вообще все пакеты, воспользовавшись командой rpm-Va.

Если на какой-то бинарный файл команда выдает ошибку контрольной суммы MD5, то стоит просмотреть систему и восстановить поврежденные пакеты из дистрибутива командой rpm -Uvh — force <имя_файла_грт>. Затем, по команде ps просмотреть текущие процессы в памяти и остановить сомнительные из них. После чего необходимо найти сам комплект программ RootKit и удалить его. Обычно такого рода комплекты маскируются в системных каталогах или создают каталог с именем подобным «...». В конце всех проделанных операций следует заняться поиском уязвимости, например проанализировав содержимое /var/log/messages, если оно не оказалось стертым, и устранением ее путем правки соответствующих исходных текстов и перекомпиляции программ или замены старых версий ПО на новые. В подавляющем большинстве случаев все эти комплекты используют слабые места полугодичной давности, поэтому при своевременной установке обновлений риск вторжения снижается значительно.

Особенность ASPLinux — встроенные средства борьбы с несанкционированным доступом. Они включают в себя защиту от исполнения кода в сегменте стека и операции с «небезопасными» символическими ссылками и FIFO. First-In First-Out — специальный файл типа очереди — «первым вошел, первым вышел»; именованный канал, который может быть открыт несколькими процессами для чтения или записи. Когда процессы обмениваются данными через FIFO, ядро передает их непосредственно, без промежуточного сохранения в файле на диске.

Вот основные «заплатки», заимствованные из дистрибутива OpenWall:

  •  Неисполняемый пользовательский стек.

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

  •  Ограниченные FIFO в каталоге /Imp.

Такое дополнение позволяет ограничить запись в недоверенные FIFO, что позволяет делать атаки смены данных (data spoof) более затруднительными. Включение этой особенности не разрешает запись в FIFO, которые не принадлежат пользователям, в каталогах с атрибутом -И, кроме случаев, когда владелец FIFO и каталога один и тот же, или FIFO был открыт без флага O_CREATE.

(Более детальное описание http://www.openwall.com/linux/REA DMEnFAQ.)

Безопасностью самого продукта ASPLinux в компании занимается Chief Security Officer Александр Каневский, работа которого полностью посвящена исследованиям пакетов на предмет выявления ошибок, а также учету наработок других команд, занимающихся аудитом текста открытого ПО (security audit) и объединяющих Red Hat, OpenWall, SuSE, OpenBSD и др.

P.S. Опыт работы сайта http://www.linuxnews.ru показывает, что с августа 2001 г. этот популярный Web-ресурс пытались поломать 72 593 раза, заходя с 1704 уникальных адресов, по все нападения успешно отражались, так как подавляющее большинство из них было рассчитано на атаку против серверов, использующих Microsoft IIS.


 

А также другие работы, которые могут Вас заинтересовать

20419. АСУ «Экспресс» 31.5 KB
  АСУ Экспресс начала работать в 1972 году на Московском железнодорожном узле. Она получила название Экспресс1 и предназначалась для массового обслуживания пассажиров в реальном масштабе времени. Основной целью создания системы Экспресс1 являлось получение опыта в автоматизации управления билетнокассовыми операциями в масштабе такого крупного железнодорожного узла как Москва обслуживающего в сутки до 250 тысяч пассажиров поездами прямого и местного сообщения.
20420. Система АСУ Экспресс 66.5 KB
  1972 Система Экспресс1 запущена в эксплуатацию в предварительных кассах Киевского вокзала Москвы. 1974 Система Экспресс1 введена в эксплуатацию в масштабе Московского железнодорожного узла. 1982 Система Экспресс2 запущена в Москве с обслуживанием пассажиров через бюро заказов по телефону.
20421. Диаграмма классов (class diagram) 207 KB
  В этих разделах могут указываться имя класса атрибуты переменные и операции методы. Имя класса должно быть уникальным в пределах пакета который описывается некоторой совокупностью диаграмм классов или одной диаграммой. В дополнение к общему правилу наименования элементов языка UML имя класса записывается по центру секции имени полужирным шрифтом и должно начинаться с заглавной буквы. В первой секции обозначения класса могут находиться ссылки на стандартные шаблоны или абстрактные классы от которых образован данный класс и от которых он...
20422. Основные пакеты метамодели языка UML 282 KB
  org view=Basic_packages_metamodeli_language_UML 2730 Основные пакеты метамодели языка UML Возвращаясь к рассмотрению языка UML напомним что основой его представления на метамодельном уровне является описание трех его логических блоков или пакетов: Основные элементы Элементы поведения и Общие механизмы рис. Пакет Типы данных определяет основные структуры данных для языка UML. Основные пакеты метамодели языка UML Рис. Подпакеты пакета Основные элементы языка UML Пакет Основные элементы Ниже дается краткая характеристика элементов...
20423. Жизненный цикл ИС 86 KB
  Модель жизненного цикла отражает различные состояния системы начиная с момента возникновения необходимости в данной ИС и заканчивая моментом ее полного выхода из употребления. Модель жизненного цикла структура содержащая процессы действия и задачи которые осуществляются в ходе разработки функционирования и сопровождения программного продукта в течение всей жизни системы от определения требований до завершения ее использования. В настоящее время известны и используются следующие модели жизненного цикла: Каскадная модель рис....
20424. Мультипроцессоры 58 KB
  Мультипроцессоры Мультипроцессорные системы обладают одной характерной особенностью: все процессоры имеют прямой доступ к общей памяти. Мультипроцессорные системы шинной архитектуры состоят из некоторого количества процессоров подсоединенных к общей шине а через нее к модулям памяти. Простейшая конфигурация содержит плату с шиной или материнскую плату в которую вставляются процессоры и модули памяти. Поскольку используется единая память когда процессор А записывает слово в память а процессор В микросекундой позже считывает слово из...
20425. Компоненты NET 231.5 KB
  Использовать методы службы NET Romoting . Однако WCF содержит и другой тип сериализатора NetDataContractSerializer который является полной копией стандартного сериализатора однако помимо всего прочего он добавляет полное имя типа в сериализованный поток байтов. Хостинг IIS Internet Information Server WPF Приложения WPF строятся на основе языка XAML и языка реализации логики C.
20426. Определение распределенной системы 210 KB
  В литературе можно найти различные определения распределенных систем причем ни одно из них не является удовлетворительным и не согласуется с остальными. Возможно вместо того чтобы рассматривать определения разумнее будет сосредоточиться на важных характеристиках распределенных систем. То же самое относится и к внешней организации распределенных систем. Другой важной характеристикой распределенных систем является способ при помощи которого пользователи и приложения единообразно работают в распределенных системах независимо от того где и...
20427. Концепции аппаратных решений 64 KB
  Концепции аппаратных решений Несмотря на то что все распределенные системы содержат по нескольку процессоров существуют различные способы их организации в систему. Нас интересуют исключительно системы построенные из набора независимых компьютеров. Системы в которых компьютеры используют память совместно обычно называются мультипроцессорами multiprocessors а работающие каждый со своей памятью мультикомпьютерами multicomputers. Коммутируемые системы в отличие от шинных не имеют единой магистрали такой как у кабельного телевидения.