Виклад основного матеріалу дослідження з повним обґрунтуванням отриманих наукових результатів
Постановка завдання
- Визначення шляхів НСД до інформації клієнта Інтернету за допомогою інструментальних засобів Flash.
- Визначення можливостей типових засобів захисту локальної мережі від НСД вказаного типу та формування концепції захисту.
Розглянемо документовані інструментальні засоби середовища Flash, що потенційно можуть бути використані для НСД до інформації. В зв’язку з певними обмеженнями середовища Flash доцільно розглянути тільки ті інструментальні засоби, які дозволяють читати, записувати, передавати інформацію, запускати зовнішні програми, керувати апаратним забезпеченням та визначати можливості програмного забезпечення комп’ютера клієнта.
Функції loadVariables() та loadVariablesNum() дозволяють завантажити дані із текстового файлу в середовище Flash. Важливий момент, який треба мати на увазі при використанні цієї функції, полягає в тому, що дані повинні бути представлені у вигляді пар ім’я/величина. Функція може бути використана Flash не тільки для одержання інформації, але й для її передачі. Робота функції реалізована у фоновому режимі.
Функція getURL() може бути використана для передачі даних у сценарій, що виконується на стороні сервера. Крім того, за допомогою даної функції можливо завантажити нову Веб-сторінку або відкрити нове вікна броузера. Передачу даних можна здійснювати методами get та post. За допомогою цієї функції можна також викликати функцію, написану мовою програмування JavaScript. Використання функції JavaScript дозволяє більш гнучко передавати дані на сервер та здійснювати операції доступу до файлів. Ще однією важливою особливістю інтеграції даної функції з JavaScript є доступ до cookie-файлів. Причому можна як записувати cookie-файли, так і читати з них інформацію. Таким чином, можна дізнатися які сайти переглядав користувач.
Функції loadVariables() та getURL() досить схожі між собою в аспекті передачі даних. Однією з основних відмінностей між ними є те, що при передачі даних за допомогою getURL() може з’явитися нове вікно броузера, яке буде сигналом для користувача про несанкціоновані дії фільму Flash.
Функція FSCommand() дозволяє передавати до двох рядків інформації в будь-яку прикладну програму, де виконується фільм Flash. У будь-якому Веб-браузері реалізація даної функції може бути використана для виклику функцій, що існують у конкретному документі HTML і написані мовами JavaScript та VBScript. Організація такого виклику багато в чому аналогічна виклику з використанням функції getURL(). Особливістю функції FSCommand() при її реалізації в автономному програвачеві Flash є можливість запуску зовнішніх прикладних програм. Для цього необхідно використати опцію exec та вказати абсолютний або відносний шлях до запускаючого файлу прикладної програми.
Крім функцій для завантаження та відправки даних можна використовувати декілька об’єктів Flash, Sound, LoadVars, MovieClip, XML та XMLSocket.
Об’єкт Sound дозволяє завантажувати із сервера на комп’ютер клієнта звукові файли в форматі MP3. З точки зору НСД даний об’єкт не містить загроз для безпеки комп’ютера клієнта.
Об’єкти LoadVars та MovieClip дозволяють завантажувати у фільм Flash дані з зовнішніх файлів. Реалізація відповідних методів цих об’єктів принципово не відрізняється від функції loadVariables(). Крім того, об’єкт LoadVars аналогічно функції loadVariables() дозволяє відправляти дані на сервер по протоколу HTTP.
Об’єкт XML використовується для завантаження та відправки даних у форматі XML згідно протоколу HTTP. Для завантаження даних використовується метод load(), для передачі - метод send(). Крім того, метод sendAndLoad() передає на сервер документ XML та завантажує відповідь сервера в об’єкт XML.
Об’єкт XMLSocket використовується для завантаження та відправки даних в форматі XML з використанням прямого гніздового з’єднання зі спеціальною частиною програмного забезпечення серверу. Він служить для двостороннього обміну інформацією в реальному масштабі часу. Спочатку методом connect() встановлюється з’єднання. Після цього передача/прийом даних здійснюються методами send() та onXML(). Завершення сеансу зв’язку здійснюється методом close().
Можливості фільму Flash по керуванню апаратним забезпеченням комп’ютера клієнта полягають в керуванні показу інформації на екрані, програванні звукових файлів, регулюванні гучності звуку, балансу лівого та правого звукових каналів і друкуванні зображення із фільму. Документовані можливості об’єктів для керування апаратним забезпеченням та визначення можливостей комп’ютерної системи, на наш погляд, не дають можливостей для НСД до інформації клієнта.
Описані можливості об’єктів та функцій Flash, що потенційно несуть загрозу НСД до інформації клієнта Інтернету представлені на рис.1.
Таким чином, документовані можливості інструментальних засобів Flash дозволяють несанкціоновано читати дані з комп’ютера, передавати їх в мережу та записувати дані. Крім того, фільм Flash може запускати зовнішні програми та має доступ до функцій, написаних мовами JavaScript та VBScript.
Для оцінки рівня небезпеки потенційних загроз було проведено комп’ютерне моделювання, за допомогою спеціально розроблених фільмів Flash та серверного програмного забезпечення. Універсальність результатів моделювання забезпечувалась використанням як серверу Apache, так і IIS 5.0. Сервери функціонували на платформі Windows 2000 Server. Програмне забезпечення сервера Apache для прийому даних розроблено мовою PHP, для сервера IIS 5.0 - за технологією ASP з використанням мови Visual Basic. Відправним пунктом моделювання стало припущення про те, що на клієнтський комп’ютер фільм Flash може потрапити або при перегляді Веб-сайту, або в вигляді файлу, прикріпленого до листа електронної пошти. Відзначимо, що прикріплені до електронного листа файли фільмів Flash (*.swf) вважаються безпечними і, як правило, відкриваються користувачами.
В першому випадку програвач фільму Flash виконується в середовищі браузера. При цьому до фільму застосовується політика безпеки браузера до відповідної зони Інтернету. В другому випадку фільм Flash завантажується на комп’ютер клієнта, а програвач Flash виконується як самостійний програмний додаток.
Перегляд фільму Flash, розміщеного на Веб-сайті за допомогою браузера Microsoft Internet Explorer, при застосуванні типової для зони Інтернету політики безпеки показав, що жоден із документованих інструментальних засобів не зміг ні прочитати, ні записати дані на локальний комп’ютер. Також у цьому випадку фільм Flash не зміг запустити зовнішні програми.
Рис.1. Схема потенційних загроз об’єктів та функцій Flash
В той же час були реалізовані можливості Flash по виконанню функцій JavaScript, передачі даних на сервер по протоколу HTTP та за допомогою сокетів. Внаслідок застосування типової політики безпеки деструктивні можливості функцій JavaScript мінімальні. Отже, єдиним напрямом НСД може бути аналіз cookie-файлів. Результати аналізу можуть бути передані віддаленому зловмиснику. При цьому інформативність такого аналізу досить низька. Таким чином, перегляд за допомогою браузера Microsoft Internet Explorer з типовою політикою безпеки, розміщеного на Веб-сайті фільму Flash, практично не містить загрози НСД. Відзначимо, що зменшення рівня безпеки може призвести до серйозних наслідків. При цьому функції JavaScript дозволяють запускати небезпечні компоненти ActiveX, які дають змогу зловмиснику одержати НСД до інформації клієнта. Зменшення рівня безпеки можливе при збереженні та наступному перегляду Веб-сайту з фільмом Flash. У цьому випадку браузер застосовує до сайту менш жорстку політику безпеки, яка додатково дозволяє читати та записувати інформацію на локальний комп’ютер. Перегляд фільму Flash, надісланого електронною поштою, показав, що всі документовані можливості інструментальних засобів по зчитуванню, передачі інформації та запуску зовнішніх програм були реалізовані в повному обсязі. Розглянуто вплив на вказані можливості інструментальних засобів деяких засобів захисту локальної мережі. Засоби захисту включали в себе загальнопоширені антивірусні програми та мережні екрани.
Загальнопоширена антивірусна програма AVP (антивірус Касперського) на потенційно загрозливі можливості фільму Flash не вплинула. Використання мережного екрану не дозволило фільму Flash встановити гніздове з’єднання з сервером. Проте зчитані з локального комп’ютера дані були передані на сервер по протоколу HTTP. При цьому використання функції getURL() призвело до відкриття вікна браузера. Ця обставина може бути діагностичним сигналом про спробу НСД. У той же час використання функцій loadVariables(), loadVariablesNum() та об’єкта LoadVars відбувалось непомітно для користувача і дозволило зчитувати інформацію з файлів локального комп’ютера та передавати її на сервер. Відзначимо, що використання зловмисником функції loadVariables() найбільш ймовірно з причини її підтримки практично всіма поширеними версіями програвача Flash.
Суттєвою проблемою цілеспрямованого не санкціонованого зчитування та зміни інформації є необхідність визначення зловмисником хоча б приблизної назви файлу. Ця обставина змушує зловмисника розробити програму пошуку інформації. При загальнопоширених обмеженнях на обсяг електронного листа це може досить відчутно вплинути на ефективність атаки. Тому зловмисник може частково перенести аналіз одержаної інформації на сервер. У цьому випадку обсяг листа зменшиться, але збільшиться трафік по протоколу HTTP між фільмом Flash та сервером, на який зловмисник буде передавати інформацію. Це може бути діагностичним сигналом про спробу НСД. Таким чином, найбільш небезпечним та ймовірним засобом НСД до інформації клієнта Інтернету за допомогою Flash є поштова програма типу "троянський кінь", функціональна схема якої показана на рис.2.
Рис.2. Функціональна схема поштової програми Flash типу "троянський кінь"
Проведена оцінка можливостей НСД з використанням технології Flash дозволяє сформувати відповідну концепцію захисту, схема якої показана на рис.3.
Концепцією передбачено ряд програмних та організаційних заходів по діагностиці та забороні НСД. Реалізація організаційних заходів практично знищує небезпеку НСД, хоча значно ускладнює роботу користувачів; реалізація програмних заходів зручніша для користувача, але потребує використання мережних екранів та розробки нового програмного забезпечення.
Рис.3. Схема концепції захисту від НСД