random:press

#013

Transkrypcja i źródła

Witam serdecznie w 14. już odcinku random:pressu – cyklicznego podcastu poświęconego bezpieczeństwu IT, informatyce śledczej i programowaniu komputerów.

Tymczasem
Przenieśmy naszą duszę skodowaną
Do tych skoków dalekich, instrukcji warunkowych
Szeroko nad obszarem RAM-u rozciągnionych

Do tych pól bitowych, struktur rozmaitech
Chronionych z poziomu Ring 0 audytem
Gdzie bursztynowy ekran, spacja jak śnieg biała
Gdzie rootshellem spowita wirtualka pała.

A w dzisiejszym odcinku powiemy sobie o:

  • nowych atakach w wymierzonych procesory, które dokonują optymalizacji polegającej na spekulatywnym wykonywaniu instrukcji;

  • przełamywaniu zabezpieczenień dysków;

  • nowej licencji bazy danych, której twórcy uważają że duże korporacje pasożytują na open source;

  • procesie wytoczonym przeciwko Facebookowi w Polsce;

  • zamiarach Chin, aby porzucić system Windows;

  • nowym mechanizmie śledzenia urządzeń Apple’a.

Zapraszam!

Za nami już CONFidence, czyli Krakowska konferencja poświęcona cyberbezpieczeństwu. Spotykaliśmy się w Muzeum Lotnictwa, a w kuluarach krążyły plotki, że wybrano właśnie takie miejsce, ponieważ jeden ze sponsorów ekspresywnie wytłumaczył realizatorem wydarzenia, że kiedy ludzie będą chcieli pójść do muzeum lotnictwa, to mają ich zabrać do Muzeum Lotnictwa k$#@[email protected]#$. Oczywiście konsekwentnym, dodatkowym wymogiem był również kran z whisky (albo whiskey).

Jeżeli chodzi o wykłady i prezentacje, wrażenie zrobił na mnie wykład Pawła Maziarza poświęcony atakom bazującym na wykorzystywaniu PowerShella, a także patriotycznie (bo również z Wrocławia) opowieści Borysa łąckiego o atakach socjotechnicznych.

Klimat był – jak to na CONFidence’ie – przedni, a popołudniową porą w węzłach sanitarnych obiektu dało się posłyszeć nawoływania anonimowych kibiców w białych kapeluszach: „Sekuraka nie pokona Zaufana Trzecia Strona”.

3.15

„RIDL and Fallout: MDS attacks”, Vrije Universiteit Amsterdam

Nowoczesne procesory, mikroprocesory, potrafią potokowo przetwarzać instrukcje maszynowe wczytywane z pamięci, a także optymalizować wykonywanie korzystając z tak zwanego spekulatywnego wykonywania rozkazów. To znaczy: instrukcje, które znajdują się na przykład po warunkowym skoku, ale nie wiemy, czy on nastąpi, czy też nie, są na przykład wczytywane i realizowane na podstawie pewnych przewidywań zachowywania się kodu umieszczonego i uruchamianego już wcześniej, a także innych warunków.

No więc, o co chodzi z tym spekulatywnym wykonywaniem? Żeby było możliwe, wewnątrz procesorów korzysta się oczywiście z pewnych architektonicznych rozwiązań i tworzy się odpowiednie tymczasowe bufory, na przykład Store Buffers, Fill Buffers i Load Ports – każde służą do czego innego. Na przykład jedne, te pierwsze przechowują adresy i dane, bufory typu Fill przechowują dane wymieniane między pamięciami podręcznymi, a te Load Ports, to są również takie tymczasowe bufory, które używane są podczas ładowania danych do rejestrów.

Grupa badaczy bezpieczeństwa z amsterdamskiego uniwersytetu odkryła takie dwa rodzaje ataków: pierwszy o nazwie RIDL, a drugi Fallout. Ten pierwszy to jest w zasadzie akronim (R, I, D, L), a drugi – tak, jak czytamy – angielskie słowo oznaczające upadek. Obie klasy tych ataków bazują właśnie na wykorzystaniu podatności na zagrożenia wewnątrz mechanizmów tego spekulatywnego wykonywania instrukcji. Co ciekawe: dane wędrujące do tych buforów, chociaż bardzo krótko to trwa, są często danymi, których nie znajdziemy nawet w cache’ach, czyli w pamięciach podręcznych procesorów.

Pierwsza grupa ataków, czyli RIDL, pozwala potencjalnemu napastnikowi wykorzystać słabości zarządzania buforem Line Fill w taki sposób, że nieuprzywilejowany kod w przestrzeni użytkownika uruchomiony na komputerze będzie w stanie podsłuchiwać zawartość danych wymienionych między tymi buforami a pamięcią. Co ciekawe: kiedy mówimy dowolny, nieuprzywilejowany kod, nie myślmy wyłącznie o programach komputerowych, czyli tak zwanych atakach lokalnych. W tej chwili niemal każdy korzysta poprzez przeglądarkę z silnika JavaScript; również wiele usług chmurowych przecież działa w oparciu o jakieś uruchomione aplikacje, jakieś serwery. Punktem wejścia nie musi być więc lokalnie odpalony program. Może to być usługa sieciowa – zarówno klient, jak i serwer tej usługi. Tego typu atak jest o tyle niebezpieczny, że można wykradać dane nie zważając na żadne, żadne granice bezpieczeństwa. Aplikacja może ukraść dane należące do innej aplikacji, która działa w tym samym systemie operacyjnym, w innej maszynie wirtualnej (na tym samym systemie hosta uruchomionej) i tak dalej, i tak dalej. Nawet, jeżeli stosowane są enklawy SGX.

Drugi rodzaj ataku, Fallout, polega na wykorzystaniu słabości zarządzania Store Buffers. Tego rodzaju ataki mogą być wykorzystane do złamania randomizacji przestrzeni adresowych w kernelu (Kernel Address Space Layout Randomization, KASLR), a także do wyciągania wrażliwych danych umieszczonych w pamięci przez właściwy system operacyjny, czyli jądro. Co ciekawe i ironiczne: najnowsze poprawki wprowadzone w procesorze i9 Intela, które chronią przed Meltdown, sprawiają, że są te procesory bardziej podatne na ataki Fallout.

No i dobra wiadomość jest taka, że nie musimy już stosować spowalniających komputer obejść – mam nadzieję taką, że to nie okaże się obejściem, ale rozwiązaniem – lecz po prostu zainstalować najnowsze update’y mikrokodu do procesorów Intela, które już zostały opublikowane. Badacze, którzy odkryli ten problem, zalecają również wyłączenie Simultaneous Multi-Threading (SMT), zwane też handlowo Intel Hyper-Threading Technology. To już nie brzmi tak mile, bo jeżeli ktoś mówi, że musimy taki podsystem wyłączyć, to znaczy, że w pewnych warunkach poświęcamy trochę zrównoleglanie, poświęcamy trochę wydajność naszego procka, żeby się zabezpieczyć. Poprawki możemy dostać albo bezpośrednio od Intela, albo wraz z update’ami naszego (wybranego przez nas i zainstalowanego) systemu operacyjnego lub hypervisora.

9.12

„eyeDisk. Hacking the unhackable. Again”, Pen Test Partners

Na stronie Pen Test Partners – która wygląda trochę jak jakaś kancelaria adwokacka, a trochę (przynajmniej) ma takie logo stylizowane na firmę doradczą – na tej stronie znaleźliśmy rezultaty prób przełamywania zabezpieczeń takiego niehackowalnego flash drive’u USB – tak zresztą reklamowanego na kickstarterze – o nazwie eyeDisk.

Dystrybucję produktu eyeDisk rozpoczęto już rok temu, reklamując się jako jeden z niewielu, albo jedyny, dysk nie do zhackowania. Oczywiście ktoś, kto używał tu słowa „zhakowania”, miał na myśli przaśne, potoczne znaczenie tego słowa, czyli przełamanie jakichś zabezpieczeń, zcrackowanie czegoś. Jeden z naszych pentestowych partnerów wtedy właśnie nabył drogą kupna taki pendrive, a gdy tylko włożył go do komputera, przedstawił się on (ten napęd USB tak naprawdę) jako 3 urządzenia: kamera USB, wolumen flash tylko do odczytu i wolumen do odczytu i zapisu. Kamera w tym urządzeniu jest po to, aby dokonywać skanowania, a właściwie wykonywać zdjęcie siatkówki oka, które następnie używane jest do wytworzenia klucza, z którego generowany jest właściwy klucz AES o długości 256 bitów – czyli szyfrowanie symetryczne na bazie zalążka biometrycznego. Użytkownik może wybrać, żeby opcjonalnie zabezpieczać dane również hasłem, a nie tylko skanem siatkówki.

Nasz badacz na początku planował dokonać dekompilacji, żeby zobaczyć, jak program działa, ale zrezygnował z tego, ponieważ architektura, z którą miał do czynienia, czyli x86, a także zagmatwanie tego binarnego kodu, były takie, że łatwiej było mu zacząć w sposób nieco leniwy, a więc od podsnifowywania, czyli podsłuchiwania komunikacji z USB – i w tym celu przydał się taki plug-in do WireSharka, moduł USBPcap, który powoduje, że możemy sobie obserwować, jak na tej magistrali USB, która de facto jest rodzajem szeregowej szyny danych, wędrują sobie komunikaty między hostem (między komputerem), a przyłączonym urządzeniem.

No i tutaj pierwszy sukces: nasz pentester dowiedział się, analizując dane, które są wymienione między urządzeniem a komputerem, że jego hasło, które sobie wcześniej ustawił (hasło zabezpieczające wolumen danych) jest przesyłane między hostem a naszym paluszkiem USB. Tutaj pierwsze zagrożenie jest takie, że urządzenie na tym samym hubie teoretycznie jest w stanie podsłuchać taki ruch.

No, ale idźmy dalej. Nasz badacz zauważył też co się dzieje, kiedy wprowadzi złe hasło; i kiedy wprowadził złe hasło odblokowujące, to i tak urządzenie przesyła jego wybrane wcześniej, dobre hasło. Dokładniej: nie-do-zhackowania pendrive wysyła czystym tekstem po szynie USB, nieproszony o to, hasło w postaci jawnej, którym zabezpieczony jest wolumen! Wysyła je oczywiście do oprogramowania i jakby nie mamy tutaj do czynienia z żadną wyrafinowaną izolacją. A więc okazuje się, że urządzenie, że ten pendrive, działa w ten sposób, że w celu walidacji hasła wykorzystywane jest dołączone oprogramowanie, które to hasło z urządzenia najpierw otrzymuje po szynie USB, aby móc porównać wprowadzone przez użytkownika hasło z tym, którym zabezpieczany jest wolumen danych. Kiedy hasła pasują, wtedy wysyłane jest ponownie to hasło – po to, aby już odbezpieczyć część pamięci flash i odpowiednią zabezpieczoną kryptograficzne przestrzeń.

Odkrywca luki próbował skontaktować się z twórcami, jednak nie otrzymywał – podług tego co jest napisane – od nich żadnych odpowiedzi, więc 9 maja postanowił lukę opublikować.

Jako obejście, do czasu rozwiązania problemu, zaleca się szyfrować dane przed umieszczeniem ich na tym pendrive’ie.

14.32

„CockroachDB zmienia licencję, by sprzeciwić się pasożytowaniu na Open Source”, TeamQuest Blog

W naszym polskim serwisie TeamQuest możemy przeczytać artykuł zatytułowany „CockroachDB zmienia licencję, by sprzeciwić się pasożytowaniu na Open Source”. Dotyczy on kwestii wykorzystywania – nie tylko w przypadku tego projektu CockroachDB, ale generalnie wykorzystywania oprogramowania free software i open source software, czyli oprogramowania wolnego, wolnodostępnego bądź o otwartym kodzie źródłowym – w projektach komercyjnych, szczególnie dużych firm, korporacji, w taki sposób, że kod nie jest uwalniany, natomiast zamieniany jest w działającą online chmurową usługę. Programistów tych projektów – takich jak na przykład podane w artykule: Apache Kafka, Timescale czy właśnie CockroachDB – frustruje to, że efekty tego, co stworzą, są potem wykorzystywane przez dużych graczy, takich jak na przykład Microsoft (ze swoją chmurą Azure) czy Amazon (od Amazon Web Services). Oczywiście korporacje te nie zamierzają wcale dzielić się ze społecznością tak zmodyfikowanymi przez siebie wersjami, dlatego nowe zapisy licencyjne mają taki proceder ukrócić i doprowadzić do tego, że czasami wręcz zakazane będzie komercyjne, chmurowe świadczenie usług na bazie tak licencjonowanego oprogramowania.

Słusznie zauważa redaktor tego materiału, że nie do końca może się to powieść, chyba że zadziała pewien efekt skali, pewien wirusowy efekt i większość wartościowych projektów free software czy open source tak zmodyfikuje licencje, że faktycznie nie będzie już gdzie uciekać takim korporacjom. Poza tym warto pamiętać, że większość licencji oprogramowania wolnego czy o otwartym kodzie źródłowym jakby nie działa wstecz, a więc programiści, którzy już zmodyfikowali jakieś wcześniejsze wersje (firmy, które stworzyły swoje usługi chmurowe na bazie takich wydań) będą dalej mogły używać tamtych wcześniejszych wersji.

17.10

„Pierwsza taka sprawa w Polsce! Proces wytoczony przeciwko Facebookowi […]”, Warszawa w Pigułce

Serwis Warszawa w Pigułce podaje informacje o sprawie w sądzie okręgowym w Warszawie, procesie przeciwko Facebookowi, który został pozwany przez pana Macieja Świrskiego zarzucił on gigantowi społecznościowemu cenzurę i dyskryminacja ze względu na polityczne poglądy, narodowość i wyznanie.

W Sieci, jak to się mówi, wrze. Na różnych forach i w serwisach społecznościowych ludzie debatują. Czasami dyskusje kończą się na różnicach światopoglądowych, czasami wkraczają na trochę meta-poziom i zaczyna się rozmowa pod kątem tego, gdzie kończy się własność prywatna, jeżeli mamy do czynienia z medium o takim zasięgu, jak na przykład Facebook. Ludzie dokonują porównań na przykład w kwestii dyskryminowania klientów sklepu, drudzy odpierają to mówiąc, że to nie jest przecież sklep, bo jest to za darmo. Potem pojawiają się z kolei głosy, że wcale nie jest to za darmo, ponieważ za użytkowanie Facebooka płacimy naszymi preferencjami, analizą naszych zachowań i naszymi danymi osobowymi. No więc mamy coś takiego.

Zobaczymy czy w ogóle ten proces będzie się toczył i jeśli, to jak będzie się toczył. Ciekawa sprawa, ponieważ dotyka czegoś, co jest w miarę nowe; dotyka zjawiska w przestrzeni publicznej, ale takiej wirtualnej i tego, czy – jeżeli mamy prywatny publikator to – możemy kontrolować treści, które w nim są pod względem tego, czy pasują do naszego światopoglądu jako właściciela bądź światopoglądu zatrudnionych przez nas pracowników moderacji na przykład.

W Sieci możemy też posłyszeć głosy ludzi, którzy powątpiewają w skuteczność polskiego wymiaru sprawiedliwości, jeżeli chodzi o dyscyplinowanie takich gigantów, jak na przykład Facebook, który ma dużo dużo pieniędzy – mówi się po angielsku deep pockets, czyli głębokie kieszenie – i co mu jakieś tam państwo pokroju Polski o wielkości takiej, jak niektóre stany w Stanach Zjednoczonych? Co mu może zrobić? Ano wydaje mi się, że tutaj akurat mechanizmy sankcjonowania działają dobrze. Facebook ma w Polsce przedstawicielstwo, a sąd też ma taką moc, aby na przykład ukarać niepokorną firmę wycinając ruch kierowany do niej na głównych routerach operatorskich i była taka sytuacja chyba w Grecji – takie coś się stało, wtedy firma – mówiąc kolokwialnie – wymięka.

20.28

„China Prepares To Drop Microsoft Windows, Blames U.S. Hacking Threat”, Forbes

W artykule zatytułowanym „China Prepares To Drop Microsoft Windows, Blames U.S. Hacking Threat” Forbes podaje, cytując ujawniony przez Epoch Times raport kanadyjskiego wojska „Kanwa Asian Defence”, w jaki sposób uformowana w Chinach grupa zamierza zastąpić używane w wojsku systemy Windows oraz uniksy. Po rewelacjach ujawnionych przez pana Snowdena Chiny obawiają się – słusznie moim zdaniem zresztą – że urządzenia i oprogramowanie pochodzące ze Stanów Zjednoczonych może być naszpikowane backdoorami (tylnymi wejściami), które pozwalają amerykańskiemu wywiadowi operować wewnątrz chińskich organizacji państwowych, w tym armii.

Były już takie projekty, na przykład dystrybucja systemu GNU/Linux, nazwana Red Flag, jednak coś się ta flaga czerwona nie przyjęła, więc teraz kolejne podejście, tutaj podbudowane motywacją wynikającą z napięć gospodarczo-politycznych na linii Waszyngton–Pekin, w szczególności na przykład ostatnim banem na urządzenia Huawei.

No i w artykule możemy przeczytać o tym nowym pomyśle, a pomysł jest taki, aby tworzyć od zera własne systemy i stosować strategię zabezpieczania przez ukrywanie z angielska security by obscurity. Eksperci do spraw bezpieczeństwa krytykują takie podejście, chociaż niektórzy z nich zgadzają się, że oczywiście jest w tym szaleństwie metoda, bo zobaczmy: ile usterek w popularnym oprogramowaniu jest znajdowanych i tutaj rzeczywiście możnaby części z takich błędów może nie uniknąć, ale wpływu ujawniania tych usterek, dostępu do kodu i tak dalej (przez obce mocarstwa na przykład). Stąd niektórzy specjaliści zauważają że zabezpieczanie przez ukrywanie może być strategią wspierającą.

22.52

„How does Apple (privately) find your offline devices?”, Matthew Green

I ostatnia już wiadomość w tym odcinku. Na ostatniej konferencji WWDC koncern Apple zaprezentował nowy mechanizm odnajdywania zagubionych urządzeń zwany Find My, co można przetłumaczyć „Znajdź Mój”, względnie bezpłciowo „Znajdź Mi”.

No więc, co w tym mechanizmie jest takiego ciekawego z punktu widzenia bezpieczeństwa w przeciwieństwie do takich zabawek jak „Znajdź mojego iPhone’a” (Find My iPhone), który używa po pierwsze sieci telefonii komórkowej do komunikacji, po drugie sygnału GPS, czyli satelitów geolokalizacyjnych? Tutaj nie jest wymagana żadna łączność, aby odnajdywać urządzenia. Można zapytać: w jaki sposób jest to realizowane? jakąś magią? jakimś dodatkowym kanałem komunikacji? Ci, którzy obstawiają, że dodatkowym kanałem komunikacji, mają sporo racji, ponieważ – o co chodzi – opisuje to kryptolog Matthew Green w swoim blogu, a konkretnie we wpisie „How does Apple (privately) find your offline devices?„. Wspomina tam, że nowy system jest tak naprawdę mashową siecią iPhone’ów, rozsianych z powodu popularności po całym świecie, która w tym momencie zmienia się w wielką sieć podsłuchującą, działającą w oparciu o BLE. Co to jest BLE, poza onomatopeją sygnalizującą, że coś generuje w nas wstręt? Jest to Bluetooth Low Energy – taki mechanizm, który stara się nie nadwyrężać baterii urządzeń przenośnych, a mimo to zachować podstawowe zdolności komunikacyjne z użyciem protokołu Bluetooth.

Jeżeli zgubimy jakieś urządzenie, czy to jest laptop, czy to są kluczyki czy cokolwiek, i urządzenie to wyposażone jest (wystarczy) w ten mały moduł Bluetooth o niskiej energii, to chodzące dookoła i przeczesujące przestrzeń iPhone’y będą mogły wykryć i – jeżeli ma status zagubionego – zaraportować do Apple’a, który tym momencie użyje wszystkich iPhone’ów w okolicy, aby dokładnie określić lokalizację tego zagubionego przedmiotu. Użyje w tym celu wbudowanych w te telefony na przykład lokalizatorów GPS, lub też, jeżeli nie będzie to możliwe, innych metod na przykład takiej aproksymacji z użyciem niedalekich sieci Wi-Fi.

Opisywane przez naszego specjalistę zagrożenia dla prywatności takiego systemu – potencjalne, bo wszystkiego jeszcze o tym systemie nie wiemy dokładnie, jak działa pod spodem – no są takie, że po pierwsze nowy system zamienia każde urządzenie w taką kulę-szpiegulę. Pomijając już iPhone’y, każde urządzenie, które daje się w ten sposób namierzać i odszukiwać ciągle emituje taki sygnał.

Bluetooth nie ma opinii protokołu bezpiecznego, więc można obawiać się, że będzie możliwa identyfikacja ludzi tego, jak się przemieszczają, jeżeli tylko będziemy w stanie monitorować te ich radiolatarnie BLE. Jest to kolejny sposób śledzenia, tak jak na przykład popularne w sieci handlowe monitorują na bramkach użytkowników, starając się identyfikować ich po sygnałach wysyłanych ze zbliżeniowych kart płatniczych. Druga sprawa dotyczy z kolei już telefonów, które zajmują się śledzeniem. Aby one mogły śledzić, same muszą dać się zlokalizować w jakiś sposób – wysyłać, gdzie się znajdują. Ludzie uczestniczący w tym przedsięwzięciu, użytkownicy iPhone’ów będą więc wysyłali swoją lokalizację w najgorszym przypadku cały czas lub w zadanych interwałach, a w najlepszym przypadku wtedy, gdy w pobliżu ktoś sygnalizuje zagubione urządzenie. No i trzecia podnoszona wątpliwość dotyczy przyszłości: czy nie okaże się, że scamerzy (oszuści) znajdą jakiś sposób, aby prowadzić aktywne ataki wymierzone w ten model, zgłaszając fałszywe lokalizacje urządzeń?

To już wszystko w dzisiejszym random:pressie. Do zobaczenia mam nadzieję za tydzień i pozdrawiam bardzo, bardzo ciepło.

A custodianem dzisiejszego odcinka jest Adam H., a dokładniej Adam CH.

Jesteś w sekcji

comments powered by Disqus