Федюшин Олександр
Павлович
Державний
ВУЗ "Національний гірничий університет", Україна
захист контенту веб-браузерів за
допомогою Java аплетів
ВСТУП
Аплети використовуються для
надання динамічного характеру Web-документа. Класичним прикладом використання
java-аплетів є надання статичним картинкам певних ефектів (падаючого снігу,
руху хвиль по поверхні води і т.п.), а також різні способи анімації динамічно
задаються текстових написів.
Інші мови компілюються в об'єктний код для конкретної операційної системи і
процесора. Тому, наприклад, скомпилированное для Windows програма не може
працювати на Macintosh. На відміну від них, Java не залежить від платформи,
оскільки він створює проміжний код (bytecode - байт-код, який не залежить від
конкретного процесора. Віртуальна машина Java потім конвертує байт-код в
машинний код, який розуміє процесор на даній конкретній системі.
Захист
Java-технології
Найбільш уразливими з точки зору
безпеки компонентом Java-технології є аплети, оскільки їх може використовувати
будь-який клієнт, який зовсім не зобов'язаний знати правила "техніки
безпеки при роботі з цими невеликими програмами. Саме тому аплетів для
передбачені самі жорсткі методи захисту. Хоча різні браузери та програми
перегляду аплетів можуть по-різному захищати інформацію користувача від нападу,
але в загальному випадку аплету має бути заборонено загальні функції які
користувач не використовує.
У класі SecurityManager перелічені
методи, які використовуються системою для контролю дій аплету в залежності від
характеристик навколишнього середовища. Програма, яка застосовується для
перегляду аплету, створює підклас SecurityManager, який і реалізує необхідну
політику безпеки. Посилання на цей SecurityManager записується в об'єкті
System.
Ще один механізм безпеки вбудований
в завантажувач аплетів і програм (ClassLoader). Браузер перевизначають цей клас
і реалізує свої власні правила роботи з мережевими протоколами. Одна з основних
функцій завантажувача об'єктів - розділення простору імен різних аплетів і
операційної системи, що дозволяє уникнути їх взаємного впливу.
Інша, не менш важлива функція
завантажувача – верифікація байт-кодів, тобто перевірка правильності отриманого
елемента Java-програми і його цілісності. У процесі верифікації з'ясовується
наступне:
-чи відповідає версія отриманого
блоку версіями інших елементів системи;
-збережений чи формат байт
виконуваного-коду;
-чи може виникнути переповнення
або вичерпання стеку.
Метою такої перевірки є виявлення
неправильного використання непрямої адресації, яке може призвести до порушення
в роботі віртуального процесора, і перевірка цілісності аплету. Цей механізм
забезпечує захист і надійну роботу розподіленої програми, що дозволяє не
завантажувати в браузер всю Java-програму цілком, а довантажувати її невеликими
блоками по мірі необхідності.
Сам віртуальний Java-процесор також має вбудовані механізми захисту від нападу.
Найбільш уразливими з точки зору безпеки компонентом Java-технології є аплети,
оскільки їх може використовувати будь-який клієнт, який зовсім не зобов'язаний
знати правила "техніки безпеки при роботі з цими невеликими програмами.
Саме тому аплетів для передбачені самі жорсткі методи захисту.
ВИСНОВКИ
Підводячи підсумок, можна
констатувати, що в міру зростання масштабів використання мобільних кодів все
більше уваги приділятиметься атакам на основі зловмисних java-аплетів.
ПЕРЕЛІК ЛІТЕРАТУРИ:
1. Глушаков С. В., Бабенко М. И.,
Тесленко Н. С. Секреты хакера. Атака и защита. Учебный курс. – АСТ Москва,
2008. – 544 с.: ил.
2. Гаевский А. Ю., Романовский В.
А. Создание Web-страниц и Web-сайтов. HTML и JavaScript –
СПб., БХВ-Петербург – 2008. – 427 с.: ил.