Федюшин Олександр Павлович

Державний ВУЗ "Національний гірничий університет", Україна

захист контенту веб-браузерів за допомогою 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 с.: ил.