Методи атаки на пароль. Забезпечення безпеки пароля. Пряме викрадення паролів. Чи досягли ми граничної кількості паролів

Парольний захист

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

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

Існує ряд стандартних прийомів, які застосовують зловмисники з метою обійти парольний захист. Для кожного з цих прийомів вироблено механізм протидії.

Прийоми обходу парольного захисту та методи протидії їм.

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

Найпростіша (з технічної точки зору) атака на пароль – перебір усіх комбінацій допустимих символів (починаючи від односимвольних паролів). Сучасні обчислювальні потужності дають змогу перебрати всі паролі довжиною до п'яти-шести символів за кілька секунд.

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

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

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

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

2. Перебір у обмеженому діапазоні.

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

Нехай n = 70 – кількість символів, з яких можна скласти пароль, причому 10 з них – цифри, 30 – літери однієї мови та 30 – літери іншої мови. Нехай ми складаємо пароль завдовжки m = 4 символи.

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

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

3. Атака за словником

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

Багато користувачів вважають, що якщо застосувати до задуманого слова деяке просте перетворення, наприклад, написати його задом наперед або російськими літерами в англійській розкладціабо навмисно зробити помилку, це забезпечить безпеку. Насправді, порівняно з підбором випадкового пароля підбір пароля за словником із застосуванням різних перетворень (зробити першу букву великої, зробити всі букви великими, об'єднати два слова і т.д.) робить нездійсненне завдання цілком можливим.

Надійний пароль не повинен будуватись на основі слів природної мови.

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

Якщо атака за словником і перебір паролів невеликої довжини або складених із символів однієї групи не допомагає, зловмисник може скористатися тим фактом, що для полегшення запам'ятовування, багато користувачів вибирають як пароль особисті дані (номер стільникового телефону, дату народження, записану навпаки, прізвисько собаки і т.д.).

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

Надійний пароль має бути абсолютно безглуздим.

5. Збір паролів, що зберігаються у загальнодоступних місцях

У багатьох організаціях паролі створює та розподіляє системний адміністратор, який використовує наведені вище правила. Користувачі мають скористатися виданим їм паролем. Однак, оскільки цей пароль складно запам'ятати, він часто зберігається під рукою у записаному вигляді. Непоодинокі випадки, коли пароль записується на стікер і приклеюється до монітора, або містяться в записнику.

Користувачі часто несерйозно ставляться до питань безпеки свого службового пароля. Тим часом, проникнути в приміщення організації та провести візуальний огляд- Досить просте завдання для зловмисника.

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

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

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

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

7. Фішинг

Фішинг це процедура «вивужування» паролів випадкових користувачівІнтернет. Зазвичай полягає у створенні "підставних" сайтів, які обманом змушують користувача ввести свій пароль.

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

Коли клієнти банку потрапляють на сайт зловмисника, їм (як і на цьому сайті) пропонується запровадити логін та пароль для доступу до рахунку. Ця інформація зберігається в базі даних зловмисника, після чого клієнт перенаправляється на головну сторінкуцього сайту. Користувач бачить, що введення пароля "не спрацював" і думає, що зробив помилку або сайт просто "глючить". Він намагається ввести пароль заново і цього разу успішно входить до системи. Це розсіює його підозри. Тим часом, витік пароля вже стався...

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

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

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

Дотримання всіх семи перерахованих вище рекомендацій є досить складним. Важко запам'ятати кілька надійних (довгих і безглуздих) паролів, а можливість забути пароль вище ймовірності піддатися злому. Однак існує низка засобів, що полегшують це завдання, зокрема програми для зберігання паролів.

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

Ніхто не хоче втрачати доступ до облікових записів соціальних мережабо поштовим скринькам, але дуже часто таке все ж таки відбувається. Найчастіше причиною цієї неприємності є недостатня стійкість використаного пароля. Багато сайтів не допускають до використання паролі коротше 8 символів, але цей захід не завжди ефективний.

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

Перебір словникового запасу

Використання шкідливого ПЗ

Метод дозволяє зловмиснику викрасти файл паролів з браузера, або просто зафіксувати і зберегти послідовність даних, що вводяться при вході в систему (для цієї мети використовується ) з подальшим відправкою для обробки на будь-яку адресу. Для запобігання подібній атакі слід встановлювати програмне забезпечення лише перевірених постачальників і максимально обмежити доступ сторонніх до свого комп'ютера;

Пряме викрадення паролів

Простий, але дивно ефективний метод. В офіс солідної компаніїзаходить сантехнік, зв'язківець чи електрик, на якого ніхто не звертає уваги. Він навпаки, уважно фіксує все, що може помітити його камера або досвідчений погляд. У будь-якому офісі можна помітити на моніторах стікери з каліграфічно виведеними логінами та паролями, особливо у милих дам… Таке зневажливе ставлення до безпеки легко може розорити компанію. Боротися можна і потрібно, зміцнюючи внутрішню дисципліну;

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

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

Решта методик представляють модифікації перерахованих методів. Метою цієї статті була необхідність загострити увагу користувачів не лише на створенні злостійких паролів, але й на необхідність їхнього ретельного зберігання.

Перевірка надійності пароля

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

З його допомогою можна спростити процес реєстрації та авторизації на будь-яких сайтах, форумах, соц. мережах. Для цього при реєстрації на будь-якому сайті генеруємо профіль, копіюємо з нього потрібні поля на сайт, видаляємо непотрібні поля в профілі, завантажуємо та зберігаємо на комп'ютері створений профіль із позначкою назви сайту, де його використовували. Готово.

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

Зберігаємо в закладки, користуємося та ділимося у соцмережі з друзями!

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

Існують наступні методипарольного захисту, засновані на використанні пароля, що динамічно змінюється:

Методи модифікації схеми простих паролів;

Методи ідентифікації та встановлення справжності суб'єктів та різних об'єктів;

Метод "запит-відповідь";

Функціональні способи.

Найбільш ефективними з цих методів є функціональні.

Методи модифікації схеми простих паролів. До методів модифікації схеми простих паролів відносять випадкову вибірку символів пароля та одноразове використання паролів.

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

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

Недоліком методів модифікації схеми простих паролів є необхідність запам'ятовування користувачами довгих паролівчи їх списків. Запис паролів на папір призводить до появи ризику втрати або розкрадання носіїв інформації із записаними на них паролями.

Методи ідентифікації та встановлення справжності суб'єктів та різних об'єктів.

Під час обміну інформацією рекомендується в будь-якому разі передбачити взаємну перевірку справжності повноважень об'єкта чи суб'єкта. Якщо обмін інформацією здійснюється через мережу, то процедура повинна виконуватися обов'язково. Для цього необхідно, щоб кожному з об'єктів та суб'єктів присвоювалося унікальне ім'я. Кожен з об'єктів (суб'єктів) повинен зберігати у своїй пам'яті (недоступною для сторонніх осіб) список, що містить імена об'єктів (суб'єктів), з якими будуть виробляти процеси обміну даними, що захищаються.

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

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

Основною вимогою до питань у даному методі аутентифікації є унікальність, яка передбачає, що правильні відповіді питання знають лише користувачі, котрим ці питання призначені.

Функціональні способи. p align="justify"> Серед функціональних методів найбільш поширеними є метод функціонального перетворення пароля, а також метод "рукостискання".

Метод функціонального перетворення ґрунтується на використанні деякої функції 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(X), F(F(X)), F(F(F(X)))і т.д., тобто, для i-го періоду дії одного пароля паролем користувача буде Fi-1(X).Тому щоб обчислити черговий пароль після закінчення періоду дії використовуваного пароля, користувачеві не потрібно пам'ятати початковий (початковий) пароль, важливо лише не забути функцію парольного перетворення і пароль, що використовується до теперішнього часу.

З метою досягнення високого рівняБезпека Функція перетворення пароля, що задається для кожного користувача, повинна періодично змінюватися, наприклад, кожного місяця. При заміні функції доцільно встановлювати новий вихідний пароль.

Відповідно до методу "рукостискання", існує функція F, відома лише користувачеві та інформаційній системі. Ця функціяповинна задовольняти тим самим вимогам, які визначені для функції, яка використовується у методі функціонального перетворення.

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

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

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

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

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

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

У деяких випадках користувачу може виявитися необхідним перевірити справжність тієї інформаційної системи, до якої хоче здійснити доступ. Необхідність у взаємній перевірці може виникнути і тоді, коли два користувача системи хочуть зв'язатися один з одним по лінії зв'язку. Методи простих паролів, і навіть методи модифікації схем простих паролів у разі не підходять. Найбільш підходящим тут є метод "рукостискання". При його використанні жоден із учасників сеансу зв'язку не отримуватиме жодної секретної інформації.

назад

РОЗДІЛ IV

ТЕХНОЛОГІЇ ЗЛАМУ ПРОГРАМНИХ ​​ЗАХИСТ

Перешкоджання поширенню інформації про атаки призводить до небезпечної ілюзії безпеки.

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

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

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

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

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

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

Написати програму, що будує всі можливі послідовності символів із заданої послідовної перелічуваної множини, може навіть програміст-початківець. Очевидно, що розрахунок автора захисту має бути заснований на тому, щоб повний перебір зайняв проміжок часу, що виходить за межі розумного. І перше, що використовують для цього розробники, – збільшення довжини ключа (паролю). По-своєму вони мають рацію. Але

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

У зв'язку з різким зростанням обчислювальних потужностейатаки повним перебором мають набагато більше шансів на успіх, ніж раніше. Якщо для системи UNIXфункція crypt(), яка відповідає за хешування паролів, була реалізована так, що виконувалася майже 1 секунду на машину класу PDP, то за двадцять років швидкість її обчислення збільшилась у 10000 разів (!). Тому якщо раніше хакери (і розробники, які обмежили довжину пароля 8 символами) і уявити не могли повний перебір, то сьогодні така атака в середньому призведе до успіху за 125 днів.

По-друге, збільшення швидкості перебору вже запропоновано і може бути удосконалені ефективні алгоритми (зазвичай, засновані на формальної логіці і використовують теорію множин, теорію ймовірностей та інші галузі математики). Крім цього, застосовуються та алгоритми швидкого пошуку. (Наприклад, для атаки на RSA і подібні системи пропонується використовувати табличний пошук, що самоорганізується.)

Більше того, вже створено спеціальну апаратуру, яка виконує функції перебору.

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

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

Зупинимося ще на різновиді техніки повного перебору паролів – так званої атаці за словником . Це метод, за допомогою якого можна розкрити осмислений пароль. Метод заснований на тому, що користувач для більш легкого запам'ятовуваннявибирає існуюче деякою мовою (словникове) слово. Якщо врахувати, що у будь-якій мові трохи більше 100.000 слів, очевидно, що перебір словникових слів відбудеться протягом невеликого проміжку часу.

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

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

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

_____________________________

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

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

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

* Ще ефективніше працює захист, якщо пароль (а краще функціяпароля) є ключем шифрування деякої частини коду програми. У цьому випадку зломщику після перебору всіх можливих паролів (що дають заданий результат хешування) доведеться дешифрувати код.

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

___________________________________________________________

Детальніше

1. Приклади атак на механізми захисту – Кріс Касперскі «Техніка та філософія хакерських атак».

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

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

Присвоєння суб'єктам та об'єктам доступу особистого ідентифікатора та порівняння його із заданим переліком називається ідентифікацією. Ідентифікація забезпечує виконання таких функцій:

Встановлення справжності та визначення повноважень суб'єкта при його допуску до системи,

Контролювання встановлених повноважень у процесі сеансу роботи;

Реєстрація дій та ін.

Аутентифікацією (встановленням автентичності) називається перевірка власності суб'єкту доступу пред'явленого ним ідентифікатора та підтвердження його автентичності. Іншими словами, автентифікація полягає в перевірці: чи є суб'єкт, що підключається тим, за кого він себе видає.

Загальна процедура ідентифікації та аутентифікації користувача при його доступі до АС представлена ​​на рис. 2.10. Якщо в процесі аутентифікації справжність суб'єкта встановлено, то система захисту має визначити його повноваження (сукупність прав). Це необхідно для подальшого контролю та розмежування доступу до ресурсів.

За контрольованим компонентом системи способи аутентифікації можна розділити на аутентифікацію партнерів зі спілкування та аутентифікацію джерела даних. Аутентифікація партнерів зі спілкування використовується під час встановлення (і періодичної перевірки) з'єднання під час сеансу. Вона служить для запобігання таким загрозам, як маскарад та повторення попереднього сеансу зв'язку. Аутентифікація джерела даних – це підтвердження автентичності джерела окремої частини даних.

За спрямованістю автентифікація може бути односторонньою (користувач доводить свою справжність системі, наприклад, при вході в систему) та двосторонньої (взаємної).

Мал. 2.10. Класична процедура ідентифікації та аутентифікації

Зазвичай методи аутентифікації класифікують за використовуваними засобами. У цьому випадку зазначені методи ділять на чотири групи:

1. Засновані на знанні особою, яка має право доступу до ресурсів системи, деякої секретної інформації – пароля.

2. Засновані на використанні унікального предмета: жетону, електронної картки та ін.

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

4. Засновані на інформації, що асоціюється з користувачем, наприклад, з його координатами.

Розглянемо ці групи.

1. Найбільш поширеними простими та звичними є методи аутентифікації, що ґрунтуються на паролях – секретних ідентифікаторах суб'єктів. Тут при введенні суб'єктом свого пароля підсистема автентифікації порівнює його з паролем, що зберігається в основі еталонних даних у зашифрованому вигляді. У разі збігу паролів підсистема автентифікації дозволяє доступ до ресурсів АС.

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

Методи, що використовують постійні (багаторазово використовуються) паролі,

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

У більшості АС використовуються багаторазові паролі. У цьому випадку пароль користувача не змінюється від сеансу до сеансу протягом встановленого адміністратором системи часу його дійсності. Це полегшує процедури адміністрування, але підвищує загрозу розсекречення пароля. Відомо безліч способів розтину пароля: від підгляду через плече до перехоплення сеансу зв'язку. Імовірність розкриття зловмисником пароля підвищується, якщо пароль несе смислове навантаження (рік народження, ім'я дівчини), невеликої довжини, набраний на одному регістрі, не має обмежень на період існування і т.д. можливість звертатися із програми.

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

Більш надійний спосіб - використання одноразових або динамічно змінних паролів.

Відомі такі методи парольного захисту, засновані на одноразових паролях:

методи модифікації схеми простих паролів;

Методи «запит-відповідь»;

Функціональні способи.

У першому випадку користувачеві видається список паролів. При аутентифікації система запитує у користувача пароль, номер у списку якого визначено за випадковим законом. Довжина та порядковий номерпочаткового символу пароля також можуть задаватися випадковим чином.

При використанні методу «запит-відповідь» система ставить користувачеві деякі питання загального характеру, правильні відповіді на які відомі лише конкретному користувачеві.

Функціональні методи засновані на використанні спеціальної функціїпарольного перетворення. Це дозволяє забезпечити можливість зміни (за деякою формулою) паролів користувача у часі. Вказана функціяповинна задовольняти такі вимоги:

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

Знаючи х і y, складно чи неможливо визначити функцію .

Найбільш відомими прикладами функціональних методів є: метод функціонального перетворення та метод «рукостискання».

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

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

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

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

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

2. Останнім часом набули поширення комбіновані методи ідентифікації, що вимагають, крім знання пароля, наявність картки (token) – спеціального пристрою, що підтверджує справжність суб'єкта.

Картки поділяють на два типи:

пасивні (картки з пам'яттю);

Активні (інтелектуальні картки).

Найпоширенішими є пасивні картки з магнітною смугою, які зчитуються спеціальним пристроєм, що має клавіатуру та процесор. У разі використання вказаної картки користувач вводить свій ідентифікаційний номер. У разі його збігу з електронним варіантом, закодованим у картці, користувач отримує доступ до системи. Це дозволяє достовірно встановити особу, яка отримала доступ до системи та виключити несанкціоноване використання картки зловмисником (наприклад, при її втраті). Такий спосіб часто називають двокомпонентною автентифікацією.

Іноді (зазвичай фізичного контролю доступу) картки застосовують власними силами, без запиту особистого ідентифікаційного номера.

Достоїнства використання карток відносять те, що обробка автентифікаційної інформації виконується пристроєм читання, без передачі пам'ять комп'ютера. Це виключає можливість електронного перехоплення каналами зв'язку.

Недоліки пасивних карток такі: вони суттєво дорожчі за паролі, вимагають спеціальних пристроївЧитання, їх використання передбачає спеціальні процедури безпечного обліку та розподілу. Їх також потрібно оберігати від зловмисників, і, звичайно, не залишати в пристроях читання. Відомі випадки підробки пасивних карток.

Інтелектуальні картки крім пам'яті мають свій мікропроцесор. Це дозволяє реалізувати різні варіантипарольних методів захисту: багаторазові паролі, динамічно змінюються паролі, звичайні запит-відповідні методи. Усі картки забезпечують двокомпонентну аутентифікацію.

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

Перспективним напрямом розвитку карток є наділення їх стандартом розширення портативних систем PCMCIA (PC Card). Такі картки є портативними пристроями типу PC Card, які вставляються в гніздо PC Card і вимагають спеціальних пристроїв читання. Нині вони досить дорогі.

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

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

Таблиця 2.6

Приклади методів біометрії

Фізіологічні методи

Поведінкові методи

Зняття відбитків пальців

Сканування райдужної оболонки ока

Сканування сітківки ока

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

Розпізнавання рис обличчя

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

Новим напрямком є ​​використання біометричних характеристик в інтелектуальних розрахункових картках, жетонах-перепустках та елементах стільникового зв'язку. Наприклад, при розрахунку в магазині пред'явник картки кладе палець на сканер на підтвердження, що картка справді його.

Назвемо найбільш використовувані біометричні атрибути та відповідні системи.

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

· Геометрія рук.Відповідні пристрої використовуються, коли через бруд або травми важко застосовувати сканери пальців. Біологічна повторюваність геометрії руки близько 2%.

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

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

· Голос.Перевірка голосу зручна для використання в телекомунікаційних програмах. Необхідні для цього 16-розрядна звукова платаі конденсаторний мікрофонкоштують менше 25$. Можливість помилки становить 2 – 5%. Ця технологіяпідходить для верифікації по голосу телефонними каналами зв'язку, вона більш надійна в порівнянні з частотним набором особистого номера. Зараз розвиваються напрями ідентифікації особистості та її стану за голосом – збуджений, хворий, каже правду, не в собі тощо.

· Введення із клавіатури.Тут при введенні, наприклад, пароля відстежуються швидкість та інтервали між натисканнями.

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

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

Апаратура GPS проста і надійна у використанні та порівняно недорога. Це дозволяє її використовувати у випадках, коли авторизований віддалений користувачповинен бути у потрібному місці.

Підсумовуючи можливості засобів аутентифікації, її можна класифікувати за рівнем інформаційної безпекина три категорії:

1. Статична автентифікація;

2. Стійка автентифікація;

3. Постійна автентифікація.

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

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

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

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

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