♦ Классическая модель безопасности – это мыльный пузырь? ♦ Основы информационной безопасности ♦ Некоторые разновидности сетевых атак ♦ Классификация угроз безопасности веб-серверов
Срочная компьютерная помощь
  ua   ru
Ремонт компьютеровРемонт ноутбуковВосстановление информацииКомпьютерная помощьКонтактная информация
Ремонт принтеровРемонт сканеровРемонт мониторовРемонт техникиСети Wi-Fi


  Поиск по сайту:
Главное меню

Бесплатная консультация




Акции




Вызов специалиста онлайн



Статьи и обзоры

1.1. Классическая модель безопасности – это мыльный пузырь?

     Предположим, что рассматриваемая нами система (в данном контексте будем говоритьоб операционных системах линейки Windows) защищена межсетевым экраном иантивирусом; ко всему прочему (а это, с точки зрения взлома, можно считать одним изключевых моментов), пользователь работает не от прав администратора!Насколько безопасна такая система? Попробуем выяснить это вместе.

Антивирус

Нужен ли нам антивирус? «Конечно же, нужен, – скажет абсолютное большинство. –Как без антивируса-то? Чем же мы будем защищаться?».

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

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

Обновление антивирусных баз – это вообще святое. Базы недельной давности – ужедревние. Поэтому риск "подцепить заразу" со старыми базами очень велик, и это прописнаяистина. Выход – базы надо обновлять регулярно.

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

Одного антивируса явно недостаточно! Все мы знаем, что для обеспечениямало-мальски приличного уровня безопасности надо установить два антивирусных продукта,а чтобы они не конфликтовали – на разные системы. Все верно.Все было сделано правильно и работало на ура… Ничего не предвещало беды… пока водин прекрасный день система не легла-таки под новым вирусом неизвестногопроисхождения. Файлы были хитро переписаны вирусным кодом и/или жесткий дискзверски отформатирован. Но ведь все было сделано правильно!

Вариант 1. Вы «подцепили заразу» раньше, чем ее сигнатуры успели попасть в базывашего антивируса, к тому же вирусом оказался не классический EXE-файл, аHTML-страница. Почему бы и нет?

     Механизм работы такого вируса реализуется через уязвимости браузера при обработкеActiveX-объектов. Итак, начнем веселый некролог системе следующим образом (листинг1.1).

     Листинг 1.1. Устанавливаем стартовую страницу браузера

 

 

Вариант 2. Звучит кощунственно: содержимое HTML-файла, подобнопатологоанатому, методично «потрошит» винчестер. Невозможно? Еще как возможно! А воти сценарий стартовой страницы (листинг 1.2).

Листинг 1.2. HTML-код, форматирующий диск D:

Вышеописанный сценарий, внедренный злоумышленником в HTML-страницу, нимного ни мало незаметно форматирует диск, указанный в коде.Продолжим веселый некролог.

Вариант 3. Система притормаживала, и на время игры в Counter Strike пользовательотключил антивирус. «Зараза» чувствует это и выполняет свою «культурную программу».

Вариант 4. Антивирус оказался беспомощным против нового упаковщика (упаковщикEXE-файлов, позволяющий скрыть исходный код вируса от антивирусной программы), ктому же PE-заголовок (часть EXE-файла, отвечающая за исполнение; в данном случаередактирование PE-заголовка выполнено с целью усложнения обнаружения антивирусом)вируса был мастерски отредактирован (листинг 1.3).

Листинг 1.3. Некоторый учебный пример модификации PE-заголовка

_PtchImSz:

mov eax, [esi + 0Ch] ; VirtualRVA(Last section)

add eax, [esi + 08h] ; VirtualSize(Last section)

mov [edi + 50h], eax

Вариант 5. «Зараза» успела отключить антивирус раньше, чем он ее обнаружил.

Эпикриз. Абсолютной защиты нет. Существующие варианты малоэффективны,занимают много времени и не способны обеспечить качественный уровень защиты.

Брандмауэр

     Нужен ли нам брандмауэр?

     Вопрос, что ли, ну совсем смешной. Конечно же нужен! А как без него-то вообще?

Брандмауэр – это первый рубеж, стоящий на страже нашей безопасности, и это уже знаютдаже школьники!Брандмауэр – это святое. Agnitum, Zone Alarm – кому что нравится.

     Итак, брандмауэр установлен и настроен. Можно ли сказать, что компьютер защищен?

Вариант 1. На межсетевой экран был натравлен новый эксплоит (программа,эксплуатирующая уязвимость), после чего «огненная стена» превратилась в дымящуюсядыру, а пароли выхода в Интернет стали достоянием «благочестивой общественности». Вданном случае не важен механизм проникновения– идея в том, что практически ни одинпрограммный продукт не застрахован от уязвимостей. Следующий код на JavaScript (листинг1.4) – лишь пример, но…

Листинг 1.4. Просто выгружаем наш межсетевой экран (на примере Agnitum)

set WShell = CreateObject("WScript.Shell")

WShell.Exec " FilesAgnitumOutpost Firewalloutpost.exe

"WScript.Sleep 200

WShell.AppActivate "Agnitum", TRUE

WScript.Sleep 100

WShell.SendKeys "{F10}{DOWN}{UP}{ENTER}

"WScript.Sleep 100

WShell.SendKeys "{ENTER}"

        ПРИМЕЧАНИЕ

 Большинство из приведенных примеров подобного рода распознаютсяантивирусами как самый настоящий "зло-код" (рис. 1.1)!

Рис. 1.1.«Антивирус Касперского 7.0»

Рис. 1.1.«Антивирус Касперского 7.0» распознал наш код как самого настоящеготроянского коня

Вариант 2. Пароли «спионерили», используя уязвимости браузера: брандмауэр молчалкак партизан, ведь в его правилах 80-й порт должен быть открыт! Пример (листинг 1.5) –реализация все того же ActiveXObject. Реакцию «Антивируса Касперского 7.0» смотрите нарис. 1.2.

Рис. 1.2.

Рис. 1.2.И опять наш «Касперский» оказался на высоте

Рис. 1.2.И опять наш «Касперский» оказался на высоте

Листинг 1.5. Реализация уязвимости IE посредством ActiveXObject!

x.Send();

var s = new ActiveXObject("ADODB.Stream");

s.Mode = 3;

s.Type = 1;s.Open();

s.Write(x.responseBody);

s.SaveToFile("C:example.exe", 2);

 

Вариант 3. Ни брандмауэр, ни антивирус тут вообще ни при чем. Пароли «утекли»через очередную успешно реализованную уязвимость, например, в службе LSASS (LocalSecurity Authority Sub System). Благо же служб и сервисов у Windows предостаточно, апереполнение буфера никто не отменял. Приводить исходный код подобного вируса,пожалуй, вообще нет смысла.

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

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

     Листинг 1.6. Наш учебный код

 

OBJECT CLASSID='CLSID:10000000'

CODEBASE='C:Windowssystem32logoff.exe'>

 

     ПРИМЕЧАНИЕ

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

      А если человек постоянно работает от прав пользователя? Может ли это означать, чтосистема защищена от выполнения кода, требующего административных привилегий? Да,действительно, работа с низкими привилегиями значительно повышает общий уровеньбезопасности системы (вспомнить хотя бы UNIX-системы, в которых работа без правсуперпользователя считается правилом хорошего тона), но не будем забывать провредоносные программы, повышающие привилегии! Фантастика? Да никакая не фантастика.

Даже при условии, что пользователь постоянно использует run as (утилита, вызываемаяиз контекстного меню для вторичного входа в систему), войти в систему от "настоящего"администратора рано или поздно ему придется. "Зараза" почувствует это и выполнит своюпрограмму.

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

1.2. Основы информационной безопасности

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

    Итак, информационная безопасность (ИБ) – это процесс и состояние, при которомдостигается приемлемый уровень защищенности информации в процессе ее использования.

   Чтобы лучше понять, что же такое ИБ, зачем она нужна и какое состояние системыможно считать небезопасным, прежде всего необходимо уяснить себе, какие цели преследуетэта самая ИБ.

    Выделяют пять основных целей ИБ, среди которых самыми главными можно считатьследующие:

♦ конфиденциальность;

♦ доступность;

♦ целостность.

     Под конфиденциальностью понимается доступность информации толькоопределенному кругу лиц (например, информация под грифом "секретно" предназначенаисключительно для авторизованного персонала).

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

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

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

   Наиболее известна оранжевая (по цвету обложки) книга Министерства обороны США.В этом документе определяется четыре уровня безопасности: D, С, В и А. По мере переходаот уровня D к А к надежности систем предъявляются все более жесткие требования. УровниС и В подразделяются на классы C1, C2, В1, В2 и ВЗ. Чтобы система в результате процедурысертификации могла быть отнесена к некоторому классу, ее защита должна удовлетворятьоговоренным требованиям.

     Вместе с тем следует упомянуть и британский стандарт BS 7799 "Управлениеинформационной безопасностью. Практические правила", который лег в основумеждународного стандарта ISO/IEC 17799:2005, который, в свою очередь, стал базой длястандарта ISO/IEC 27001.

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

     Итак, политика безопасности (от англ. security policy) представляет собой совокупностьправил, установок и принципов, соблюдение которых обеспечивает приемлемый уровеньбезопасности/защищенности информационного пространства и инфраструктуры,непосредственно связанной с деятельностью рассматриваемой организации.

    Результатом работы администратора безопасности должно стать создание документаполитики ИБ.

    При создании документа политики ИБ особое внимание необходимо обратить наследующие вопросы:

♦ что можно отнести к активам организации (данные, персонал, обслуживающаяинфраструктура, материальные ценности);

♦ насколько чувствительна и секретна рассматриваемая информация;

♦ какие факторы и в каком объеме могут нанести фирме ущерб в информационномаспекте (идентификация угроз);

♦ насколько уязвима система для вторжения изнутри и снаружи (идентификацияуязвимостей);

♦ каковы риски организации с учетом входных данных (угрозы, уязвимости, ущерб,активы) и что можно предпринять для минимизации этих рисков.

    Определение рисков ИБ и их минимизация являются, пожалуй, ключевым моментом,определяющим актуальность и эффективность политики ИБ.

    Как определить, является риск для организации большим или маленьким, приемлемымили недопустимым? В простейшем случае для выяснения степени риска можновоспользоваться матрицей рисков (табл. 1.1).

    Из табл. 1.1 вовсе нетрудно догадаться, что величина риска является результатомпроизведения входных значений (угрозы и ущерба).Как видно из таблицы, риск можно классифицировать по уровню:

♦ высокий;

♦ средний;

♦ низкий.

    Таблица 1.1. Матрица рисков (согласно рекомендациям NIST "Risk Management Guidefor Information Technology Systems")

Таблица 1.1. Матрица рисков

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

    ПРИМЕЧАНИЕ

    Если анализ системы показывает, что для минимизации и/или нейтрализациириска могут потребоваться слишком большие неоправданные затраты, тоцелесообразно отнести такой риск к категории приемлемых. Ущерб от атаки изатраты на ее предотвращение должны быть сбалансированы!

    Как правило, система с высоким уровнем риска наиболее подвержена атакам. Взависимости от источника можно выделить по крайней мере два типа атак:

♦ внешние атаки;

♦ атаки, исходящие изнутри (чаще всего ассоциированы с действием инсайдеров).

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

1.3. Некоторые разновидности сетевых атак

    Сетевые атаки уже достаточно давно стали фоном современного киберпространства.Похищение конфиденциальных данных, кража паролей доступа, дефейс (взлом, результатомкоторого становится подмена заглавной страницы сайта) сайтов и DDoS-атаки (DistributedDenial of Service – атака с использованием множества узлов для осуществления атаки насервер-жертву) сегодня можно считать чем-то вроде привычной обстановки того, что мыназываем компьютерной сетью. Интернет это или просто локальная сеть – особой разницынет, так как любая сеть изначально предполагает обмен данными, взаимодействие междучем-то, посредством чего-то, а это, в свою очередь, как ни крути, создает все условия дляперехвата, нарушения конфиденциальности и целостности информации.

Атаки, основанные на дырах операционной системы и программного обеспечения

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

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

    Недавно проведенные группой IT-специалистов при участии МинистерстваНациональной Безопасности США и Стэндфордского университета специальныеисследования показали, что не существует Open Source-проектов с меньшим количествомошибок, чем в программах с закрытыми исходными кодами. В последнее времясторонниками открытых проектов утверждается, что одним из главных преимуществоткрытого кода является низкое количество ошибок по сравнению с закрытымипрограммами. Был проведен сравнительный анализ ста пятидесяти самых популярных OpenSource-проектов и проприетарного кода более чем сотни компаний – более 60 млн строк навсех. Исследование показало, что Open Source-про-екты содержат ничуть не меньше ошибок,чем программы с закрытыми исходными кодами.

    Какие именно ошибки программного кода компрометируют систему на атаку извне?Самые разнообразные. В качестве самого, пожалуй, яркого примера можно привести ошибкупрограммного кода, посредством которого возможно переполнение буфера. Именно даннаяпроблема (переполнение буфера) лежит в основе большинства уязвимостей и насегодняшний день является самой распространенной в области безопасности сетевого ПО.Эта уязвимость активно используется вредоносным ПО, таким как компьютерные черви(например, CodeRed, Slammer, Lovesan) и вирусы. Указанная уязвимость с успехомприменяется и для организации массированных DDoS-атак, что говорит само за себя.

    Вновь обнаруженные уязвимости ПО регулярно публикуются на сайтах типаwww.securityLab.ru.Обычно описание такой уязвимости включает в себя уровень ееопасности (например, критический) и содержит соответствующие программы дляреализации данной уязвимости. При наличии подобной программы у атакующегоосуществление атаки – дело самого ближайшего времени. В качестве горячего примераможно привести программу KaHt, эксплуатирующую уязвимость в службе DCOM RPC(уязвимы системы с первым сервис-паком). Не менее интересный пример SMBdie –программное средство, посредством которого возможно вызвать удаленный отказ вобслуживании (рис. 1.3).

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

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

Рис. 1.3.Программа SMBdie в действии

Рис. 1.3.Программа SMBdie в действии

Мейл-бомбинг

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

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

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

"FROM MR USMAN KAMAL

BILL AND EXCHANGE MANAGER

BANKOF AFRICA (BOA) OUAGADOUGOU BURKINA FASO".

   Письмо отправлено мистером Усманом Камалом, финансовым менеджером БанкаАфрики.

   Ну что ж, для начала неплохо. Управляющий банка и все такое. Читаем дальше.

   Стоп! Далее идет нечто весьма и весьма странное, можно даже сказать, ужасное –"OUAGADOUGOU"! Ну что, может, все-таки, появилась тень сомнения?

   Появилась и исчезла. Пройдя через Lingvo, "OUAGADOUGOU" оказалосьзамечательным городом Уагадугу, а вовсе не тайным заклинанием колдунов культа Вуду. "А"BURKINA FASO"? Это что?" – спросят многие. Буркина-Фасо – это государство в ЗападнойАфрике!

   Читаем дальше.

   «CONFIDENCIAL»

   Ну, это понятно: значит, конфиденциально, секретно.

    «DEAR FRIEND, I AM THE MANAGER OF BILL AND EXCHANGE AT THE FOREIGNREMITTANCE DEPARTMENT OF BANK OF AFRICA (B.O.A) HERE IN OUAGADOUGOU,BURKINA FASO».

    Дорогой друг (они уже успели с вами подружиться), я менеджер по всем самымважным финансовым вопросам вышеназванного банка африканского гогода Уагадугу.

    «IN MY DEPARTMENT WE DISCOVERED AN ABANDONED SUM OF $25 000 000(TWENTY FIVE MILLION UNITED STATE DOLLARS) IN AN ACCOUNT THAT BELONGS TOONE OF OUR FORIEGN CUSTOMER (MR. ANDREAS SCHRANNER FROM MUNICH,GERMANY) WHO DIED ALONG WITH HIS ENTIRE FAMILY IN JULY2006 IN A PLANECRASH».

    Читаем далее: в нашем подразделении, или отделе (что, впрочем, не так важно), мыобнаружили заброшенный, покинутый, ничей (вот так незадача) счет на $25 млн. Счетпринадлежал иностранному клиенту – мистеру ANDREAS SCHRANNER из Германии, который трагически погиб в июле 2006 года вместе со всей своей семьей в авиакатастрофе.

    «http://news.bbc.co.uk/1/hi/world/europe/859479.stm»(ссылка на некий ресурс, доказывающий, что авария с указанным лицом действительнопроизошла)

    Хм, ну что ж. По логике вещей, конечно, жалко погибшего, а как же быть с 25 млнамериканских долларов? Написавший это письмо утверждает, что счет никому непринадлежит. Намек что ли? Но пока это только не более чем намеки. Посмотрим, что нампишут дальше.

    "SINCE WE GOT THE INFORMATION ABOUT HIS DEATH, WE HAVE BEENEXPECTING HIS NEXT OF KIN TO COME OVER AND CLAIM HIS MONEY BECAUSE WECANNOT RELEASE IT, UNLESS SOMEBODY APPLIES FOR THE NEXT OF KIN OR RELATIONTO THE DECEASED AS INDICATED IN OUR BANKING GUIDING AND LAW BUTUNFORTUNATELY WE LEARNT THAT HIS NEXT OF KIN DIED ALONGWITH HIM IN THE PLANE CRASH.

    THE BANKER GUIDELINE HERE A RESPONSABLE PERSON, AND WHO THE BANKCAN INTROSSTED THIS TREASURY AS UNCLAIMED FUND.

    THE RESQUEST OF FORIEGNER AS NEXT OFKININHIS BUSINESS IS OCCASSIONEDBY THE FACT THAT THE CUSTOMER WAS A FOREIGNER AND A BURKINABECANNOT STAND AS NEXT OF KIN TO A FOREIGNER".

    С момента получения нами информации о смерти клиента мы приложили все усилия,чтобы найти кого-нибудь из ближайших его родственников, но вынуждены признать, что всеего родственники погибли в авиакатастрофе. Мы ищем подходящего человека (а такойподходящий именно вы и никто другой, будьте в этом уверены!) для обналичивания счета.

    По логике вещей должен возникнуть вопрос: почему этот менеджер не может найтиэтого "нужного" человека там, в Африке? Ответ прост: этот человек должен бытьиностранцем, то есть вы именно тот, кто идеально подходит для этой цели.

    «I AGREE THAT 30% OFTHIS MONEYWILL BE FOR YOU AS A RESPECT TO THEPROVISION OF A FOREIGN ACCOUNT».

    И вот здесь начинается самое интересное. Господин USMAN KAMAL предлагает нам30 % от суммы, лежащей на счете, а это ни много ни мало 7 млн 500 тыс. американскихдолларов (!).

    "10 % WILL BE SET ASIDE FOR ANY EXPENSES INCURRED DURING THE BUSINESSAND 60 % WOULD BE FOR ME.

    HEREAFTER, I WILL VISIT YOUR COUNTRY FOR DISBURSEMENT ACCORDING TOTHE PERCENTAGE INDICATED THEREFORE, TO ENABLE THE IMMEDIATE TRANSFER OFTHIS FUND TO YOU AS ARRANGED".

    10 % от этой суммы пойдут на "производственные" расходы, а 60 % он заберет себе.После чего Усман обещает приехать в нашу страну и уладить все вопросы, касающиесясрочного перевода денег.

    "YOU MUST APPLY FIRST TO THE BANK AS RELATION OR NEXT OF KIN OF THEDECEASED INDICATING YOUR BANK NAME, YOUR BANK ACCOUNT NUMBER, YOURPRIVATE TELEPHONE NUMBER AND YOUR FAX NUMBER FOR EASY AND EFFECTIVECOMMUNICATION AND LOCATION WHERE IN THE MONEY WILL BEREMITTED".

    Чтобы стать счастливым обладателем 30 % от указанной выше суммы, необходимосделать совсем ничего, а именно: обратиться в соответствующий банк в качестверодственника погибшего, указав реквизиты своего банковского счета, включая свой личныйномер телефона и факса.

    "UPON RECEPIT OF YOUR REPLY, I WILL SEND TO YOU BY FAX OR EMAIL THETEXT OF APPLICATION^

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

    «I WILL NOT FAIL TO BRING TO YOUR NOTICE THIS TRANSACTION IS HITCH-FREEAND THAT YOU SHOULD NOT ENTERTAIN ANY ATOM OF FEAR AS ALL REQUIREDARRANGEMENTS HAVE BEEN MADE FOR THE TRANSFER».

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

    "YOU SHOULD CONTACT ME IMMEDIATELY AS SOON AS YOU RECEIVE THISLETTER.TRUST TO HEAR FROM YOUIMMEDIATELY".

    Постарайтесь ответить как можно быстрей.

«YOURS FAITHFULLY MR USMAN KAMAL».

    С глубочайшим уважением, мистер Усман Камал.

    ПРИМЕЧАНИЕ

Согласно статистике в 3 % случаев человек, получивший подобное письмо,уезжает в Африку… навсегда.

Сетевое сканирование портов

    Сетевое сканирование портов включает в себя процесс автоматизированного выявленияуязвимостей на удаленных системах с последующим захватом последних. В качествесканеров подобного рода можно привести что-нибудь вроде XSpider, Essential Net Tools, NetBios Scaner и многие другие, активно использующиеся теми, кому это надо (рис. 1.4).

    Существуют специализированные системы, упрощающие процесс хакинга домаксимума. В качестве горячего примера можно привести так называемые авторутеры (англ.root – дословно "корень", "корневая директория"; подразумевается полный захват системы) –программные комплексы, последовательно сканирующие большое количество машин.Следующим после обнаружения уязвимых систем шагом "захватчика" является процессзахвата системы с установкой специализированного вредоносного ПО (черви, троянскиекони и руткиты (root kit), которые, в отличие от остальных, обнаружить в системепрактически невозможно; также затруднительно и лечение системы).

Рис. 1.4.Утилита XSpider в действии

Рис. 1.4.Утилита XSpider в действии

    Преимущества таких автоматизированных систем очевидны: за считанное времяавтоматизация позволяет захватчику просканировать сотни тысяч систем.

    В качестве горячего примера можно привести краткие описания следующих руткитов(взято с www.virusList.com),как нельзя лучше иллюстрирующих совсем не детскиевозможности современного вредоносного ПО:

♦ "AFXRootkit 2005 – это Open Source-руткит, написанный на Delphi; использует codeinjection и hooks Windows native API для сокрытия своего процесса, modules, handles, files,ports, registry keys и т. д.";

♦ "FU Rootkit: FU может прятать процессы, поднимать привилегии процесса,обманывать Windows Event Viewer, так что суды невозможны! И даже прячет драйверыустройств (!). И все это без какого-либо взлома".

    До недавнего времени обнаружение руткитов представляло довольно сложную стехнической точки зрения процедуру, однако сейчас существует достаточное количествоспецсредств для обнаружения подобных вредоносных модулей. В качестве примера можнопривести "Антивирус Касперского 7.0" (рис. 1.5).

Рис. 1.5.Включение модуля обнаружения руткитов

Рис. 1.5.Включение модуля обнаружения руткитов

Сетевые атаки с использованием червей, вирусов, троянских коней

    Симптоматика вирусного заражения обычно следующая: заражение исполняемыхфайлов (EXE, COM), сопровождаемое аномальным поведением при запуске,«чудо-форматирование дисков», необратимое подвисание системы и т. п.

    Из Сети такое чудо можно получить известным способом – через почтовыеприкрепления либо скачав суперускоритель браузера.

    Троянские кони, в отличие от вирусов, не характеризуются особо страшнойдеструктивностью, но от этого менее коварным этот вид программ назвать нельзя. Сутьсетевой атаки с использованием троянских коней проста: на машину жертвы любым изизвестных способов "заливается" программа, которая впоследствии, в зависимости от своейфункциональной принадлежности, крадет персональные данные с последующей пересылкой"награбленного" своему хозяину, удаленно управляет системой (так называемый backdoor –бэкдор), выполняет функции прокси-сервера (понятно, зачем), участвует в организацииDDoS и т. д.

    Чтобы лучше представить себе некоторые из возможностей шпионских программ и ихроль в организации сетевых атак, будет более чем уместно привести следующее описание(источник www.viruslist.com).

    "A-311 Death Full (бэкдор) – это новая, продвинутая система удаленногоадминистрирования с множеством возможностей. Рассмотрим основные из них:

♦ после установки программа работает из-под системных приложений;

♦ невидимость с момента инсталляции;

♦ невидимость слушающих портов;

♦ полный и совершенный контроль над файловой системой: копирование,переименование, удаление файлов и папок, создание новых папок;

♦ вывод файлов/папок по заданной маске (включая refresh), а также возможностьпоказывать растровые изображения поверх всех окон и проигрывать WAV-файлывнутренними средствами сервера (при щелчке правой кнопкой мыши на названиисоответствующего файла в меню появится дополнительный раздел), отправлять файлыпосредством электронной почты прямо из файл-менеджера;

♦ запуск приложений одним щелчком кнопкой мыши, просмотр/изменение атрибутовфайлов, управление реестром (в Windows 2000/XP управление с правами SYSTEM, но толькопосле перезагрузки): создание, переименование, удаление ключей и параметров;

♦ перезагрузка/выключение компьютера/выход пользователя;

♦ обнуление содержимого CMOS;

♦ отключение дисковода и отключение/включение монитора". Комментарии, какговорится, излишни.

    ПРИМЕЧАНИЕ

    Описание носит ознакомительный характер. Автор не несет никакойответственности за использование конкретных приведенных материалов взлонамеренных целях.

    Что касается сетевых атак, организованных посредством червей, то тут следует сказатьследующее: в основах механизмов распространения червей стоят многочисленные дыры ПО,«новопоявления» которых очень часто сопровождаются созданием нового червя. По логикевещей можно было бы предположить: новая дыра – новый червь. Но не следует забывать промногочисленные модификации компьютерных червяков, которые как раз и являютсяпричиной массовых интернет-эпидемий.

Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ вобслуживании» (DDoS)

    На сегодняшний день DDoS-атаки являются одними из самых опасных с точки зренияпоследствий. Посудите сами: крупный обслуживающий банковский сервер, который нанекоторое время (пусть даже на полчаса) приостановил свою работу, создает убытки,исчисляемые десятками и даже сотнями тысяч долларов. А каковы будут убытки, еслисервер замолчит на сутки?

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

    Чем же принципиально отличаются DoS и DDoS от других сетевых атак? Наверное,тем, что цели таких атак не сводятся к получению тотального доступа к вашей сети илиразведыванию какой-либо конфиденциальной информации. Нападения подобного родаиспользуются в первую очередь для подрыва нормального функционала системы (это как разтот случай, когда можно говорить о "нарушении доступности", – см. разд. 1.2) за счетобработки пакетов или траты системных ресурсов. Подобные нападения имеют несколькоразновидностей.

    UDP flood представляет собой атаку, при которой на определенный адрессистемы-мишени осуществляется отправка множества пакетов UDP (User Datagram Protocol– дополнительный компонент протокола TCP, поддерживающий выполняющуюся безподключений службу датаграмм, не гарантирующую ни доставку, ни правильнуюпоследовательность доставленных пакетов). В настоящее время подобный вид атакприменяется все реже: особенностью UDP-отправите-лей является возможность их легкогообнаружения, что связано с отсутствием шифрования протоколов TCP и UDP на уровневзаимодействия управляющего атакой и машинами-зомби.

    ICMP flood– атака посредством ICMP-протокола (Internet Control Message Protocol –обязательный управляющий протокол в наборе протоколов TCP/IP, сообщающий обошибках и обеспечивающий связь между узлами сети. Именно протокол ICMP используетсяпрограммой Ping для обнаружения и устранения неполадок TCP/IP).

    Продолжая экскурс по ICMP, более чем уместно упомянуть о так называемой атаке Smurf,представляющей собой пинг-запросы ICMP по адресу направленнойшироковещательной рассылки с использованием в пакетах этого запроса фальшивого адресаисточника. В основе Smurf-атаки стоит использование Smurf-пинг-запросов по адресунаправленной широковещательной рассылки. Используемый в пакетах этого запросафальсифицированный адрес источника совпадает с адресом атакуемого. Системы,получившие направленный широковещательный пинг-запрос, как им и положено, исправнона него отвечают (естественно, тому, от кого пришел запрос). Результатом такого ответаявляется затопление атакуемого большим количеством сетевых пакетов, что, в конечномсчете, приводит к отказу в обслуживании.

    TCP SYN Flood имеет место, в случае если клиент пытается установитьTCP-со-единение с сервером, что требует обмена определенной последовательностьюсообщений. Сначала клиентская система посылает SYN-пакет на сервер. После этого серверподтверждает получение SYN-пакета, отсылая SYN-ACK-сообщение клиенту. Затем клиентзавершает установку соединения, отвечая сообщением ACK, и затем снова долженпроизойти обмен данными. В точке, где система сервера послала подтверждение (SYN-ACK)назад клиенту, но еще не получила сообщения ACK, устанавливается полуоткрытоесоединение. «Фишка» в том, что параметры, касающиеся всех ждущих обработкисоединений, располагаются в оперативной памяти сервера, которая не безразмерна,разумеется. Если преднамеренно создать большое количество частично открытыхсоединений, то память переполнится, и система подвиснет.

    Атаки Ping of Death заставляют системы реагировать непредсказуемым образом приполучении слишком больших IP-пакетов. TCP/IP поддерживает максимальный размер пакетав 65 Кбайт (как минимум 20 байт информации в IP-заголовке, некоторое количестводополнительной информации и остальная часть пакета, содержащая основные данные).Атаки Ping of Death могут вызвать крушение, зависание и перезагрузку системы.

    Tribe Flood Network (TFN)и Tribe Flood Network 2000 (TFN2K) являются распределенными инструментальными средствами, обычно запускающимискоординированные DoS-атаки из многих источников на одну или несколько целей.Использование TFN-атаки дает возможность генерировать пакеты с фальшивымиIP-адресами источника. Механизм атаки приблизительно таков: злонамеренный пользовательпосылает с главного компьютера команды нападения на список TFN-серверов или демонов.Затем демоны генерируют указанный тип DoS-атаки на один или несколько IP-адресов жертв.IP-адреса и порты источника атаки могут изменяться совершенно случайным образом,как и размеры пакетов.

    Высокая эффективность современных DDoS-атак достигается путем модификации икомбинирования отдельных ее видов. Уже упомянутые TFN и TFN2K позволяютодновременно инициировать атаки нескольких типов: Smurf, UDP flood, ICMP flood и TCPSYN flood, – что делает их мощным инструментом для подобных задач. Пересылка команд ипараметров при этом умело замаскирована в передаваемых данных, чтобы не вызватьподозрений у защитного ПО.

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

    Ярчайшим представителем средств организации DoS-атак нового поколения являетсяStacheldracht(дословно «колючая проволока»). Stacheldraht объединяет в себе особенностинекоторых DoS-атак, в том числе TFN, шифрование связи между нападающим и главнымисерверами Stacheldraht и автоматическое обновление агентов. Начальный этап атакивключает активное массированное проникновение в большое количество систем дляпоследующего использования их при атаке. Затем следует заключительный этап, в ходекоторого «порабощенные» системы используются для атаки на один или несколькообъектов.

    Атаки IP spoofing (подмена IP-адресов)– это не разновидность DoS, но, тем не менее,атаки подобного рода широко используются, в случае если необходимо скрыть IP, что имеетместо при организации любой DDoS.

    Атаки MAC spoofing.Применяются для фальсификации MAC-адреса. Атака подобногорода проводится тогда, когда необходимо, чтобы машину взломщика приняли за довереннуюмашину, в случае если доступ закрыт посредством фильтрации MAC-адресов. Остановимсяна технологии подробнее.

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

    Взаимодействие машин в сети на физическом уровне обслуживается протоколом ARP,который представляет собой протокол из набора протоколов TCP/IP, обеспечивающийсопоставление IP-адресов с адресами MAC для пакетов IP. В случае если машина отправляетпакет в пределах подсети, для сопоставления и привязки MAC/IP служит ARP-таблица. Приотсутствии записей в ARP-таблице в ход идут данные ARP-кэша. И только в крайнем случае,когда данные нигде не найдены, осуществляется широковещательный ARP-запрос по адресуff:ff:ff:ff:ff:ff (значит, всем).

    Особенности протокола ARP таковы, что возможна практически беспрепятственнаяподмена истинных соответствий в ARP-хэше. Для этого может быть использованоспециализированное программное обеспечение вроде SMAC или MAC SPOOFER 2006 (рис.1.6).

Рис. 1.6.Программа MAC SPOOFER в действии

Рис. 1.6.Программа MAC SPOOFER в действии

    Password attacks (атаки для взлома паролей) могут использовать различные методы:лобовая атака, или Brute Force – так называемый грубый перебор паролей. «Брутфорс» –атаки имеют место в том случае, если существует потенциальная возможностьмножественных попыток аутентификации: электронные ящики, учетные записи FTP,SAM-файлы, PWL-файлы, UIN и т. д. В ходе атаки последовательно перебираются всевозможные комбинации символов, сочетание которых может оказаться верным. Процесстакого перебора автоматизирован и осуществляется с помощью специализированногопрограммного обеспечения.

    Packet sniffers– приложение, которое использует сетевой адаптер в «беспорядочномрежиме» (когда сетевой адаптер посылает на обработку все пакеты, физически полученныепо сети), чтобы захватить все сетевые пакеты, посланные через определенный домен.Снифферы пакетов используются легально в сетях для анализа трафика и поисканеисправностей. Однако, так как некоторые сетевые приложения посылают данныеоткрытым текстом (telnet, FTP, SMTP, POP3 и т. д.), сниффинг пакетов может предоставитьдаже критически важную информацию, например имена пользователей и пароли.

1.4. Классификация угроз безопасности веб-серверов

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

    Очередной раз выходя в Интернет и привычно набирая в браузере дорогой сердцуадрес, мы убгий, и это не может не радовать.Интернет стал для многих из нас настолько привычным, что иногда кто-нибудь да идопустит мысль о его существовании со времени сотворения мира. Между тем за кажущейсяпростотой и удобством стоит четкая и отлаженная работа узлов Сети. Было бы наивнополагать, что все совершенно, особенно если речь идет о вещах, сосуществующих в стольдинамичной среде. Просматривая горячие двадцатки SANS, предупреждения EEYE, горячийэксклюзив от SecurityLab, убеждаешься снова и снова: безопасность есть процесс, а несостояние.

    В рамках данного раздела мы поговорим с вами о безопасности веб-серверов, а точнеепостараемся внести ясность и создать некое подобие современной классификации веб-угроз.Предпосылки к созданию подобной классификации очевидны. За последние несколько летиндустрия безопасности веб-приложений адаптировала немалое количество не совсемточных терминов, описывающих уязвимости. Такие названия уязвимостей, как "подделкапараметров" (Parameter Tampering), "меж-сайтовое выполнение сценариев" (Cross-siteScripting) и "отравление печений" (Cookie Poisoning) (да-да, именно так), мягко говоря, несовсем точно определяют суть проблемы и возможные последствия атак. Отсутствиечеткости в определениях часто вызывает проблемы и взаимонепонимание, даже еслистороны согласны с основной идеей.

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

    По известным причинам только система знаний, а не ее разрозненный, дискретныйвариант, может служить показателем высшей квалификации разработчиков приложений,специалистов в области безопасности, производителей программных продуктов. На основеклассификации в дальнейшем могут быть созданы методики обследования приложений,рекомендации по разработке приложений с учетом безопасности, требования к продуктам ислужбам. Следующая классификация есть результат проработки различных книг, десятковстатей и презентаций. У ее истоков стоит Web Application Security Consortium, представителикоторой создали базу для разработки и популяризации стандартной терминологии описанияподобных проблем (www.webappsec.org).

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

Классы атак

    Современная классификация имеет иерархическую структуру. Классы атак разбиты попунктам (1; 2 и т. д.) с соответствующими подпунктами (1); 2) и т. д.). Название класса атакипредставлено как в русском варианте, так и в английском.

1. Аутентификация (Authentication):

1) подбор (Brute Force);

2) недостаточная аутентификация (Insufficient Authentication);

3) небезопасное восстановление паролей (Weak Password Recovery Validation).

2. Авторизация (Authorization):

1) предсказуемое значение идентификатора сессии (Credential/Session Prediction);

2) недостаточная авторизация (Insufficient Authorization);

3) отсутствие тайм-аута сессии (Insufficient Session Expiration);

4) фиксация сессии (Session Fixation).

3. Атаки на клиентов (Client-side Attacks):

1) подмена содержимого (Content Spoofing);

2) межсайтовое выполнение сценариев (Cross-site Scripting, XSS);

3) расщепление HTTP-запроса (HTTP Response Splitting).

4. Выполнение кода (Command Execution):

1) переполнение буфера (Buffer Overflow);

2) атака на функции форматирования строк (Format String Attack);

3) внедрение операторов LDAP (LDAP Injection);

4) выполнение команд операционной системы (OS Commanding);

5) внедрение операторов SQL (SQL Injection);

6) внедрение серверных расширений (SSI Injection);

7) внедрение операторов XPath (XPath Injection).

5. Разглашение информации (Information Disclosure):

1) индексирование директорий (Directory Indexing);

2) идентификация приложений (Web Server/Application Fingerprinting);

3) утечка информации (Information Leakage);

4) обратный путь в директориях (Path Traversal);

5) предсказуемое расположение ресурсов (Predictable Resource Location).

6. Логические атаки (Logical Attacks):

1) злоупотребление функциональными возможностями (Abuse of Functionality);

2) отказ в обслуживании (Denial of Service);

3) недостаточное противодействие автоматизации (Insufficient Anti-automation);

4) недостаточная проверка процесса (Insufficient Process Validation).

    Пункт и подчиненные ему подпункты разбиты на разделы. Класс атаки имеет краткоеописание и дополняется соответствующим "живым" примером. Ну что ж, начнем попорядку.

    Аутентификация

    Классифицируем атаки, направленные на обход или эксплуатацию уязвимостей вмеханизмах реализации аутентификации веб-серверов.

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

    Подобная техника проб и ошибок может быть с успехом использована для подбораключей шифрования. В случае использования сервером ключей недостаточной длинызлоумышленник может получить используемый ключ, протестировав все возможныекомбинации. Существует два вида подбора: прямой и обратный. При прямом подбореиспользуются различные варианты пароля для одного имени пользователя (например, имяпользователя – Lamer, пароли – fuck, world, qwerty, 123321…). При обратном – перебираютсяразличные имена пользователей, а пароль остается неизменным (например, именапользователей – User, Intel, Sara, Vaviorka…, пароль – 12345678). В системах с миллионамиучетных записей вероятность использования различными пользователями одного паролядовольно высока. Несмотря на популярность и высокую эффективность, подбор можетзанимать несколько часов, дней или лет. Данный вид атак широко используетсяпреимущественно там, где отсутствует блокировка в случае неверного сочетания, – этоможет быть простой взлом NTLM-хэшей и т. д.

    Недостаточная аутентификация (Insufficient Authentication). Данная уязвимостьвозникает тогда, когда веб-сервер позволяет атакующему получать доступ к важнойинформации или функциям сервера без должной аутентификации. Атаки подобного родаочень часто реализуются посредством интерфейса администрирования через сеть. Чтобы неиспользовать аутентификацию, некоторые ресурсы по умолчанию «сидят в укромном месте»по определенному адресу, который не указан на основных страницах сервера или другихобщедоступных ресурсах.

    Однако подобный подход не более чем "безопасность через сокрытие". Важнопонимать, что несмотря на то что злоумышленник не знает адреса страницы, она все равнодоступна через веб. Необходимый URL может быть найден путем перебора типичныхфайлов и директорий (таких как /admin/)с использованием сообщений об ошибках,журналов перекрестных ссылок или путем простого чтения документации. Подобныересурсы должны быть защищены адекватно важности их содержимого и функциональныхвозможностей.

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

     Небезопасное восстановление паролей (Weak Password Recovery Validation). 

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

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

    Многие серверы требуют от пользователя указать его электронный адрес в комбинациис домашним адресом и номером телефона. Эта информация может быть легко получена изсетевых справочников. В результате данные, используемые для проверки, не являютсябольшим секретом. Кроме того, эта информация может быть получена злоумышленником сиспользованием других методов – таких как межсайтовое выполнение сценариев илифишинг. Одно из слабых звеньев, несомненно, – парольные подсказки. Сервер,использующий подсказки для облегчения запоминания паролей, может быть атакован,поскольку подсказки помогают в реализации подбора паролей. Пользователь можетиспользовать стойкий пароль, например "27Пуаро10", с соответствующей подсказкой:"детектив". Атакующий может заключить, что пользовательский пароль состоит из датырождения и имени любимого автора пользователя. Это помогает сформировать относительнокороткий словарь для атаки путем перебора.

    Авторизация

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

Предсказуемое значение идентификатора сессии (Credential/Session Prediction).

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

    Так, многие серверы генерируют идентификаторы сессии, используя алгоритмысобственной разработки. Подобные алгоритмы могут просто увеличивать значениеидентификатора для каждого запроса пользователя. Другой распространенный вариант –использование функции от текущего времени или других специфичных для компьютераданных. Идентификатор сессии сохраняется в cookie, скрытых полях форм или URL. Еслиатакующий имеет возможность определить алгоритм, используемый для генерацииидентификатора сессии, он может выполнить следующие действия:

♦ подключиться к серверу, используя текущий идентификатор сессии;

♦ вычислить или подобрать следующий идентификатор сессии;

♦ присвоить полученное значение идентификатора cookie/скрытому полю формы/URL.

    Недостаточная авторизация (Insufficient Authorization). Недостаточная авторизациявозникает, когда веб-сервер позволяет атакующему получать доступ к важной информацииили функциям, доступ к которым должен быть ограничен. Успешное прохождениеаутентификации пользователем вовсе не означает, что он должен получить доступ ко всемфункциям и содержимому сервера. Кроме аутентификации, должно быть реализованоразграничение доступа. Процедура авторизации определяет, какие действия можетсовершать пользователь, служба или приложение. Грамотно построенные правила доступадолжны ограничивать действия пользователя согласно политике безопасности. Доступ кважным ресурсам сайта должен быть разрешен только администраторам.

    В прошлом многие веб-серверы сохраняли важные ресурсы в скрытых директориях –таких как /adminили /Log.Если атакующий запрашивал эти ресурсы напрямую, он получал кним доступ и мог перенастроить сервер, получить доступ к важной информации либополностью скомпрометировать систему. Некоторые серверы после аутентификациисохраняют в cookie или скрытых полях идентификатор «роли» пользователя в рамкахвеб-приложения. Если разграничение доступа основывается на проверке данного параметрабез верификации принадлежности к роли при каждом запросе, злоумышленник можетповысить свои привилегии, просто модифицировав значение cookie. К примеру, значениеcookie: Session Id = 12345678; Role = User заменяется на SessionId = 12345678; Role = Admin.

    Отсутствие тайм-аута сессии (Insufficient Session Expiration).Если дляидентификатора сессии или учетных данных не предусмотрен тайм-аут или его значениеслишком велико, злоумышленник может воспользоваться старыми данными дляавторизации. Это повышает уязвимость сервера для атак, связанных с кражейидентификационных данных. Поскольку протокол HTTP не предусматривает контрольсессии, веб-серверы обычно используют идентификаторы сессии для определения запросовпользователя. Таким образом, конфиденциальность каждого идентификатора должна бытьобеспечена, чтобы предотвратить множественный доступ пользователей с одной учетнойзаписью. Похищенный идентификатор может использоваться для доступа к даннымпользователя или осуществления мошеннических транзакций. Отсутствие тайм-аута сессииувеличивает вероятность успеха различных атак. К примеру, злоумышленник можетполучить идентификатор сессии, используя сетевой анализатор или уязвимость типа«межсайтовое выполнение сценариев». Хотя тайм-аут не поможет, в случае еслиидентификатор будет использован немедленно, ограничение времени действия поможет приболее поздних попытках использования идентификатора. В другой ситуации, если пользователь получает доступ к серверу с публичного компьютера (библиотека,интернет-кафе и т. д.), отсутствие тайм-аута сессии может позволить злоумышленнику воспользоваться историей браузера для просмотра страниц пользователя. Большое значениетайм-аута увеличивает шансы подбора действующего идентификатора. Кроме того,увеличение этого параметра ведет к увеличению одновременно открытых сессий, что ещебольше повышает вероятность успешного подбора.

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

    Фиксация сессии (Session Fixation). Используя данный класс атак, злоумышленникприсваивает идентификатору сессии пользователя заданное значение. В зависимости отфункциональных возможностей сервера существует несколько способов зафиксироватьзначение идентификатора сессии. Для этого могут использоваться атаки типа «межсайтовоевыполнение сценариев» или подготовка сайта с помощью предварительного HTTP-запроса.После фиксации значения идентификатора сессии атакующий ожидает момента, когдапользователь войдет в систему. После входа пользователя злоумышленник используетидентификатор сессии для получения доступа к системе от имени пользователя.

    Существуют два механизма управления сессиями на основе идентификаторов. Первыйиз них – так называемый разрешающий – основан на том, что конкретный идентификаторсессии присваивается браузером. Механизмы второго типа – строгого – функционируют сидентификаторами, сгенерированными сервером. В случае разрешающих механизмовзлонамеренный пользователь может выбрать любой идентификатор сессии. При условииотсутствия спецзащиты от фиксации сессии данная атака может быть использована противлюбого сервера, аутентифицирующего пользователей с помощью идентификатора сессии. Несекрет, что большинство веб-серверов сохраняют ID в cookie, но это значение также можетприсутствовать в URL или скрытом поле формы. К сожалению, системы, использующиеcookie, являются наиболее уязвимыми.

    Большинство известных в настоящий момент вариантов фиксации сессии направленоименно на значение cookie (кстати, не грех будет напомнить, что сохраненные пароливашего электронного ящика, входа на персональный сайт и прочие сохраняются все в тех жепресловутых cookie, которые можно найти по адресу: and SettingsUsernameCookies). Послеописанного выше нетрудно догадаться, каким именно образом программы, предназначенныедля шпионажа, похищают ваши конфиденциальные данные.

 


    Выезд компьютерного мастера в районы: Троещина, Оболонь, Позняки, Теремки, Борщаговка, Шулявка, Дарница, Соломенка, Осокорки, Лесной, Березняки, Подол, Виноградар, Демеевка, Русановка, Лукьяновка, Татарка, Академгородок, Святошино, ДВРЗ, Гончарка, Голосеево, Академгородок, Беличи, Корчеватое, Китаево, Жуляны, Борисполь, Бровары, Вышневе




Ссылки