Для идентификации и аутентификации пользователей в подавляющем большинстве операционных систем используются имя и пароль. Для идентификации пользователь должен ввести свое имя, а для аутентификации ввести пароль - текстовую строку, известную только ему. Имя пользователя, как правило, назначается ему администратором системы.
Процедура идентификации и аутентификации с использованием имени и пароля предельно проста. Пользователь вводит с клавиатуры имя и пароль, операционная система ищет в списке пользователей запись, относящуюся к этому пользователю, и сравнивает пароль, хранящийся в списке пользователей, с паролем, введенным пользователем. Если запись, относящаяся к входящему в систему пользователю, присутствует в списке пользователей и содержащийся в этой записи пароль совпадает с введенным, считается, что идентификация и аутентификация прошли успешно и начинается авторизация пользователя. В противном случае пользователь получает отказ в доступе и не может работать с операционной системой до тех пор, пока он не будет успешно идентифицирован и аутентифицирован. Если идентификация и аутентификация пользователя происходят в процессе входа пользователя на удаленный сервер, имя и пароль пользователя пересылаются по сети (как правило, в зашифрованном виде).
Для обеспечения надежной защиты операционной системы пароль каждого пользователя должен быть известен только этому пользователю и никому другому, в том числе и администраторам системы. На первый взгляд то, что администратор знает пароль некоторого пользователя, не отражается негативно на безопасности системы, поскольку администратор, войдя в систему от имени обычного пользователя, получает права, меньшие, чем те, которые он получит, зайдя в систему от своего имени. Однако, входя в систему от имени другого пользователя, администратор получает возможность обходить систему аудита, а также совершать действия, компрометирующие этого пользователя, что недопустимо в защищенной системе.
Из вышеизложенного следует, что пароли пользователей не должны храниться в операционной системе в открытом виде. Поскольку администратор системы для выполнения своих обязанностей должен иметь доступ к списку пользователей (это необходимо, например, для регистрации новых пользователей), то, если пароли хранятся там открыто, администратор получает к ним доступ. Тем самым администратор получает возможность входить в систему от имени любого зарегистрированного пользователя.
Обычно для шифрования паролей в списке пользователей используют одну из известных криптографически стойких хеш-функций - легковычислимую функцию f, для которой функция f1 (возможно, неоднозначная) не может быть вычислена за приемлемое время. В списке пользователей хранится не сам пароль, а образ пароля, являющийся результатом применения к паролю хеш-функции. Однонаправленность хеш-функции не позволяет восстановить пароль по образу пароля, но позволяет, вычислив хеш-функцию, получить образ введенного пользователем пароля и таким образом проверить правильность введенного пароля. В простейшем случае в качестве хеш-функции используется результат шифрования некоторой константы на пароле.
Хеш-функция, используемая при генерации образов паролей, обязательно должна быть криптографически стойкой. Дело в том, что обеспечить хранение образов паролей в тайне от всех пользователей системы практически невозможно. Администратор операционной системы, используя свои привилегии, легко может прочитать образы паролей из файла или базы данных, в которой они хранятся. При сетевой аутентификации пользователя на сервере образ пароля передается по открытым каналам связи и может быть перехвачен любым сетевым монитором. Если злоумышленник, зная значение хеш-функции (образ пароля пользователя), может за приемлемое время подобрать аргумент функции, соответствующий этому значению (пароль пользователя или эквивалентный ему пароль), ни о какой защите информации в операционной системе не может быть и речи. Это не означает, что образы паролей должны быть общедоступны. Хранение образов паролей в файле или базе данных, к которой имеют доступ только системные процессы, создает дополнительный эшелон защиты.
В процедуре генерации образа пароля обязательно должен участвовать маркант – число или строка, генерируемая случайным образом и хранящаяся в открытом виде вместе с образом пароля. Это необходимо для того, чтобы одинаковым паролям соответствовали разные образы. В противном случае злоумышленник может осуществить ряд атак на операционную систему, наиболее опасная из которых заключается в следующем.
Злоумышленник берет какой-либо электронный словарь и для каждого слова из этого словаря генерирует в точности такую же хеш-функцию, которая используется при генерации образа пароля. Слова и соответствующие им хеш-функции сохраняются в базе данных. Перехватив образ пароля некоторого пользователя, злоумышленник ищет в этой базе данных слово, соответствующее перехваченному образу пароля. Это и есть искомый пароль (или пароль, эквивалентный искомому). Вероятность успешного получения пароля по образу может быть сделана сколь угодно высокой -для этого нужно всего лишь иметь достаточно большой словарь. При этом для пополнения словаря злоумышленнику совсем не обязательно иметь доступ к атакуемой операционной системе. Более того, злоумышленник может хранить словарь вне атакуемой системы, например на своем домашнем компьютере. Эта атака может быть реализована только в том случае, когда одинаковым паролям соответствуют одинаковые образы паролей. Если при генерации образа пароля используется маркант, данная атака нереализуема.
Если пользователь, входящий в систему, неправильно ввел свое имя или пароль, операционная система должна выдать ему сообщение об ошибке, не указывая, какая именно информация некорректна. В противном случае подбор пароля существенно упрощается.
Если для аутентификации пользователей используются пароли, существуют две основные угрозы для подсистемы аутентификации операционной системы - кража пароля и подбор пароля.
Для обеспечения надежной защиты от кражи паролей подсистема защиты операционной системы должна удовлетворять следующим требованиям:
Пароль, вводимый пользователем, не отображается на экране компьютера;
Ввод пароля из командной строки недопустим.
Кроме того, пользователи операционной системы должны быть проинструктированы о:
Необходимости хранения пароля в тайне от других пользователей, включая администраторов операционной системы;
Необходимости немедленной смены пароля после его компрометации;
Необходимости регулярной смены пароля;
Недопустимости записи пароля на бумагу или в файл.
Что же касается подбора паролей, прежде чем перейти к описанию средств защиты от этой угрозы, следует более подробно рассмотреть методы подбора паролей.
3.2.1. Методы подбора паролей
Существуют следующие методы подбора паролей пользователей.
1. Тотальный перебор. В этом случае злоумышленник последовательно опробует все возможные варианты пароля. Если пароль длиннее четырех - шести символов, данный метод абсолютно неэффективен.
2. Тотальный перебор, оптимизированный по статистике встречаемости символов. Разные символы встречаются в паролях пользователей с разной вероятностью. Например, вероятность того, что в пароле пользователя встретится буква "а", гораздо выше вероятности того, что в пароле присутствует символ "А". Согласно различным исследованиям статистика встречаемости символов в алфавите паролей близка к статистике встречаемости символов в естественном языке.
При практическом применении данного метода злоумышленник вначале опробует пароли, состоящие из наиболее часто встречающихся символов, за счет чего время перебора существенно сокращается. Иногда при подборе паролей используется не только статистика встречаемости символов, но и статистика встречаемости биграмм и триграмм - комбинаций двух и трех последовательных символов соответственно.
Для подбора паролей по данному методу в разное время было написано множество программ. Одни из них поочередно подают на вход подсистемы аутентификации операционной системы различные варианты пароля, другие опробуют варианты пароля путем генерации хеш-функции и ее последующего сравнения с известным образом пароля. В первом случае скорость подбора пароля определяется производительностью операционной системы. Во втором случае среднее время подбора пароля из 6 -8 символов, не включающего ни цифр, ни знаков препинания, варьируется от нескольких десятков секунд до нескольких часов в зависимости от вычислительной мощности компьютера и эффективности реализации алгоритма генерации хеш-функции в программе, подбирающей пароли.
3. Тотальный перебор, оптимизированный с помощью словарей. В большинстве случаев пароли пользователей представляют собой слова английского или русского языка. Поскольку пользователю гораздо легче запомнить осмысленное слово, чем бессмысленную последовательность символов, пользователи предпочитают применять в качестве паролей осмысленные слова. При этом количество возможных вариантов пароля резко сокращается. Действительно, английский язык содержит всего около 100 000 слов (не считая научных, технических, медицинских и других терминов), что в 6,5 раз меньше количества всех комбинаций из четырех английских букв.
При использовании данного метода подбора паролей злоумышленник вначале опробует в качестве паролей все слова из словаря, содержащего наиболее вероятные пароли. Такой словарь злоумышленник может составить сам, а может взять, например, в Internet, где имеется огромное количество подобных словарей, адаптированных для различных стран мира. Если подбираемый пароль отсутствует в словаре, злоумышленник опробует всевозможные комбинации слов из словаря, слова из словаря с добавленными к началу и/или к концу одной или несколькими буквами, цифрами и знаками препинания и т.д.
Обычно данный метод используется в комбинации с предыдущим.
4. Подбор пароля с использованием знаний о пользователе . Выше уже говорилось, что пользователи стараются использовать легко запоминаемые пароли. Многие пользователи, чтобы не забыть пароль, выбирают в качестве пароля свое имя, фамилию, дату рождения, номер телефона, номер автомобиля и т.д. В этом случае, если злоумышленник хорошо знает пользователя, ему, как правило, достаточно провести всего 10-20 опробований.
5. Подбор образа пароля. Если подсистема аутентификации операционной системы устроена так, что образ пароля существенно короче самого пароля, злоумышленник может подбирать не пароль, а его образ. Однако в этом случае злоумышленник, подобрав образ пароля, должен получить сам пароль, соответствующий подобранному образу, а это возможно только в том случае, если хеш-функция, применяемая в системе, не обладает достаточной стойкостью.
3.2.2. Защита от компрометации паролей
Мы будем говорить, что произошла компрометация пароля, если пароль пользователя стал известен некоторому другому пользователю. Компрометация может происходить в результате либо неосторожности пользователя, либо кражи или подбора пароля злоумышленником. Существует целый ряд методов, позволяющих несколько уменьшить угрозу компрометации паролей пользователей, некоторые из которых мы сейчас рассмотрим.
1. Ограничение срока действия пароля. При применении данного метода каждый пользователь операционной системы обязан менять пароль через определенные интервалы времени. Максимальный срок действия пароля целесообразно ограничить 30-60 днями. Менее сильные ограничения не дают желаемого эффекта, а при использовании более сильных ограничений резко повышается вероятность того, что пользователь забудет свой пароль. После того как срок действия пароля истек, пользователь должен сменить свой пароль в течение некоторого времени (обычно 1-2 дня) после первого входа в систему по истечении этого срока. Если пользователь не сменил пароль за отведенное время, операционная система запрещает ему входить в систему до тех пор, пока это явно не разрешит администратор системы.
Срок действия пароля должен ограничиваться не только сверху, но и снизу. В противном случае пользователь, сменив пароль, может немедленно вернуться к старому паролю, сменив пароль еще раз.
Также целесообразно проверять при каждой смене пароля уникальность нового пароля. Для этого операционная система должна хранить не только образ текущего пароля пользователя, но и образы последних 5-10 паролей, им применявшихся.
2. Ограничения на содержание пароля. Данный метод заключается в том, что пользователь может выбрать себе в качестве пароля не произвольную строку символов, а только строку, удовлетворяющую определенным условиям. Обычно используются следующие условия:
– длина пароля не должна быть меньше некоторого количества символов; в литературе по компьютерной безопасности и в документации по операционным системам обычно рекомендуется запрещать использование паролей короче 6-8 символов, но с учетом быстрого прогресса вычислительной техники, в настоящее время целесообразно ограничивать длину паролей уже 10-14 символами;
– в пароль должно входить по крайней мере 5-7 различных символов;
– в пароль должны входить как строчные, так и заглавные буквы;
– пароль пользователя не должен совпадать с его именем;
– пароль не должен присутствовать в списке "плохих" паролей, хранимом в системе.
Как правило, администраторы операционной системы, могут варьировать эти ограничения как в пределах всей операционной системы, так и для отдельных пользователей. Например, если некоторое имя пользователя используется для гостевого входа, устанавливать ограничения на используемый пароль нецелесообразно.
При выборе ограничений на пароли следует учитывать, что, если ограничения на пароли слишком сильны, пользователям будет трудно запоминать свои пароли.
3. Блокировка терминала. При использовании данного метода, если пользователь несколько раз подряд ошибся при вводе имени и пароля, терминал, с которого пользователь входит в систему, блокируется, и пользователь не может продолжать дальнейшие попытки входа в систему. Параметрами данного метода являются:
– максимально допустимое количество неудачных попыток входа в систему с одного терминала;
– интервал времени, после которого счетчик неудачных попыток входа обнуляется;
– длительность блокировки терминала (может быть сделана неограниченной в этом случае блокировка терминала может быть снята только администратором системы).
4. Блокировка пользователя. Этот метод отличается от предыдущего только тем, что блокируется не терминал, с которого пользователь входит в систему, а учетная запись пользователя.
5. Генерация паролей операционной системой. В этом случае пользователи не могут самостоятельно придумывать себе пароли - это за них делает операционная система. Когда пользователю нужно сменить пароль, он вводит соответствующую команду и получает новый пароль от операционной системы. Если предложенный вариант пароля пользователя не устраивает, он может потребовать у операционной системы другой вариант. Основным преимуществом данного метода является то, что операционная система генерирует пароли случайным образом, и подобрать такие пароли практически невозможно. С другой стороны, такие пароли обычно трудны для запоминания, что вынуждает пользователей записывать их на бумаге. Если это не является угрозой безопасности системы (например, если пользователь входит в систему только через Internet со своего домашнего компьютера), данная модель аутентификации близка к идеальной. В противном случае применять ее нецелесообразно.
6. Пароль и отзыв. При использовании этой схемы аутентификации при входе пользователя в систему операционная система выдает ему случайное число или строку, на которую пользователь должен дать правильный отзыв. Фактически паролем являются параметры алгоритма преобразования запроса операционной системы в корректный ответ пользователя. Эти параметры выбираются операционной системой случайным образом для каждого пользователя, что фактически сводит данную схему аутентификации к предыдущей.
7. Разовый пароль. В этом случае пароль пользователя автоматически меняется после каждого успешного входа в систему. Эта схема аутентификации надежно защищает от подбора паролей, поскольку, даже если злоумышленник и подобрал некоторый пароль, он сможет им воспользоваться только один раз. Кроме того, пользователь, пароль которого скомпрометирован, не сможет войти в систему в следующий раз, так как он будет пытаться вводить предыдущий пароль, уже использованный злоумышленником. Недостатком этой схемы является то, что запомнить множество постоянно меняющихся паролей практически невозможно. Кроме того, пользователи часто "сбиваются со счета", пытаясь при входе в систему вводить пароль, который уже устарел или еще не начал действовать. Из-за этих и некоторых других недостатков на практике данная схема практически не применяется.
Некоторые из перечисленных методов могут применяться в совокупности.
На сегодняшний день пароль является наиболее приемлемым и потому наиболее часто используемым средством установления подлинности, основанным на знаниях субъектов доступа.
В любой критической системе ошибки человека-оператора являются чуть ли не самыми дорогостоящими и распространенными. В случае криптосистем, непрофессиональные действия пользователя сводят на нет самый стойкий криптоалгоритм и самую корректную его реализацию и применение.
В первую очередь это связано с выбором паролей. Очевидно, что короткие или осмысленные пароли легко запоминаются человеком, но они гораздо проще для вскрытия. Использование длинных и бессмысленных паролей безусловно лучше с точки зрения криптостойкости, но человек обычно не может их запомнить и записывает на бумажке, которая потом либо теряется, либо попадает в руки злоумышленнику. Именно из того, что неискушенные пользователи обычно выбирают либо короткие, либо осмысленные пароли, существуют два метода их вскрытия: атака полным перебором и атака по словарю.
Защищенность пароля при его подборе зависит, в общем случае, от скорости проверки паролей и от размера полного множества возможных паролей, которое, в свою очередь, зависит от длины пароля и размера применяемого алфавита символов. Кроме того, на защищенность сильно влияет реализация парольной защиты.
В связи с резким ростом вычислительных мощностей атаки полным перебором имеют гораздо больше шансов на успех, чем раньше. Кроме того, активно используются распределенные вычисления, т.е. равномерное распределение задачи на большое количество машин, работающих параллельно. Это позволяет многократно сократить время взлома.
Однако вернемся на несколько лет назад, когда вычислительной мощности для полного перебора всех паролей не хватало. Тем не менее, хакерами был придуман остроумный метод, основанный на том, что в качестве пароля человеком выбирается существующее слово или какая-либо информация о себе или своих знакомых (имя, дата рождения и т.п.). Ну, а поскольку в любом языке не более 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.1.
Как видно из приведённой схемы, первичная защита осуществляется за счёт реализуемых организационных мер и механизмов контроля физического доступа к АС. В дальнейшем, на этапе контроля логического доступа, защита осуществляется с использованием различных сервисов сетевой безопасности. Во всех случаях параллельно должен быть развёрнут комплекс инженерно-технических средств защиты информации, перекрывающих возможность утечки по техническим каналам.
Остановимся более подробно на каждой из участвующих в реализации защиты подсистем.
Данные механизмы в общем случае предусматривают :
Не затрагивая логики функционирования АС, данные меры при корректной и адекватной их реализации являются крайне эффективным механизмом защиты и жизненно необходимы для обеспечения безопасности любой реальной системы.
Напомним, что под идентификацией принято понимать присвоение субъектам доступа уникальных идентификаторов и сравнение таких идентификаторов с перечнем возможных. В свою очередь, аутентификация понимается как проверка принадлежности субъекту доступа предъявленного им идентификатора и подтверждение его подлинности.
Тем самым, задача идентификации – ответить на вопрос «кто это?», а аутентификации - «а он ди это на самом деле?».
Базовая схема идентификации и аутентификации приведена на рис. 1.3.2.
Приведённая схема учитывает возможные ошибки оператора при проведении процедуры аутентификации: если аутентификация не выполнена, но допустимое число попыток не превышено, пользователю предлагается пройти процедуру идентификации и аутентификации еще раз.
Всё множество использующих в настоящее время методов аутентификации можно разделить на 4 большие группы :
Широко распространена практика совместного использования нескольких из перечисленных выше механизмов – в таких случаях говорят о многофакторной аутентификации .
Особенности парольных систем аутентификации
При всём многообразии существующих механизмов аутентификации, наиболее распространённым из них остаётся парольная защита. Для этого есть несколько причин, из которых мы отметим следующие :
В то же время для парольных систем защиты характерен парадокс, затрудняющий их эффективную реализацию: стойкие пароли мало пригодны для использования человеком. Действительно, стойкость пароля возникает по мере его усложнения; но чем сложнее пароль, тем труднее его запомнить, и у пользователя появляется искушение записать неудобный пароль, что создаёт дополнительные каналы для его дискредитации.
Остановимся более подробно на основных угрозах безопасности парольных систем . В общем случае пароль может быть получен злоумышленником одним из трёх основных способов:
При построении системы парольной защиты необходимо учитывать специфику АС и руководствоваться результатами проведённого анализа рисков. В то же время можно привести следующие практические рекомендации:
Оценка стойкости парольных систем
Оценим элементарные взаимосвязи между основными параметрами парольных систем . Введём следующие обозначения:
Очевидно, что справедливо следующее соотношение:
Обычно скорость подбора паролей V и срок действия пароля T можно считать известными. В этом случае, задав допустимое значение вероятности P подбора пароля в течение его срока действия, можно определить требуемую мощность пространства паролей S.
Заметим, что уменьшение скорости подбора паролей V уменьшает вероятность подбора пароля. Из этого, в частности, следует, что если подбор паролей осуществляется путём вычисления хэш-функции и сравнение результата с заданным значением, то большую стойкость парольной системы обеспечит применение медленной хэш-функции.
Методы хранения паролей
В общем случае возможны три механизма хранения паролей в АС :
Передача паролей по сети
Наиболее распространены следующие варианты реализации:
Под разграничением доступа принято понимать установление полномочий субъектов для полследующего контроля санкционированного использования ресурсов, доступных в системе. Принято выделять два основных метода разграничения доступа : дискреционное и мандатное.
Дискреционным называется разграничение доступа между поименованными субъектами и поименованными объектами. На практике дискреционное разграничение доступа может быть реализовано, например, с использованием матрицы доступа (рис. 1.3.4).
Как видно из рисунка, матрица доступа определяет права доступа для каждого пользователя по отношению к каждому ресурсу.
Очевидно, что вместо матрицы доступа можно использовать списки полномочий: например, каждому пользователю может быть сопоставлен список доступных ему ресурсов с соответствующими правами, или же каждому ресурсу может быть сопоставлен список пользователей с указанием их прав на доступ к данному ресурсу.
Мандатное разграничение доступа обычно реализуется как разграничение доступа по уровням секретности. Полномочия каждого пользователя задаются в соответствии с максимальным уровнем секретности, к которому он допущен. При этом все ресурсы АС должны быть классифицированы по уровням секретности.
Принципиальное различие между дискреционным и мандатным разграничением доступа состоит в следующем: если в случае дискреционного разграничения доступа права на доступ к ресурсу для пользователей определяет его владелец, то в случае мандатного разграничения доступа уровни секретности задаются извне, и владелец ресурса не может оказать на них влияния. Сам термин «мандатное» является неудачным переводом слова mandatory – «обязательный». Тем самым, мандатное разграничение доступа следует понимать как принудительное.
В целях обеспечения конфиденциальности информации используются следующие криптографические примитивы :
Симметричные и асимметричные криптосистемы, а также различные их комбинации используются в АС прежде всего для шифрования данных на различных носителях и для шифрования трафика.
Подсистема защиты внешнего периметра автоматизированной системы обычно включает в себя два основных механизма: средства межсетевого экранирования и средства обнаружения вторжений. Решая родственные задачи, эти механизмы часто реализуются в рамках одного продукта и функционируют в качестве единого целого. В то же время каждый из механизмов является самодостаточным и заслуживает отдельного рассмотрения.
Межсетевое экранирование
Межсетевой экран (МЭ) выполняет функции разграничения информационных потоков на границе защищаемой автоматизированной системы. Это позволяет:
Контроль информационных потоков производится посредством фильтрации информации , т.е. анализа её по совокупности критериев и принятия решения о распространении в АС или из АС.
В зависимости от принципов функционирования, выделяют несколько классов межсетевых экранов . Основным классификационным признаком является уровень модели ISO/OSI, на котором функционирует МЭ.
Большинство используемых в настоящее время межсетевых экранов относятся к категории экспертных. Наиболее известные и распространённые МЭ – CISCO PIX и CheckPoint FireWall-1.
Системы обнаружения вторжений
Обнаружение вторжений представляет собой процесс выявления несанкционированного доступа (или попыток несанкционированного доступа) к ресурсам автоматизированной системы. Система обнаружения вторжений (Intrusion Detection System, IDS) в общем случае представляет собой программно-аппаратный комплекс, решающий данную задачу.
Общая структура IDS приведена на рис. 1.3.6.2:
Алгоритм функционирования системы IDS приведён на рис. 1.3.6.3:
Как видно из рисунков, функционирование систем IDS во многом аналогично межсетевым экранам: сенсоры получают сетевой трафик, а ядро путём сравнения полученного трафика с записями имеющейся базы сигнатур атак пытается выявить следы попыток несанкционированного доступа. Модуль ответного реагирования представляет собой опциональный компонент, который может быть использован для оперативного блокирования угрозы: например, может быть сформировано правило для межсетевого экрана, блокирующее источник нападения.
Существуют две основных категории систем IDS :
Каждый из типов IDS имеет свои достоинства и недостатки. IDS уровня сети не снижают общую производительность системы, однако IDS уровня хоста более эффективно выявляют атаки и позволяют анализировать активность, связанную с отдельным хостом. На практике целесообразно использовать системы, совмещающие оба описанных подхода.
Существуют разработки, направленные на использование в системах IDS методов искусственного интеллекта. Стоит отметить, что в настоящее время коммерческие продукты не содержат таких механизмов.
Подсистема протоколирования и аудита является обязательным компонентом любой АС. Протоколирование , или регистрация , представляет собой механизм подотчётности системы обеспечения информационной безопасности, фиксирующий все события, относящиеся к вопросам безопасности. В свою очередь, аудит – это анализ протоколируемой информации с целью оперативного выявления и предотвращения нарушений режима информационной безопасности.
Системы обнаружения вторжений уровня хоста можно рассматривать как системы активного аудита.
Назначение механизма регистрации и аудита:
Протоколируемые данные помещаются в регистрационный журнал , который представляет собой хронологически упорядоченную совокупность записей результатов деятельности субъектов АС, достаточную для восстановления, просмотра и анализа последовательности действий с целью контроля конечного результата.
Типовая запись регистрационного журнала выглядит следующим образом (рис. 1.3.7.1).
Поскольку системные журналы являются основным источником информации для последующего аудита и выявления нарушений безопасности, вопросу защиты системных журналов от несанкционированной модификации должно уделяться самое пристальное внимание. Система протоколирования должна быть спроектирована таким образом, чтобы ни один пользователь (включая администраторов!) не мог произвольным образом модифицировать записи системных журналов.
Не менее важен вопрос о порядке хранения системных журналов. Поскольку файлы журналов хранятся на том или ином носителе, неизбежно возникает проблема переполнения максимально допустимого объёма системного журнала. При этом реакция системы может быть различной, например:
Безусловно, последний вариант в большинстве случаев является неприемлемым, и порядок хранения системных журналов должен быть чётко регламентирован в политике безопасности организации.
Под паролем понимается некоторая последовательность символов, сохраняемая в секрете и предъявляемая при обращении к компьютерной системе. Ввод пароля, как правило, выполняют с клавиатуры. Главное достоинство парольной аутентификации - простота и привычность. Пароли давно встроены в операционные системы и иные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безопасности.
Иногда пароли с самого начала не хранятся в тайне, так как имеют стандартные значения, указанные в документации, и далеко не всегда после установки системы производится их смена.
Ввод пароля можно подсмотреть. Иногда для подглядывания используются даже оптические приборы. Пароль можно угадать "методом грубой силы", используя, например, словарь. Если файл паролей зашифрован, но доступен для чтения, его можно скачать к себе на компьютер и попытаться подобрать пароль, запрограммировав полный перебор (предполагается, что алгоритм шифрования известен).
Следующие меры позволяют значительно повысить надежность парольной защиты:
Наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т.п.);
управление сроком действия паролей, их периодическая смена;
Ограничение доступа к файлу паролей;
Ограничение числа неудачных попыток входа в систему (это затруднит применение метода "грубой силы");
Обучение пользователей;
Использование программных генераторов паролей (такая программа, основываясь на не-сложных правилах, может порождать только благозвучные и, следовательно, запоминающиеся пароли).
Перечисленные меры целесообразно применять всегда, даже если наряду с паролями используются другие методы аутентификации.
Существующие парольные методы проверки подлинности пользователей при входе в информационную систему можно разделить на две группы:
· методы проверки подлинности на основе простого пароля;
· методы проверки подлинности на основе динамически изменяющегося пароля.
Пароль подтверждения подлинности пользователя при использовании простого пароля не изменяется от сеанса к сеансу в течение установленного администратором службы безопасности времени его существования.
При использовании динамически изменяющегося пароля пароль пользователя для каждого нового сеанса работы или нового периода действия одного пароля изменяется по правилам, зависящим от используемого метода.
Процедура опознавания с использованием простого пароля может быть представлена в виде следующей последовательности действий:
Пользователь посылает запрос на доступ к компьютерной системе и вводит свой идентификатор;
Система запрашивает пароль;
Пользователь вводит пароль;
Система сравнивает полученный пароль с паролем пользователя, хранящимся в базе эталонных данных системы защиты, и разрешает доступ, если пароли совпадают; в противном случае пользователь к ресурсам компьютерной системы не допускается.
Поскольку пользователь может допустить ошибку при вводе пароля, то системой должно быть предусмотрено допустимое количество повторений для ввода пароля.
В базе эталонных данных пароли, как и другую информацию, никогда не следует хранить в явной форме, а только зашифрованными. При этом можно использовать метод как обратимого, так и необратимого шифрования.
Согласно методу обратимого шифрования, эталонный пароль при занесении в базу эталонных данных зашифровывается по ключу, совпадающему с этим эталонным паролем, а введенный после идентификации пароль пользователя для сравнения с эталонным также зашифровывается по ключу, совпадающему с этим введенным паролем. Таким образом, при сравнении эталонный и введенный пароли находятся в зашифрованном виде и будут совпадать только в случае, если исходный введенный пароль совпадет с исходным. При несовпадении исходного введенного пароля с исходным эталонным исходный введенный пароль будет зашифрован по-другому, так как ключ шифрования отличается от ключа, которым зашифрован эталонный пароль, и после зашифрования не совпадет с зашифрованным эталонным паролем.
Можно выделить следующие основные способы повышения стойкости системы защиты на этапе аутентификации:
Повышение степени не тривиальности пароля;
Увеличение длины последовательности символов пароля;
Увеличение времени задержки между разрешенными попытками повторного ввода неправильно введенного пароля;
Повышение ограничений на минимальное и максимальное время действительности пароля.
Методы проверки подлинности на основе динамически меняющегося пароля обеспечивают большую безопасность, так как частота смены паролей в них максимальна - пароль для каждого пользователя меняется ежедневно или через несколько дней. При этом каждый следующий пароль по отношению к предыдущему изменяется по правилам, зависящим от используемого метода проверки подлинности.
Существуют следующие методы парольной защиты, основанные на использовании динамически меняющегося пароля:
Методы модификации схемы простых паролей;
Методы идентификации и установления подлинности субъектов и различных объектов;
Метод "запрос-ответ";
Функциональные методы.
Наиболее эффективными из данных методов являются функциональные.
Методы модификации схемы простых паролей. К методам модификации схемы простых паролей относят случайную выборку символов пароля и одноразовое использование паролей. При использовании первого метода каждому пользователю выделяется достаточно длинный пароль, причем каждый раз для опознавания используется не весь пароль, а только некоторая его часть. В процессе проверки подлинности система запрашивает у пользователя группу символов под заданным порядковым номерам. Количество символов и их порядковые номера для запроса определяются с помощью датчика псевдослучайных чисел. При одноразовом использовании паролей каждому пользователю выделяется список паролей. В процессе запроса номер пароля, который необходимо ввести, выбирается последовательно по списку или по схеме случайной выборки. Недостатком методов модификации схемы простых паролей является необходимость запоминания пользователями длинных паролей или их списков. Запись паролей на бумагу приводит к появлению риска потери или хищения носителей информации с записанными на них паролями.
Методы идентификации и установления подлинности субъектов и различных объектов. При обмене информацией рекомендуется в любом случае предусмотреть взаимную проверку подлинности полномочий объекта или субъекта. Если обмен информацией производится по сети, то процедура должна выполняться обязательно. Для этого необходимо, чтобы каждому из объектов и субъектов присваивалось уникальное имя. Каждый из объектов (субъектов) должен хранить в своей памяти (недоступной для посторонних лиц) список, содержащий имена объектов (субъектов), с которыми будут производить процессы обмена защищаемыми данными.
Метод "запрос-ответ". При использовании метода "запрос-ответ" в информационной системе заблаговременно создается и особо защищается массив вопросов, включающий в себя как вопросы общего характера, так и персональные вопросы, относящиеся к конкретному пользователю, например, вопросы, касающиеся известных только пользователю случаев из его жизни. Для подтверждения подлинности пользователя система последовательно задает ему ряд случайно выбранных вопросов, на которые он должен дать ответ. Опознание считается положительным, если пользователь правильно ответил на все вопросы. Основным требованием к вопросам в данном методе аутентификации является уникальность, подразумевающая, что правильные ответы на вопросы знают только пользователи, для которых эти вопросы предназначены.
Функциональные методы. Среди функциональных методов наиболее распространенными является метод функционального преобразования пароля. Метод функционального преобразования основан на использовании некоторой функции F, которая должна удовлетворяет установленным требованиям.
Одноразовый пароль — это пароль, действительный только для одного сеанса аутентификации . Действие одноразового пароля также может быть ограничено определённым промежутком времени. Преимущество одноразового пароля по сравнению со статическим состоит в том, что пароль невозможно использовать повторно. Таким образом, злоумышленник, перехвативший данные из успешной сессии аутентификации, не может использовать скопированный пароль для получения доступа к защищаемой информационной системе. Использование одноразовых паролей само по себе не защищает от атак, основанных на активном вмешательстве в канал связи, используемый для аутентификации (например, от атак типа «человек посередине» ).
Алгоритмы создания одноразовых паролей обычно используют случайные числа. Это необходимо, потому что иначе было бы легко предсказать последующие пароли на основе знания предыдущих. Подходы к созданию одноразовых паролей различны:
· Использующие математические алгоритмы для создания нового пароля на основе предыдущих (пароли фактически составляют цепочку, и должны быть использованы в определённом порядке).
· Основанные на временной синхронизации между сервером и клиентом, обеспечивающей пароль (пароли действительны в течение короткого периода времени)
· Использующие математический алгоритм, где новый пароль основан на запросе (например, случайное число, выбираемое сервером или части входящего сообщения) и/или счётчике.
Также существуют различные способы, чтобы сообщить пользователю следующий пароль. Некоторые системы используют специальные электронные токены , которые пользователь носит с собой, создающие одноразовые пароли и выводящие затем их на маленьком экране. Другие системы состоят из программ, которые пользователь запускает с мобильного телефона. Ещё другие системы генерируют одноразовые пароли на сервере и затем отправляют их пользователю, используя посторонние каналы, такие, как SMS -сообщения. Наконец, в некоторых системах одноразовые пароли напечатаны на листе бумаги или на скретч-карте , которые пользователю необходимо иметь с собой.
Реализация одноразовых паролей:
Математические алгоритмы
Синхронизированные по времени - одноразовые пароли обычно связаны с физическими аппаратными токенами (например, каждому пользователю выдаётся персональный токен, который генерирует одноразовый пароль). Внутри токена встроены точные часы, которые синхронизированы с часами на сервере. В этих OTP-системах время является важной частью алгоритма создания пароля, так как генерация нового пароля основывается на текущем времени, а не на предыдущем пароле или секретном ключе.
Запрос -использование одноразовых паролей с запросом требует от пользователя обеспечивать синхронизированные по времени запросы, чтобы была выполнена проверка подлинности. Это может быть сделано путём ввода значения в сам токен. Чтобы избежать появления дубликатов, обычно включается дополнительный счётчик, так что если случится получение двух одинаковых запросов, то это всё равно приведёт к появлению разных одноразовых паролей. Однако вычисления обычно не включают предыдущий одноразовый пароль, так как это приведёт к синхронизации задач.
Одноразовый пароль через SMS - Распространённая технология, используемая для доставки одноразовых паролей — это SMS . Так как SMS — это повсеместный канал связи, которая имеется во всех телефонах и используется большим количеством клиентов, SMS-сообщения имеют наибольший потенциал для всех потребителей, обладающие низкой себестоимостью. Токены, смарт-карты и другие традиционные методы аутентификации гораздо более дороги для реализации и для использования и часто встречают сопротивление со стороны потребителей. Они также гораздо более уязвимы для атак типа «человек посередине» , в которых фишеры крадут одноразовые пароли обманом или даже потому что одноразовые пароли отображаются на экране токена. Также токены могут быть потеряны и интеграция одноразовых паролей в мобильные телефоны может быть более безопасной и простой, потому что пользователям не придётся носить с собой дополнительные портативные устройства. В то же время одноразовые пароли через SMS могут быть менее безопасны, так как сотовые операторы становятся частью цепи доверия. В случае роуминга надо доверять более чем одному мобильному оператору.
Одноразовый пароль на мобильном телефоне - По сравнению с аппаратной реализацией токена, которая требует, чтобы пользователь имел с собой устройство-токен, токен на мобильном телефоне существенно снижает затраты и предлагает беспрецедентный уровень удобства. Это решение также уменьшает материально-технические требования, так как нет необходимости выдавать отдельное устройство каждому пользователю. Мобильные токены, такие, как FiveBarGate, FireID или PROTECTIMUS SMART дополнительно поддерживают некоторое число токенов в течение одной установки приложения, позволяя пользователю аутентифицироваться на нескольких ресурсах с одного устройства. Этот вариант также предусматривает специфические приложения для разных моделей телефонов пользователя. Токены в мобильных телефонах также существенно более безопасны, чем одноразовые пароли по SMS, так как SMS отправляются по сети GSM в текстовом формате с возможностью перехвата.
Организация парольной защиты
Инструкция по парольной защите включает в себя:
1. Правила формирования личного пароля
2. Ввод пароля
3. Порядок смены паролей
4. Хранение пароля
5. Ответственность при организации парольной защиты
Никто не хочет терять доступ к аккаунтам социальных сетей или почтовым ящикам, но очень часто такое всё же происходит. Чаще всего причиной этой неприятности служит недостаточная стойкость использованного пароля. Многие сайты не допускают к использованию пароли короче 8-и символов, но эта мера не всегда эффективна.
Оптимальным вариантом является генерация пользовательского пароля специализированной программой, однако следует учитывать, что даже самый взломоустойчивый пароль может быть похищен или банально утерян. Защита конфиденциальной информации должна осуществляться комплексно, но начинать её нужно с создания надёжного пароля. Рассмотрим основные методы, применяемые злоумышленниками для вскрытия паролей:
Метод позволяет злоумышленнику похитить файл паролей из браузера, или просто зафиксировать и сохранить последовательность вводимых данных при входе в систему (для этой цели используется ) с последующей отправкой для обработки на любой адрес. Для предотвращения подобной атаки следует устанавливать ПО только проверенных поставщиков и максимально ограничить доступ посторонних к своему компьютеру;
Простой, но удивительно эффективный метод. В офис солидной компании заходит сантехник, связист или электрик, на которого никто не обращает внимания. Он же наоборот, внимательно фиксирует всё, что может заметить его камера или опытный взгляд. В любом офисе можно заметить на мониторах стикеры с каллиграфически выведенными логинами и паролями, особенно у милых дам… Такое пренебрежительное отношение к безопасности легко может разорить компанию. Бороться можно и нужно, укрепляя внутреннюю дисциплину;
Профессиональные хакеры давно заметили, что большинство слов и фраз, используемых в качестве паролей, связаны с основными направлениями деятельности компаний или отдельных лиц. Прошерстив всемирную паутину, сайты конкурентов или специальную литературу удаётся значительно сократить поисковую базу. Бороться бесполезно, но воспользовавшись автоматической генерацией пароля, пользователь сводит на нет попытки применения этой методики против него.
Все остальные методики представляют модификации перечисленных способов. Целью данной статьи была необходимость заострить внимание пользователей не только на создании взломоустойчивых паролей, но и на необходимость их тщательного хранения.
Проблема безопасности паролей актуальна во всём мире, поэтому существует множество сайтов, предлагающих осуществить примерный подсчёт времени их взлома. Предлагаем пользователю самостоятельно поэкспериментировать со своими паролями. Очень многое для понимания методов повышения взломоустойчивости можно узнать потестировав разные пароли на устойчивость ко взлому сайте. При анализе используются основные методы, применяемые программами автоматического взлома.
С его помощью можно значительно упростить процесс регистрации и авторизации на любых сайтах, форумах, соц. сетях. Для этого при регистрации на каком-либо сайте генерируем профиль, копируем из него нужные поля на сайт, удаляем ненужные поля в профиле, скачиваем и сохраняем на компьютере созданный профиль с пометкой названия сайта, где его использовали. Готово.
Кроме этого, с его помощью можно придумать себе интересное фото на аватар для инстаграмма, Вконтакте и других соц.сетей.
Сохраняем в закладки, пользуемся и делимся в соцсети с друзьями!