Błąd warty 300 000 PLN: możliwość nieautoryzowanego dostępu do kamery na iPhoneach/MacBookach (przez Safari)

02 kwietnia 2020, 21:09 | W biegu | 0 komentarzy
: oglądaj sekurakowe live-streamy o bezpieczeństwie IT.

Jak szybko zarobić 75 000 dolarów? Wystarczy znaleźć błąd pozwalający na nieautoryzowany dostęp do kamerki w Safari (zarówno na macOS, jak i iOS)! A właściwie nie jeden błąd, a serię siedmiu błędów, takich jak znalazł Ryan Pickren podczas analizy bezpieczeństwa modelu uprawnień do kamery. Trzy z tych błędów były potrzebne do ostatecznego exploita.

Przejście przez techniczny opis błędu jest prawdziwą gratką dla wszystkich miłośników bezpieczeństwa przeglądarek webowych. Autor pokazuje dokładnie i technicznie, jakie założenia dotyczące bezpieczeństwa poczyniło Safari i w jaki sposób udało się je obejść. W telegraficznym skrócie:

  • Safari przechowywało informację o nazwach domen, którym użytkownik pozwolił na dostęp do kamerki. Nie przechowywało jednak informacji o protokole. Okazało się, że jak użytkownik dał dostęp do „https://skype.com„, to „file://skype.com” też miało dostęp.
  • Gdy użytkownik odwiedził odpowiednio spreparowaną stronę przez napastnika, był przekierowany do URL-a typu data:,
  • Kolejnym krokiem było odwołanie się do URL-a typu blob: w taki sposób, że Safari ustawiło „dziwny” origin: ://,
  • Stamtąd można było dokonać przekierowania do blob://skype.com w taki sposób, że nadal był ustawiony origin ://,
  • Wykonując kolejną serię przekierowań, udało się zmusić Safari, by adresem URL obecnej strony było blob://skype.com, Safari myślało, że jest na stronie z HTTPS (bo tylko wtedy daje dostęp do kamerki), a origin był ustawiony na null.
  • W takiej sytuacji, jeśli użytkownik dał wcześniej uprawnienia do kamerki dla https://skype.com, to Safari uznało, że blob://skype.com też je powinno mieć i dało bez dodatkowego pytania.

Ostateczny efekt ataku można zobaczyć tutaj.

— mb

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz