Брандмауэры и специальное программное обеспечение




страница2/42
Дата15.02.2017
Размер6.16 Mb.
Просмотров1238
Скачиваний0
ТипАнализ
1   2   3   4   5   6   7   8   9   ...   42
Часть 1. Ваш узел
Материал этой части поможет вам понять организацию защиты вашего сетевого узла. Вы узнаете о пользователях, разрешениях на доступ, защите файлов и о том, как работает ваш узел. В данном разделе рассказывается, как организована защита доступа к системе со стороны пользователей, авторизованных для подключения к системе, а кроме того, как защитить вашу систему в процессе начальной загрузки.
Часть 2. Ваша сеть
Материал во второй части книги объясняет принципы работы сетей, а также содержит сведения, необходимые вам для того, чтобы понять основные приемы атак на компьютерные системы. Прочитав данную часть, вы поймете, что именно интересует злоумышленников в вашей системе и что они разыскивают, пытаясь проникнуть в ваш компьютер. Поняв это, вы сможете более эффективно противодействовать им.
Часть 3. Брандмауэры и специальное программное обеспечение
В третьей части рассказывается об использовании брандмауэров и другого специализированного программного обеспечения, позволяющего поднять уровень защиты вашей системы.
Часть 4. Аудит системы безопасности
Четвертая часть рассказывает о том, как организовать наблюдение за вашей системой. Прочитав ее, вы узнаете, как настроить систему протоколирования, как определить, какие именно данные должны протоколироваться, как настроить местоположение файлов журналов и как осуществлять чтение этих журналов в последующем. Вы также узнаете о том, каким образом злоумышленники могут повлиять на содержимое журналов. Вы узнаете, как следить за действиями злоумышленников, как обнаруживать попытки несанкционированного проникновения в систему и как противодействовать им. Наконец, вы познакомитесь с программными средствами, которые злоумышленники используют для изучения уязвимых мест вашей системы.
Приложения
В конце книги содержатся два приложения. В первом из них вы найдете перечень утилит, связанных с безопасностью, которые могут оказаться полезными для вас (некоторые из них записаны на прилагаемом к данной книге компакт-диске). Второе приложение описывает программы, записанные на прилагаемом к книге компакт-диске.
Обозначения
Чтобы облегчить восприятие материала книги, я использую следующие обозначения и выделения:
- комбинации клавиш, которые следует нажимать одновременно, показываются с использованием символа «плюс» (+), например, Ctrl+P;
- курсив используется для смыслового выделения, а также в случае, если некоторый термин встречается в книге впервые;
- специальным шрифтом обозначаются имена файлов, программ, адреса Интернета, команды, элементы интерфейса и т. п.
Также в тексте встречаются врезки нескольких разновидностей:
СОВЕТ
Врезка типа «Совет» подсказывает вам, как лучше всего на практике использовать информацию, излагаемую в
книге.


ПРИМЕЧАНИЕ
Врезка типа «Примечание» информирует вас о специальных случаях и исключениях, возникающих в процессе
функционирования некоторого механизма.

ВНИМАНИЕ
Врезка типа «Внимание» предупреждает вас о возможных проблемах, с которыми вы можете столкнуться
.

ССЫЛКА
Врезка типа «Ссылка» указывает на другие места книги, в которых излагается материал, связанный с
рассматриваемым.

Введение
Почему данная книга настолько важна
Каждый новый день все большее количество индивидуальных пользователей и предприятий открывают для себя операционную систему Linux. Каждый новый день все большее количество людей подключаются к Интернету, и все чаще для этой цели используется выделенное соединение.
Предполагаемая анонимность Всемирной сети зачастую будит во многих пользователях Интернета самые низменные инстинкты. Иными словами, как это ни печально, с ростом числа пользователей Интернета во всемирной сети увеличивается также количество хулиганья. С этим придется иметь дело до тех пор, пока положение дел кардинальным образом не изменится и подобные отбросы общества не будут пойманы и посажены в тюрьму за совершенные ими преступления. В этом не может быть ошибки: проникновение в чужую систему или несанкционированное расходование пропускной способности чужих каналов связи
(будь то преднамеренная атака Denial of Service или нежелательная «грязная» коммерческая электронная почта) является преступлением и должно преследоваться во всех уголках земного шара.
В настоящее время, когда недорогие выделенные соединения с Интернетом становятся атрибутом повседневной жизни, новички в мире Linux все больше нуждаются в простой доступной книге, посвященной вопросам компьютерной безопасности. Если вы покупаете новый дом и выясняется, что в нем нет ни одного замка, вы не стесняетесь позвонить слесарю, чтобы он пришел и установил вам замки на все двери. Так почему бы, приобретая новый сервер и подключая его к Интернету, не позаботиться должным образом о его защите?
Некоторые читатели, приобретая данную книгу, думают, что, прочитав ее и применив некоторые магические формулы, они могут на все сто процентов абсолютно надежно защитить себя от любых злонамеренных действий. К сожалению, никакой универсальной серебряной пули, поражающей всех ваших врагов, не существует. Никакие заклинания, молитвы и волшебные напитки не смогут полностью обезопасить вашу систему. Даже к самому лучшему замку со временем можно подобрать отмычку. Однако чем лучше замок, тем сложнее это сделать. Один из законов Мэрфи, адресованный солдатам, гласит: «если враг не может проникнуть к вам внутрь укрепления, значит, вы не сможете выйти наружу». Скорее всего,
Мэрфи понятия не имел об Интернете и компьютерах, однако его закон очень подходит к информационным технологиям. Следует привыкать к бдительности. Помните, что кто-то пытается проникнуть в вашу систему, кто-то пытается обнаружить слабые места в вашей защите. Информация в данной книге затруднит ему его работу, и возможно, не достигнув успеха, он просто оставит злонамеренные попытки.
Летом 1999 года компания Microsoft подключила к Интернету собственный сервер IIS и предложила всем желающим попытаться взломать его. Этот сервер не продержался и трех часов. В другое время другими людьми к всемирной сети был подключен компьютер PowerPC с установленной на нем системой
Linux. На сервере работала единственная доступная извне служба: web-сервер Apache. Всем желающим также предлагалось взломать этот сервер. Неделей позже хозяева сервера были вынуждены отключить его, но не потому, что систему удалось взломать. Отключить сервер пришлось потому, что в результате попыток взлома пострадали системы, принадлежащие провайдеру Интернета, который обеспечивал связь этого сервера с Всемирной паутиной. Некоторые из желающих взломать сервер попытались получить несанкционированный доступ к компьютерам, расположенным «близко» от сервера, для того чтобы проникнуть в этот сервер через задний ход. Однако взломанные системы принадлежали провайдеру, а атаки в отношении этих систем противоречили условиям соревнования. Сервер так и остался невзломанным, в то время как он в течение недели был доступен для всех пользователей Интернета. Этот сервер был действительно хорошо защищен. Прочитав данную книгу, вы станете лучше понимать, как именно можно достигнуть такого же уровня защиты.
В настоящее время все большее количество людей во все большей степени зависят от компьютеров.
В свое время человек открыл для себя огонь, и теперь огонь стал жизненно необходим ему. Точно так же после появления компьютеров и телекоммуникаций наша жизнь во все большей степени зависит от компьютерных технологий. Никто не станет спорить с тем, что некоторые крупные предприятия целиком и полностью зависят от Интернета (на ум немедленно приходит всемирно известная служба электронной коммерции Amazon.com). Интернет — это не что иное, как набор соединенных между собой компьютеров.
Таким образом, получается, что огромное количество людей и многочисленные предприятия в огромной степени зависят от того, насколько хорошо защищены эти компьютеры.
ПРИМЕЧАНИЕ

В данной книге в первую очередь обсуждается система Caldera OpenLinux (эта система записана также на
прилагаемый к книге компакт-диск), однако большая часть сведений применима также и к любым другим
разновидностям Linux. Если некоторая информация относится только к Caldera или только к ограниченному набору
разновидностей Linux, об этом упоминается особо.
Что такое безопасность
Когда вы начинаете изучать компьютерную безопасность, у вас формируется особенное отношение к ней. В упомянутом ранее законе Мэрфи речь идет о солдатах на войне, однако вы не должны ошибаться на этот счет. С момента подключения вашего компьютера к Интернету вы становитесь либо другом, либо врагом по отношению ко всему остальному интернет-сообществу. Считайте, что начинается война, и вы переносите эту электронную войну в ваш дом или в ваш рабочий офис, а полем битвы является ваша компьютерная система или сеть.
Вы можете относиться к безопасности по-разному, однако игнорировать ее нельзя. Если вы закроете на нее глаза в надежде, что все обойдется, вы наверняка проиграете войну. Однако бояться ее тоже не стоит
— компьютерная безопасность — это вовсе не черная магия. Вам потребуется небольшой набор начальных знаний и побольше любознательности. Вы должны задавать себе вопросы: какой механизм здесь работает, как и почему. Вы должны представить себя на месте злоумышленника. Если бы вы были взломщиком, как вы смогли бы проникнуть в систему? Что бы вы стали делать, оказавшись внутри? Помните, что ваша задача проще: вы знаете о вашей системе и о ее уязвимых местах больше, чем те, кто пытается
«прощупать» ее снаружи.
Анализ задач безопасности
Анализ существующих рисков, возможно, является наиболее сложной частью вашей работы. Прежде всего следует определить, что именно подвержено риску. Вы можете рассматривать вашу информационную инфраструктуру несколькими разными способами. В частности, информационные системы можно рассматривать как комбинацию трех составных частей: оборудование, программное обеспечение и данные. Каждая из этих составляющих подвергается трем угрозам: фактическое разрушение, неавторизированная модификация и неавторизированное использование. Рассмотрим каждую из этих угроз подробнее.
Оборудование — это то, до чего вы можете физически дотронуться рукой, например монитор или центральный процессор. Сюда же следует отнести принадлежащие вам сетевые устройства, например маршрутизаторы, кабели и т. п. В эту же категорию включается нечто, чего нельзя потрогать, — доступная вам пропускная способность каналов связи. Пропускная способность включается в эту категорию потому, что ее сложно включить в какую-либо другую категорию.
Оборудование можно привести в негодность, то есть сломать. Это не обязательно должен быть удар молотком по системному блоку — некоторые программы обладают возможностью сжечь монитор, а иногда и графическую карту. Содержимое перепрограммируемой постоянной памяти (EEPROM) можно стереть. В среде Linux нет вируса, подобного вирусу СIH (Чернобыль), поражающему системы Windows и приводящему в негодность материнские платы, однако пользователь, обладающий привилегиями root, может запустить программу, которая окажет на систему аналогичный эффект.
Взломщику не обязательно обладать физическим доступом к системе для того, чтобы оказать на нее влияние или модифицировать ее. Используя удаленный доступ, злоумышленник может перевести сетевую карту Ethernet в режим прослушивания сети или нарушить процесс нормальной загрузки системы. Он может также внести изменения в таблицу маршрутизации, что приведет к изменению порядка функционирования сети.
Неавторизированное использование оборудования не только лишает вас возможности воспользоваться ресурсами, за которые вы платите деньги (производительность процессора, память, пропускная способность каналов связи), из-за подобного использования вы можете быть внесены в черный список. Ваш провайдер может отключить вас от сети за то, что действия злоумышленника, выполняемые от лица вашей системы, нарушают устанавливаемые провайдером условия обслуживания. Некоторые домены могут отказать вам в приеме почты потому, что ваш узел был использован для несанкционированной рассылки «грязной» почты. Узлы FTP и Web могут блокировать вас из-за того, что какой-то компьютерный хулиган воспользовался вашей системой для сканирования других систем. Все это может стать причиной в лучшем случае неудобств, а в худшем случае — судебных разбирательств.
Анализ трех упомянутых угроз в отношении программного обеспечения выполняется проще.
Программы можно стереть — в результате вы теряете функциональность вашей системы до тех пор, пока не восстановите их. Программы можно также изменить таким образом, чтобы они функционировали не так,
как вы ожидаете. Например, программы, подвергшиеся модификации, могут обеспечивать несанкционированный доступ для неавторизованных пользователей или перехватывать пароли и передавать их злоумышленникам. Неавторизированное использование программ — это последняя из трех угроз в отношении программного обеспечения. Эта угроза прежде всего имеет отношение к использованию коммерческих программ с лицензионными ограничениями. Вы несете ответственность за выполнение условий лицензионного соглашения, связанного с использованием той или иной программы, однако злоумышленники могут стать причиной нарушения этих условий. В результате неавторизированного использования программ также расходуется производительность процессора, что неблагоприятно влияет на работу вашей системы.
Данные являются наиболее уязвимой составляющей вашей компьютерной системы. Из трех рассмотренных элементов данные сложнее всего заменить. Разрушение данных означает как минимум потерю времени, которое понадобится вам, чтобы восстановить данные из резервной копии и заново воссоздать те данные, которые вы не успели сохранить в резервной копии. Несанкционированное изменение данных может привести к получению неправильных результатов их обработки.
Неавторизированное использование может стать причиной потери закрытых, частных и индивидуальных данных, передачу таких данных в руки тех, кто не имеет на них никаких прав.
Анализируя каждую из рассмотренных ранее угроз, вы должны думать как о внешних, так и о внутренних пользователях. Внутренние пользователи — это пользователи, которые обладают законным правом авторизированного доступа к вашим внутренним системам. Работая с системами, они могут превысить свои полномочия либо специально, либо непреднамеренно. Помните, что большая часть нежелательных действий выполняется внутренними пользователями непреднамеренно. Хорошая система безопасности способна уменьшить количество проблем, которые возникают в результате действий внутренних пользователей. На основании анализа единичного инцидента сложно судить, была ли это нечаянная неосторожность или злонамеренный акт, однако, изучив общий порядок дел, вы можете с большей уверенностью локализовать проблему.
Разработка политики безопасности
Идентифицировав основные угрозы, нависшие над вашей системой, вы можете приступить к разработке политики защиты. Общая политика защиты системы может быть либо открытой, либо закрытой.
Если говорить более подробно, общая политика может утверждать одно из двух: либо разрешить все, что явно не запрещено, либо запретить все, что явно не разрешено.
В последующих главах будет рассказано о том, как политика безопасности воплощается в жизнь. Я расскажу вам о пользователях и группах, и вы сможете определить, что для вас приемлемее: использование группы по умолчанию либо частные пользовательские группы. Вы узнаете о сетях и службах. О том, как отключить службы, в которых вы не нуждаетесь, и о том, как убедиться в том, что функционирующие службы настроены корректно. Вы узнаете о том, как взглянуть на вашу систему извне и увидеть ее с точки зрения злоумышленника, пытающегося взломать вашу защиту. Вы также узнаете о том, как обнаружить вторжение и что делать для того, чтобы восстановить вашу систему и обезопасить ее от повторного вторжения. Вопрос об оценке убытков, связанных с вторжением, в данной книге не рассматривается, однако вы не должны забывать о возможных последствиях атаки. Вы должны оценить возможные потери времени и информации.
Из книги вы узнаете об использовании пакетных фильтров. Вы научитесь настраивать фильтры для отбрасывания, отклонения и, когда это необходимо, приема пакетов. Пакетные фильтры являются встроенным в Linux программным обеспечением брандмауэра. Здесь я хочу лишний раз подчеркнуть, что брандмауэр не является совершенным средством защиты. Брандмауэр не может гарантировать вам, что ни один злоумышленник никогда не проникнет в вашу систему. Брандмауэр просто дает вам дополнительное время, которое вы можете использовать для обнаружения атаки и соответствующих ответных действий.
Если взломщик, действительно хорошо знающий свое дело, проникнет в вашу систему, его присутствие очень сложно будет обнаружить вплоть до того момента, когда будет слишком поздно. На самом деле злоумышленник может замаскировать свое присутствие так, что вы вообще не сможете его обнаружить, несмотря на то, что он будет продолжать использовать вашу систему. Время является как вашим другом, так и вашим врагом.
Однако помимо чисто технических вопросов, которые я затронул в предыдущих абзацах, вы не должны упускать из виду также некоторые другие весьма важные вопросы. В данной книге вы не найдете юридических советов. Для получения подобной информации будет лучше обратиться к профессиональному адвокату, обладающему опытом ведения дел в компьютерной области. Однако вы должны определить масштаб нанесенного вам ущерба. Намерены ли вы инициировать судебное
разбирательство? Обладаете ли вы достаточно убедительными уликами? Помните, что файлы журналов можно модифицировать, поэтому журналы взломанной системы нельзя считать достоверным источником сведений.
Если для преследования злоумышленника вы намерены обратиться в компетентные органы, то обладаете ли вы правом обращения в полицию? Входит ли это в вашу компетенцию? Если нет, то кто в вашей организации обладает таким правом? Как вы или ваше руководство намерены вести себя в подобной ситуации? Насколько чувствительна ваша организация к последующей огласке возникшего инцидента?
Вы также должны составить хотя бы приблизительный план действий на случай возникновения подобной чрезвычайной ситуации. Планируете ли вы немедленно блокировать действия нарушителя и восстановить защиту системы или вы намерены не трогать злоумышленника в течение определенного времени и при этом попытаться определить адрес и физическое местоположение системы, с которой осуществляется атака? Будет ли у вас в запасе время, достаточное для слежения за взломщиками?
Ваша политика должна включать в себя также и другие правила, например, касательно паролей
(через какое время пароли должны меняться и т. п.), правила обработки электронной почты (архивируете ли вы всю корпоративную почту или предписываете обязательное уничтожение всех писем через определенный период времени?). Очевидно, что если вы являетесь домашним пользователем, вы можете лишь поверхностно прикинуть приемлемые для вас ответы на эти вопросы, однако если вы работаете в организации, вы должны тщательно продумать и изложить на бумаге политику вашей сети, которая должна включать в себя упомянутые, равно как и многие другие, соображения. Дополнительную информацию по этой теме можно обнаружить в RFC-2196 и RFC-2504.






Часть I
Ваш узел

Глава 1.
Пользователи, группы и безопасность
Глава 2.
Безопасность уровня пользователей и групп
Глава 3.
Файлы и права доступа
Глава 4.
Атрибуты SUID/SGID для файлов и каталогов
Глава 5.
Структура файловой системы
Глава 6.
Файловая система /ргос
Глава 7.
Процесс загрузки
Глава 8.
Физическая безопасность и консольные атаки

Пользователи, группы и
безопасность

В данной главе рассматриваются следующие вопросы: - пользователи;
1
- различия между привилегированными и непривилегированными пользователями;
- файлы входа в систему;
- файл /etc/passwd;
- файл /etc/shadow;
- файл /etc/gshadow;
- файл /etc/login.defs;
- модификация сведений об устаревании паролей;
-
РАМ.
Linux не ограничивает вас одним-единственным способом сделать нечто, напротив, как правило, одну и ту же задачу можно решить несколькими способами. Какие-то из этих способов нельзя считать в полной мере правильными, выбор же среди остальных в общем случае является делом личных предпочтений. Некоторые способы существенно облегчают бремя администрирования, а это напрямую влияет на безопасность вашей системы. Чем больше времени уходит у вас на возню с учетными записями пользователей, тем меньше внимания вы уделяете вопросам безопасности.
В основе безопасности Linux лежат концепции пользователей и групп. Все решения о том, что разрешается или не разрешается делать пользователю, принимаются на основании того, кем является вошедший в систему пользователь с точки зрения ядра операционной системы.
Общий взгляд на пользователей
Linux является многозадачной многопользовательской системой. Это означает, что с этой системой могут работать много пользователей, причем одновременно. Естественно, эти пользователи не смогут одновременно работать с одной и той же клавиатурой и монитором, а вот войти в систему при помощи telnet, ftp, http и т. д. они вполне могут. В обязанности операционной системы входят изоляция и защита пользователей друг от друга. Система следит за каждым из пользователей и, исходя из того, кем является этот пользователь, определяет, можно ли предоставить ему доступ к тому или иному файлу или разрешить запуск той или иной программы.
При создании нового пользователя ему ставится в соответствие уникальное имя (которое иногда называют регистрационным именем пользователя). Широко распространено ошибочное мнение, будто система следит за пользователем и определяет его привилегии исходя из его имени. Однако это не совсем так. Имя пользователя, безусловно, важно, но как вы увидите далее из этой главы, идентификатор пользователя еще важнее. Имя пользователя используется для удобства — запомнить символьное имя проще, чем запомнить численный идентификатор.
ПРИМЕЧАНИЕ
Система определяет привилегии пользователя на основании идентификатора пользователя (user ID, UID). В отличие
от имени пользователя, UID может и не быть уникальным, в этом случае для сопоставления ему имени
пользователя берется первое найденное имя, UID которого совпадает с данным.
Каждому новому регистрируемому в системе пользователю ставятся в соответствие определенные элементы системы. Обычно это домашний каталог и командная оболочка. Домашний каталог можно сравнить с комнатой в доме. Она отдается в полное распоряжение пользователя, который волен делать в ней все, что ему захочется. Однако за пределами комнаты его всевластие заканчивается. Будучи только гостем ъ доме, пользователь может наводить беспорядок или же убираться в других комнатах лишь с разрешения владельца дома, то есть операционной системы.

Привилегированные и непривилегированные пользователи
При добавлении нового пользователя в систему ему выделяется специальный номер, называемый
идентификатором пользователя (user ID, UID). В Caldera OpenLinux выделение идентификаторов новым пользователям начинается с 500 и продолжается в сторону больших чисел, вплоть до 65 534. Номера до 500 зарезервированы для системных учетных записей. В других комплектах Linux может использоваться другое распределение системных и обычных идентификаторов: например, идентификаторы обычных пользователей могут начинаться с номера 1000, а не с 500. Номер идентификатора, на котором заканчиваются системные пользователи и начинаются пользователи обычные, определяется поставщиком комплекта Linux.
В общем и целом идентификаторы с номерами, меньшими 500, ничем не отличаются от остальных идентификаторов. На самом деле все номера от 1 до 65 534 равнозначны и не несут какой-либо предопределенной смысловой нагрузки. Тот факт, что номера до 500 зарезервированы для системы, просто является общепринятым соглашением. Часто программе для нормального функционирования требуется специальный пользователь с полным доступом ко всем файлам. Примером таких программ служат системы управления базами данных. В таком случае используется идентификатор из числа зарезервированных. Эти номера соответствуют непривилегированным учетным записям, пользователи которых не обладают никакими специальными привилегиями.
Однако нумерация идентификаторов начинается с 0 и продолжается до 65 535. UID 0 — это особенный UID. Любой процесс или пользователь с нулевым идентификатором является привилегированным. Такой человек или процесс имеет неограниченную власть над системой. Ничто не может служить для него запретом. Возвращаясь к аналогии с домом, учетная запись root (учетная запись,
UID которой равен 0), также называемая учетной записью суперпользователя, делает вошедшего с ее использованием если не владельцем дома, то как минимум его доверенным лицом. Имея нулевой UID, можно бить окна, ломать стены или вообще поджечь весь дом — и никто не сможет воспрепятствовать этому. Администраторы со стажем знают, что работать с системой от имени этой учетной записи следует лишь в случае абсолютной необходимости и ровно столько, сколько нужно для выполнения потребовавших ее использования задач. То есть чем меньше вы работаете с системой от имени пользователя root, тем ниже риск вторжения в вашу систему. Далее мы еще вернемся к этому вопросу.
Остается UID, равный 65 535. Он тоже не из обычных. Этот UID принадлежит пользователю nobody
(никто). Прежде чем писать мне письма с обвинениями в некомпетентности, позвольте мне объясниться.
Как можно заметить (а таковая возможность вскоре представится), в OpenLinux UID пользователя nobody равен 65 534. Номер 65 535 рассматривается операционной системой как UID, вообще не имеющий каких- либо привилегий. Создайте пользователя поопе, воспользовавшись программой useradd: useradd -m -u
65535 noone
Посмотрите внимательно на свойства домашнего каталога пользователя поопе. Видите странность: его владельцем является не поопе, как того можно было бы ожидать (команда useradd, создав домашний каталог пользователя, всегда делает его владельцем созданного каталога), a root? Если сказать su -noone, то тогда вы сможете читать файлы каталога, но не сможете создать или удалить ни одного файла, поскольку поопе не владеет ими. Дабы избежать сложностей с номером 65 535, пользователю nobody поставлен в соответствие номер 65 534, а 65 535 попросту не используется. (Не забудьте удалить пользователя поопе и его домашний каталог: userdel поопе; rm -Rf /home/noone.)
Когда-то одним из способов взлома системы было создание пользователя с идентификатором 65 536, в результате чего он получал привилегии суперпользователя. Действительно, если взять любой UID и перевести соответствующее число в двоичную форму, то получится комбинация из шестнадцати двоичных разрядов, каждый из которых равен либо 0, либо 1. Подавляющее количество идентификаторов включают в себя как нули, так и единицы. Исключением является нулевой UID суперпользователя, состоящий из одних нулей, и UID nobody, равный 65535 и состоящий из 16 единиц, то есть 1111111111111111. Число 65 536 нельзя разместить в 16 разрядах — для представления этого числа в двоичной форме требуется использовать уже 17 разрядов. Самый старший разряд будет равен единице (1), все остальные равны нулю
(0). Так что же происходит при создании пользователя с идентификатором длиной в 17 двоичных разрядов
— 10000000000000000? Теоретически, пользователь с нулевым идентификатором: поскольку под идентификатор отводится лишь 16 двоичных разрядов, 17 разряд хранить негде, и он отбрасывается. Стало быть, единственная единица идентификатора теряется, и остаются одни нули, а в системе появляется новый пользователь с идентификатором, а значит, и привилегиями, суперпользователя. Но это было давно, теперь же в Linux нет программ, которые позволили бы вам установить UID в 65 536. Так просто современные системы уже не взломаешь. Тогда какая польза от всего этого разговора? Большая, если преуспеть в замене программы, не позволяющей устанавливать этот UID, на программу, которая позволяет.
Кроме того, как мы еще увидим, подобный метод взлома можно использовать и в других ситуациях.

ПРИМЕЧАНИЕ
Пользователей с идентификаторами, превышающими 65 536, создавать можно, но использовать их без подмены
/bin/login не получится.
Любой взломщик обязательно постарается получить привилегии суперпользователя. Как только он их получит, дальнейшая судьба вашей системы полностью будет зависеть от его намерений. Возможно, он, удовлетворившись самим фактом взлома, не сделает с ней ничего плохого и, послав вам письмо с описанием найденных им дыр в системе безопасности, навсегда оставит ее в покое, а возможно, и нет. Если намерения взломавшего вас хакера не столь чисты, то тогда лучшее, на что можно надеяться, — это выведение системы из строя. Вы наверняка слышали о подменах хакерами web-страниц известных сайтов на свои страницы, так вот это лишь одна из возможных игр. Ваша система может быть нужна злоумышленнику в качестве прикрытия для проведения с нее атак на другие системы, чтобы все следы этих атак вели к вашей системе. На скольких языках вы можете произнести словосочетание «судебное разбирательство»? Как вы думаете, почему случаи поимки властями взломщиков, причинивших серьезный ущерб, столь редки? В том числе и потому, что они используют для взлома чужие системы и тщательно заметают все следы к своей системе.


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   42


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал