Автор: Пользователь скрыл имя, 07 Января 2013 в 19:11, доклад
Операционная система Unix зародилась в 1969 г. в рамках научно-исследовательского проекта лабораторий Bell Labs корпорации AT&T. А в 1976 г. Unix стал бесплатно распространяться в университетской среде, что послужило появлению многочисленных курсов по операционным системам и, соответственно, для дипломных проектов.
Операционная система Unix зародилась в 1969 г. в рамках научно-исследовательского проекта лабораторий Bell Labs корпорации AT&T. А в 1976 г. Unix стал бесплатно распространяться в университетской среде, что послужило появлению многочисленных курсов по операционным системам и, соответственно, для дипломных проектов.
В конце 70-х гг. в AT&T была создана группа поддержки UNIX (Unix Support Group, USG), впоследствии преобразованная в систему лабораторий UNIX (Unix System Laboratories, USL). Задача группы была – «раскрутка» Unix как коммерческого продукта. Разработку системы продолжили и в Bell Labs, и в USG, но в разных направлениях. Версия USL – System III и System V – получили широкое распространение и оказали большое влияние на развитие современных операционных систем.
ОС Berkeley UNIX была создана в 1977г., когда исследовательская группа по вычислительным системам (Computer System Research Group, CSRG), организованная в Калифорнийском университете в Беркли, приобрела лицензию на исходный код системы у компании AT&T. Версии, которые выпускала эта группа, сокращенно назывались BSD (Berkeley Software Distribution). Их начали выпускать в 1977 г. с версии 1BSD для машины PDP – 11 и достиг кульминации в 1993 г., когда была выпущена версия 4.4BSD.
Для коммерческих пользователей лицензии AT&T на исходные тексты всегда стоили очень догоро. Для университетов они сначала были бесплатными или очень дешевыми, но по мере завоевания Unix коммерческого признания цена быстро возросла. В итоге, специалисты Berkeley приняли убрать код AT&T из BSD. Работа предстояла долгая, сложная, утомительная и кропотливая. Незадолго до ее завершения университет лишился финансирования в области исследований операционных систем и исследовательскую группу по вычислительным системам расформировали.
Перед расформированием группа выпустила финальную версию системы без кода AT&T – 4.4BSD – Lite. Большинство современных версий BSD Unix (включая BSD/OS, FreeBSD, NetBSD и OpenBSD) ведут свое начало именно от этой системы(4.4BSD-Lite).
Хотя системы BSD и System V лежат в основе большинства других версий Unix, сами они никогда не были под коммерческим влиянием. Обычно поставщики выбирали одну из систем в качестве шаблона (исходного варианта), на основе которого разрабатывали свою собственную ОС. Иногда на свет появлялись гибриды, соединяющие в себя черты нескольких базовых систем. Неудевительно, что со временем версии Unix стали достаточно существенно отличаться друг от друга.
Настоящим потрясением для мира Unix стало появление ядра Linux, которое сегодня внедрено во многие Unix-системы. Разработка его началась в 1991 г. и была личной инициативой финского аспиранта Линуса Торвальдса (Linux Torvalds), который задался целью переписать стандартное ядро Unix. Со временем к проекту подключилось множество разработчиков, польхователей и прочих энтузиастов. В результате было создано полнофункциональное ядро ситемы промышленного уровня, поддерживаемое многими поставщиками.
Одни из популярных вариантов Unix являются: Solaris 10,Solaris 11, HP-UX 11.31, Red Hat Linux 9 и FreeBSD 9.
OS Salaris компьютерная операционная система, разработанная компанией Sun Microsystem, которая ныне принадлежит Oracle Corporation. Несмотря на то, что Solaris — операционная система с закрытым кодом, большая его часть открыта и опубликована в проектеOpenSolaris. В начале 1990-ч годов Sun Microsystem заменила основанную на BSD SunOS 4 на Unix System V (SVR4), разрабатываемую совместно с AT&T, а также изменила имя SunOS 5 на Solaris 2. А после выхода версии 2.6 Sun Microsystem отбросила из имени «2.», и слудующая версия уже называлась Solaris 7. Solaris – это операционная система SunOS с графической оболочкой и некоторыми дополнительными компонентами.
OS HP-UX компании Hewlett-Packard является гибридом между System V и Berkeley Unix. В HP-UX впервые была представлена система списка контроля доступа для контроля доступа к файлам вместо традиционной системы решений Unix. HP-UX была среди первых UNIX-систем со встроенным менеджером логических дисков.
Red Hat Linux – популярный ранее дистрибутив Linux компании Red Hat. Выпускался с 1995 по 2003 год включительно. На основе Red Hat Linux были созданны такие дистрибутивы, как Mandiva и ASPLinux. Последняя вресия Red Hat Linux была выпущена в 2003 году (Red Hat Linux 9), а в 2004 году компания Red Hat прекратила поддержку Red Hat Linux.
FreeBSD – свободная Unix-подобная ОС, потомок AT&T по линии BSD, созданной в университете Berkeley. FreeBSD работает на PC-совместимых ситемах семейства х86, включая Microsoft Xbox, а также на AMD64, PowerPC. FreeBSD разрабатывается как целостная операционная система. Она хорошо зарекомендовала себя как система для построения интранет- и интернет-серверов. Предоставляет достаточно надежные сетевые службы и эффективное управление памятью.
Наиболее распространенная
в настоящее время на подключенных
к интернету компьютерах
Чаще всего используют уязвимости Windows в IIS. За последнее время было написано большое количество сетевых червей, которые используют эту уязвимость. Самы извесный из них – CoreRed. Впервые был обнаружен 17 июля 2001 года, и, по некоторым источникам, заразил около 300 тысяч компьютеров, помешал работе множества предприятий и нанес колосальный финансовый ущерб организациям по всему миру.
Сетевой червь Spida, обнаруженный спустя почти год после появления CodeRed, использовал для своего распространения открытость в MS SQL. Некоторые стандартные инсталляции MS SQL не защищали паролем системный аккаунт «SA», позволяя любому человеку с доступом к системе через сеть запускать на ней на исполнение произвольные команды. При использовании этой уязвимости, червь открывает аккаунту «Guest» полный доступ к файлам компьютера, после чего производит загрузку самого себя на заражаемый сервер.
Сетевой червь Slammer, обнаруженный в конце января 2003 года, использовал более простой способ заражения компьютеров под управлением Windows с работающим сервером MS SQL, а именно — уязвимость при переполнении буфера в одной из подпроцедур обработки UDP-пакетов. Поскольку червь был достаточно мал — всего 376 байт — и использовал протокол UDP, предназначенный для быстрой пересылки малых объемов данных, Slammer распространялся с невероятной скоростью. По некоторым оценкам, Slammer поразил порядка 75 тысяч компьютеров по всему миру за первые 15 минут эпидемии.
Три этих характерных сетевых червя использовали уязвимости и открытости в программах, работающих на разных версиях Microsoft Windows, в то время как обнаруженный 11 августа 2003 года червь Lovesan использовал для своего распространения гораздо более опасную уязвимость при переполнении буфера в одном из основных компонентов самой Windows.
Sasser, впервые появившийся в мае 2004 года, использовал еще одну уязвимость в компоненте ядра Windows, в службе Local Security Authority Subsystem Service (LSASS). Sasser распространялся молниеносно и заразил миллионы компьютеров, причинив огромный финансовый ущерб.
Разумеется, все операционные системы содержат уязвимости и открытости, которые могут быть использованы хакерами и создателями вирусов в своих целях. Хоть уязвимости Windows и получают наибольшее освещение из-за огромного числа компьютеров, работающих под управлением этой операционной системы, свои слабые места есть и у UNIX.
Одной из наиболее распространенной открытости в мире UNIX была служба finger. Эта служба позволяет пользователям вне какой-либо сети видеть, кто в настоящее время к этой сети подключен, с каких компьютеров и какие сетевые ресурсы используются. Finger полезен, но раскрывает слишком много интересной хакерам информации.
Вот пример того, как выглядит результат работы службы finger:
Login Name Tty
xenon pts/7
polly pts/3
cracker DarkHacker pts/6
Исходя из данных, представленных в таблице, можно заметить, какая информация доступна всем пользователям, умеющим пользоваться службой finger:
- к сети подключено три пользователя;
- два из них не обращались к ресурсам уже более двух суток;
- последний отошел от компьютера 22 минуты назад.
В дальнейшем все логины можно будет использовать в подборе пароля. Так как зачастую пароль составляется: логин+какие-либо символы в конце.
Служба finger не только открывает важную информацию о сервере, на котором она работает, но является целью множества эксплойтов, одним из которых пользовался самый первый сетевой червь, созданный Робертом Моррисом (Robert Morris) 2 ноября 1988 года. По этой причине большинство современных дистрибутивов UNIX поставляются с отключенным сервисом finger.
В мире UNIX есть множество других часто используемых уязвимостей в программных пакетах вроде SSH, Apache, WU-FTPD, BIND, IMAP/POP3 и в различных частях ядра ОС.
Из вышеперечисленного, можно сделать вывод, что сетевой червь или иная автоматизированная хакерская утилита, распространяющаяся через уязвимости в подключенных к интеренету компьютерах под управлением Windows, число которых невероятно велико, представляет собой серьезную опасность в стабильности и работоспособности всего интернета.
Рис.1. Причины
уязвимости UNIX
Самые уязвимые части идеалогии Unix являются 1 и 2 механизмы, так как пользователь в этих случаях взаимодействует с процессами, имеющие большие привилегии, а следовательно любая ошибка автоматически ведет к использованию этих привилегий.
Причины, по которым демоны и SUID/SGID-процессы становятся уязвимыми:
К первому пункту можно отнести классическую ситуацию с переполнением буфера или размерности массива. Заметим сразу, что конкретные атаки, несмотря на универсальность способа, всегда будут системозависимыми и ориентированными только на конкретную платформу и версию UNIX.
Люком или "черным входом" (backdoor) часто называют оставленную разработчиком недокументированную возможность взаимодействия с системой (чаще всего - входа в нее), например, известный только разработчику универсальный "пароль". Люки оставляют в конечных программах вследствие ошибки, не убрав отладочный код, или вследствие необходимости продолжения отладки уже в реальной системе из-за ее высокой сложности, или же из корыстных интересов. Люки - это любимый путь в удаленную систему не только у хакеров, но и у журналистов, и режиссеров вместе с подбором "главного" пароля перебором за минуту до взрыва, но, в отличие от последнего способа, люки реально существуют. Классический пример люка - это, конечно, отладочный режим в sendmail*.
*Вирус использовал функцию "debug" программы sendmail, которая устанавливала отладочный режим для текущего сеанса связи. Дополнительная возможность отладочного режима заключается в том, чтобы посылать сообщения, снабженные программой-получателем, которая запускается на удаленной машине и осуществляет прием сообщения. Эта возможность, не предусмотренная протоколом SMTP, использовалась разработчиками для отладки программы и в рабочей версии была оставлена по ошибке. Вследствие чего, была доступна для атаки. Спецификация программы, которая будет выполняться при получении почты, содержится в файле псевдонимов (aliases) программы sendmail или в пользовательском файле .forward. Такая спецификация используется программами, обрабатывающими или сортирующими почту, и не должна применяться самой программой sendmail. В вирусе эта программа-получатель содержала команды, убирающие заголовки почты, после чего посылала остаток сообщения командному интерпретатору, который создавал, компилировал и выполнял программу на языке С, служившую "абордажным крюком", и та, в свою очередь, принимала оставшиеся модули из атакующей машины. Вирус заражал компьютеры двух типов - VAX и Sun, поэтому пересылались двоичные коды для каждой архитектуры, оба запускались, но исполняться мог только один. В компьютерах других архитектур программы не могли функционировать, хотя и поглощали системные ресурсы в момент компиляции.
Многие особенности UNIX, такие как асинхронное выполнение процессов, развитые командный язык и файловая система, позволяют использовать механизмы подмены одного субъекта или объекта другим. В примере с Sendmail применялась замена имени файла или имени получателя на имя программы. Так и тут, может быть выполнена замена специальных переменных.Для некоторых версий Unix существует атака, связанная с подменой IFS (internal field separator - символ разделителя команд или функций) на символ "/". Это приводит к следующему: когда программа вызывает /bin/sh, вместо него вызывается файл bin с параметром sh в текущем каталоге. Весьма популярной подменой в Unix системах является создание ссылки (link)на критичный файл. После этого файл-ссылка некоторым образом получает дополнительные права доступа, и тем самым осуществляется несанкционированный доступ к исходному файлу.
И, конечно же, не стоит забывать о роли человека в обеспечении безопасности системы. Неправильное администрирование – весьма актуальная проблема, а для Unix она особо критична, так как сложность администрирования Unix систем давно уже всем известна, обычно этим и пользуются конкуренты. Но за все надо платить, а это – обратная сторона переносимости и гибкости Unix.
Настройка некоторых приложений давольно сложная процедура. Поэтому для поддержания работоспособности необходим специальный целовек – системный администратор, но даже он не всегда знает обо всех тонкостях тех или иных приложений, правильности их настройки.