Boşta Algılama API'sinin Chrome 94'e dahil edilmesine yönelik eleştiri. Chrome'da Rust ile Denemeler

Boşta Algılama API'sinin Chrome 94'e varsayılan olarak dahil edilmesi, Firefox ve WebKit/Safari geliştiricilerinin itirazlarına atıfta bulunarak bir eleştiri dalgasına yol açtı.

Boşta Algılama API'si, sitelerin bir kullanıcının etkin olmadığı zamanı algılamasına olanak tanır; Klavye/fare ile etkileşime girmez veya başka bir monitörde çalışmaz. API ayrıca sistemde bir ekran koruyucunun çalışıp çalışmadığını öğrenmenize de olanak tanır. Hareketsizlikle ilgili bilgilendirme, minimum değeri 1 dakika olarak belirlenen belirli bir hareketsizlik eşiğine ulaşıldıktan sonra bir bildirim gönderilerek gerçekleştirilir.

Boşta Algılama API'sinin kullanımının kullanıcı izinlerinin açık bir şekilde verilmesini gerektirdiğini unutmamak önemlidir; Uygulama ilk kez hareketsizliği tespit etmeye çalışırsa, kullanıcıya izin verip vermeyeceğini veya işlemin engellenip engellenmeyeceğini soran bir pencere sunulacaktır. Idle Detection API'yi tamamen devre dışı bırakmak için "Gizlilik ve Güvenlik" ayarları bölümünde özel bir seçenek ("chrome://settings/content/idleDetection") sağlanmıştır.

Uygulama alanları arasında kullanıcının bilgisayar başında bulunmasına bağlı olarak durumunu değiştirebilen veya yeni mesajların bildirimini kullanıcı gelene kadar geciktirebilen sohbet, sosyal ağ ve iletişim uygulamaları yer almaktadır. API aynı zamanda kiosk uygulamalarında belirli bir süre işlem yapılmadığında orijinal ekrana dönmek veya kullanıcı bilgisayar başında olmadığında karmaşık, grafiklerin sürekli güncellenmesi gibi kaynak yoğun etkileşimli işlemleri devre dışı bırakmak için de kullanılabilir.

Boşta Tespit API'sinin etkinleştirilmesine karşı çıkanların görüşü, kullanıcının bilgisayarda olup olmadığına ilişkin bilgilerin gizli kabul edilebileceği yönündedir. Yararlı uygulamaların yanı sıra bu API, örneğin kullanıcı uzaktayken güvenlik açıklarından yararlanmaya çalışmak veya madencilik gibi göze çarpan kötü amaçlı etkinlikleri gizlemek gibi kötü amaçlar için de kullanılabilir. Söz konusu API kullanılarak, kullanıcının davranış kalıpları ve işinin günlük ritmi hakkında bilgiler de toplanabiliyor. Örneğin, kullanıcının genellikle öğle yemeğine ne zaman gittiğini veya işyerinden ne zaman ayrıldığını öğrenebilirsiniz. Zorunlu yetki belgesi talebi bağlamında bu kaygılar Google tarafından önemsiz olarak algılanmaktadır.

Ek olarak, Chrome geliştiricilerinin, bellekle güvenli çalışmayı sağlamaya yönelik yeni tekniklerin tanıtımına ilişkin notunu da not edebilirsiniz. Google'a göre, Chrome'daki güvenlik sorunlarının %70'i, kendisiyle ilişkili belleği boşalttıktan sonra arabellek kullanmak (boşta kullan) gibi bellek hatalarından kaynaklanıyor. Bu tür hatalarla başa çıkmak için üç ana strateji belirlenmiştir: derleme aşamasında kontrollerin güçlendirilmesi, çalışma zamanında hataların engellenmesi ve bellek açısından güvenli bir dil kullanılması.

Chromium kod tabanına Rust dilinde bileşen geliştirme yeteneğinin eklenmesi konusunda denemelere başlandığı aktarılıyor. Rust kodu henüz kullanıcılara teslim edilen yapılara dahil edilmemiştir ve temel olarak tarayıcının ayrı bölümlerinin Rust'ta geliştirilme olasılığını ve bunların C++ ile yazılmış diğer bölümlerle entegrasyonunu test etmeyi amaçlamaktadır. Buna paralel olarak, C++ kodu için, halihazırda serbest bırakılmış bellek bloklarına erişimin neden olduğu güvenlik açıklarından yararlanma olasılığını engellemek için ham işaretçiler yerine MiraclePtr türünün kullanılmasına yönelik bir proje geliştirilmeye devam ediyor ve derleme aşamasında hataları tespit etmek için yeni yöntemler de öneriliyor.

Ayrıca Google, tarayıcının iki yerine üç rakamdan oluşan bir sürüme ulaşmasının ardından sitelerin olası aksamalarını test etmek için bir deneme başlatıyor. Özellikle Chrome 96'nın test sürümlerinde, User-Agent başlığında belirtildiğinde "chrome://flags#force-major-version-to-100" ayarı göründü, sürüm 100 (Chrome/100.0.4650.4) görüntülenmeye başlar. Ağustos ayında Firefox'ta benzer bir deney yapıldı ve bazı sitelerde üç basamaklı sürümlerin işlenmesinde sorunlar ortaya çıktı.

Kaynak: opennet.ru

Yorum ekle