Włodzimierz Palant, twórca Adblock Plus, () w przeglądarce web Safepay, opartej na silniku Chromium, która jest częścią pakietu antywirusowego Bitdefender Total Security 2020 i ma na celu zwiększenie bezpieczeństwa użytkowników w sieci (np. zapewnia dodatkową izolację przy dostępie do banków i systemów płatności). Luka umożliwia otwieranym w przeglądarce stronom internetowym wykonywanie dowolnego kodu na poziomie systemu operacyjnego.
Przyczyną problemu jest to, że program antywirusowy Bitdefender wykonuje lokalne przechwytywanie ruchu HTTPS poprzez podmianę oryginalnego certyfikatu TLS strony. Na systemie klienta instalowany jest dodatkowy certyfikat root, który pozwala ukryć działanie stosowanego systemu inspekcji ruchu. Program antywirusowy wkracza w zabezpieczony ruch i w niektórych stronach podkłada własny kod JavaScript w celu realizacji funkcji Safe Search, a w przypadku problemów z certyfikatem zabezpieczonym połączeniem podmienia wyświetlaną stronę z błędem na własną. Ponieważ nowa strona z błędem jest wydawana w imieniu otwieranego serwera, inne strony tego serwera mają pełny dostęp do zawartości wstawionej przez Bitdefender.
Po otwarciu strony kontrolowanej przez atakującego, ta strona może wysłać zapytanie XMLHttpRequest i zasymulować problem z certyfikatem HTTPS w odpowiedzi, co prowadzi do zwrócenia strony z błędem, podmienionej przez Bitdefender. Ponieważ strona z błędem jest otwarta w kontekście domeny atakującego, może on odczytać zawartość podmienionej strony z parametrami Bitdefender. Na podmienionej przez Bitdefender stronie znajduje się również klucz sesji, który umożliwia uruchomienie oddzielnej sesji przeglądarki Safepay za pomocą wewnętrznego API Bitdefender, określając dowolne flagi linii poleceń, a także uruchomienie dowolnych poleceń systemowych przy użyciu flagi „—utility-cmd-prefix”. Przykład exploita (param1 i param2 to wartości uzyskane ze strony z błędem):
var request = new XMLHttpRequest();
request.open("POST", Math.random());
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("BDNDSS_B67EA559F21B487F861FDA8A44F01C50", param1);
request.setRequestHeader("BDNDCA_BBACF84D61A04F9AA66019A14B035478", param2);
request.setRequestHeader("BDNDWB_5056E556833D49C1AF4085CB254FC242", "obk.run");
request.setRequestHeader("BDNDOK_4E961A95B7B44CBCA1907D3D3643370D", location.href);
request.send("data:text/html,nada —utility-cmd-prefix=\"cmd.exe /k whoami & echo\"»);
Warto przypomnieć, że przeprowadzone w 2017 roku badanie , że 24 z 26 przetestowanych produktów antywirusowych, które inspekcjonowały ruch HTTPS poprzez podmienianie certyfikatów, obniżały ogólny poziom bezpieczeństwa połączeń HTTPS.
Aktualne zestawy szyfrów były dostarczane tylko w 11 z 26 produktów. 5 systemów nie weryfikowało certyfikatów (Kaspersky Internet Security 16 Mac, NOD32 AV 9, CYBERsitter, Net Nanny 7 Win, Net Nanny 7 Mac). Produkty Kaspersky Internet Security i Total Security były podatne na ataki , a produkty AVG, Bitdefender i Bullguard były narażone na ataki i . Produkt Dr.Web Antivirus 11 pozwala na powrót do niesolidnych eksportowych szyfrów (atak ).
Źródło: opennet.ru
