Способы атаки на пароль. Обеспечение безопасности пароля. Прямое похищение паролей. Достигли ли мы предельного количества паролей

Парольная защита

Роль парольной защиты в обеспечении безопасности АИС . Криптографические методы, в частности, шифрование, хорошо обеспечивают защиту информации (конфиденциальности, целостности, аутентичности и т.д.) от внешнего нарушителя. Такой нарушитель, возможно, может перехватывать сообщения, передающиеся по каналу связи а, в некоторых случаях, модифицировать их и даже вставлять в сеанс связи собственные сообщения (зачастую стараясь выдать их за сообщения другого источника). Однако информация в канале связи предварительно подвергается криптографическим преобразованиям и передается в соответствии с криптографическими протоколами, специально разработанными для того, чтобы помешать нарушителю реализовать угрозы безопасности. Для того, чтобы нарушить безопасность информации, циркулирующей в системе, ему необходимо найти уязвимость в системе защиты, либо в использованных в ней криптографических алгоритмах. Аналогичные трудности встают перед нарушителем, получившим доступ к защищенной АИС в качестве пользователя, не обладающего привилегиями, необходимыми для доступа к интересующим его данным.

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

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

Приемы обхода парольной защиты и методы противодействия им.

1. Полный перебор (метод грубой силы, bruteforce).

Самая простая (с технической точки зрения) атака на пароль – перебор всех комбинаций допустимых символов (начиная от односимвольных паролей). Современные вычислительные мощности позволяют перебрать все пароли длиной до пяти-шести символов за несколько секунд.

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

Однако существует множество систем, позволяющих бесконечный перебор. Например, к защищенному паролем файлу (архив rar или zip, документ Microsoft Office и т.д.) можно пробовать разные пароли бесконечно. Существует множество программ, которые позволяют автоматизировать эту процедуру: Advanced RAR Password Recovery, Advanced PDF Password Recovery, Advanced Office XP Password Recovery. Кроме того, многие программы хранят хэш пароля в доступном файле. Например, таким образом клиент для работы с электронной почтой (работающий на общедоступном компьютере) может хранить пароли пользователей. Существуют способы похитить файл, содержащий хэши паролей доступа к операционной системе. После этого можно заниматься подбором паролей уже в обход системы, с помощью специальных программ.

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

Два лишних символа в пароле увеличивают время перебора в 40000 раз, а четыре символа - уже в 1.600.000.000 раз. Однако вычислительные мощности компьютеров постоянно растут (еще несколько лет назад безопасным считался пароль длиной 8 символов).

2. Перебор в ограниченном диапазоне.

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

Пусть n = 70 - количество символов, из которых можно составить пароль, причем 10 из них - цифры, 30 - буквы одного языка и 30 - буквы другого языка. Пусть мы составляем пароль длиной m = 4 символа.

Если пароль составляется абсолютно случайно, то количество возможных комбинаций (которые необходимо перебрать) составляет 704 = 24010000. Однако противник может сделать предположение, что пароль состоит из символов одного диапазона (пусть даже, неизвестно, какого). Всего таких паролей 104 + 304 + 304 = 10000 + 810000 + 810000 = 163000. Если он оказался прав, то количество комбинаций (а следовательно, время, которое необходимо затратить на перебор) уменьшилось в 147 раз. Это число резко возрастает, когда увеличивается длина пароля и число диапазонов символов, из которых он может быть составлен.

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

3. Атака по словарю

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

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

Надежный пароль не должен строиться на основе слов естественного языка.

4. Атака по персональному словарю

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

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

Надежный пароль должен быть полностью бессмысленным.

5. Сбор паролей, хранящихся в общедоступных местах

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

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

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

6. Социальный инжиниринг

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

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

7. Фишинг

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

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

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

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

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

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

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

В программе KeePass Portable все пароли хранятся в зашифрованном файле, для доступа к которому необходимо ввести пароль (единственный, который придется по-настоящему запомнить). При этом программа не отображает эти пароли на экране в явном виде. Чтобы ввести пароль для доступа к ресурсу (например, определенному сайту или электронной почте), необходимо выбрать ресурс из списка и выбрать в контекстном меню команду Copy Password To Clipboard . Пароль будет помещен в буфер обмена. Даже внимательно отслеживая действия пользователя, противник не увидит пароля, который не набирается на клавиатуре и не появляется в явном виде на экране. Далее необходимо просто перейти в окно программы, требующей пароль, и поместить его из буфера обмена в поле для ввода (нажатием Ctrl + V или командой Вставить контекстного меню). Пароль сразу будет отображаться в виде звездочек. Спустя несколько секунд он будет автоматически удален из буфера. Программа позволяет также генерировать случайные пароли заданной длины, причем пользователь может даже не знать, какой пароль создала ему программа – важно, чтобы она предоставляла этот пароль каждый раз, когда необходимо авторизоваться. Наконец, KeePass Portable не требует установки в системе: программа может переноситься на флеш-носителе и запускаться непосредственно с него.

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

Оптимальным вариантом является генерация пользовательского пароля специализированной программой, однако следует учитывать, что даже самый взломоустойчивый пароль может быть похищен или банально утерян. Защита конфиденциальной информации должна осуществляться комплексно, но начинать её нужно с создания надёжного пароля. Рассмотрим основные методы, применяемые злоумышленниками для вскрытия паролей:

Перебор словарного запаса

Использование вредоносного ПО

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

Прямое похищение паролей

Простой, но удивительно эффективный метод. В офис солидной компании заходит сантехник, связист или электрик, на которого никто не обращает внимания. Он же наоборот, внимательно фиксирует всё, что может заметить его камера или опытный взгляд. В любом офисе можно заметить на мониторах стикеры с каллиграфически выведенными логинами и паролями, особенно у милых дам… Такое пренебрежительное отношение к безопасности легко может разорить компанию. Бороться можно и нужно, укрепляя внутреннюю дисциплину;

Метод «Пауков»

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

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

Проверка надежности пароля

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

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

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

Сохраняем в закладки, пользуемся и делимся в соцсети с друзьями!

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

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

Методы модификации схемы простых паролей;

Методы идентификации и установления подлинности субъектов и различных объектов;

Метод "запрос-ответ";

Функциональные методы.

Наиболее эффективными из данных методов являются функциональные.

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

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

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

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

Методы идентификации и установления подлинности субъектов и различных объектов.

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

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

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

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

Функциональные методы. Среди функциональных методов наиболее распространенными является метод функционального преобразования пароля, а также метод "рукопожатия".

Метод функционального преобразования основан на использовании некоторой функции F, которая должна удовлетворять следующим требованиям:

· для заданного числа или слова Х легко вычислить Y= F(X),

· зная Х и Y , сложно или невозможно определить функцию Y= F(X).

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

Пользователю сообщается:

· исходный пароль - слово или число X, например число 31;

· функция F(X), например, Y= (X mod 100) D+ W, где (X mod 100) - операция взятия остатка от целочисленного деления Х на 100, D - текущий номер дня недели, a W - текущий номер недели в текущем месяце;

· периодичность смены пароля, например каждый день, каждые три дня или каждую неделю.

Паролями пользователя для последовательности установленных периодов действия одного пароля будут соответственно X, F(Х), F(F(X)), F(F(F(X))) и т.д., т.е., для i- го периода действия одного пароля паролем пользователя будет Fi-1(X). Поэтому для того чтобы вычислить очередной пароль по истечении периода действия используемого пароля, пользователю не нужно помнить начальный (исходный) пароль, важно лишь не забыть функцию парольного преобразования и пароль, используемый до настоящего момента времени.

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

Согласно методу "рукопожатия", существует функция F , известная только пользователю и информационной системе. Данная функция должна удовлетворять тем же требованиям, которые определены для функции, используемой в методе функционального преобразования.

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

Далее Х выводится пользователю, который должен вычислить F"(X) и ввести полученное значение в систему. Значения F(X), F"(X) сравниваются системой, и если они совпадают, то пользователь получает доступ.

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

Y =(<сумма 1-й, 2-й и 5-й цифр числа>)2 - <сумма 3-й, 4-й, 6-й и 7-й цифр числа> + <сумма цифр текущего времени в часах>.

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

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

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

Назад

ГЛАВА IV

ТЕХНОЛОГИИВЗЛОМАПРОГРАММНЫХ ЗАЩИТ

Препятствование распространению информации об атаках приводит к опасной иллюзии безопасности…

Крис Касперски. Техника и философия хакерских атак.

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

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

Широко известны эксперименты со взломом знаменитого криптографического стандарта США - DES -алгоритма (Data Encryption Standart ). 56-битный ключ DES -алгоритма был невскрываем около двадцати лет. «... он пал 17 июня 1997 г., через 140 дней после начала конкурса (при этом было протестировано около 25% всех возможных ключей и затрачено 450 MIPS -лет » . В 1998 году появилось сообщение о взломе DES -алгоритма за 56 часов .

С резким скачком производительности вычислительной техники сначала столкнулся алгоритм RSA, для вскрытия которого необходимо решать задачу факторизации. В марте 1994 была закончена длившаяся в течение 8 месяцев факторизация числа из 129 цифр (428 бит6). Для этого было задействовано 600 добровольцев и 1600 машин, связанных посредством электронной почты. Затраченное машинное время было эквивалентно примерно 5000 MIPS-лет .

29 января 1997 фирмой RSA Labs был объявлен конкурс на вскрытие симметричного алгоритма RC5. 40-битный ключ был вскрыт через 3.5 часа после начала конкурса! (Для этого даже не потребовалась связывать компьютеры через Интернет - хватило локальной сети из 250 машин в Берклевском университете). Через 313 часов был вскрыт и 48-битный ключ [ 24].

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

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

С связи с резким ростом вычислительных мощностей атаки полным перебором имеют гораздо больше шансов на успех, чем раньше. Если для системы UNIX функция crypt(), которая отвечает за хеширование паролей, была реализована так, что выполнялась почти 1 секунду на машину класса PDP, то за двадцать лет скорость ее вычисления увеличилась в 10000 раз (!). Поэтому если раньше хакеры (и разработчики, которые ограничили длину пароля 8 символами) и представить себе не могли полный перебор, то сегодня такая атака в среднем приведет к успеху за 125 дней .

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

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

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

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

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

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

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

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

_____________________________

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

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

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

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

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

___________________________________________________________

Подробнее

1. Примеры атак на механизмы защиты - Крис Касперски «Техника и философия хакерских атак» .

2. Генерирование псевдослучайных последовательностей чисел - Ю.С. Харин, В.И. Берник, Г.В. Матвеев «Математические основы криптологии» , стр. 153-188; В. Жельников «Криптография от папируса до компьютера» , стр. 181-207.

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

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

Установление подлинности и определение полномочий субъекта при его допуске в систему,

Контролирование установленных полномочий в процессе сеанса работы;

Регистрация действий и др.

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

Общая процедура идентификации и аутентификации пользователя при его доступе в АС представлена на рис. 2.10. Если в процессе аутентификации подлинность субъекта установлена, то система защиты информации должна определить его полномочия (совокупность прав). Это необходимо для последующего контроля и разграничения доступа к ресурсам.

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

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

Рис. 2.10. Классическая процедура идентификации и аутентификации

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

1. Основанные на знании лицом, имеющим право на доступ к ресурсам системы, некоторой секретной информации – пароля.

2. Основанные на использовании уникального предмета: жетона, электронной карточки и др.

3. Основанные на измерении биометрических параметров человека – физиологических или поведенческих атрибутах живого организма.

4. Основанные на информации, ассоциированной с пользователем, например, с его координатами.

Рассмотрим эти группы.

1. Наиболее распространенными простыми и привычными являются методы аутентификации, основанные на паролях – секретных идентификаторах субъектов. Здесь при вводе субъектом своего пароля подсистема аутентификации сравнивает его с паролем, хранящимся в базе эталонных данных в зашифрованном виде. В случае совпадения паролей подсистема аутентификации разрешает доступ к ресурсам АС.

Парольные методы следует классифицировать по степени изменяемости паролей:

Методы, использующие постоянные (многократно используемые) пароли,

Методы, использующие одноразовые (динамично изменяющиеся) пароли.

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

В последнем случае, возможно запустить программу по подбору паролей – «дробилку».

Более надежный способ – использование одноразовых или динамически меняющихся паролей.

Известны следующие методы парольной защиты, основанные на одноразовых паролях:

Методы модификации схемы простых паролей;

Методы «запрос-ответ»;

Функциональные методы.

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

При использовании метода «запрос-ответ» система задает пользователю некоторые вопросы общего характера, правильные ответы на которые известны только конкретному пользователю.

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

Для заданного пароля x легко вычислить новый пароль ;

Зная х и y, сложно или невозможно определить функцию .

Наиболее известными примерами функциональных методов являются: метод функционального преобразования и метод «рукопожатия».

Идея метода функционального преобразования состоит в периодическом изменении самой функции . Последнее достигается наличием в функциональном выражении динамически меняющихся параметров, например, функции от некоторой даты и времени. Пользователю сообщается исходный пароль, собственно функция и периодичность смены пароля. Нетрудно видеть, что паролями пользователя на заданных -периодах времени будут следующие: x, f(x), f(f(x)), ..., f(x)n-1.

Метод «рукопожатия» состоит в следующем. Функция парольного преобразования известна только пользователю и системе защиты. При входе в АС подсистема аутентификации генерирует случайную последовательность x, которая передается пользователю. Пользователь вычисляет результат функции y=f(x) и возвращает его в систему. Система сравнивает собственный вычисленный результат с полученным от пользователя. При совпадении указанных результатов подлинность пользователя считается доказанной.

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

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

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

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

Карточки разделяют на два типа:

Пассивные (карточки с памятью);

Активные (интеллектуальные карточки).

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

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

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

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

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

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

Перспективным направлением развития карточек является наделение их стандартом расширения портативных систем PCMCIA (PC Card). Такие карточки являются портативными устройствами типа PC Card, которые вставляются в разъем PC Card и не требуют специальных устройств чтения. В настоящее время они достаточно дороги.

3. Методы аутентификации, основанные на измерении биометрических параметров человека (см. таблицу 2.6), обеспечивают почти 100 % идентификацию, решая проблемы утраты паролей и личных идентификаторов. Однако такие методы нельзя использовать при идентификации процессов или данных (объектов данных), так как они только начинают развиваться (имеются проблемы со стандартизацией и распространением), требуют пока сложного и дорогостоящего оборудования. Это обусловливает их использование пока только на особо важных объектах и системах.

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

Таблица 2.6

Примеры методов биометрии

Физиологические методы

Поведенческие методы

Снятие отпечатков пальцев

Сканирование радужной оболочки глаза

Сканирование сетчатки глаза

Геометрия кисти руки

Распознавание черт лица

Анализ клавиатурного почерка

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

Назовем наиболее используемые биометрические атрибуты и соответствующие системы.

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

· Геометрия руки. Соответствующие устройства используются, когда из-за грязи или травм трудно применять сканеры пальцев. Биологическая повторяемость геометрии руки около 2 %.

· Радужная оболочка глаза. Данные устройства обладают наивысшей точностью. Теоретическая вероятность совпадения двух радужных оболочек составляет 1 из 1078.

· Термический образ лица . Системы позволяют идентифицировать человека на расстоянии до десятков метров. В комбинации с поиском данных по базе данных такие системы используются для опознания авторизованных сотрудников и отсеивания посторонних. Однако при изменении освещенности сканеры лица имеют относительно высокий процент ошибок.

· Голос. Проверка голоса удобна для использования в телекоммуникационных приложениях. Необходимые для этого 16-разрядная звуковая плата и конденсаторный микрофон стоят менее 25 $. Вероятность ошибки составляет 2 – 5%. Данная технология подходит для верификации по голосу по телефонным каналам связи, она более надежна по сравнению с частотным набором личного номера. Сейчас развиваются направления идентификации личности и его состояния по голосу – возбужден, болен, говорит правду, не в себе и т.д.

· Ввод с клавиатуры. Здесь при вводе, например, пароля отслеживаются скорость и интервалы между нажатиями.

· Подпись. Для контроля рукописной подписи используются дигитайзеры.

4. Новейшим направлением аутентификации является доказательство подлинности удаленного пользователя по его местонахождению. Данный защитный механизм основан на использовании системы космической навигации, типа GPS (Global Positioning System). Пользователь, имеющий аппаратуру GPS, многократно посылает координаты заданных спутников, находящихся в зоне прямой видимости. Подсистема аутентификации, зная орбиты спутников, может с точностью до метра определить месторасположение пользователя. Высокая надежность аутентификации определяется тем, что орбиты спутников подвержены колебаниям, предсказать которые достаточно трудно. Кроме того, координаты постоянно меняются, что сводит на нет возможность их перехвата.

Аппаратура GPS проста и надежна в использовании и сравнительно недорога. Это позволяет ее использовать в случаях, когда авторизованный удаленный пользователь должен находиться в нужном месте.

Суммируя возможности средств аутентификации, ее можно классифицировать по уровню информационной безопасности на три категории:

1. Статическая аутентификация;

2. Устойчивая аутентификация;

3. Постоянная аутентификация.

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

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

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

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

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