Фондација за слободни софтвер је представила пројекат ЈСхелтер, који развија додатак за претраживач за заштиту од претњи које настају приликом коришћења ЈаваСцрипт-а на веб локацијама, укључујући скривену идентификацију, праћење кретања и акумулацију корисничких података. Код пројекта се дистрибуира под ГПЛв3 лиценцом. Додатак је припремљен за Фирефок, Гоогле Цхроме, Опера, Браве, Мицрософт Едге и друге претраживаче засноване на Цхромиум енгине-у.
Пројекат се развија као заједничка иницијатива коју финансира НЛнет фондација. У развој ЈСхелтер-а су се придружили и Ђорђо Маоне, креатор додатка НоСцрипт, као и оснивачи Ј++ пројекта и аутори додатака ЈС-Схиелд и ЈаваСцрипт Рестрицтор. Додатак ЈаваСцрипт Рестрицтор се користи као основа за нови пројекат.
ЈСхелтер се може посматрати као нека врста заштитног зида за ЈаваСцрипт програмске интерфејсе доступне веб локацијама и веб апликацијама. Додатак пружа четири нивоа заштите, као и флексибилан режим конфигурације за приступ АПИ-ју. Нулти ниво у потпуности омогућава приступ свим АПИ-јима, први укључује минимално блокирање које не омета рад страница, други ниво балансира између блокирања и компатибилности, а четврти ниво укључује стриктно блокирање свега непотребног.
Подешавања блокирања АПИ-ја могу бити везана за појединачне сајтове, на пример, заштита се може појачати за неке сајтове, а онемогућити за друге. Такође можете селективно блокирати одређене ЈаваСцрипт методе, објекте, својства и функције или променити повратне вредности (на пример, произвести лажне информације о систему). Посебна карактеристика је режим НБС (Нетворк боундари схиелд), који не дозвољава страницама да користе претраживач као прокси између екстерне и локалне мреже (сви одлазни захтеви се пресретну и анализирају).
Блокирани или ограничени АПИ-ји:
- виндов.Дате, виндов.перформанце.нов(), виндов.ПерформанцеЕнтри, Евент.прототипе.тимеСтамп, Гамепад.прототипе.тиместамп и ВРФрамеДата.прототипе.тиместамп - излаз тачног времена може да се користи за идентификацију и извођење напада на бочне канале .
- ХТМЛЦанвасЕлемент (цанвас.тоДатаУРЛ(), цанвас.тоБлоб(), ЦанвасРендерингЦонтект2Д.гетИмагеДата, ОффсцреенЦанвас.цонвертТоБлоб()) - користи се за одређивање карактеристика графичког подсистема приликом идентификације корисника.
- АудиоБуффер и АналисерНоде (АудиоБуффер.гетЦханнелДата(), АудиоБуффер.цопиФромЦханнел(), АналисерНоде.гетБитеТимеДомаинДата(), АналисерНоде.гетФлоатТимеДомаинДата(), АналисерНоде.гетБитеФрекуенциДата() АналисерНоде.гетБитеФрекуенциДата() и анализа сигнала.
- ВебГЛРендерингЦонтект - идентификација кроз анализу карактеристика графичког стека и ГПУ-а.
- МедиаДевицес.прототипе.енумератеДевицес - идентификација добијањем параметара и назива камере и микрофона.
- навигатор.девицеМемори, навигатор.хардвареЦонцурренци - добијање информација о хардверу.
- КСМЛХттпРекуест (КСХР) - преноси прикупљене системске информације на екстерни сервер након што се страница учита.
- АрраиБуффер - извођење микроархитектонских Спецтре напада.
- ВебВоркер (виндов.Воркер), СхаредАрраиБуффер (виндов.СхаредАрраиБуффер) - извођење напада који процењују кашњења приликом приступа подацима.
- Геолоцатион АПИ (навигатор.геолоцатион) - приступ информацијама о локацији (додатак вам омогућава да искривите враћене податке).
- Гамепад АПИ (навигатор.гетГамепадс()) је један од идентификационих знакова који узима у обзир присуство гамепада у систему.
- Виртуал Реалити АПИ, Микед Реалити АПИ - коришћење параметара уређаја виртуелне реалности за идентификацију.
- виндов.наме - вишеструко цурење.
- навигатор.сендБеацон - користи се за веб аналитику.
Извор: опеннет.ру