Krytyka włączenia API Idle Detection w Chrome 94. Eksperymenty z Rustem w Chrome

Domyślnie włączone API Idle Detection w Chrome 94 spotkało się z falą krytyki, powołując się na sprzeciw ze strony deweloperów Firefox oraz WebKit/Safari.

API Idle Detection umożliwia stronom internetowym określenie czasu, gdy użytkownik jest nieaktywny, tzn. nie wchodzi w interakcję z klawiaturą/myszą lub wykonuje pracę na innym monitorze. API pozwala również sprawdzić, czy w systemie uruchomiony jest ekran ochronny. Informowanie o nieaktywności odbywa się poprzez wysłanie powiadomienia po osiągnięciu ustalonego progu nieaktywności, którego minimalna wartość wynosi 1 minutę.

Ważne jest, aby zauważyć, że korzystanie z API Idle Detection wymaga wyraźnego przyznania uprawnień przez użytkownika, tzn. jeśli aplikacja po raz pierwszy spróbuje określić stan nieaktywności, użytkownik zobaczy okno z propozycją przyznania uprawnień lub zablokowania operacji. Aby całkowicie wyłączyć API Idle Detection, w sekcji ustawień „Prywatność i bezpieczeństwo” znajduje się specjalna opcja (chrome://settings/content/idleDetection).

Do zastosowań zalicza się aplikacje do czatowania, mediów społecznościowych i komunikacji, które mogą zmieniać status użytkownika w zależności od jego obecności przy komputerze lub wstrzymywać wyświetlanie powiadomień o nowych wiadomościach aż do przybycia użytkownika. API może być również wykorzystywane w aplikacjach typu kiosk do powracania do ekranu początkowego po określonym czasie nieaktywności lub do wyłączania zasobożernych interaktywnych operacji, takich jak ponowne rysowanie złożonych ciągle aktualizowanych wykresów, gdy użytkownik nie jest przy komputerze.

Opinia przeciwników włączenia API Idle Detection sprowadza się do tego, że informacje o tym, czy użytkownik znajduje się przed komputerem, mogą być uznawane za prywatne. Oprócz przydatnych zastosowań, API to może być wykorzystywane w złych intencjach, na przykład do prób wykorzystania luk w zabezpieczeniach podczas nieobecności użytkownika lub do ukrywania oczywistej działalności złośliwej, takiej jak kopanie kryptowalut. Dzięki omawianemu API można również zbierać dane o wzorcach zachowań użytkowników oraz rytmie ich pracy. Na przykład, można dowiedzieć się, kiedy użytkownik zazwyczaj wychodzi na lunch lub opuszcza swoje stanowisko pracy. W sytuacji konieczności potwierdzenia przyznania uprawnień, podane obawy są postrzegane przez Google jako nieistotne.

Dodatkowo warto wspomnieć o notatce programistów Chrome dotyczącej promocji nowych technik zapewnienia bezpieczeństwa pracy z pamięcią. Z danych Google wynika, że 70% problemów z bezpieczeństwem w Chrome jest spowodowanych błędami w pracy z pamięcią, takimi jak dostęp do bufora po zwolnieniu związanej z nim pamięci (use-after-free). Wyróżnia się trzy podstawowe strategie walki z takimi błędami: wzmocnienie kontroli na etapie kompilacji, blokowanie błędów w trakcie wykonywania oraz zastosowanie języka, który zapewnia bezpieczną pracę z pamięcią.

Doniesiono o rozpoczęciu eksperymentów nad dodaniem do bazy kodu Chromium możliwości rozwoju komponentów w języku Rust. Kod w Rust na razie nie jest włączony w dostarczane użytkownikom wersje i głównie ma na celu testowanie możliwości rozwoju poszczególnych części przeglądarki w Rust oraz ich integracji z pozostałymi, napisanymi w C++. Równolegle rozwija się projekt dla kodu w C++ dotyczący zastosowania typu MiraclePtr zamiast surowych wskaźników, aby zablokować możliwość wykorzystania luk w zabezpieczeniach spowodowanych dostępem do już zwolnionych bloków pamięci, a także proponowane są nowe metody wykrywania błędów na etapie kompilacji.

Ponadto firma Google rozpoczyna eksperymenty mające na celu testowanie potencjalnych zakłóceń w działaniu stron internetowych po przejściu przeglądarki na wersję składającą się z trzech cyfr zamiast dwóch. W szczególności w testowych wersjach Chrome 96 pojawiła się opcja „chrome://flags#force-major-version-to-100”, która, po jej aktywowaniu, wyświetla wersję 100 w nagłówku User-Agent (Chrome/100.0.4650.4). W sierpniu podobny eksperyment przeprowadzono w Firefox, który ujawnił problemy z obsługą trzycyfrowych wersji na niektórych stronach.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster