Uwaga na OneDrive’a – zapewnia aplikacjom internetowym pełny dostęp do odczytu wszystkich plików!

Nadmierne uprawnienia i niejednoznaczne oświadczenia o zgodzie mogą zapewnić aplikacjom internetowym przesyłającym pliki do dysku OneDrive możliwość odczytu wszystkich plików użytkownika.

Problem polega na tym, że zakres OAuth dla OneDrive’a jest niewystarczająco szczegółowy. W rezultacie File Picker w OneDrivie żąda dostępu do odczytu wszystkich plików użytkownika, a nie pliku lub plików, które są aktualnie przesyłane. Scenariusze przy udzielaniu zgody użytkownika nie są tak jasne, jak powinny, co powoduje, że nieświadomy użytkownik zgadza się na przyznanie dostępu aplikacji innej firmy.

Problem ten omówił Elad Luz, kierownik ds. badań w Oasis Security. Całość analizy jest dostępna tutaj.

„Mówiąc wprost, każda aplikacja internetowa, która używa File Pickera w OneDrivie, ma dostęp nie tylko do pliku, który wybierzesz do przesłania/pobrania, ale do całego OneDrive’a. Co gorsza, dostęp ten może trwać po zakończeniu przesyłania pliku” – tłumaczy badacz. Jest to klasyczne zaprzeczenie zasady najmniejszych uprawnień.

Luz wymienia pięć powszechnie używanych aplikacji internetowych, których dotyczy problem: ChatGPT, Slack, Trello, Zoom i ClickUp, ale zaznacza, że takich aplikacji mogą być setki. Oasis zgłosiło swoje obawy firmie Microsoft, która „przyjęła raport do wiadomości i może rozważyć wprowadzenie ulepszeń w przyszłości”.

Badacz zauważa również, że inni dostawcy usług w chmurze stosują mniej szczegółowe opcje. Google Drive na przykład „oferuje szczegółowy zakres [OAuth] dla aplikacji internetowych, umożliwiając im dostęp tylko do plików utworzonych przez aplikację lub tych, które zostały jej jawnie udostępnione”.

Tymczasem Dropbox „oferuje rozwiązanie wyboru plików za pośrednictwem swojego zestawu Chooser SDK, który nie opiera się na typowym przepływie OAuth. Zamiast tego używa zastrzeżonego punktu końcowego, w którym przekazuje klucz aplikacji w celu pobrania wybranych plików”. Minimalizuje to potrzebę nadawania szerokich uprawnień i zapobiega niepotrzebnemu ujawnianiu danych użytkownika.

Nie jest to błąd w implementacji OAuth przez Microsoft, chociaż można to nazwać błędną konfiguracją. Co najważniejsze, faktycznie zwiększa ona powierzchnię ataku. Jason Soroko, starszy pracownik naukowy w Sectigo, komentuje dla SecurityWeek: „Zakres odczytu/zapisu wraz z dialogiem zgody nie przekazują, że kliknięcie przyznaje integratorowi drzwi do każdego pliku i folderu w OneDrivie użytkownika, a nie tylko do dokumentu, który zamierzał udostępnić”.

„Po wydaniu te długotrwałe tokeny są często buforowane w localStorage lub bazach danych zaplecza bez szyfrowania. Dlatego każda kradzież tokena umożliwia atakującym przeszukanie wszystkich danych odbiorcy” – dodaje.

Warto też zauważyć, że użytkownicy często nie zdają sobie sprawy, ile ważnych danych może być przechowywanych w ich plikach OneDrive. „Zeskanowane dokumenty, które trafiają do folderów „Moje obrazy” lub „Moje dokumenty”, mogą zawierać klucz do czyjejś tożsamości kredytowej i profilu. Prywatne zapisy medyczne lub bankowe mogą zostać zarchiwizowane i zapomniane, a prywatne zdjęcia zrobione przez przypadek i zsynchronizowane z telefonu na komputer mogą zostać po cichu zapisane w folderach z włączoną usługą OneDrive” — dodaje Jamie Boote, zastępca głównego konsultanta ds. bezpieczeństwa w Black Duck.

„Za każdym razem, gdy aplikacja pyta, czy jej ufasz, powierzasz jej swoje najcenniejsze dane”.

Nie możemy zakładać, że coś jest bezpieczne, tylko dlatego, że pochodzi od Microsoftu.

„Użytkownicy powinni zakładać, że każda autoryzowana przez nich wtyczka SaaS ma klucze do ich osobistych lub korporacyjnych krytycznych informacji, chyba że udowodnią inaczej” – mówi Soroko. „Zespoły ds. bezpieczeństwa powinny egzekwować zasady zgody administratora lub warunkowego dostępu, które blokują aplikacje żądające czegokolwiek poza Files.Read. Powinny również przejrzeć istniejące rejestracje aplikacji korporacyjnych pod kątem zakresów wysokiego ryzyka i wyłączyć je lub ponownie autoryzować za pomocą alternatyw o najmniejszych uprawnieniach oraz wymagać krótkotrwałych powiązanych tokenów za pośrednictwem Continuous Access Evaluation i ochrony tokenów w Entra ID”.

Wniosek Luza jest prosty: „Zakres, który nie jest wystarczająco szczegółowy w połączeniu z niejasnym monitowaniem o użycie tworzy niebezpieczną kombinację, zarówno dla użytkowników indywidualnych, jak i organizacji”. Microsoft powinien zaostrzyć zakres OAuth, a jego programiści nie mogą zakładać, że użytkownicy zawsze będą postępować właściwie.

Podziel się z innymi tym artykułem!