користувачів протоколюються, а одержаний протокол використовується для виявлення вторгнень.
Аудит, таким чином, полягає в реєстрації спеціальних даних про різні типи подій, що відбуваютьсяв системі і так чи інакше впливають на стан безпеки комп’ютерної системи. До таких подій зазвичай зараховують такі:
вхід або вихід із системи; операції з файлами (відкрити, закрити, перейменувати, видалити); звернення до віддаленої системи;
зміна привілеїв або інших атрибутів безпеки (режиму доступу, рівня доступу користувача тощо).
Подія аудиту в ОС Windows може згенеруватися застосуванням користувача, диспетчером об’єктів або іншим кодом режиму ядра. Щоб ініціювати фіксацію подій, пов’язаних із доступом до об’єкта, необхідно сформувати в дескрипторі безпеки цього об’єкта список SACL, в якому перераховані користувачі, чиї спроби доступу до даного об’єкта підлягають аудиту. Це можна зробити програмно або за допомогою інструментальних засобів ОС.
Огляд підсистеми захисту WindowsXP закінчимо короткою характеристикою відмінностей нової ОС Microsoft Windows 7.
Що нового у Windows 7. По-перше, вона зберегла усі найкращі риси системи захисту ХР та Vista. По-друге, система захисту значно розширила свої можливості.
Коротко охарактеризуємо нові можливості системи захисту нової ОС від Microsoft.
1. Вдосконалено центр забезпечення безпеки ОС. Microsoft
значно розширила його можливості та надала нову назву: центр підтримки. На відміну від попереднього, центр підтримки інформує користувача не тільки про проблеми безпеки, а й про усі інші проблеми системи, які вважаються критичними або важливими. У випадку виявлення проблем, центр не тільки повідомить користувача про них, а й виконає пошук необхідного програмного забезпечення в Інтернеті та надасть посилання користувачу для прийняття рішення. Це трохи нагадує рекомендації Microsoft Base line Security Analyzer з розширеними можливостями (рис. 13.5).
Рис. 13.5. Зовнішній вигляд центру підтримки
2. Контроль облікових записів користувачів. Набув подаль-
шого вдосконалення так званий UserAccountControl (Контроль облікових записів користувачів), який раніше викликав багато нарікань з боку адміністраторів. Тепер можна гнучко налаштувати повідомлення цієї служби, звівши до потрібної величини запити на дозвіл тієї чи іншої операції, яка вимагає адміністративних повноважень. Передбачено навіть відключення служби контролю, однак робити це настійливо не рекомендується (рис. 13.6).
Рис. 13.6. Форма контролю облікових записів користувачів
452
3. Шифрування за допомогою BitLocker. У WindowsVista дебюту-
вав механізм суцільного шифрування жорстких дисків BitLocker. З деякими вдосконаленнями він мігрував і на Windows 7 (Enterprise та Ultimate – версії). До вдосконалень відноситься таке: а) тепер підготовка дисків для шифрування відбувається при встановленні системи, причому вона сама резервує для потреб шифрування певну ділянку активного диску (рис. 13.7):
Рис. 13.7. Керування дисками у Windows 7
б) з’явилася можливість шифрування не тільки системного, а й усіх інших дисків системи, відформатованих під NTFS.
На відміну від шифрованої файлової системи з попередніх версій
Windows (EncryptedFileSystem, EFS), яка дозволяла шифрувати окремі файли, BitLocker виконує суцільний криптографічний захист усієї інформації на диску, що значно підвищує степінь її захисту при фізичному доступі до комп’ютера або диску.
4. Шифрування інформації на знімних носіях. Windows 7 за допомогою нового механізму BitLockerToGo дозволяє шифрувати інформацію на знімних носіях не тільки з файловою системою NTFS, але й FAT32 та FAT. При цьому захищені носії можуть читатися і в попередніх версіях Windows (XP та Vista), однак режим запису в цьому випадку недоступний. Однак існує можливість (у груповій політиці безпеки) створити таке шифрування знімних дисків, яке буде підтримуватися і в попередніх версіях Windows (XP, Vista).
5. Заборона використання USB-дисків. Використовуючи групову політику безпеки (gpedit.msc з командного рядка), адміністратор може виконати такі корисні з точки зору безпеки дії: а) заборонити використання усіх типів знімних носіїв на цьому комп’ютері (знімних дисків, CD-ROM); б) заборонити використання усіх типів знімних носіїв за винятком строго визначених (досягається за допомогою ідентифікатора пристрою – його можна подивитися у диспетчері пристроїв);
в) створення та підтримка "чорного списку" знімних пристроїв; г) створення під час шифрування BitLocker унікальних ідентифікаторів для знімних дисків організації з подальшим відбором їх за цією ознакою і забороною використання інших дисків (рис. 13.8).
6. Технологія AppLocker для контролю ПЗ, що використо-
вується на комп’ютері. У Windows 7 запропоновано нову технологію створення замкненого програмного середовища. У WindowsXP є політика обмеженого використання програм (групова політика безпеки), яка дозволяє контролювати використання ПЗ користувача, однак вона досить незручна у використанні. Microsoft вдосконалила цю політику і під новою назвою впровадила механізм у Windows 7. AppLocker простіше у використанні, він має майстра генерування правил, а його нові можливості зменшують витрати часу на адміністрування, дозволяють вести аудит програм, що запускаються користувачами, гнучко маніпулювати правилами доступу до певних застосувань та файлів, використовуючи різні правила аж до цифрових підписів продуктів.
Рис. 13.8. Редагування доступу до знімних дисків у груповій політиці
безпеки
AppLocker налаштовується за допомогою групової політики безпеки або на локальному комп’ютері як оснащення локальної політики безпеки
(рис. 13.9).
Рис. 13.9. Налаштування правил AppLocker у локальній політиці
безпеки
7.Блокування мережевих загроз. Від мережевих загроз Windows 7
захищає брандмауер. Він існував і у Windows ХР, але там він контролював лише вхідний трафік. У Windows 7 брандмауер контролює вже і висхідний трафік. Крім цього, знято обмеження на один активний профіль, як це було у WindowsVista, отже можна використовувати одночасно кілька активних профілів, по одному на кожний адаптер. Переваги очевидні: можна, наприклад, сидячи в громадському місці, де є безпровідна точка доступу, підключатися одночасно через VPN до корпоративної мережі, і при цьому бути впевненим, що брандмауер застосує загальний профіль до Wi-Fi адаптера, а профіль домену активує для VPN-тунелю.
8.Захищений доступ до ресурсів корпоративної мережі.
Microsoft пропонує в новій ОС ще одну нову технологію – DirectAccess, яка забезпечує захищене з’єднання з корпоративною мережою для віддалених користувачів. Відмінність цієї технології від VPN полягає
в тому, що захищений тунель встановлюється у фоновому режимі без втручання користувача. Однак, це можливо лише тоді, коли на комп’ютері користувача встановлено Enterprise (Ultimate) версію ОС, а на серверах компанії – WindowsServer 2008 R2.
9.Захисник Windows. Для захисту ОС від шпигунського програмного забезпечення Microsoft пропонує свою систему WindowsDefender (захисник Windows), яка раніше випускалася окремо. Він працює за схемою, схожою до антивірусних програм, підтримує зв’язок з мережевою спільнотою MicrosoftSpyNet, автоматично поновлює свої бази даних шпигунського програмного забезпечення з Інтернету та запитує у спільноти правильні способи реагування на ту чи іншу загрозу.
10.Вбудований антивірус. Microsoft пропонує у складі своєї нової операційної системи свій безкоштовний антивірус – MicrosoftSecurityEssentials, який досить непогано зарекомендував себе у багатьох тестах антивірусів. Зрозуміло, що це дуже зручно, особливо для індивідуальних користувачів.
З деталями архітектури та властивостями операційних систем сімейства Windows можна ознайомитися у роботі [10].
Не дивлячись на усі переваги ОС Windows, ця операційна система, як відомо більшості користувачів, досить вразлива для вірусів та троянських програм, на відміну від іншої популярної ОС, Linux. Розглянемо відмінності архітектури цих операційних систем, які призводять до такої значної відмінності.
13.4. Порівняння архітектури Windows та Linux
Віруси, троянські коні та інші деструктивні програми вражають настільні комп’ютери з Windows внаслідок цілої низки причин, властивих
Windows та не властивих Linux:
1.Windows лише недавно еволюціонувала від однокористувацької моделі до багатокористувацької.
2.Windows за своєю архітектурою є монолітною, а не модульною системою.
3.У Windows надто широко використовується RPC-механізм.
4.Windows фокусується на відомому графічному інтерфейсі для настільних комп’ютерів.
Розглянемо вказані причини детальніше.
Windows лише недавно еволюціонувала від однокористувацької моделі до багатокористувацької. Система Windows з самого початку була розроблена, щоб забезпечити користувачам та програмам вільний доступ до усієї системи, а це означає, що хто завгодно міг скомпрометувати критичну системну програму або файл. Це також значить, що віруси та інші деструктивні програми могли зробити те ж саме, тому що Windows не ізолювала користувачів та прикладне програмне забезпечення від критичних ділянок операційної системи.
Операційна система Windows XP стала першою версією Windows, де з’явилися суттєві результати спроб ізолювання користувачів від системи, так що кожен користувач має свої власні особисті файли та обмежені системні повноваження. Платою за це стало, що програмні продукти, розроблені для попередніх версій перестали працювати. Саме тому в Windows XP передбачено режим сумісності, тобто режим, який дозволяє програмам працювати так, ніби вони функціонують в однокористувацькому середовищі. Windows XP – це прогрес, однак і Windows XP не можна назвати дійсно багатокористувацькою системою.
Windows Server 2003 – це наступний крок до істинно багатокористувацької системи, але навіть у Windows Server 2003 не вдалося ліквідувати усі "дірки" в системі захисту. Саме тому в Windows Server 2003 довелося відключити використання "за замовчуванням" деяких функцій web-навігатора (наприклад, ActiveX, написання сценаріїв тощо). Якщо б Microsoft переписала ці функції для роботи у безпечному режимі в істинно багатокористувацькому середовищі, вони не створювали би таких серйозних загроз, перед якими беззахисна Windows.
Windows за своєю архітектурою є монолітною, а не модульною системою. Монолітна система – це система, де більшість функцій інтегровано в єдиний модуль. Протилежністю такої системи є така, де функції розподілено за кількома рівнями, причому кожен рівень має обмежений доступ до інших.
Взаємозалежності такого типу мають два поганих каскадних побічних ефекти. По-перше, в монолітній системі кожна "дірка" в одній частині системи впливає на усі сервіси та застосування, які залежать від цієї частини системи. Інтегрувавши Інтернет Explorer в операційну систему, Microsoft створила систему, де будь-яка "дірка" в Інтернет Explorer створює загрози для комп’ютера з Windows в цілому.
457
Така архітектурна модель впливає набагато глибше, ніж здається. Так, у монолітній системі вразливості в захисті виявляються критичнішими, ніж можна було чекати.
Проілюструвати це зможе проста аналогія. Уявимо собі ідеальну ОС, яка складається з трьох сфер: одна в центрі; друга, більшого діаметру, охоплює першу; а третя сфера охоплює дві перших. Користувач бачить лише третю сферу. Це рівень, де він запускає застосування, наприклад, текстові процесори. Вони використовують необхідні функції, що надаються другою сферою, наприклад, засоби візуалізації графічних зображень або форматування текстів. Ця друга сфера (спеціалісти називають її "користувацькими процесами") не має прямого доступу до критичних частин системи. Щоб виконати свою роботу, вона має спитати дозволу внутрішньої сфери. Внутрішня сфера виконує найважливіші функції, тому, що має безпосередній доступ до усіх критичних частин системи. Вона керує пам’яттю, дисками та рештою важливих частин системи. Ця сфера називається "ядром" і є серцем ОС.
У такій архітектурі "дірка" в програмі графічного відображення не може нанести глобальних збитків комп’ютеру, оскільки функції візуалізації не мають прямого доступу до найкритичніших частин системи. Навіть якщо користувач завантажить у текстовий процесор зображення з втіленим вірусом, цей вірус не зможе пошкодити нічого окрім власних файлів користувача, оскільки функція графічного відображення не має доступу до жодної критичної частини системи.
Проблема Windows полягає в тому, що в ній не дотримуються розумних конструкторських принципів розділення функцій по відповідних описаних рівнях. Windows вкладає занадто багато функцій у ядро, центральну сферу, де можна заподіяти найбільшого збитку. Наприклад, якщо інтегрувати графічні функції в ядро, ці функції зможуть нашкодити усій системі. Таким чином, як тільки виявиться "дірка" в алгоритмі графічного відображення, надмірно інтегрована архітектура Windows полегшить використання цієї "дірки" для отримання повного контролю над системою, для руйнування всієї системи.
Монолітна система нестабільна за самою своєю природою. Коли в системі так багато взаємозв’язків, зміна однієї з її частин породжує багато загроз. Одна зміна в системі може вплинути (і таки впливає) на усі сервіси та застосування, які залежать від цієї частини системи. Саме
458
тому оновлення, які виправляють одну частину Windows, часто порушують роботу інших сервісів та застосувань. Для прикладу можна навести такий факт: для пакета оновлень Windows XP Service Pack 2 було створено список випадків (він, до речі, постійно оновлюється), коли його встановлення призвело до виходу з ладу програм сторонніх виробників. Таке явище в монолітній системі звичайна справа.
У Windows занадто широко використовується RPC-механізм. Абревіатура RPC означає "віддалений виклик процедур" (Remote Procedure Call). RPC – це те, що відбувається, коли одна програма відправляє через мережу вказівку іншій програмі виконати якусь дію. Віддаленим викликом процедури цей механізм називається тому, що не має значення, функціонують ці програми на тому же комп’ютері, чи десь в Інтернеті.
RPC-механізми – це потенціальна загроза безпеці, оскільки їх призначення – дозволити комп’ютерам, які знаходяться десь у мережі, віддавати даному комп’ютеру вказівки виконати ті, чи інші дії. Як тільки виявляється вразливість в програмі, що використовує RPC-механізм, будь-хто з мережі може використати її, щоб змусити вражений комп’ютер виконати якісь дії. На жаль, користувачі Windows не можуть заблокувати RPC-механізм, оскільки Windows використовує його, навіть якщо комп’ютер не підключений до мережі. Дивно, але деякі з найбільш серйозних вразливостей у Windows Server 2003 – наслідок "дірок" у самих RPC-функціях Windows, а не в програмних продуктах, що їх використовують.
Важливо зазначити, що RPC-механізми не завжди необхідні, і не зрозуміло, чому Microsoft так широко їх використовує.
Особливості архітектури Linux. За даними статистичних опи-
тувань Evans Data Linux Developers Survey, 92 % респондентів ніколи не зіштовхувалися з випадками зараження ОС Linux вірусами, троянськими та іншими деструктивними програмами.
Той факт, що віруси, троянські та інші деструктивні програми дуже рідко можуть (якщо взагалі можуть) заразити Linux-системи, частково можна пояснити такими причинами:
1.Linux має довгу історію використання ретельно проробленої багатокористувацької архітектури.
2.За своєю архітектурою Linux є, в основному, модульною системою.
3.Функціонування Linux не залежить від RPC-механізму, а сервіси зазвичай за замовчуванням налаштовані не використовувати RPCмеханізми.
4.Сервери Linux ідеально підходять для віддаленого адміністру-
вання.
Розглянемо ці причини детальніше.
Linux має довгу історію використання ретельно проробленої багатокористувацької архітектури. Linux ніколи не був однокористу-
вацькою системою. Тому в ній з самого початку закладено принцип ізолювання користувачів від застосувань, файлів та каталогів, що впливають на ОС в цілому. Кожному користувачу надається користувацький каталог, де зберігаються усі його файли даних, конфігураційні файли, що належать цьому користувачу. Коли користувач запускає якесь застосування (наприклад, текстовий процесор), воно запускається з обмеженими повноваженнями. Це застосування має право на запис лише у власний каталог цього користувача. Воно не може нічого записати у системні файли, навіть у каталог іншого користувача, якщо тільки адміністратор явним чином не надасть цьому користувачеві таке право.
Ще важливіше, що Linux надає практично усі функціональні можливості (наприклад, візуалізацію зображень JPEG) у вигляді модульних бібліотек. Тому, коли текстовий процесор відображає JPEGзображення, відповідні функції запускаються з тими ж обмеженими повноваженнями, що й сам текстовий процесор. Якщо в програмах візуалізації JPEG-зображень є "дірка", зловмисник зможе використати її тільки для отримання таких самих повноважень, як у цього користувача, що значно обмежує масштаби можливих збитків. У цьому переваги модульних систем, вони ближчі до ідеалу описаному ОС.
Навіть сервіси, наприклад, web-сервери, звичайно запускаються як користувачі з обмеженими повноваженнями. Так, Debian GNU/Linux запускає web-сервер Apache як користувача "www-data", що належить до такої самої групи. Якщо зловмисник на комп’ютері з Debian отримає повний контроль над web-сервером Apache, він зможе впливати лише на
файли, |
які належать користувачу "www-data", тобто на web-сторінки. |
В свою |
чергу, MySQL, запускається з повноваженнями користувача |