Крытыка ўключэння API Idle Detection у Chrome 94. Эксперыменты з Rust у Chrome

Уключэнне па змаўчанні API Idle Detection у Chrome 94 прывяло да хвалі крытыкі са спасылкамі на пярэчанні ад распрацоўнікаў Firefox і WebKit/Safari.

API Idle Detection дазваляе сайтам вызначыць час, калі карыстач неактыўны, г.зн. не ўзаемадзейнічае з клавіятурай/мышшу ці выконвае працу на іншым маніторы. API таксама дазваляе даведацца запушчаны ў сістэме захавальнік экрана ці не. Інфармаванне аб неактыўнасці ажыццяўляецца праз адпраўку апавяшчэння пасля дасягнення зададзенага парога неактыўнасці, мінімальнае значэнне якога ўстаноўлена ў 1 хвіліну.

Важна адзначыць, што ўжыванне API Idle Detection патрабуе відавочнага падаванне паўнамоцтваў карыстача, г.зн. калі прыкладанне паспрабуе першы раз вызначыць факт неактыўнасці, карыстачу будзе паказана акно з прапановай падаць паўнамоцтвы ці блакаваць аперацыю. Для поўнага адключэння API Idle Detection у падзеле налад "Канфідэнцыяльнасць і бяспека" прадугледжана спецыяльная опцыя ("chrome://settings/content/idleDetection").

У якасці абласцей прымянення называюцца прыкладанні для чата, сацыяльных сетак і камунікацый, якія могуць мяняць статус карыстальніка ў залежнасці ад яго прысутнасці за кампутарам або адкладаць выснову апавяшчэнняў аб новых паведамленнях да прыходу карыстальніка. API таксама можа прымяняцца ў дадатках-кіёсках для вяртання да зыходнага экрана пасля пэўнага часу неактыўнасці або для адключэння рэсурсаёмістых інтэрактыўных аперацый, такіх як перамалёўка складаных пастаянна абнаўляюцца дыяграм, калі карыстальніка няма за кампутарам.

Пазіцыя супернікаў уключэння API Idle Detection зводзіцца да таго, што інфармацыя аб тым, знаходзіцца карыстач за кампутарам ці не можа разглядацца як канфідэнцыйная. Акрамя карысных ужыванняў дадзены API можа выкарыстоўвацца і не для добрых мэт, напрыклад, для спроб эксплуатацыі ўразлівасцяў падчас адсутнасці карыстача або для ўтойвання кідальнай у вочы шкоднаснай актыўнасці, такі як майнінг. Пры дапамозе разгляданага API таксама могуць збірацца звесткі аб шаблонах паводзін карыстача і дзённым рытме яго працы. Напрыклад, можна пазнаць калі карыстач звычайна сыходзіць на абед ці пакідае працоўнае месца. Ва ўмовах абавязковага запыту пацверджання прадастаўлення паўнамоцтваў названыя асцярогі ўспрымаюцца Google як неістотныя.

Дадаткова можна адзначыць нататку распрацоўнікаў Chrome аб пасоўванні новых тэхнік забеспячэння бяспечнай працы з памяццю. Па дадзеных Google 70% праблем з бяспекай у Chrome выкліканыя памылкамі пры працы з памяццю, такімі як зварот да буфера пасля вызвалення злучанай з ім памяці (use-after-free). Вызначаецца тры асноўныя стратэгіі барацьбы з падобнымі памылкамі: узмацненне праверак на этапе кампіляцыі, блакіраванне памылак падчас выканання і прымяненне мовы, які забяспечвае бяспечную працу з памяццю.

Паведамляецца аб пачатку эксперыментаў па даданні ў кодавую базу Chromium магчымасці распрацоўкі кампанентаў на мове Rust. Код на Rust пакуль не ўваходзіць у якія пастаўляюцца карыстачам зборкі і ў асноўным накіраваны на тэставанне магчымасці распрацоўкі асобных частак браўзэра на Rust і іх інтэграцыі з астатнімі часткамі, напісанымі на C++. Паралельна для кода на З++ працягвае развівацца праект па ўжыванні тыпу MiraclePtr замест raw-паказальнікаў для блакавання магчымасці эксплуатацыі ўразлівасцяў, выкліканых зваротам да ўжо вызваленых блокаў памяці, а таксама прапануюцца новыя метады выяўлення памылак на этапе кампіляцыі.

Акрамя таго, кампанія Google пачынае эксперымент па тэставанні магчымага парушэння працы сайтаў пасля дасягнення браўзэрам версіі, якая складаецца з трох лічбаў замест дзвюх. У прыватнасці, у тэставых выпусках Chrome 96 з'явілася налада "chrome://flags#force-major-version-to-100", пры ўказанні якой у загалоўку User-Agent пачынае выдавацца версія 100 (Chrome/100.0.4650.4). У жніўні падобны эксперымент праводзіўся ў Firefox, які выявіў праблемы з апрацоўкай трехциферных версій на некаторых сайтах.

Крыніца: opennet.ru

Дадаць каментар