Sesja Linuksowa cz. 2

W poprzednim wpisie było o tym, jak pojechałem na Sesję Linuksową i co mi się podobało. W tym będzie o powrocie, konkursach i trochę ponarzekam.

Zacznę od narzekania. Strona Sesji Linuksowej to dziwny twór, z którym miałem problemy. Zaczęło się od tego, że jedna z przeglądarek (Firefox Focus) w ogóle nie pokazywała agendy. Druga pokazała, więc wzruszyłem ramionami. I tak by zostało i zapomniałbym o sprawie, gdyby nie dziwne godziny pokazane na desktopie (Firefox), gdy sprawdzałem pociągi pod kątem wyjazdu. Stwierdziłem, że z rozwiązaniem do agendy jest coś nie tak. Zacząłem walczyć z ustawieniami Focusa i… nie udało mi się wyświetlić treści agendy. Doszło do dość absurdalnej sytuacji, gdy miałem 4 różne przeglądarki, na 2 różnych systemach (Android, Linux). Z których jedna nie pokazywała agendy, a druga miała inne godziny, niż dwie pozostałe. Za każdym razem problem był na przeglądarce robionej przez Mozillę.

Owszem, dobrzy ludzie zwrócili mi później uwagę, że jest napisane System informatyczny Confreg wyświetla godziny w strefie czasowej zażądanej przez przeglądarkę. W przypadku używania funkcji ResistFingerprinting, godziny pokazują się w UTC. Wykłady zaczynają się o godzinie 9:00 czasu środkowoeuropejskiego letniego. Drobny problem polegał na tym, że było to napisane za agendą. A mnie interesował pierwszy wykład z uwagi na godzinę rozpoczęcia i kupno biletu. Ach, gdyby tylko można było wyświetlić godzinę korzystając z lokalnego czasu konferencji lub podać wprost strefę czasową, a nie zgadywać na podstawie strefy przeglądarki… Niby nic, ale naprawdę mało brakowało, żebym zrezygnował z przyjazdu. Dotarcie na siódmą rano w sobotę trochę mi się nie uśmiechało. Ostatecznie pewność zyskałem przy użyciu macOS z Chrome, bez dodatków. Czyli chwalmy open source i prywatność, ale jak coś trzeba zrobić, to… niekoniecznie się to sprawdza.

Na obronę systemu agendy powiem jedynie, że całkiem zgrabnie wg mnie pokazywał, w którym miejscu w agendy jesteśmy w danej chwili. Niby tylko czerwona linia, a bardzo ułatwiała korzystanie.

Byli sponsorzy ze stoiskami oraz konkursy. Korbank, którego znam z sieci ze starych czasów, ma teraz swoją kolokację i VPSy. W ramach konkursu można było złożyć serwer (prawdziwy) na czas[1] i dostać talon na VPS i balon[2]. Niby niezłe ceny, bo od 10 zł/m-c z VAT za najmniejszą maszynkę (10 GB dysku, 2 GB RAM, 1 vCPU), ale… wygląda, że do normalnego korzystania trzeba dokupić adres IPv4 za 5 zł/m-c, bo w standardzie jest IPv6. Jeśli wszystko pójdzie dobrze to uruchomię wkrótce i dam znać, czy da się korzystać bez IPv4. Tzn. czy i na ile jest to w praktyce problematyczne.

Drugi konkurs, w którym wziąłem udział, był „konferencyjny” i w przypadku niektórych zadań także dawał dostęp do VPSów. Też takich wyposażonych wyłącznie w IPv6, choć bez możliwości dokupienia IPv4. Chodzi o mikr.us, którym trochę chciałem się pobawić już wcześniej, a trochę nie widziałem sensu, skoro istnieją darmowe alternatywy, z lepszymi warunkami. No ale skoro można było się pobawić i sprawdzić w konkursie[3], to niech będzie. Ku mojemu zdziwieniu, talon jest na całkiem mocną maszynę (wariant 3.5, czyli 4GB RAM, 40 GB dysk) i na rok. Nawet mam pomysł do czego go wykorzystam, choć pewnie starczyłaby połowa zasobów.

Powrót chciałem rozpocząć tramwajem, ale… Google maps stwierdziło, że tramwaj, którym przyjechałem, nie jeździ na dworzec. Pokazywało same autobusy. To skłoniło mnie do opcji numer dwa, czyli spaceru, który pierwotnie był przewidziany także na dotarcie na Sesję. Faktycznie, nie jest daleko, w czasie poniżej pół godziny spokojnie dało się dojść. Piękna pogoda, więc spacer po Wrocławiu zaliczony z przyjemnością. Pociąg punktualnie i w zasadzie bez niespodzianek, jeśli nie liczyć braku wagonu, w którym miałem miejsce. Okazało się, że dopiero je doczepią po podstawieniu, ale mogłoby to być zaznaczone na bilecie. Nie tylko ja byłem zaskoczony sytuacją i szukałem nieistniejącego jeszcze wagonu.

Wykłady z dnia drugiego – postaram się obejrzeć. Niestety, średnio lubię nagrania prezentacji ogólnie, a „scenicznych” szczególnie. Zwykle najwyżej średnia jakość dźwięku jest i nie wszystko dobrze widać. Choć sprawdziłem właśnie na YouTube nagrania z niedzieli i przyznaję, że jest zrobione profesjonalnie. Nie zmienia to faktu, że za rok i tak postaram się powtórzyć wypad.

[1] Oj, wyszedłem z wprawy, faktem jest, że ładnych parę lat nie składałem takiego sprzętu.
[2] To pomysł twórców, nie mój.
[3] Trochę miałem wyrzuty, bo dla grających w CTFy zadanie było proste. Jednak stwierdziłem, że po pierwsze nie mam żadnych powiązań z organizatorami, po drugie każdy może zrobić, po trzecie, wyjątkowo mam laptopa na konferencji, po czwarte, będzie okazja pobawić się VPSem.


Sesja Linuksowa, połowa

Wahałem się czy wybrać się na Sesję Linuksową. Bo to jednak wyprawa do innego miasta. Skoro jednak jest w weekend, a pociągi IC jeżdżą teraz szybciej, to dwa razy godzina z groszem na dojazd wydała się akceptowalna w stosunku do kilku godzin na miejscu. Stwierdziłem, że wariant przyjazd w sobotę rano, wyjazd wieczorem jest wykonalny, a tytuły wykładów[1] brzmią do posłuchania.

Wyjazd z Poznania o 7:30, przyjazd przed 9:00. Teoretycznie kwadrans tramwajem i jestem na miejscu, planowy start wykładów jest o 9:05, czasem jest poślizg, więc prawie powinienem zdążyć… Co może pójść źle? Wiele rzeczy… Ale udało się i zdążyłem na wykład o SSH niemal w całości. Myślałem, że temat nie będzie mnie w stanie specjalnie zaskoczyć, tymczasem sporo ciekawych zastosowań i możliwości. I to już na pierwszym wykładzie. A teraz kilka słów o wybranych[2] wykładach.

Dziwnostki rozwoju kernela – ciekawe, trochę znałem, trochę nie. Fajnie pokazuje, jak jednak[3] duże rzeczy działają, choć działają… dziwnie. Bo przysyłanie patchy mailem, zamiast pull requstów w systemie kontroli wersji, wygląda na spore utrudnienie.

Ciekawy wykład o Velvet OS, czyli instalacji Linuksa (Debiana) na chromebookach i nie tylko. Fajnie, że takie rzeczy się dzieją. Choć sam na chromebooku korzystam z ChromeOS. Zaskoczyło mnie, ile jest różnic, ograniczeń i problemów.

Wykład Ile tritów ma trajt – dość luźny, ale ciekawy, sporo historii komputerów – przypomniał mi niedawną dyskusję o tym, jak reprezentacja binarna wpływa na pojmowanie świata. I okazuje się – o czym nie wiedziałem – że może logika trójwartościowa być może wróci, bo jest przyjazna sieciom neuronowym i LLMom.

Ukryte koszty wolności – bardzo ciekawy, nietechniczny wykład o modelach rozwoju open source, problemach z finansowaniem i tym, że kiedyś były czasy… A teraz to fundacje, federacje, rządzą nimi korporacje. Celnie, choć pesymistycznie.

Tyle połowy. I połowy SL, i połowy opisu, bo na drugi dzień Sesji Linuksowej się nie wybieram w tym roku[4]. Ale Wy możecie, wg mnie warto, więc szybko ten wpis, może ktoś się zdecyduje, a druga część… wkrótce.

A gdyby ktoś nie chciał jechać lub miał daleko, to jest streaming live. O którym nie wiedziałem, ale nie żałuję wycieczki. Tym bardziej, że osobiście nie przepadam za słuchaniem streamingów.

C.D.N.

[1] Były też warsztaty, ale zupełnie nie miałem na nie weny. To jednak w założeniu miał być relaks i miłe spędzenie czasu, bez większego wysiłku intelektualnego.
[2] Nie najlepszych, nie najciekawszych, wybranych. Wszystkie inne też prowadzone przynajmniej dobrze i ciekawe.
[3] A może właśnie dlatego?
[4] Niestety; wyłącznie logistyka i plany, nie jakość konferencji.

Prywatność przeciw bezpieczeństwu

Zaczęło się od historii związanej z cyberbezpieczeństwem. Użytkownik zauważył włamanie na swoje konto LinkedIn. Zapytał w social media, co się mogło wydarzyć, czy możliwe przejęcie dostępu do skrzynki pocztowej bo tam przyszedł mail z kodem potwierdzającym logowanie[1]. I czy dobrym pomysłem jest zapytanie dostawcy poczty o logi z ostatnich logowań. Informacje – jak zwykle w takich przypadkach – niepełne. Bo i nie wiadomo, co dokładnie jest potrzebne, istotne, i nikt nie napisze wszystkiego publicznie w social media. Akurat miałem chwilę, więc zaproponowałem telefon. Użytkownik nie chciał podać numeru, gdyż prywatność. Trochę rozumiem. Trochę nie. No nic, spróbujemy poczatować.

Skrzynka email była u dostawcy poczty z „no log policy”, więc nie wróżyłem sukcesów. Zasugerowałem w pierwszej kolejności zmianę hasła do poczty, ustawienie tam 2FA (nie było). Konto LinkedIn zostało zablokowane, chcą weryfikacji dokumentem. Użytkownik ma opory przed przesłaniem go do firmy trzeciej. Trochę rozumiem, trochę nie.

Nie znam charakterystyki wykorzystania komputera, ani nawyków. Te sama hasła w różnych miejscach? Raczej wyciek czy raczej stealer? Użytkownik zrobił jakieś skany antywirusem (nic wyraźnego nie znalazło), zmienił hasła w innych usługach[2] i ustawiał 2FA (dobry pomysł).

Timeline ataku:

  • 12:58 – pierwszy mail z kodem,
  • 13:00 – zmiana hasła do konta LinkedIn,
  • 13:02 – drugi mail z kodem (zapewne atakujący loguje się nowymi danymi),
  • 13:05, 13:08, 13:10 – dodane własne maile przez atakującego (czemu aż 3?).

LinkedIn wysyła sześcioznakowy kod na maila w celu potwierdzenia logowania. Nie wygląda na łatwe do brute force, kod był generowany tylko jeden za każdym razem. Czyli wszystko wskazuje na to, że atakujący miał dostęp do skrzynki. Ba, może nawet w ogóle najpierw uzyskał dostęp do skrzynki, zobaczył, że powiązana z kontem LinkedIn i je zaatakował? Dość długie odstępy pomiędzy kolejnymi krokami. Czyżby ręczne działanie?

W każdym razie pożar ugaszony. Pozostało obserwować, czy coś dziwnego się nie dzieje i ewentualnie odzyskać konto LinkedIn.

Jednak użytkownik jest niezadowolony. Narzeka, że LinkedIn nie rozpoznał ataku, a przecież IP było nietypowe, z innego kraju. Działania nietypowe. Narzeka, że chcą dokumentów. Trochę rozumiem, trochę nie.

Bo przecież z punktu widzenia użytkownika wszystko było w oczywisty sposób nietypowe. A z punktu widzenia LinkedIn? I ich skali?

Z perspektywy LinkedIn było to prawdopodobnie „czyste” logowanie. Prawidłowe hasło podane za pierwszym razem. Kod został wysłany na maila i potwierdzony. Zapewne także od razu. IP z innego kraju? To od lat bardzo słaba wskazówka. Masa ludzi korzysta teraz z VPNów, wielu urządzeń, wielu ludzi po prostu podróżuje.

Wyobraźmy sobie, że jesteśmy na urlopie w dalekim kraju, dostajemy sygnał od znajomych, że dziwne rzeczy dzieją się z naszym kontem w jakimś serwisie. Logujemy się, potwierdzamy kod z maila, chcemy zmienić hasło do serwisu. A skoro atakujący potwierdzali kod, to może problem jest ze skrzynką email? Chcemy zmienić inną, zaufaną, tam, gdzie mamy 2FA i wiemy, że wszystko jest OK. No i co, serwis miałby nie pozwolić? Kazać weryfikować się dokumentem? Nie wyobrażam sobie tego – ludzie by ich zjedli.

Blokada konta do czasu weryfikacji dokumentu jest jakby standardem. Nie jest idealna, ale działa dla wszystkich[3], niezależnie czy ktoś płacił, czy zmieniał telefon, adres itp. Prosta procedura, bez wyjątków i warunków, to dobra procedura. Atakujący nie przekona pracownika, żeby sprawdził akurat coś, nad czym akurat ma kontrolę.

Uważam, że część winy ponosi tu ślepe zachwalanie prywatności. Obrońcy prywatności krzyczą, że fingerprinting urządzeń zły[4], że trzeba się bronić. AI złe bo przetwarza dane nie wiadomo jak, trzeba się nie zgodzić. No log policy ma świadczyć o poszanowaniu prywatności, a VPN „zwiększa prywatność i bezpieczeństwo”. Ludzie może nie do końca rozumieją o czym mowa i dlaczego, ale wierzą. Wierzą reklamom, wierzą autorytetom. O tym, że nie wszystko jest dobre dla każdego, łatwo zapomnieć i mało kto to podkreśla. Wierzę, że agitatorzy prywatności nie mają złych intencji. Ale zapominają o poziomie wiedzy odbiorców i zakładają, że użytkownik jest w stanie sam skutecznie zadbać o bezpieczeństwo. Tymczasem niekoniecznie.

Czy gdyby fingerprinting był możliwy i powszechny, ludzie nie korzystaliby z VPNów tylko z „normalnych” IP, to serwisy lepiej chroniłyby użytkowników, lepiej rozpoznawały anomalie i byłoby bezpieczniej? Niekoniecznie. I raczej się tego nie dowiemy. Bo zabezpieczenia to koszt, czym innym jest profilowanie użytkownika dla większego zysku z reklam, a czym innym dla poprawy bezpieczeństwa. Za to wiemy, że teraz po prostu nie mają możliwości tego robić. Nie sensownie[5], nie w dużej skali.

[1] Dlatego maile czy SMSy nie są dobrym 2FA. Oczywiście lepszy rydz, niż nic, ale 2FA powinno być na innym urządzeniu i niemożliwe przechwycenia.
[2] Niekoniecznie dobry pomysł, bo jeśli to stealer, to skrajnie może doprowadzić do pogorszenia sytuacji poprzez wycieku danych logowania do większej ilości serwisów.
[3] Żeby zrozumieć pewne rzeczy, potrzeba czasu, bo przecież sam narzekałem kiedyś na procedurę w Allegro. No, ale tam chodziło jednak trochę o coś innego, nie o sam fakt żądania dokumentu.
[4] Wystarczy przypomnieć ostatnią aferę, choć tam nie do końca o fingerprinting szło, a sprawy poszły za daleko.
[5] Dla jasności, systemy wykrywające anomalie nadal istnieją i działają. Skuteczność jest… różna. I jednak czym innym jest oznaczenie zdarzenia jako podejrzanego, a czym innym automatyczna blokada.