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

Защита информации с помощью пароля

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

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

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

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

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

Однако вернемся на несколько лет назад, когда вычислительной мощности для полного перебора всех паролей не хватало. Тем не менее, хакерами был придуман остроумный метод, основанный на том, что в качестве пароля человеком выбирается существующее слово или какая-либо информация о себе или своих знакомых (имя, дата рождения и т.п.). Ну, а поскольку в любом языке не более 100000 слов, то их перебор займет весьма небольшое время, и от 40 до 80% существующих паролей может быть угадано с помощью простой схемы, называемой “атакой по словарю”. Кстати, до 80% этих паролей может быть угадано с использованием словаря размером всего 1000 слов!

Пусть сегодня пользователи уже понимают, что выбирать такие пароли нельзя, но, видимо, никогда эксперты по компьютерной безопасности не дождутся использования таких простых и радующих душу паролей, как 34jХs5U@bТа!6;). Поэтому даже искушенный пользователь хитрит и выбирает такие пароли, как hоре1, user1997, рАsSwOrD, toor, roottoor, раго1, gfhjkm, asхz. Видно, что все они, как правило, базируются на осмысленном слове и некотором простом правиле его преобразования: прибавить цифру, прибавить год, перевести через букву в другой регистр, записать слово наоборот, прибавить записанное наоборот слово, записать русское слово латинскими буквами, набрать русское слово на клавиатуре с латинской раскладкой, составить пароль из рядом расположенных на клавиатуре клавиш и т.п.

Поэтому не надо удивляться, если такой “хитрый” пароль будет вскрыт хакерами - они не глупее самих пользователей, и уже вставили в свои программы те правила, по которым может идти преобразование слов. В самых "продвинутых" программах (John The Ripper, Password Cracking library) эти правила могут быть программируемыми и задаваться с помощью специального языка самим хакером.

Приведем пример эффективности такой стратегии перебора. Во многих книгах по безопасности предлагается выбирать в качестве надежного пароля два осмысленных слова, разделенных некоторым знаком (например, good!password). Подсчитаем, за сколько времени в среднем будут сломаны такие пароли, если такое правило включено в набор программы-взломщика (пусть словарь 10000 слов, разделительными знаками могут быть 10 цифр и 32 знака препинания и специальных символа, машина класса Pentium со скоростью 15000 паролей/сек):
10000*(32+10)*10000/15000*2=140000 секунд или менее 1.5 дня!

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

где t- время, требуемое на попытку введения пароля, равное E/R; E - число символов в передаваемом сообщении при попытке получить доступ (включая пароль и служебные символы); R - скорость передачи (символы/мин) в линии связи; S - длина пароля; А - число символов в алфавите, из которых составляется пароль. Если после каждой неудачной попытки подбора автоматически предусматривается десятисекундная задержка, то безопасное время резко увеличивается.

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

а) не позволяются пароли меньше 6–8 символов;

б) пароли должны проверяться соответствующими контроллерами;

в) символы пароля при их вводе не должны появляться в явном виде;

г) после ввода правильного пароля выдается информация о последнем входе в систему;

д) ограничивается количество попыток ввода пароля;

е) вводится задержка времени при неправильном пароле;

ж) при передаче по каналам связи пароли должны шифроваться;

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

и) пользователь должен иметь возможность самому менять пароль;

к) администратор не должен знать пароли пользователей, хотя может их менять;

л) пароли должны периодически меняться;

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

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

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

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

1.3.2. Метод «запрос-ответ»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При входе пользователя в ВС системой защиты генерируется слу­чайное число или случайная последовательность символов X и вычисля­ется функция F(X), заданная для данного пользователя (см. Рис. 1.2). Да­лее X выводится пользователю, который должен вычислить F(X) и ввести полученное значение в систему. Значения F(X) и F(X) сравниваются сис­темой и если они совпадают, то пользователь получает доступ в ВС.

Рис. 1.2. Схема аутентификации по методу «рукопожатия»

Например, в ВС генерируется и выдается пользователю случайное число, состоящее из семи цифр. Для заблуждения злоумышленника в лю­бое место числа может вставляться десятичная точка. В качестве функ­ции F принимается Y = (<сумма 1-й, 2-й и 5-й цифр числа>)2 - <сумма 3-й, 4-й, 6-й и 7-й цифр числа> + <сумма цифр текущего времени в часах>.

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

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

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

2 ТИПОВЫЕ РЕШЕНИЯ В ОРГАНИЗАЦИИ КЛЮЧЕВЫХ СИСТЕМ

Рассмотрим структуры данных и алгоритмы идентификации и аутен­тификации на основе ключевой информации, а также иерархию хранения ключей.

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

На самом деле IDi может соответствовать разным пользователям, например носитель сенсорной памяти Touch Memory содержит 8 байт не­изменяемого идентификатора носителя, но при этом ТМ может быть пе­редан разным пользователям.

Совокупную информацию в ключевом носителе будем называть пер­вичной аутентифицирующей информацией i-ro пользователя. Описанная структура соответствует практически любому ключевому носителю, слу­жащему для опознания пользователя. Например, ТМ имеет 8 байт, не пе­резаписываемого неповторяющегося серийного номера, который одно­значно характеризует конкретное ТМ, и некоторый объем перезаписывае­мой памяти, соответствующий аутентифицирующей информации Kj. Аналогично для носителей типа пластиковых карт выделяется неизме­няемая информация IDi первичной персонализации пользователя и объ­ект в файловой структуре карты, содержащий Ki.

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

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

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

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

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

управление сроком действия паролей, их периодическая смена;

Ограничение доступа к файлу паролей;

Ограничение числа неудачных попыток входа в систему (это затруднит применение метода "грубой силы");

Обучение пользователей;

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

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

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

· методы проверки подлинности на основе простого пароля;

· методы проверки подлинности на основе динамически изменяющегося пароля.

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

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

Использование простого пароля

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

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

Система запрашивает пароль;

Пользователь вводит пароль;

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

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

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

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

Можно выделить следующие основные способы повышения стойкости системы защиты на этапе аутентификации:

Повышение степени не тривиальности пароля;

Увеличение длины последовательности символов пароля;

Увеличение времени задержки между разрешенными попытками повторного ввода неправильно введенного пароля;

Повышение ограничений на минимальное и максимальное время действительности пароля.

Использование динамически изменяющегося пароля

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

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

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

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

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

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

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

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

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

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

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

Одноразовые пароли

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

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

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

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

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

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

Реализация одноразовых паролей:

Математические алгоритмы

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

Запрос -использование одноразовых паролей с запросом требует от пользователя обеспечивать синхронизированные по времени запросы, чтобы была выполнена проверка подлинности. Это может быть сделано путём ввода значения в сам токен. Чтобы избежать появления дубликатов, обычно включается дополнительный счётчик, так что если случится получение двух одинаковых запросов, то это всё равно приведёт к появлению разных одноразовых паролей. Однако вычисления обычно не включают предыдущий одноразовый пароль, так как это приведёт к синхронизации задач.

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

Одноразовый пароль на мобильном телефоне - По сравнению с аппаратной реализацией токена, которая требует, чтобы пользователь имел с собой устройство-токен, токен на мобильном телефоне существенно снижает затраты и предлагает беспрецедентный уровень удобства. Это решение также уменьшает материально-технические требования, так как нет необходимости выдавать отдельное устройство каждому пользователю. Мобильные токены, такие, как FiveBarGate, FireID или PROTECTIMUS SMART дополнительно поддерживают некоторое число токенов в течение одной установки приложения, позволяя пользователю аутентифицироваться на нескольких ресурсах с одного устройства. Этот вариант также предусматривает специфические приложения для разных моделей телефонов пользователя. Токены в мобильных телефонах также существенно более безопасны, чем одноразовые пароли по SMS, так как SMS отправляются по сети GSM в текстовом формате с возможностью перехвата.

Организация парольной защиты

Инструкция по парольной защите включает в себя:

1. Правила формирования личного пароля

2. Ввод пароля

3. Порядок смены паролей

4. Хранение пароля

5. Ответственность при организации парольной защиты

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

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

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

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

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

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 не требует установки в системе: программа может переноситься на флеш-носителе и запускаться непосредственно с него.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Метод функционального преобразования основан на использовании некоторой функции 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-й цифр числа> + <сумма цифр текущего времени в часах>.

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: