Безбедност у Јава сандбок моделу
Страна 1 од 3
Од свог увођења, Јава технологија дао важну улогу у безбедносним питањима. Иако са мешовитим резултатима, дизајнери су покушали да обезбеди платформу за сигурносним системима се спроводе директно у смислу језика, који је доступан програмерима.
У непрекидном процесу еволуције и рафинираност у ЈВМ је постао један од најважнијих инфраструктуре за самостални, интернет, мобилни и још много тога, у овом чланку ћемо се фокусирати на еволуцији безбедносног модела, обично назива сандбок, коментаришући дизајн грешке и тренутни статус.
Предуслови
Овај чланак је намењен свима, без обзира да ли су доживели Јава програмерима који су потпуно постове читалаца на тему. Нека разматрања ће бити разумљива онима који већ имају одређено искуство са овим језиком, међутим, читање овог рада је погодан за било који читач.
Сандбок
Оригинални модел
Оригинални модел, позната као сандбок, је дизајниран да ограничи потенцијално злонамерног кода у изолованим и веома рестриктивна. Јава, од свог рођења, био је у великој мери оријентисана на мрежу и то разматрање довело да се конципира модел извршења у којој је код директно преузети са даљинским, излагање клијента значајним питањима безбедности.
У својој првој имплементацији, приказан шематски на слици, Сандбок само грубо разлику између локалног и даљинског кода кода: први пуноправан приступ свим ресурсима на "критичне" система, као што су, на пример, ваша датотека системи и разни уређаји, даљински код Напротив, био ограничен приступ ресурсима, посредством истог пошиљаоца сандбок аплетима, сада углавном нестао са веб приказу, ја сам био најпознатији пример.

Овај модел укључује низ безбедносних механизама на различитим нивоима.
Пре свега, Јава је тип-сигуран, тј постоји експлицитна веза између контролисане променљиве и његов тип (интегер, флоатинг поинт, жица, итд ..).
Они који су програмирани у језицима и низак / средњем нивоу, као што су Ц и Ц + + знам колико проблема може да избегне ову проверу: тог скупа имплицитних конверзија између врста, као што је целих бројева или боолеанс воид линкове ка другим показивача, које су карактеристичне за ти језици у исто време постала главни извор програмских грешака, оба подједнако посвећена почетницима и експертима.
Да бисте умањили шансе да девелопери цомпиессеро грешке, дизајнери на Сунцу уведене неке аспекте досадашње наћи само у нишама или универзитетском нивоу језика као што су, на пример, аутоматски управљање меморијом (сакупљање смећа) и контроле у рун-тиме меморија са директним приступом (показивачи, арраи елементе, итд ...).
Други ниво заштите је загарантована од стране компајлера и рун-тиме, по виртуелној машини. Ово осигурава да битецоде, асемблер на Јава ВМ се врши одговарајућим изврши дозволе. Конкретно, две кључне компоненте, ЦлассЛоадер и СецуритиМанагер, дефинисати локалну простор име да би се избегло мешање међу различитим инстанцама ВМ и управљање контролише приступ критичним ресурсима.
ЈДК 1.1 - шифра потписао
Овај модел представљен је веома флексибилан у првом упдате на ЈДК (верзија 1.1) је увео концепт трустед кода да дозволи удаљеним апликацијама, пропраћени електронског потписа ако је одобрен од стране клијента, приступа системским ресурсима. Решење, шематски приказан на слици испод, је нешто више од хацк претходне архитектуре и стога захтевају потпуну кориговање у наредним издањима.







