r   e   k   l   a   m   a
r   e   k   l   a   m   a

XKEYSCORE pod lupą: właśnie tak analitycy wywiadu USA podsłuchiwali świat

Strona główna AktualnościINTERNET

Ujawnione przez blog The // Intercept informacje na temat oprogramowania XKEYSCORE, wykorzystywanego przez amerykańską Agencję Bezpieczeństwa Narodowego (NSA) do inwigilacji ruchu internetowego i pozyskiwania wrażliwych danych na ogromną skalę z jednej strony przeraziła, z drugiej zaskoczyła. Przeraziła, ponieważ gdy o narzędziu tym napisał po raz pierwszy brytyjski The Guardian, jego możliwości wydawały się skromniejsze. Zaskoczyła, gdyż zastosowane w XKEYSCORE rozwiązania nie były specjalnie wyrafinowane. Do jego budowy w dużym stopniu wykorzystano popularne oprogramowanie Open Source, bez mechanizmów kontrolnych, pozwalających nadzorować pracę jego użytkowników.

Jak już wcześniej pisaliśmy, narzędzie NSA zbudowano na stosie otwartego oprogramowania, uruchamianego pod kontrolą serwerów Red Hat. Serwer WWW Apache, baza MySQL, sieciowy system plików NFS, zarządzanie zadaniami przez crona, modyfikacja opcji poprzez działające z linii komend narzędzia konfiguracyjne i edytor vim, synchronizacja przez rsynca. Użytkownicy logują się za pomocą aplikacji webowej dostępnej przez Firefoksa, z wykorzystaniem uwierzytelnienia login/hasło lub za pomocą kryptografii klucza publicznego.

Węzły z maszynami na których działa XKEYSCORE znajdowały się w 2009 roku w 125 miejscach na świecie. Liczba serwerów zależna była od znaczenia danego węzła, a cały system zbudowano tak, by łatwo się skalował poprzez dodawanie kolejnych maszyn do klastra. Na przedstawionej w dokumencie sprzed sześciu lat mapce nie ma żadnych lokalizacji w Polsce. Obstawione były za to kraje Europy Zachodniej i Bliskiego Wschodu, NSA zdołało także umieścić swoje węzły w Rosji i Chinach. Taki węzeł wszystkie zgromadzone dane przetwarza lokalnie w swoich bazach MySQL, ale zarazem wspiera sfederowany system wyszukiwania, tak że analityk siedzący w centrali NSA nie musi podróżować do Chin czy Rosji – jego zapytanie wpisane do aplikacji webowej zostanie przetworzone równolegle na wszystkich węzłach.

r   e   k   l   a   m   a

Aplikacja webowa nie jest jedynym jednak sposobem na odpytywanie bazy XKEYSCORE. Pewne założenia, jakie przyjęto w systemie wydają się pozornie niezrozumiałe, dopóki nie uświadomimy sobie, że oficjalnie inwigilacji nie wolno było prowadzić na terenie USA przeciwko obywatelom tego kraju. Zwykły analityk, logując się do systemu, pozostawiał kompletny ślad swoich działań w logach, tak więc jeśli chciałby zrobić coś nielegalnego z punktu widzenia amerykańskiego prawa, źle by się to dla niego skończyło w razie oficjalnego śledztwa. W wypadku administratorów systemu wyglądało to zupełnie inaczej. Używali oni wszyscy jednego wspólnego konta o nazwie „oper”, dzięki czemu nie było możliwe ustalenie, kto konkretnie wykonał daną operację. Co więcej, administratorzy mogli bezpośrednio wpisywać kwerendy MySQL, całkowicie omijając logi XKEYSCORE, co pozwalało im zadawać systemowi pytania, których zadawać oficjalnie nie mogli.

Programistów może zainteresować, jak NSA poradziło sobie z przetwarzaniem na bieżąco tak wielkiej ilości danych (tylko w 2009 roku jeden węzeł mógł przechwytywać 20 terabajtów danych dziennie, kto wie, ile tego jest dzisiaj?). Z surowych danych są otóż wydobywane treść i metadane, które następnie zostają otagowane według automatycznych reguł AppID, pisanych w specjalnie stworzonym do tego języku o nazwie GENESIS. Oprogramowanie rozpoznaje charakterystyczne cechy poszczególnych aplikacji i usług, a reguły pozwalają stworzyć z tego identyfikator, o który analityk może następnie odpytać bazę. W 2010 roku takich reguł było niemal 10 tysięcy, a tworzenie kolejnych było całkiem łatwe. Razem układały się w hierarchiczną taksonomię, przypominającą drzewo katalogów. I tak komunikacja z Gmaila była określana jako mail/webmail/gmail, żądania mechanizmu Windows Update oznaczano jako update_service/windows, szyfrowane za pomocą PGP e-maile jako encryption/pgp/message, a ruch z przeglądarki iPhone'a jako browser/cellphone/iphone. Wpływający do węzłów XKEYSCORE ruch sieciowy był segregowany według tych reguł i tagowany cyfrowymi odciskami, pozwalającymi wykryć określony typ treści. W ten sposób analitycy dostawali do ręki możliwość wyszukiwania zarówno podług reguł-kategorii, jak i odcisków-tagów.

W razie jeśli dany strumień danych zostałby zaklasyfikowany do wielu reguł, to wówczas używana byłaby ta najbardziej szczegółowa (o najniższym poziomie, w terminologii NSA). Oznacza to, że załącznik przesłany przez webowego klienta poczty Yahoo zostałby zaklasyfikowany jako mail/webmail/yahoo/attachment, a nie jako mail/webmail, nie mówiąc już o najwyższym poziomie http/response. Jak jednak teraz wszystkie te dane ze sobą powiązać? Z ujawnionych slajdów wynika, że i na to były reguły. Gdy np. używający języka arabskiego użytkownik logował się do poczty na Yahoo, XKEYSCORE łączył ze sobą regułę mail/yahoo/login (akt logowania do Yahoo) z odciskami mail/arabic (poczta w języku arabskim) oraz mail/yahoo/ymbm (ciasteczko poczty Yahoo).

Jak na razie mamy do czynienia z prostymi przykładami, ale możliwości były większe. Umiejący programować w C++ analitycy mogli pisać nawet bardzo skomplikowane „mikrowtyczki”, za pomocą których można było zautomatyzować np. przechwytywanie ruchu z botnetów czy ekstrahowanie adresów e-mailowych z czatów faceboooka. Takie mikrowtyczki, rozszerzające możliwości reguł, można było w ciągu kilku godzin wdrożyć i uruchomić na dowolnym węźle systemu. Oczywiście analityk nie musiał też za każdym razem ręcznie zadawać systemowi pytań. Narzędzie NSA pozwalało budować procesy automatyzujące takie operacje i wysyłające powiadomienia zaraz w momencie przechwycenia informacji spełniających zadane reguły.

Warto pamiętać, że przedstawione dane pochodzą sprzed sześciu lat. Co dzisiaj potrafi XKEYSCORE, tego poza ludźmi z NSA nie wie chyba nikt. Jeśli jednak chcecie się zapoznać ze slajdami NSA bliżej i poznać możliwości kolejnych generacji tego narzędzia, to kilkanaście ujawnionych dokumentów znajdziecie na blogu The // Intercept. To, czy po zapoznaniu się z nimi będziecie musieli spalić swój komputer i przeciąć łącze do Internetu pozostawiamy już Waszej rozwadze. Oczywiście zawsze pozostaje możliwość wysłania do NSA swojego CV – możecie podkreślić, że już przeszliście wstępne szkolenie.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.