W jaki sposób GitHub udostępnia prywatne dane tysięcy nieświadomych użytkowników przeglądarki Firefox?
Repozytoria udostępniane na platformie GitHub są łatwo dostępne i pełne prywatnych danych użytkowników przeglądarki Firefox. Dlaczego serwis ich nie zabezpiecza?
GitHub to popularną platformą służącą tworzeniu oprogramowania. W serwisie można skorzystać z nieodpłatnego hostingu dla projektów open source lub utrzymywać prywatne repozytoria. Te możliwości powodują, że swoje konto w serwisie posiadają miliony użytkowników, a wielu z nich ma na celu pozostawienie tam swoich danych. Okazuje się, że nie każdy z nich powinien się tam znaleźć, a GitHub nie zamierza być szczególnie odpowiedzialny za ich niefrasobliwość. Czy słusznie?
Jak działa GitHub?
Konto na GitHub może założyć każdy, kto ma dostęp do Internetu i skrzynkę e-mail. Spełnienie tych dwóch wymagań wystarczy, żeby użytkownik mógł umieścić w zasobach portalu kod własnego autorstwa. Chociaż wydaje się to bardzo wygodne rozwiązanie, to dla początkujących programistów potrafi zmienić się w rosyjską ruletkę.
Publikując stworzony przez siebie kod, musimy pamiętać, że tylko prywatne repozytoria pozostają naszą wyłączną własnością. Wszystko, co dodajemy publicznie, staje się automatycznie dostępne dla każdego użytkownika portalu. Dzięki temu programiści mogą uczyć się na swoich i cudzych błędach oraz aktywnie brać udział w ciekawych projektach. Za tym blaskiem prostoty kryją się jednak wszystkie wady portali społecznościowych, ale podkręcone do maksimum.
Początkujący programiści mogą się spotkać z miażdżącą krytyką, a zaawansowani muszą brać pod uwagę, że ich praca będzie dalej wykorzystywana. Na dodatek, napisanie kodu, którym chcielibyśmy się pochwalić światu to dopiero początek. Prawdziwym problem dla kilku tysięcy aktywnych użytkowników okazały się moc ciasteczek cookies i sposób działania przeglądarki internetowej.
Jakie dane użytkowników znajdziemy w publicznych repozytoriach GitHub?
Publiczne repozytoria GitHub można łatwo przeszukiwać, a wielu doświadczonych programistów potrafi robić to dla rozrywki. Kilkanaście dni temu w podobny sposób postanowił umilić sobie czas Aidan Marlin, zawodowy specjalista ds. bezpieczeństwa.
Zauważył on, że sformułowanie odpowiedniego zapytania do publicznych repozytoriów GitHub pozwala na otrzymanie wyniku kilku tysięcy odpowiedzi z plikami cookies magazynowanymi przez przeglądarkę Firefox. Są to bazy cookies.sqlite wygenerowane w tej sesji przeglądarki, której używał autor, dokonując publikacji.
Towarzyszą one opublikowanym kodom, ponieważ były uruchamiane z domowego katalogu Linuksa. W tej sytuacji ciągną się za nim dodatkowe, zbędne dane, takie jak pliki tymczasowe przeglądarek internetowych. Chociaż jest to działanie wynikające z błędu użytkownika, to odpowiedzi tylko dla tej jednej przeglądarki było na tyle dużo, że Marlin zdecydował się na zgłoszenie tego platformie za pośrednictwem HakerOne.
W odpowiedzi GitHub uznał, ze nie jest to problem leżący po stronie portalu i zamknął zgłoszenie.
Dlaczego dane z GitHub nie są problemem przeglądarki Firefox?
Podobnie do problemu odniosła się Mozilla, ale odpowiedź jej rzecznika prasowego powinna GitHub odrobinę otrzeźwić. Dostawca Firefoxa potwierdza, że sugerowany sposób upublicznienia wrażliwych danych jest możliwy, a nawet typowy. Na dodatek nie tylko dla Firefox, a dla wszystkich przeglądarek internetowych. Jedyne, co może w tej sytuacji zarekomendować, to korzystanie z Firefox Sync, czyli wersji przeglądarki z dodatkowym szyfrowaniem.
Jest to takie sobie rozwiązanie problemu, ale Mozilla całkiem słusznie nie dopatrzyła się żadnej wady swojego produktu i dyplomatycznie zasugerowała dodatkowe zabezpieczenie. Kiedy korzystamy z GitHub, dane w przeglądarce są magazynowane dokładnie tak samo, jak podczas wykonywania przelewu w bankowości internetowej lub zapisu online do stomatologa. Dodatkowe ohasłowanie lub szyfrowanie bazy danych plików cookies nie jest standardem, ponieważ ciasteczka i tak szybko wygasają. Wystarczy więc, że odwiedzany przez nas portal nie dopuści do ich udostępnienia. Cały problem polega na tym, że GitHub dopuszcza.
Dlaczego to GitHub dopuszcza do wycieku danych?
Portal nie skomentował zaistniałej sytuacji, ale reakcja na zgłoszenie problemu pozwala przypuszczać, że nie ma ochoty zadbać o bezpieczeństwo swoich użytkowników. A powinien i to z dwóch powodów. Nie ma podstaw, aby obdarzać swoich użytkowników zaufaniem, a skuteczne ograniczenie problemu jest tylko i wyłącznie w jego kompetencjach.
Dlaczego użytkownik GitHub to nie koniecznie programista?
W Internecie słuszne cięgi dostają sami właściciele udostępnionych danych. Korzystając z GitHub powinni umieć kontrolować to co publikują. Problem w tym, że GitHub nie ma podstaw, aby wymagać od swoich użytkowników tej umiejętności.Serwis dopuszcza do korzystania ze wszystkich swoich zasobów każdego, kto zechce. Nie weryfikuje wiedzy zakładających konto..
Nazwanie się portalem specjalistycznym nie wystarczy, żeby korzystali z niego tylko programiści i to zawsze zaawansowani oraz świadomie posługujący się dostępnymi narzędziami. Do tego potrzebne byłoby ograniczenie dostępności serwisu i wykluczenie z niego programistycznych fajtłap oraz początkujących. Od tego pomysłu GitHub stroni i pozwala wszystkim na publiczne występy, milcząco polecając załatwić sobie ubezpieczenie we własnym zakresie.
W jaki sposób GitHub zwiększa zagrożenie dla danych?
Wprawny programista przygody użytkowników, którzy omyłkowo udostępnili swoje prywatne dane, ma prawo wyśmiać. Sami delikwenci mogą jednak nie mieć pojęcia, że zrobili cokolwiek niebezpiecznego. Ostatecznie ich błąd to tylko jedna baza cookies.sqlite. Po kilku dniach, a nawet godzinach od publikacji nie przyniesie nikomu żadnych istotnych danych. Problem polega na tym, że ich błąd nie jest jednym przypadkiem na milion, a regułą, z której można skorzystać w publicznym repozytorium GitHub.
Wiele takich baz danych umieszczona przed minutą to jak gustownie opakowany prezent. Wystarczy wykonać kopię, umieścić w folderze Firefox Profile i dostaniemy się wszędzie, gdzie właściciel danych raczył się zalogować przy okazji udostępniania kodu. Nie zawsze trafi się coś ciekawego, ale publiczne repozytoria Github to łatwo dostępny materiał w masowej ilości. To czyni z nich doskonałe pole eksploracji nie tylko dla znudzonych programistów. Zagrożenia z tego wynikające, może kompleksowo ograniczyć tylko GitHub.
Źródło: The Register
Komentarze
13Szczególnie ten fragment:
„Są to bazy cookies.sqlite wygenerowane w tej sesji przeglądarki, której używał autor, dokonując publikacji.”
No nie, nie są to „bazy (…) której używał autor, dokonując publikacji (jakiegoś kodu)”, tylko bazy które w swojej ignorancji użytkownik sam wrzucił na githuba.
Generalnie tekst o niczym - głupich nie sieją, sami sie rodzą, i trudno oczekiwać że każdego wszedzie będziemy chronić przed samym sobą.
Pomijam przy tym, że duża część tych ciasteczek mogla być wrzucona z premedytacją, i nie ma w nich żadnych faktycznie wrażliwych danych.
Przecież przy wrzucaniu mam listę plików, które idą na gita.
Nie czaje o co chodzi...
Może to dlatego, że nie używam Linuxa.