Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Введение. "Стать хакером очень просто



"Стать хакером очень просто. Достаточно выу­чить и понять: математические дисциплины (математический анализ, теорию функций комплексного переменного, алгебру, геометрию, теорию вероятностей, математическую стати­стику, математическую логику и дискретную математику...)".

Борис Леонтьев. "Хакеры & internet".

Существуют два основных подхода, применяемых в системах защиты инфор­мации. Первый построен на затруднении прямого или косвенного анализа алго­ритма с помощью оригинальных приемов программирования (использование недокументированных функций, специальных антиотладочных приемов). Такой подход широко применяется в условно-бесплатных программах, однако он крайне неэффективен. Для него характерно плохое соотношение накладных расходов на создание \ вскрытие защиты; кроме того, он не обеспечивает даже минимальной безопасности. Большинство подобных программ ломаются в течение нескольких минут, самое большее — нескольких дней.

Сегодня большинство коммерческих защит основано на криптографических протоколах. Эти защиты выглядят неломаемыми. "Выглядят" потому, что разработчики не учитывают разницу между теоретическими моделями и прак­тической реализацией. Подробнее перечень основных ошибок в популярных; системах изложен Павлом Семьяновым в статье "Почему криптосистемы. ненадежны". Здесь отмечу лишь следующее: да, действительно, очень многие. используемые криптосистемы ненадежны, и практически все в той или иной степени уязвимы.

Кроме того, обычно такие оценки исходят из предположения, что злоумышленник будет просто перебирать последовательно все пароли один за другим. Наивно, не так ли? Лобовая атака на современных вычислительных мощностях персональных компьютеров сегодня попросту невозможна. Сколь нибудь удовлетворительные результаты могут быть получены только при объединении десятков тысяч компьютеров.

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

К сожалению, сейчас многие (с позволения сказать) недохакеры не обладают даже минимальными математическими знаниями. Более того, академическую математику закидывают камнями, обвиняя в полной бесполезности для приклад­ных и системных программистов. Увы, это кризис нашего (да и не только нашего) образования.

Несмотря на то что первая часть является неизбежным теоретическим введе­нием, все ее положения будут рассмотрены на примерах конкретных реализаций. Для этого необходимо выбрать платформу. Приучая читателя к детальному ("низкоуровневому") мышлению, я выбираю ассемблер. Реже буду использовать IDA Си и MS VC Поклонники Pascal и Delphi должны делать свой выбор самостоятельно. Во всяком случае, без знания ассемблера изучение и защита программ в большинстве случаев невозможна. Эта книга не научит вас основам ассемблера и рассчитана на уже подготовленного читателя.

С другой стороны никакой математической подготовки книга не требует. Однако я надеюсь, что в процессе чтения читатель будет обращаться к соответствующим источникам для получения более детальной картины подаваемого материала.

Настоящий хакер никогда не откажет себе в удовольствии копаться не только в недрах кода, но и в литературе (бумажной или электронной). Соблазн исполь­зовать готовые схемы и решения "AS IS" достоин только коммерческих кракеров (поставивших взлом на поток и зарабатывающих деньги на эксплуатации чужих идей и инструментов).

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

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

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

Все прилагаемые к книге программы предназначены в первую очередь для системных администраторов и разработчиков систем безопасности для оценки их уязвимости.

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

Это не относится к теоретическим выкладкам, "отвязанным" от конкретных платформ и реализаций. К счастью, маловероятно, чтобы вандалы дали себе труд глубоко в них разобраться. Известно, что даже техническое образование культур­но воспитывает человека. Знания дают человеку великолепный полигон для самовыражения, уничтожая желание пакостить ближнему.





Дата публикования: 2014-11-18; Прочитано: 336 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...