![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Механізм обслуговування системних викликів |
Введення Рішення деяких задач комп'ютерної безпеки засноване на обмеженні доступу програмного коду до різного роду ресурсів, зокрема, мережевих ресурсів і файлової системи. Надавши доступ до цих ресурсів лише окремим довіреною програмами, можна гарантувати (при додатковому контролі цілісності цих програм) виконання важливих вимог з безпеки, серед яких слід зазначити запобігання витоку критично важливої інформації через різні канали передачі даних: мережеве з'єднання, переносні (USB) накопичувачі та ін. Сучасні операційні системи (ОС) надають широкі можливості з управління доступом процесів до ресурсів комп'ютера. Однак недостатня надійність масових ОС (таких як Wi dows, Li ux та ін.) робить актуальним завдання розробки незалежних від ОС (ортогональних до неї) програмних засобів захисту інформації. Такі засоби захисту можуть бути реалізовані з використанням технології апаратної віртуалізації, коли захищається система виконується в апаратній віртуальній машині (ВМ), а система захисту розміщується в тілі монітора віртуальних машин (також званого гіпервізор) . Функціонування гіпервізора на більш високому апаратному рівні привілеїв дозволяє повністю контролювати виконання як коду ОС, так і призначених для користувача програм, залишаючись при цьому апаратно захищеним від шкідливого впливу з боку коду в ВМ, у тому числі, коду, що виконується в привілейованому режимі. Користувальницький процес в сучасних ОС не має прямого доступу до апаратних ресурсів; операційна система являє процесу деяку абстрактну модель апаратного забезпечення, взаємодія з якою здійснюється за допомогою набору операцій – системних викликів (СВ). Зокрема, для встановлення мережевого з'єднання з віддаленим комп'ютером і передачі йому даних процесу необхідно виконати в заданому порядку кілька цілком певних системних викликів (socke , co ec , se d і т. п.). У наших роботах було показано, як за допомогою поділу повноважень з обслуговування ресурсів між віртуальними машинами і делегування обслуговування системних викликів від однієї віртуальної машини іншої можуть бути вирішені деякі задачі комп'ютерної безпеки. Запропоновані рішення в цілому базуються на схемі, зображеній на рисунку 1. Гіпервізор забезпечує одночасне виконання двох ізольованих один від одного віртуальних машин. Обидві ВМ працюють під управлінням однієї і тієї ж операційної системи. Перша ВМ – обчислювальна – є основною. Користувач може працювати з нею в діалоговому режимі. Обладнання, через яке здійснюється доступ до контрольованих ресурсів (ресурси мережі Інтернет на рис. 1), фізично відключається гіпервізор від обчислювальної ВМ. Це обладнання управляється другий – сервісної – віртуальною машиною, яка, взагалі кажучи, може виконуватися прихованим для користувача чином у фоновому режимі. Системні виклики окремих (довірених) процесів перехоплюються гіпервізор, і ті з них, які відносяться до контрольованих ресурсів, передаються на обслуговування (обслуговуються віддалено) в сервісну ВМ. Зауважимо, що обслуговування цих викликів всередині обчислювальної ВМ неминуче призведе до помилки через відсутність у неї можливостей (обладнання) здійснити доступ до відповідних ресурсів.
Решта системні виклики довірених процесів, а також всі системні виклики інших процесів, обслуговуються засобами ОС в обчислювальній ВМ. Рисунок 1. Делегування системних викликів другий віртуальній машині При перехопленні системного виклику гіпервізор може проконтролювати допустимість контексту, з якого виконується запит на системний виклик, тобто чи дозволений даному процесу доступ до такої категорії ресурсів, і виконувати віддалене обслуговування виклику тільки у випадку успішного проходження перевірки. Аналізуючи параметри виклику, гіпервізор може також здійснювати більш тонкий контроль доступу до ресурсу, наприклад, дозволяти мережевий доступ тільки до обмеженого числа комп'ютерів в мережі, що мають задані адреси. У даній роботі описується архітектура і деталі реалізації механізму віддаленого виконання системних викликів, що використовується в системі безпеки, яка представлена в роботі . У ній контрольованими ресурсами є виключно ресурси мережі Інтернет. Як наслідок, реалізація, що розглядається в даній роботі, допускає віддалене обслуговування тільки тих системних викликів, які можуть бути використані при мережевому взаємодії через сокети. Однак, враховуючи спільність подання сокетів і файлів для користувацького процесу у вигляді дескрипторів файлів і, як наслідок, спільність багатьох системних викликів, аналізований механізм в цілому придатний також для тих сценаріїв, коли контрольованим ресурсом є файлова система. Окремі компоненти системи, що розглядається у даній роботі, можуть також використовуватися для ефективного вирішення тих завдань, в яких потрібно виконувати трасування системних викликів. Справа в тому, що штатні механізми трасування в ОС Li ux (p race) базуються на сигналах, що посилаються ядром ОС процесу-монітора (відладчик) при виконанні відлагоджує процесом системного виклику, що призводить до частого перемикання контексту процесів (монітора і трасуванню процесу). Крім того, читання даних з адресного простору трасуванню процесу можливе тільки порціями по 4 байти. Розміщення монітора процесів на рівні гіпервізора дозволяє усунути вказані обмеження. Завдання віддаленого виконання системних викликів розглядається також в рамках проекту Vir ualSquare . Відмінність запропонованого нами підходу полягає у використанні технології апаратної віртуалізації для перехоплення системних викликів. Крім того, в роботі підмножина системних викликів, виконуваних віддалено, задається жорстко, у той час як у нашому підході рішення про віддалений виконання системного виклику приймається, виходячи з дескриптора ресурсу, до якого звертається процес. У ряді випадків системний виклик треба одночасно виконувати в обох системах (локальної та дистанційної) з наступним об'єднанням результатів, і це питання також розглянуто в даній роботі. Механізм віддаленого виконання системних викликів близька механізму віддаленого виконання процедур , широко вживаному в розподілених програмних системах, зокрема, в мережевої файлової системи FS . Принципова відмінність пропонованого нами рішення полягає у відсутності необхідності модифікації (в тому числі, перекомпіляції) коду програми і операційної системи для обслуговування системних викликів в іншій системі.
Стаття організована наступним чином. У розділі 2 представлено короткий огляд технології апаратної віртуалізації і викладена загальна архітектура системи та її компонент. У розділі 3 детально розглянуті принципи роботи системи і обробка різних сценаріїв доступу до ресурсів. У розділі 4 представлені результати аналізу продуктивності системи як на синтетичних тестах, так і на реальних додатках. У розділі 5 підводяться підсумки роботи. 1. Архітектура системиТехнологія віртуалізації дозволяє виконувати ОС в апаратній віртуальній машині (ВМ) під управлінням порівняно невеликий за розміром системної програми – монітора віртуальних машин (гіпервізора) . Апаратна віртуальна машина є ефективний ізольований дублікат реальної машини, і виконання в ній операційної системи не вимагає внесення будь-яких змін в код ОС. Гіпервізор повністю контролює взаємодію ОС в ВМ з устаткуванням і може забезпечити надійну ізоляцію ВМ, спираючись на апаратні механізми захисту. Функціонування гіпервізора та організація виконання віртуальної машини багато в чому схожі з тим, як операційна система керує виконанням користувацьких процесів. Гіпервізор ініціалізує системні структури даних, необхідні обладнанню, і виконує спеціальну інструкцію VMRU , що реалізовує запуск ВМ і передачу управління відповідної інструкції коду ОС. При виникненні апаратного події (переривання) або при виконанні операційною системою привілейованої інструкції (у тому числі, системного виклику) виконання ВМ переривається, і управління передається гіпервізор на наступну інструкцію після VMRU . Після обробки перехопленого події гіпервізор відновлює виконання ВМ. Архітектура системи виглядає наступним чином. Гіпервізор реалізує одночасне виконання двох віртуальних машин (мал. 1), що працюють під управлінням операційної системи Li ux однаковою. Відзначимо, що операційні системи у віртуальних машинах можуть бути різними, якщо гіпервізор при цьому забезпечує необхідне перетворення системних викликів між вихідної та цільової операційними системами. У обчислювальної ВМ виконуються процеси користувача, серед яких виділено набір довірених процесів. Гіпервізор надає довіреною процесам привілей доступу до ресурсів, що обслуговується ОС в сервісній ВМ (контрольованим ресурсів); інші процеси доступу до цих ресурсів не мають. Доступ довірених процесів до контрольованих ресурсів проводиться за допомогою перехоплення їх системних викликів і, при необхідності, їх перенаправлення для обслуговування в сервісну ВМ. Обидві віртуальні машини виконуються асинхронно, і обчислювальна ВМ не блокується на час віддаленого обслуговування системного виклику. У цей час процес, який ініціював системний виклик, знаходиться в стані очікування, а всі інші процеси в обчислювальній ВМ продовжують виконуватися нормальним чином. Більш того, система допускає одночасне обслуговування декількох віддалених системних викликів, що надходять від різних довірених процесів. При перехопленні запиту процесу на виконання системного виклику гіпервізор копіює всі вхідні параметри виклику у власну область пам'яті і передає запит на обслуговування виклику в сервісну ВМ.
Швидше за все,P переконую себе,P я був непдготованим до сприйняття тодшньо катастрофи; може, вона сталася в ранньому дитинств або ж дал, на тому рвн, який називають «перинатальним». Я знову й знову перебираю чорн кульки невеселого ружанця, але жодне з припущень не виклика доври; ймоврно, цла сукупнсть життвих негараздв дйшла одного разу до критичного пункту саме тод пролунав настльки оглушливий вибух, що я не встиг навть почути його. У свох розшуках я мушу одночасно бути лкарем-дагностиком, хрургом. Ситуаця ускладнються ще й тим, що операцю треба виконати на соб, наперед вдмовившись вд застосування наркозу. Це ще раз перегукуться з мфом про Едпа, приреченого виконувати функц слдчого, судд, виконавця вироку злочинця. ¶стота трагед, принцип д пекельного механзму пастки, до яко втрапила необачна, самовпевнена душа,P цей стотний принцип розкрива закони сво побудови д надто вже повльно, як на одноразове людське життя, нерозривно пов'язане з плиннстю часу та кров
1. Фінансовий механізм зовнішньоекономічної діяльності
2. МЕХАНІЗМ АКТИВІЗАЦІЇ ТРУДОВОЇ ДІЯЛЬНОСТІ В УМОВАХ РИНКОВОЇ ЕКОНОМІКИ
3. Фінансовий механізм регулювання ринкових відносин
5. Порівняльний аналіз механізмів рефінансування комерційних банків
9. Механізм дії високого тиску і температури на деякі мікроорганізми та вітаміни
10. Механізм правового регулювання
11. Посвідчення договорів відчуження транспортних засобів, інших самохідних машин і механізмів
13. Механізм та біологічне значення запалення
14. Роль опіоїдів у регуляції механізмів апоптозу при гострій серцевій недостатності в експеріменті
15. Міжнародна торгівля. Механізм функціонування та регулювання
16. Механізм прийняття рішень в менеджменті
17. Механізм функціонування соціально-трудових відносин як організаційної системи
18. Функції фінансового менеджменту і фінансовий механізм
19. Політичня система як механізм влади
20. Механізм важіля
21. Удосконалення механізмів коксовиштовхувача
25. Економіко-правовий механізм стимулювання раціонального використання і охорони довкілля
26. Економічний механізм природокористування та охорони навколишнього середовища
27. Міжнародний організаційний механізм охорони навколишнього середовища
28. Концесія як механізм розвитку економіки держави
29. Механізм та результати конкуренції промислових капіталів
30. Механізм фіскальної політики держави
31. Прибуток підприємства та механізм його розподілу
33. Діагностування і технічне обслуговування газорозподільного механізму автомобіля ГАЗ-24 "Волга"
34. Фразеология (Поняття про фразеологізм)
35. Системный блок (основные компоненты)
36. Теория системного управления
37. Системный анализ
41. Механўзми двигуна (Детали двигателя)
43. Системный подход в современной науке и технике
44. Системный подход в управлении
45. Контрольная работа по системному анализу
46. Системный экономический анализ предприятия с целью его финансового оздоровления
47. Системный взгляд на культуру - основа анализа цивилизационной специфики России
48. Постмодернізм та українська історична наука
49. Системный анализ и проблемы принятия решений
50. Российская журналистика на фоне последствий системного кризиса
51. Политическая культура и системный подход
52. Дуалізм «конфуціанство – даосизм» у китайському культурному світогляді.
53. Системный анализ и управление логистическими системами
57. Основные подходы в системном исследовании
58. Системний підхід до управління персоналом фірми
59. Характеристика сутності та змісту класичної школи управління
60. Системный рейтинг депутата
62. Синергетика и системный синтез
63. Внедрение системного информационного комплекса в офисе туристской компании
64. Модульное обучение в системном образовании взрослых
65. Системные основы правосубъектности в приложение к естественным правам биологических видов
67. Исследование насилия в семье на основе системного подхода в семейной психотерапии
68. Ценностное измерение системного эксперимента в образовании. Эксперимент в контексте традиции
69. Системный подход к принятию решений
73. Системная мафия
74. Комплексный подход и системно-функциональный анализ в социологии
75. Применение системного подхода в управлении качеством продукции
76. Системный анализ на примере предприятия
77. Основні механізми кривошипних машин
78. Розрахунок вольт-амперної характеристики сонячного елемента при врахуванні зміни поверхневої рекомбі
79. Системный подход к организации оздоровительной работы в образовательном учреждении
80. Методология и принципы системного подхода к анализу социальных объектов
81. Системный подход как метод познания мира
82. Системные противоречия всемирного исторического процесса.
83. Концептуальные положения системного представления знаковой трактовки финансовых ресурсов предприятий
84. Зміни у співвідношені сил найбільш развитих держав на рубежі 19-20 ст
85. Отрывок из учебника по теории систем и системному анализу
89. Системы и системность в экономической теории
90. Методы системной фонологии
91. Системная теория падежа и предлога в практике преподавания русского языка как иностранного
92. Системный анализ и управление кредитами
93. Безпека обслуговування теплообмінних аппаратів та трубопроводів
95. Системный подход к анализу аварий и катастроф
96. Системная технология воздействия на пласт