Рівні безпеки при виконанні Java-програм

З метою забезпечення безпеки існує 4 рівні безпеки.

1-й рівень захисту реалізовано у компіляторі Java в байт-код (розподіл пам’яті відкладено до часу виконання). Це сповільнює інтерпретацію Java-програм, але суттєво підвищує безпеку системи.

2-й рівень захисту здійснює версифікатор байт-коду. Ця програма перевіряє завантажений байт-код на виконання таких умов:

ü Відсутність в байт-коді вказівників на об’єкти, розташовані за межами JVM;

ü Байт-код не порушує обмежень доступу до ресурсів комп’ютера користувача Java-програми;

ü Доступ до будь-яких об’єктів програми здійснюється відповідно до їх типу (строга типізація);

ü Всі параметри команд JVM мають необхідні типи;

ü Доступ до полів об’єктів Java-програми узгоджений із визначенням їх атрибутів доступу public, private або protected.

3-й рівень захисту здійснюється при динамічному завантаженні класів при виконанні аплета на комп’ютері користувача.

4-й рівень захисту пов’язаний із такою організацією інтерфейсів із мережевими протоколами (http, ftp, тощо), які забезпечують доступ не до усієї мережі, а тільки до тих серверів, з яких завантажуються класи.

3-ій та 4-ий рівні нескладно організувати і в системах для інших мов програмування, а реалізація перших двох можливо лише у Java-технологіях.

Верифікатор байт-коду

Верифікатор байт-коду (byte-code verifier) сканує байт-коди, витягує інформацію про типи об’єктів у кожній точці виконання фрагмента коду.

Важливо відзначити, що завантажувач і версифікатор байт-коду не роблять ніяких припущень щодо походження кодів – отримані вони з локальної файлової системи або з іншого континенту.

Верифікатор байт-коду гарантує, що будь-який код, який пройшов перевірку, може бути використаний інтерпретатором без ризику пошкодження інтерпретатора.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: