Chrome'un neredeyse her sürümünde üründe, performansında ve Web Platformu'nun özelliklerinde önemli sayıda güncelleme ve iyileştirme görüyoruz. Bu makalede, 8 Aralık itibarıyla beta sürümünde olan Chrome 56'ta desteği sonlandırılan ve kaldırılan özellikler açıklanmaktadır. Bu liste herhangi bir zamanda değişebilir.
SHA-1 sertifikaları için desteği kaldırma
SHA-1 kriptografik karma algoritması ilk kez on bir yıl önce zayıflık belirtileri göstermişti. Yakın zamanda yapılan araştırmalar, web'in ortak anahtar altyapısının (PKI) bütünlüğünü doğrudan etkileyebilecek saldırıların yakın zamanda gerçekleşebileceğini gösteriyor.
Kullanıcıları bu tür saldırılara karşı korumak için Chrome, Ocak 2017'de kararlı sürümü yayınlanan Chrome 56'dan itibaren SHA-1 sertifikalarını desteklememektedir. Bu tür bir sertifika kullanan bir siteyi ziyaret ettiğinizde geçiş sayfası uyarısı gösterilir. Daha fazla bilgiyi Chrome Güvenlik Blogu'nda bulabilirsiniz.
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
TLS'de CBC modu ECDSA şifrelerini kaldırma
TLS'nin CBC modu yapısında kusur olduğu için bu modu güvenli bir şekilde uygulamak zordur. CBC modu şifreler RSA ile hâlâ yaygın olarak kullanılsa da ECDSA ile neredeyse hiç kullanılmamaktadır. Diğer tarayıcılar bu şifreleri hâlâ desteklediğinden riskin düşük olduğunu düşünüyoruz. Ayrıca, TLS'deki ECDSA, birkaç kuruluş tarafından ve genellikle daha karmaşık bir kurulumla kullanılır (bazı eski istemciler yalnızca RSA'yı destekler). Bu nedenle, ECDSA sitelerinin daha iyi korunmasını ve sorun durumunda daha duyarlı olmasını bekleriz.
TLS 1.2, bu sorunları önleyen AEAD'lere dayalı yeni şifreler ekledi. Özellikle AES_128_GCM, AES_256_GCM veya CHACHA20_POLY1305 bu şifrelerdendir. Şu anda bunu yalnızca ECDSA tabanlı siteler için zorunlu tutuyoruz ancak tüm yöneticiler için önerilir. AEAD tabanlı şifreler yalnızca güvenliği değil performansı da artırır. AES-GCM, son CPU'larda donanım desteğine sahiptir ve ChaCha20-Poly1305 hızlı yazılım uygulamalarını kabul eder. Bu arada CBC şifreleri, her giden kayıtta yavaş ve karmaşık azaltma işlemleri ve PRNG erişimi gerektirir. AEAD tabanlı şifreler, HTTP/2 ve yanlış başlangıç optimizasyonları için de ön koşuldur.
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
Dokunma kaydırma özelliğinden kullanıcı hareketlerini kaldırma
touchstart
veya tüm touchend
etkinliklerinde dokunma kaydırma için gezinmeyi tetikleyen kötü yazılmış ya da kötü amaçlı reklamlarla ilgili birden fazla örnek gördük. "Tekerlek" etkinliği bir pop-up açamıyorsa dokunmatik kaydırma da açamaz. Bu durum, dokunulduğunda medya oynatılmaması veya pop-up'ların açılmaması gibi bazı senaryoları bozabilir. Safari, bu senaryoların hiçbirinde pop-up'ları sessizce açmaz.
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
Geçersiz tür/dil özelliklerine sahip komut dosyalarının tüm getirme işlemlerine izin vermeme
Şu anda Chrome'un ön yükleme tarayıcı, type
veya language
özelliğinin değerinden bağımsız olarak <scripts>
öğelerindeki öğeleri getirir. Ancak komut dosyası ayrıştırıldığında yürütülmez. Getirme özelliğinin desteği sonlandırıldığında ön yükleme tarayıcı ve ayrıştırıcı aynı semantiklere sahip olacak ve kullanmayacağımızı bildiğimiz komut dosyaları için getirme işlemi başlatılmayacaktır. Bu, sonradan işlenmiş çok sayıda özel komut dosyası etiketi (ör. type="text/template"
gibi) içeren sitelere giden kullanıcıların verilerini kaydetmeyi amaçlar.
Sunucuları pinglemek için geçersiz komut dosyaları kullanmanın kullanım alanı, sendBeacon API tarafından yeterince kapsanmaktadır.
Bu değişiklik, Chrome'u Safari ile uyumlu hale getirse de Firefox, tür veya dilden bağımsız olarak komut dosyaları istemeye devam eder.
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
MediaStreamTrack.getSources() işlevini kaldırın
Bu yöntem artık spesifikasyonun bir parçası değildir ve diğer büyük tarayıcılar tarafından desteklenmez. Bu özellik, Blink'in 47 sürümünden beri işaret olmadan desteklediği ve diğer tarayıcılar tarafından da desteklenen MediaDevices.enumerateDevices()
ile değiştirildi. Aşağıda buna örnek bir durum gösterilmektedir. Bu varsayımsal getCameras()
işlevi, enumerateDevices()
'u bulup kullanmak için önce özellik algılamayı kullanır. Özellik algılama başarısız olursa MediaStreamTrack
içinde getSources()
arar. Son olarak, herhangi bir API desteği yoksa boş cameras
dizisini döndürün.
function getCameras(camerasCallback) {
var cameras = [];
if('enumerateDevices' in navigator.mediaDevices) {
navigator.mediaDevices.enumerateDevices()
.then(function(sources) {
return sources.filter(function(source) {
return source.kind == 'videoinput'
});
})
.then(function(sources) {
sources.forEach(function(source) {
if(source.label.indexOf('facing back') >= 0) {
// move front facing to the front.
cameras.unshift(source);
}
else {
cameras.push(source);
}
});
camerasCallback(cameras);
});
}
else if('getSources' in MediaStreamTrack) {
MediaStreamTrack.getSources(function(sources) {
for(var i = 0; i < sources.length; i++) {
var source = sources[i];
if(source.kind === 'video') {
if(source.facing === 'environment') {
// cameras facing the environment are pushed to the front of the page
cameras.unshift(source);
}
else {
cameras.push(source);
}
}
}
camerasCallback(cameras);
});
}
else {
// We can't pick the correct camera because the API doesn't support it.
camerasCallback(cameras);
}
};
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
reflected-xss CSP yönergesini kaldırma
İçerik Güvenliği Politikası 2. Katman spesifikasyonunun ilk taslaklarında, farklı bir söz dizimi dışında X-XSS-Protection
başlığından başka bir şey sunmayan bir reflected-xss
yönergesi yer alıyordu. Bu yönerge, 2015'te spesifikasyondan kaldırıldı ancak Chrome'da uygulanmadan önce kaldırılmadı.
Bu yönerge için destek artık kaldırılıyor.
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
CSP "yönlendiren" yönergesini değiştirme
CSP referrer
yönergesi, site sahiplerinin bir HTTP üst bilgisinden yönlendiren politikası ayarlamalarına olanak tanıdı. Bu özellik yalnızca çok düşük bir kullanıma sahip olmakla kalmaz, artık hiçbir W3C spesifikasyonunun parçası değildir.
Bu işleve hâlâ ihtiyaç duyan siteler <meta name="referrer">
veya yeni Referrer-Policy başlığını kullanmalıdır.
Kaldırma Niyeti | Chromestatus İzleyici | Chromium Hatası
PaymentAddress.careOf alanını kaldırın
PaymentAddress
arayüzünde standart olmayan bir careOf
alanı var (bilinen adres standartları bunu desteklemez). careOf
alanı da gereksizdir. Alıcı ve kuruluş alanları, gerekli tüm kullanım alanlarını yeterince destekler. careOf
eklemek, mevcut posta adresi şemalarıyla ve API'leriyle birlikte çalışabilirlik açısından önemli sorunlara yol açar. Daha ayrıntılı bir tartışma için GitHub'daki özellik kaldırma önerisini okuyun.
Kaldırma Niyeti | Chromium Hatası
SVGViewElement.viewTarget özelliğini kaldırın.
SVGViewElement.viewTarget
özelliği, SVG2.0 spesifikasyonunun bir parçası değildir ve kullanımı azdır veya hiç kullanılmaz. Bu özellik Chrome 54'te desteği sonlandırıldı ve artık kaldırıldı.