У грудні минулого року розробники Microsoft, у відповідь на викладений на загальний огляд експлоїт, який експлуатував уразливість в FTP-сервер IIS, повідомили користувачам, що загроза не є серйозною, тому що найгірші її наслідки – падіння самого додатка.
Керівник програми з безпеки IIS Назім Лала зазначив у своєму блозі таку позитивну рису нових ОС, як заходи попередження загроз і мінімізація їх наслідків – у хакерів не було можливості керувати даними, які були перезаписані в оперативній пам'яті.
Це стало ще однією перемогою грунтовного підходу компанії Microsoft до розробки коду, численні рівні захисту зробили систему менш вразливою до атак хакерів.
Однак з'ясувалося, що перемога трохи затьмарена. "Білі" хакери Кріс Валасек і Райан Сміт, співробітники компанії Accuvant Labs, опублікували скріншоти, які доводять, що у них не виникло ніяких проблем при доступі до частин пам'яті комп'ютера, захищених системою під назвою Heap-exploitation mitigation, яка повинна була протистояти цьому. Подолавши цю перешкоду, вони показали, що помилка в IIS виявилася набагато серйозніше, ніж припускав початковий аналіз Microsoft.
До теперішнього моменту їх методика, за допомогою якої можна обійти захист купи, була невідома нікому, крім вузького кола розробників. У суботу Валасек і Сміт, останній є головним дослідником компанії Accuvant, поділилися секретом на конференції з безпеки, яка проходила в Майамі Біч.
Функція мінімізації наслідків злому динамічно розподілюча пам'ять дебютувала в другому пакеті оновлень Windows XP, і пізніше була вдосконалена в наступних ОС. Вона обчислює ділянки пам'яті, які були пошкоджені при переповненні купи, і завершує основний процес. Ця технологія була важливим нововведенням для Microsoft. Фактично за ніч ціла група вразливостей, яка дозволяла хакерам отримати повний контроль над операційною системою, була усунена.
При роботі з новими ОС, зломщики не зуміють зробити нічого більше, як обрушити додаток, що містить помилку.
Валасек і Сміт змогли обійти захист, тому що Microsoft переробила конструкцію купи, а також включила нову систему – LFH, або low fragmentation heap, яка повинна була підвищити швидкість і поліпшити якість роботи, виявляючи для додатків вільні місця в пам'яті. І з причин, які все ще залишаються неясними, нова система не застосовує функцію мінімізації наслідків переповнення купи (Heap-exploitation mitigation).
"Вони відкрили нову дорогу для хакерів, відмінне починання для зломщиків і погане для кінцевих користувачів", – зауважив Сміт. "Закрили задні двері, але відкрили вікно".
Функція LFH не включена за замовчуванням, і зломщикам часто потрібно прикладати багато зусиль, щоб активізувати її. У випадку з уразливістю в IIS в грудні, вони включили її за допомогою запуску певних чином сформованих команд FTP. З допомогою цього досить незвичайного способу у них не виникло ніяких проблем при управлінні пам'яттю на заздалегідь обраному комп'ютері.
Валасек і Сміт швидко виявили, що обхід захисту потребує порівняно більше зусиль і вмінь з боку хакера. П'ять-десять років тому хакерам-розробникам найчастіше можна було повторно використовувати величезну кількість коду при написанні нового експлоїта. У цьому випадку так зробити не вийде.
"На відміну від інших технік зламу минулих років, доводиться знати все про вихідної ОС і додатку, що активізує LFH, а також як використовувати їх у своїх цілях", – сказав Валасек. "Ти не можеш діяти наосліп".
Це нагадує про характер роботи у сфері системної безпеки, де йде постійна "гонка озброєнь" – розробка ПО проти шпигунського ПЗ, у якій "чорні" хакери постійно обходять нові засоби захисту, розроблені "білими" хакерами, в якій доводиться безперервно удосконалювати старі і створювати нові способи системного захисту. У такий же "гонці озброєння" хакери виявили способи обійти інші механізми системного захисту: технологію JIT spray для злому ASLR і зворотно-орієнтоване програмування проти DEP.
Все таки, за словами розробників, заходи по захисту і мінімізації наслідків злому на сьогоднішній день є неминучою частиною розробки ПЗ.
"Навіть такі заходи щодо попередження загроз, які можуть захистити кінцевого користувача, але не в змозі гарантувати компаніям, що їм не доведеться патчить свої додатки, вже хороші, тому що це ускладнює роботу хакерів", – говорить Сміт. "Це дозволяє виграти час".