WYCIEK KODU ŹRÓDŁOWEGO FACEBOOK - TECHCRUNCH - MEDIA SPOŁECZNOŚCIOWE - 2019

Anonim

Właśnie otrzymaliśmy wskazówkę, że kod źródłowy strony głównej Facebooka został ujawniony i opublikowany na blogu o nazwie Facebook Secrets. Istnieją co najmniej dwa sposoby wyjścia kodu źródłowego - pierwszy to wysłany przez twórcę Facebooka lub bardziej prawdopodobna opcja, że ​​luka bezpieczeństwa lub inna metoda została użyta na jednym z serwerów Facebooka lub w ich repozytorium kodu źródłowego, aby odsłonić kod. Blog, który opublikował kod, ma tylko jeden wpis, więc został stworzony wyłącznie w celu opublikowania tego kodu - co oznacza, że ​​każdy, kto za tym stoi, nie bierze kredytu za dziurę i nie chce się z nią kojarzyć. Chociaż nie ma żadnego konkretnego sposobu sprawdzenia, czy kod jest faktycznie z Facebooka, poprzez szybkie sprawdzenie kodu i podwójne sprawdzenie niektórych ścieżek, które zostały przywołane, możemy z całą pewnością powiedzieć, że wydaje się to być zarówno rzeczywiste, jak i także ostatnia wersja głównej strony na Facebooku.

Istnieje wiele wyraźnych konsekwencji tutaj. Po pierwsze, kod może być używany przez osoby postronne, aby lepiej zrozumieć działanie aplikacji Facebooka, w celu znalezienia dalszych luk w zabezpieczeniach lub błędów, które mogą zostać wykorzystane. Ponieważ Facebook jest aplikacją o zamkniętym kodzie źródłowym, bez dostępu do kodu, luki w zabezpieczeniach są zwykle wykrywane przez proces testowania czarnej skrzynki, dzięki czemu zewnętrzna strona będzie sprawdzać aplikację, próbując ustalić, jak działa aplikacja i próbując znaleźć potencjalne warunki wyścigu. W aplikacjach o zamkniętym kodzie źródłowym często zdarza się, że programiści polegają na zamkniętym charakterze aplikacji, aby zaciemnić słabe elementy projektu i strukturę aplikacji. Osoba atakująca, uzyskując dostęp do kodu źródłowego, często prowadzi do wykrycia kolejnych luk w zabezpieczeniach. Z tych powodów często twierdzi się, że oprogramowanie open source jest bezpieczniejsze niż zamknięte oprogramowanie źródłowe, ponieważ istnieje znacznie więcej oczu kontrolujących kod, a zaciemnianie nie może być użyte jako środek bezpieczeństwa.

Drugą konsekwencją tego wycieku jest to, że kod źródłowy ujawnia wiele na temat struktury aplikacji i praktyk, które podążają twórcy Facebooka. Z tej tylko jednej strony kodu źródłowego można wiele powiedzieć i ekstrapolować na temat reszty aplikacji i platformy Facebooka. Na przykład struktura nie jest zgodna z żadnymi zorientowanymi obiektowo praktykami programistycznymi i wygląda na to, że aplikacja jest jednym dużym plikiem PHP z dużą liczbą niestandardowych funkcji mieszkających w tej samej przestrzeni nazw (zdają się również korzystać z mechanizmu szablonowego Smarty) .

Ten wyciek nie jest dobrą wiadomością dla Facebooka, ponieważ rodzi pytanie, jak bezpieczne są prywatne dane użytkowników Facebooka. Jeśli główny kod źródłowy witryny może zostać ujawniony, można powiedzieć, że prawie wszystko jest możliwe. Facebook stał się takim sukcesem i ma tak wysoki profil, że stał się magnesem przyciągającym ataki na jego systemy. Większość aplikacji na dużą skalę w pewnym momencie doświadcza naruszenia, ponieważ szanse są zawsze zestawiane na korzyść atakujących, ale firmy mogą reagować na wiele sposobów, a nadzieja jest taka, że ​​Facebook z wdziękiem poradzi sobie z tą sytuacją. Nie wątpię, że Facebook będzie prowadził tę sprawę z dużą energią, aby znaleźć powód, dla którego wyciekł kod, a także dowiedzieć się, kto jest za to odpowiedzialny. Będą również musieli podjąć bardzo szybkie krótkoterminowe środki w celu zmniejszenia ryzyka dla użytkowników, ponieważ można postawić zakład, że w tej chwili setki potencjalnych napastników wylewają się przez wyciekany kod i sondują swoje systemy. Na pierwszy rzut oka wiem, że widzę pewne oczywiste rzeczy w kodzie, które ujawniają pewne ukryte aspekty platformy i dają potencjalnemu napastnikowi dobry początek.

Aktualizacja:Facebook wysłał nam oficjalną odpowiedź (a Brandee Barker z Facebooka zostawił komentarz poniżej): "Mała część kodu wyświetlającego strony internetowe Facebooka była narażona na niewielką liczbę użytkowników z powodu jednego źle skonfigurowanego serwera internetowego, który został natychmiast naprawiony, nie było to naruszenie bezpieczeństwa i nie wpłynęło w żaden sposób na dane użytkownika, ponieważ kod, który został wydany, tylko zasila interfejs użytkownika Facebooka, nie oferuje użytecznych informacji na temat działania Facebooka. narusza kilka ustaw i prosimy, aby ludzie nie rozprowadzali ich dalej. " Wydaje się, że przyczyną była apache i mod_php wysyłające niezinterpretowany kod źródłowy w przeciwieństwie do wyjścia, z powodu błędnej konfiguracji serwera lub dużego obciążenia (jest to znany problem). Oczywiste jest również, że inne strony zostały ujawnione i że problem ten pojawił się wcześniej, ale dopiero teraz ktoś faktycznie opublikował kod online.

Aktualizacja 2:Umieściłem 4 wskazówki na moim własnym blogu, w jaki sposób zapobiegać wyciekaniu kodu źródłowego aplikacji przez Twój serwer