Реальна безпека віртуальних серверів

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

Комплекс проблем, пов'язаних із забезпеченням безпеки будь-яких віртуальних систем, в тому числі і віртуалізованних серверів стандартної архітектури, з цілого ряду причин істотно складніше, ніж це може здатися на перший погляд. По-перше, в них у порівнянні з традиційними системами різко зростає число потенційних загроз, причому безліч виникаючих проблем розділене тонкої межею на два дуже близьких підмножини, назви яких адекватно перевести непросто. Все напрямок в цілому іменується як Virtualization Security, що можна перевести як «віртуалізація і безпеку», а підмножини позначаються як virtualizing security і securing virtualization. Назви ці складені з одних і тих же слів, однак перше, скоріше за все, можна назвати як «безпека віртуалізованних систем», а друге - «віртуалізація технологій безпеки».

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

Джошуа Корман, посаду якого називається «головний стратег по безпеці», працює у відділенні IBM Internet Security Systems, який з'явився в складі IBM після покупки в 2006 році компанії ISS, створеної в 1994 році. ISS отримала популярність як творець мережевого сканера Internet Scanner, що дозволяє виявляти уразливості мереж і допомагає підняти їх надійність. Крім того, на базі ISS склалося підрозділ Х-Force - лабораторія для досліджень в області безпеки, що надає користувачам інформацію про загрози безпеці їх мереж. X-Force - одна з найстаріших і найбільш відомих в світі комерційних дослідницьких груп з питань безпеки, яка займається аналізом вразливостей і загроз, розробляє технології оцінки і забезпечення безпеки. Діяльність X-Force стосується досліджень причин нападів, включаючи політичні, про що свідчить випущений в четвертому кварталі 2008 року звіт, повністю присвячений методам ведення кібернетичної війни, що застосовувався під час конфлікту на території Південної Осетії. Однак Кормана цікавлять менш політизовані, але не менш гострі проблеми, і одним зі своїх виступів він так зумів потривожити мурашник індустрії інформаційної безпеки, що був занесений тижневиком Network World в список десяти найбільш помітних ІТ-персон 2008 року.

На конференції Interop 2007 ви зробили доповідь «Небезпечно на будь-якій швидкості; сім брудних секретів галузі інформаційної безпеки », який отримав великий резонанс. Назва викликає в пам'яті знамениту книгу Ральфа Надера «Небезпечно на будь-якій швидкості», яка вийшла в 1965 році і була присвячена автомобільної промисловості, викликавши потім помітні зрушення в цій галузі. Чому ви порівняли інформаційну та автомобільну безпеку?

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

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

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

Ви говорите про успадкованих вразливості і способах боротьби з ними, а що щодо нових, що виникають у зв'язку з виртуализацией?

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

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

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

Які уразливості можна вважати специфічними для віртуального середовища?

Відомо, що є два основних типи віртуалізації стандартних серверів: тип 1 і тип 2. У першому випадку в основі лежить гипервизор, що працює на голому залозі, і кожна віртуальна машина має свою власну ОС, а їх пов'язує між собою тільки гипервизор. У другому випадку віртуалізація здійснюється поверх деякої операційної системи, що працює на фізичному сервері, і всі віртуальні машини є її «гостями». З точки зору безпеки краще тип 1; той факт, що при віртуалізації другого типу велике число віртуальних машин працюють поверх однієї операційної системи, робить їх усіх залежними від неї: зараження цією ОС становить небезпеку для всіх віртуальних машин.

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

Програмне забезпечення системи управління віртуальними машинами має звичайні уразливості, як і звичайне ПО, з тією відмінністю, що тут особливо загрозливим є проникнення, при якому зломщик не просто пробиває пролом, а отримує доступ до всього внутрішнього простору - отримує «ключі від замка» (keys to the castle). Інша частина вразливостей відноситься до операційних загрозам, і вона виникає у випадках, коли персоналу не вистачає знань і умінь для роботи з віртуальним середовищем, і тоді можуть виникнути епізоди, подібні до «ефекту доміно». Специфічні уразливості віртуальних машин пов'язані з операційними погрозами, вони можуть бути викликані неконтрольованої експансією віртуальних машин, невизначеністю стану (припинена / активна), динамічної міграцією (Live Migration), схильністю атакам типу відтворення (Replay Attacks) і утримання даних (Data Retention). Нарешті, не слід забувати, що віртуальні машини можуть викрадатися поодинці або навіть цілими групами. Важко повірити, але гипервизор, адаптований до певної апаратній платформі, теж може бути атакований з використанням так званих «руткітів» (Hardware Virtualization Rootkits). Виявлення та боротьба з ними на призначеному для користувача рівні дуже складні, і розумніше робити більш захищені Гіпервізор. Скажімо, в VMware спочатку проектували свої продукти з урахуванням необхідності в забезпеченні безпеки.

У чому полягає різниця дві складові дисципліни Virtualization Security - virtualizing security і securing virtualization?

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

Яка роль на цьому тлі відводиться спеціалізованим пристроям на зразок Virtual Security Appliance або Security Virtual Machine (SVM)?

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

Що ж робити?

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

Уразливості віртуального середовища

Чому ви порівняли інформаційну та автомобільну безпеку?
Ви стали одним з найбільш активних проповідників цієї теми, чому?
Ви говорите про успадкованих вразливості і способах боротьби з ними, а що щодо нових, що виникають у зв'язку з виртуализацией?
Які уразливості можна вважати специфічними для віртуального середовища?
У чому полягає різниця дві складові дисципліни Virtualization Security - virtualizing security і securing virtualization?
Яка роль на цьому тлі відводиться спеціалізованим пристроям на зразок Virtual Security Appliance або Security Virtual Machine (SVM)?
Що ж робити?