W niemal każdej wersji Chrome obserwujemy znaczną liczbę aktualizacji i ulepszeń produktu, jego wydajności, a także możliwości platformy internetowej. W tym artykule opisujemy wycofywanie i usuwanie przeglądarki Chrome 56, która od 8 grudnia znajduje się w wersji beta. Ta lista może się w każdej chwili zmienić.
Usunięcie obsługi certyfikatów SHA-1
Algorytm szyfrowania kryptograficznego SHA-1 po raz pierwszy wykazał oznaki słabości ponad 11 lat temu, a ostatnie badania wskazują na bezpośrednie ryzyko ataków, które mogą bezpośrednio wpływać na integralność infrastruktury internetowych kluczy publicznych (PKI).
Aby chronić użytkowników przed takimi atakami, Chrome nie obsługuje już certyfikatów SHA-1 od wersji Chrome 56, której stabilna wersja została udostępniona w styczniu 2017 roku. Gdy wejdziesz na stronę korzystającą z takiego certyfikatu, wyświetli się ostrzeżenie pełnoekranowe. Więcej informacji znajdziesz na blogu o bezpieczeństwie Chrome.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usunięcie mechanizmów szyfrowania ECDSA w trybie CBC w protokole TLS
W protokole TLS konstrukcja w trybie CBC jest wadliwa, co powoduje, że jest ona niestabilna i bardzo trudno ją wdrożyć w bezpieczny sposób. Chociaż szyfry w trybie CBC są nadal powszechnie stosowane w RSA, w przypadku ECDSA praktycznie ich nie ma. Inne przeglądarki nadal obsługują te szyfry, naszym zdaniem ryzyko jest niewielkie. Poza tym ECDSA w protokole TLS jest używane przez niewiele organizacji i zwykle ma bardziej złożoną konfigurację (niektórzy starsi klienci obsługują tylko RSA), więc oczekujemy, że witryny ECDSA będą lepiej obsługiwane i łatwiejsze w razie problemów.
W protokole TLS 1.2 zostały dodane nowe mechanizmy szyfrowania oparte na AEAD, które pozwalają uniknąć tych problemów, w szczególności AES_128_GCM, AES_256_GCM lub CHACHA20_POLY1305. Choć obecnie wymagamy tego tylko w przypadku witryn opartych na ECDSA, jest to zalecane dla wszystkich administratorów. Mechanizmy szyfrujące oparte na AEAD zwiększają nie tylko bezpieczeństwo, ale też wydajność. AES-GCM zapewnia wsparcie sprzętowe w przypadku najnowszych procesorów, a ChaCha20-Poly1305 umożliwia szybkie wdrażanie oprogramowania. Tymczasem szyfry CBC wymagają powolnych złożonych działań łagodzących i dostępu PRNG do każdego rekordu wychodzącego. Stosowanie szyfrów opartych na AEAD jest też konieczne w przypadku optymalizacji HTTP/2 i False Start.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usuń gesty użytkownika z przewijania dotykiem
Widzieliśmy wiele przykładów źle napisanych lub szkodliwych reklam, które uruchamiają nawigację podczas przewijania dotykiem w przypadku zdarzeń touchstart
lub wszystkich zdarzeń touchend
. Jeśli zdarzenie kółka nie może otworzyć wyskakującego okienka, przewijanie dotykiem również nie powinno. Może to spowodować błędy w niektórych sytuacjach, np. gdy multimedia nie są odtwarzane po dotknięciu lub wyskakujące okienka nie otwierają się po dotknięciu. Już w tych sytuacjach Safari nie otwiera
wyskakujących okienek.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Nie zezwalaj na żadne pobieranie skryptów z nieprawidłowymi atrybutami typu/języka
Obecnie skaner wstępnego wczytywania Chrome pobiera elementy w elementach <scripts>
niezależnie od wartości atrybutu type
czy language
, chociaż skrypt nie zostanie wykonany podczas analizy. Po wycofaniu pobierania skaner wstępnego wczytywania i parser będą mieć taką samą semantykę i nie będziemy inicjować pobierania skryptów, których nie będziemy używać. Ma to na celu zaoszczędzenie danych użytkowników, którzy odwiedzają witryny z wieloma niestandardowymi tagami skryptu, które są już przetworzone (np. type="text/template"
).
Przypadek użycia nieprawidłowych skryptów do serwerów ping został dokładnie opisany w interfejsie sendBeacon API.
W ramach tej zmiany Chrome i Safari są dopasowywane do Safari, choć Firefox nadal żąda skryptów niezależnie od typu czy języka.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usunięcie MediaStreamTrack.getSources()
Ta metoda nie jest już częścią specyfikacji i nie jest obsługiwana przez żadne inne poważniejsze przeglądarki. Zastąpiła ją wersja MediaDevices.enumerateDevices()
, która od wersji 47 obsługuje bez flag bez flag i jest również obsługiwana w innych przeglądarkach. Przykład poniżej. Ta hipotetyczna funkcja getCameras()
najpierw używa wykrywania cech, aby znaleźć i użyć funkcji enumerateDevices()
. Jeśli nie uda się wykryć funkcji, szuka ona getSources()
w tabeli MediaStreamTrack
. Jeśli interfejsy API nie są obsługiwane, zwraca pustą tablicę cameras
.
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);
}
};
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usuń dyrektywę CSP odzwierciedlonej xss
Wcześniejsze wersje specyfikacji Content Security Policy Level 2 zawierały dyrektywę reflected-xss
, która nie oferowała nic więcej niż nagłówek X-XSS-Protection
, poza inną składnią. Ta dyrektywa została usunięta ze specyfikacji w 2015 roku, ale dopiero po wdrożeniu w Chrome.
Dyrektywa nie będzie już obsługiwana.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Zastąp dyrektywę CSP „referrer”
Dyrektywa CSP referrer
umożliwia właścicielom witryn ustawianie zasady dotyczącej stron odsyłających z poziomu nagłówka HTTP. Ta funkcja nie tylko jest bardzo rzadko używana, ale nie jest już częścią specyfikacji W3C.
Witryny, które nadal potrzebują tej funkcji, powinny używać atrybutu <meta name="referrer">
lub nowego nagłówka Refererrer-Policy.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium
Usuń pole PaymentAddress.careOf
Interfejs PaymentAddress
zawiera pole careOf
, które jest niestandardowe (żadne znane standardy adresów go nie obsługują). Pole careOf
jest też niepotrzebne, ponieważ pola odbiorcy i organizacji w wystarczającym stopniu obsługują wszystkie niezbędne przypadki użycia. Dodanie atrybutu careOf
stwarza istotne problemy w zakresie interoperacyjności z istniejącymi schematami adresów pocztowych i interfejsami API. Aby dowiedzieć się więcej, przeczytaj propozycję usunięcia specyfikacji na GitHubie.
Intencja usunięcia | Błąd Chromium
Usuwanie SVGViewElement.viewTarget
Atrybut SVGViewElement.viewTarget
nie jest częścią specyfikacji SVG2.0 i jest używany w niewielkim stopniu lub w ogóle nie istnieje. Ten atrybut został wycofany w Chrome 54 i teraz usunięty.
Intencja usunięcia | Narzędzie do śledzenia stanu Chrome | Błąd Chromium