Защита от хакеров корпоративных сетей - Коллектив авторов 2 стр.


Обзор содержимого книги

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

В трех последующих главах книги представлен минимум теоретического багажа знаний. В главе 2 исследуется сформулированный авторами список законов, которые определяют работу (или отказ) систем компьютерной безопасности. Далее в книге вы увидите, как можно применять эти законы в хакерских технологиях. В главе 3 описываются типы атак и возможный потенциальный ущерб компьютерной системы в случае их успешного осуществления, а также приведены примеры каждого типа атак. В главе 4 рассказывается о различных методологиях, которыми кто-нибудь (например, вы) может руководствоваться при обнаружении проблем безопасности. Первые четыре главы этой книги должны быть доступны читателям любого уровня подготовки. Читатели с высоким уровнем профессиональной подготовки могли бы пропустить эти главы, если они уже знакомы с излагаемой теорией, но мы рекомендуем им, по крайней мере, просмотреть текст и удостовериться в отсутствии для них новой информации в изложенном материале. Раздел "Краткие выводы" хорошо подходит для этих целей.

Начиная с пятой главы мы рассматриваем методы хакинга. Глава 5 описывает простейший метод хакинга – поиск различий (diffing), состоящий в простом сравнении кода до и после осуществления некоторого действия. Это удивительно полезно. Материал данной главы доступен даже новичкам.

Глава 6 – о криптографии и различных средствах обеспечения конфиденциальности информации. В главе исследуются дилетантские попытки шифрования, примеры использования которых в мире наблюдаются почти каждый день. Вы познакомитесь с распознаванием шифров, основами их вскрытия и очень простыми криптоподобными схемами кодирования. Эта глава не рассчитана на уровень подготовки выше среднего (в главе приводится вводный материал для читателей с небольшим опытом в рассматриваемой области).

Глава 7 посвящена проблемам безопасности, возникающим при программных сбоях в результате непредсказуемого ввода данных пользователем. К ним относится хакинг сервера через дефектную программу CGI интерфейса, получение SQL доступа при помощи Web-формы или сценария, позволяющего вскрыть командный процессор операционной системы UNIX обманным путем (tricking scripts). (С технической точки зрения сюда же можно отнести переполнение буфера и ошибки форматирования строк (format string holes), но этим вопросам посвящены отдельные главы.) Глава по уровню предполагаемой подготовки читателя заслуживает оценки от средней до высокой. Это обусловлено обсуждением различных языков программирования и необходимостью понимания принципов работы командной оболочки.

В главах 8 и 9 показаны методы использования машинно-ориентированного языка для максимального использования преимуществ переполнения буфера или ошибок форматирования строк. Эти главы предполагают высокий уровень подготовки читателя. Но написаны они вполне доступно, с подробным объяснением изложенного материала. Для усвоения материала потребуются определенные знания языка C и ассемблера.

Глава 10 описывает возможности применения мониторинга сетевых коммуникаций sniffing методами в интересах хакинга. Приведены простые примеры. Описано, при помощи каких протоколов лучше всего получить доступ к паролям, и даже приведены основы программирования мониторинга сетевых коммуникаций методами sniffing. Эта глава ориентирована на читателей с начальным и средним уровнями подготовки.

Глава 11 представляет тему, посвященную пиратским подключениям (hijacking connections). В большинстве случаев эта разновидность взлома является расширенным применением мониторинга сетевых коммуникаций методами sniffing за счет активного участия злоумышленника. В главе описан тип атак "злоумышленник посередине" (man-in-the-middle). Для изучения приведенного материала требуется средний уровень квалификации читателя.

Глава 12 обсуждает концепцию доверия и то, как ниспровергать ее при помощи имитации соединения (spoofing). Эта глава обсуждает ряд потенциальных нападений и требует уровеня подготовки читателя от среднего до высокого.

Глава 13 описывает механизм туннелирования для перехвата сетевого трафика посредством враждебного сетевого окружения (настолько надежным способом, что при перегрузке перехват возобновляется). Приводится подробное обсуждение SSH, для которого требуется уровень подготовки от среднего до высокого.

Глава 14 – о хакерстве аппаратных средств компьютера. Эта глава приводит основные сведения о хакерстве аппаратных средств ЭВМ с целью получения максимальной безопасности. Это ознакомительная глава, потому что фактическая реализация приведенных методов потребует высокой подготовки.

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

В главе 16 описаны способы, при помощи которых системы обнаружения вторжения уклоняются от атак или обезвреживают их. Также описаны уловки (ловкие приемы), которые эффективны на уровнях от сетевого до уровня приложений. Разобраны такие темы, как фрагменты и использование полиморфизма. Уровень сложности обсуждаемого материала – от среднего до сложного (читатель должен хорошо знать протокол TCP/IP).

В главе 17 обсуждается автоматизация некоторых из задач читателя при помощи автоматизированного обозревания безопасности и инструментов нападения (после того как читатель познакомится с правилами их написания). Обсуждение охватывает коммерческие и свободно распространяемые программные средства. Это позволяет хорошо представить следующее поколение программных средств, которые будут не только определять уязвимости тестируемой системы, но и позволят укрепить ее.

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

Правовое обеспечение хакинга

Автор – не юрист: грубо говоря, это означает следующее: "Он не может дать вам никакого уместного юридического совета, а читатель не обязан ему следовать. Если читатель что-то сделает, то не подумайте, что его не предупреждали о последствиях. Но автор попытается заставить читателя прислушаться к своему мнению тем или иным способом".

В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут его к нарушению законодательства и связанным с этим последствиям. Слова автора подобны словам инструктора по вождению автомобиля: "Я собираюсь научить вас ездить на автомобиле, но если вы водите плохо, то можете кого-нибудь сбить". В обоих случаях вам придется отвечать за причиненный ущерб.

Автор использует очень простое правило, заключающееся в ответе на вопрос: "У меня есть разрешение сделать это на этом компьютере?" Если ответ – нет, то не делайте этого. Ваши действия принесут вред и почти наверняка будут противозаконны. Но если ответ не столь очевиден, то, возможно, есть исключения, ну и т. д. Например, в большинстве мест (нет, не в вашей организации, по этому поводу проконсультируйтесь у юриста) сканирование порта разрешено. Хотя это рассматривается как предпосылка к незаконному проникновению в систему со злым умыслом, но это законно – кроме тех случаев, когда сканирование портов запрещено.

Самый простой способ обезопасить себя заключается в хакинге своей собственной сети (автор подразумевает домашнюю сеть читателя, а не сеть на работе, потому что иначе у вас могут быть неприятности). Вы хотите освоить тонкости сложной программы, работающей на платформе Sun Sparc? Идите и купите старый Sparc за 100$. Вы хотите заняться хакерством на многомиллионной универсальной ЭВМ? Хорошо, но, вероятно, вас постигнет неудача.

Можно было бы склониться к предположению о полной безопасности хакерских действий на собственном оборудовании. Но, строго говоря, это не так в случае действий, направленных на вскрытие программного обеспечения. Много людей думают также, то есть если я купил копию программы, то я имею естественное право делать с ней все, что я захочу на своем собственном компьютере. Право интеллектуальной собственности так не считает. В Соединенных Штатах, а также в соответствии с международным соглашением в ряде других стран обход средств недопущения копирования материалов, защищенных авторским правом, противозаконен. Это – часть акта DMCA. Формально противозаконно заниматься этим даже у себя дома, но если вы все-таки сделали это и пользуетесь результатами своих действий только сами, то кажется маловероятным, что у вас появятся проблемы. Но при попытке поделиться полученными результатами с другими людьми вам следует проявить осторожность.

Предупреждая о безопасности, автор хотел бы рассказать о чрезвычайной истории, произошедшей в результате нарушения новых законов. Это касается российской компании – разработчика программного обеспечения ElcomSoft Co. Ltd., специализирующейся на вскрытии паролей, снятии защиты от копирования и восстановлении поврежденных файлов. Имейте в виду, что на тот момент времени в России не было никакого закона против восстановления алгоритма работы программы по ее коду. Один из программистов компании ElcomSoft Co. Ltd., Дмитрий Скляров, прибыл на конференцию DEF CON 9 в Лас-Вегасе и сделал доклад относительно формата электронных документов eBook компании Adobe. Формат содержит некоторые смехотворные попытки безопасности. На следующий день Дмитрий был арестован и обвинен в "распространении изделия, предназначенного для обхода средств защиты авторского права". При этом упоминалась программа его компании, которая конвертировала формат eBook документа в стандартный формат Adobe Acrobat.PDF файлов. Выполнение подобного конвертирования покупателем одного из этих средств eBooks для себя юридически законно, поскольку пользователю разрешается делать резервные копии.

Короче говоря, Дмитрий был арестован 17 июля 2001 года и отпущен домой только 31 декабря 2001 года. Компания Adobe отозвала свою жалобу из-за повсеместных протестов, но американское правительство отказалось снять обвинения. Поскольку вопрос не закрыт до сих пор, Дмитрий все еще полностью не освобожден от ответственности.

Относительно сказанного хочется добавить, что используемые им методы для разгадывания системы безопасности изделия были относительно просты. Мы осветим подобные методы декодирования в главе 6.

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

Конспект

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

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

Вы должны научиться хакерским методам, для того чтобы знать, как защитить вашу сеть или сеть вашего работодателя. Вы должны это знать, потому что это интересно. Если вы не соглашаетесь с чем-либо, о чем говорится в этой главе или книге, то это хорошо! Первое, что хакеры должны уметь делать, – это самостоятельно думать. Нет никаких причин для слепой веры в изложенный авторами книги материал. Если у вас есть замечания к книге, то зайдите на Web-сайт www.syngress.com/solutions, найдите адрес электронной почты авторов и пошлите им письмо. Возможно, ваше опровержение будет помещено на сайт.

Часто задаваемые вопросы

Вопрос: Могу ли я назвать себя хакером?

Ответ: Существует два ответа на этот вопрос. Первый, созвучный мыслям многих: хочешь быть хакером – будь им. Второй: если вы называете себя хакером, то будьте готовы к широкому диапазону оценок вследствие большого количества определений слова "хакер" и их двусмысленности. Одни будут думать, что вы только что сказали им, что вы – преступник. Другой, кто сам себя считает хакером, осмеет вас, если вы будет заподозрены в недостаточной квалификации. Некоторые не будут знать, что и подумать, но затем попросят вас о хакерской услуге для себя… Автор советует вам сначала приобрести необходимые навыки и практику. Лучше всего, если кто-либо другой назовет вас хакером.

Вопрос: Законно ли написание вирусов, Троянских коней и червей? Ответ: Фактически (в большинстве случаев) да. Пока. Это утверждение заслуживает серьезного разъяснения. Существует ряд программистов, которые открыто пишут вирусы и делятся результатами своей работы. До сих пор они, кажется, никому не мешали. Однако если хотя бы часть написанного ими кода выйдет из-под контроля и привлечет к себе внимание, то дело примет серьезный оборот. Если вы пишете программы вирусов, будьте осторожны, чтобы не потерять контроль над ними. Вы можете захотеть ограничить их способность к распространению, проявляя необходимую предосторожность. В этой связи задумайтесь, как вы будете выглядеть, если кто-то доработает ваш вирус и выпустит его на волю. Также обратите внимание на то, не противоречит ли отправление по почте подобного кода правилам, установленным вашим Интернет-провайдером, особенно если вы – учащийся. Ваши действия могут и не противоречить установленным правилам, но могут легко привести к разрыву соединения с вашим Интернет-провайдером, получения предупреждения или лишения вас прав пользователя.

Вопрос: Несете ли вы ответственность за хакинг систем? Ответ: Вообще, если вы санкционированный (авторизованный) пользователь, нет. Пожалуйста, примите во внимание если. Когда есть сомнения, получите письменное разрешение от юридического лица – владельца компьютерной системы, например школы или работодателя. Множество людей, отвечающих за безопасность компьютерных систем, регулярно тестируют их хакерскими методами. Дополнительные сведения и примеры вы сможете найти по адресу www.lightlink.com/spacenka/fors.

Глава 2 Законы безопасности

В этой главе обсуждаются следующие темы:

Обзор законов безопасности

Закон 1. Невозможно обеспечить безопасность клиентской части

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

Закон 3. От кода злоумышленника нельзя защититься на 100 %

Закон 4. Всегда может быть создана новая сигнатура кода, которая не будет восприниматься как угроза

Закон 5. Межсетевые экраны не защищают на 100 % от атаки злоумышленника

Закон 6. От любой системы обнаружения атак можно уклониться

Закон 7. Тайна криптографических алгоритмов не гарантируется

Закон 8. Без ключа у вас не шифрование, а кодирование

Закон 9. Пароли не могут надежно храниться у клиента, если только они не зашифрованы другим паролем

Закон 10. Для того чтобы система начала претендовать на статус защищенной, она должна пройти независимый аудит безопасности

Закон 11. Безопасность нельзя обеспечить покровом тайны

· Резюме

· Конспект

· Часто задаваемые вопросы

Введение

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

Этот список назван законами безопасности. Причем под законами понимаются руководящие принципы, которые должны использоваться для того, чтобы не упустить из виду вопросы безопасности при анализе или проектировании системы. Система в этом случае может состоять как из единственной программы, так и полномасштабной сети компьютеров, включая сетевые экраны (firewalls), фильтрующие шлюзы (filtering gateways) и вирусные сканеры. Не важно, в чьих интересах исследуется система: в интересах защиты или нападения. Важно понять, где у нее уязвимости.

Законы безопасности помогают распознать слабые места и сосредоточить на них внимание. Эта глава познакомит читателя с законами безопасности. Большая часть остальной части книги посвящена подробному рассмотрению методов использования уязвимостей, выявленных при помощи законов безопасности.

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

Обзор законов безопасности

Начав с обзора законов, авторы детально обсудят их по ходу книги. При обсуждении будет рассмотрено содержание законов, способы их применения для поиска слабых мест, а также разрешаемые с их помощью вопросы. В список входят следующие законы безопасности.

1. Невозможно обеспечить безопасность клиентской части.

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

3. От кода злоумышленника нельзя защититься на 100 %.

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

5. Межсетевые экраны не защищают на 100 % от атаки злоумышленника.

6. От любой системы обнаружения атак можно уклониться.

7. Тайна криптографических алгоритмов не гарантируется.

8. Шифрование без ключа является кодированием.

9. Пароли не могут надежно храниться у клиента, если только они не зашифрованы другим паролем.

10. Для того чтобы система начала претендовать на статус защищенной, она должна пройти независимый аудит безопасности.

11. Безопасность нельзя обеспечить покровом тайны.

Назад Дальше