Paweł Goleń, blog

Tak czytam sobie Notice of Recent Security Incident i mam dziwne przebłyski z przeszłości. Mniej więcej 10 lat temu (konkretnie, w 2011 roku) LastPass również informowało o potencjalnym incydencie. W efekcie powstał wpis Najpierw miało być o LastPass, a potem mnie poniosło.

Wiele się zmieniło od czasu powstania tamtego wpisu, choćby to:

To further increase the security of your master password, LastPass utilizes a stronger-than-typical implementation of 100,100 iterations of the Password-Based Key Derivation Function (PBKDF2), a password-strengthening algorithm that makes it difficult to guess your master password. You can check the current number of PBKDF2 iterations for your LastPass account here.

Nie zmienia to jednak mojej rezerwy odnośnie modelu LassPass. Nie chodzi mi nawet o sam fakt przechowywania zaszyfrowanych baz haseł w chmurze. Boli mnie natomiast możliwość wprowadzenia niewielkich modyfikacji do kodu LastPass, które w efekcie mogą spowodować wyciek masterpassword. Cytując samego siebie:

Z perspektywy ZŁEGO zdecydowanie bardziej efektywnym sposobem uzyskania dostępu do danych użytkowników byłoby wprowadzenie delikatnej zmiany w kodzie (np. aplikacji internetowej) tak, by hasło użytkownika jednak było przesyłane na serwer.

A uzupełniając fragment “a nie mówiłem”, to zwracam uwagę, że teraz również główną słabością (potencjalną) są hasła użytkowników. Bo AES-256 to jedno, a i tak wszystko sprowadza się do klucza bo...

(...) Sam algorytm to nie wszystko, ważny jest jeszcze jego klucz i sposób, w jaki został uzyskany...

Oryginał tego wpisu dostępny jest pod adresem LastPass – a nie mówiłem?

Autor: Paweł Goleń

13 lat temu pisałem, że encoding musi być dostosowany do kontekstu, w którym dane mają być użyte: Znaj swój kontekst. Dokładnie to samo można przeczytać w OWASP Cross Site Scripting Prevention Cheat Sheet. I co? I dalej można spotkać się z sytuacjami, gdy ktoś uważa, że jedna magiczna funkcja problem XSS rozwiązuje raz i na zawsze, w każdym możliwym przypadku. I oczywiście w dalszym ciągu przychodzą Źli Ludzie™ i pokazują, jak bardzo się ktoś myli...

Czytaj dalej...

Nie, nie taka “hokus pokus”, również nie taka “niewytłumaczalna”. Raczej zjawisko, którego wystąpienia się nie spodziewałem. Takie z gatunku tych, kiedy to WiFi działa, albo nie działa, albo jeszcze dawniejszych czasów studiów, gdy problem z niestabilnym połączeniem sieciowym został ostatecznie rozwiązany przesuwając kable sieciowe dalej od wysłużonej lodówki. No i nie tak zaskakujący, jak mordercze moce Rhythm Nation.

Czytaj dalej...

Ostatnio postanowiłem dokształcić się z Kubernetes. Dla większej motywacji nabyłem ODROID-C4, na którym zamierzam postawić microk8s. Tak, wiem. Niepotrzebnie, można korzystać albo z jakiegoś sandboxa, albo nawet postawić VM z taką konfiguracją (co zresztą już mam). Ale mnie taka inwestycja motywuje :)

A po co mi to? Z ciekawości. I z tego powodu, że tutaj jest steep learning curve. Jakiś czas temu wpadłem na pomysł, by “pobawić” się Dockerem i to było raczej proste. W tym sensie, że dość łatwo było mi zrozumieć co, jak i dlaczego. W tej chwili mój DYI Smart Home działa na Docker Swarm, choć akurat z trybu Swarm wykorzystuję tylko overlay network. Podejście / logika w Kubernetes jest jednak mocno inna i na razie mam mgliste pojęcie, jak osiągnąć to samo.

I znowu, mam tak dziwnie, że najlepiej uczę się, przez reverse engineering, więc mam niejasne wrażenie, że istotnym krokiem będzie przekonwertowanie mojego docker-compose przy użyciu Kompose.

Oryginał tego wpisu dostępny jest pod adresem Z serii “człowiek uczy się całe życie”

Autor: Paweł Goleń

Czy ja już pisałem, że jestem wielkim fanem Principle of least astonishment?

Kolejny scenariusz, w którym czuję się zaskoczony... Lubię popatrzeć w dane, moim typowym sposobem postępowania jest wrzucenie tego, co mam w Excela i zrobienie pivota. Proste, ale w wielu wypadkach w zupełności wystarczające. I zmieniając wymiary tabeli naprawdę można zobaczyć ciekawe rzeczy. Oczywiście, można być zaskoczonym wynikami tej analizy, ale ja wspominam o POLA nie w tym kontekście.

O co mi chodzi? Czasami dane do analizy trzeba pozyskać z innego systemu. Czasem można podpiąć się bezpośrednio do bazy, czasem trzeba korzystać z jakiejś funkcji import/export. I tu dochodzimy do sedna – funkcja Export All Data brzmi może fajnie, prawda? A jakież zaskakujące jest to, że w rzeczywistości “All Data” oznacza “nie więcej niż X wierszy (...)”. Zaskakujące? Dla mnie tak.

I tak, takie ograniczenie ma swoje uzasadnienie, w szczególności w przypadkach, gdzie ilość danych jest duża i eksport wszystkiego może negatywnie odbić się na dostępności lub wydajności systemu (czyli innymi słowy spowodować DoS).

Oryginał tego wpisu dostępny jest pod adresem POLA

Autor: Paweł Goleń

Bardzo podoba mi się numer odcinka – RK115. Do usłyszenia wieczorem!

Oryginał tego wpisu dostępny jest pod adresem Rozmowa Kontrolowana

Autor: Paweł Goleń

Najpierw wprowadzenie do tematu: Microsoft Teams stores auth tokens as cleartext in Windows, Linux, Macs.

“Upon review, it was determined that these access tokens were active and not an accidental dump of a previous error. These access tokens gave us access to the Outlook and Skype APIs.”

OK, i...? Bo z opisu tutaj (Undermining Microsoft Teams Security by Mining Tokens) trochę niewiele wynika:

(...) Next, we needed the access token. We used the SQLite engine. SQLite does not require installation, so the exploit downloads SQLite to a local folder and executes it to read the Cookies DB, where we extract the Skype Access token required for sending messages.

Jakoś nie mogę znaleźć informacji jak ten exploit jest uruchamiany, więc zakładam, że w inny niezwiązany z tematem sposób. Tylko w takim razie jak rozumieć to:

(...) Use the web-based Teams client inside Microsoft Edge, which has multiple OS-level controls to protect token leaks. Fortunately, the Teams web application is robust and supports most features enabled through the desktop client, keeping organization productivity impacts to a minimum.

Oryginał tego wpisu dostępny jest pod adresem Teams i token(y) – ale, że o co chodzi?

Autor: Paweł Goleń

Nie uwierzę dopóki nie sprawdzę, tak mam. To nie jest tak, że „wszyscy kłamią”, ale z założenia nie akceptuję stwierdzenia “nie da się”, jeśli nie jest poparte dowodami. Oczywiście, czasami się rzeczywiście “nie da”, bo wszystko ma swoje ograniczenia i swój zakres stosowania. Nie lubię jednak sytuacji, gdy ktoś, zamiast sprawdzić czemu coś nie działa, domyślnie przyjmuje założenie, że “się nie da, bo (...)”.

Czytaj dalej...

W oryginale było co prawda o zdrowiu, ale ja bardziej przyziemnie – o lewym klawiszu CTRL. Tak się składa, że robię notatki. Moje notatki często powstają przy pomocy copy & paste i bardzo często mają postać mindmapy. Ciągle ciężko mi jest znaleźć lepsze narzędzie niż Freeplane. To znaczy prawdopodobnie istnieją inne, równie funkcjonalne narzędzia do mindmappingu, ale ciężko jest mi znaleźć coś innego, co mindmappingiem nie jest. Ale ja nie o tym, nie o tym...

Dzisiaj nagle zamiast skopiowanego tekstu zaczęło pojawiać mi się złowrogie v. Tak, część skrótu CTRL+V. I tak, tak naprawdę skopiowanego tekstu nie było, bo przecież CTRL+C również korzysta z klawisza CTRL, który nagle przestał działać. I to boli. Co prawda jest inny skrót, SHIFT + INSERT, ale o ile mi wiadomo nie ma skrótu funkcjonalnie tożsamego z CTRL + C. Jest skrót SHIFT + DEL, który jest funkcjonalnym odpowiednikiem CTRL + X, ale to nie to.

Jak korzystacie z CTRL + ? Bo dla mnie większość ze skrótów jest leworęczna. OK, może CTRL + B oraz CTRL + I są dwuręczne, ale pozostałe obsługiwane są lewą dłonią. Skróty SHIFT + INSERT oraz SHIFT + DEL są albo dwuręczne, albo trzeba przestawić się na prawą rękę, co przy układach klawiatur (zwłaszcza na laptopie) może być karkołomne i, o zgrozo, w niektórych przypadkach i tak może angażować drugą rękę do klawisza Fn.

Dlaczego przejście na prawą rękę jest złe? Bo myszką operuję równiez prawą ręką, czyli przeklejenie tekstu ze źródła do notatki w praktyce wymaga przeniesienia ręki z myszki na klawiaturę, z klawiatury na myszkę, a potem jeszcze raz z myszki na klawiaturę. Prawy klawisz myszki nie robi roboty, bo jednak tej nawigacji myszą trzeba zrobić więcej...

Tak, rozkręciłem klawiaturę. Nie, problemem nie jest zabrudzenie. Tak, klawiatura jest membranowa, a nie mechaniczna. Co robić, jak żyć?

Tak, wiem. Temat jest z gatunku “problemów pierwszego świata”, ale czy aby na pewno? Oczywiście, mogę kupić nową klawiaturę (lub używaną i z dwóch zrobić jedną), ale ewidentnie nie mogę naprawić klawiatury przez wymienienie uszkodzonej części. Szkoda. I nie chodzi mi tu tylko o koszt nowej (lub używanej) klawiatury, ale o (nazwijmy to) wpływ na środowisko, bo co zrobię ze starą jeśli kupię nową? Wyrzucę (throw away)? Nie ma “away”, to “away” to będzie jakieś miejsce na planecie Ziemia... Tak, wiem, recycling i te sprawy. Ale mimo wszystko prościej byłoby wymienić uszkodzoną część (membranę), a nie kombinować.

Z innych pomysłów mam jeszcze przemapowanie skrótów (PowerToys na to pozwalają), albo ewentualnie... przerzucenie sie na obsługę myszki lewą ręką i używanie skrótów SHIFT + DEL oraz SHIFT + INSERT prawą ręką.

...nie oszukujmy się, ostatecznie kupię nową klawiaturę.

Oryginał tego wpisu dostępny jest pod adresem (...) aż się zepsujesz

Autor: Paweł Goleń

Z pewnym takim zdziwieniem czytam o brakach cukru na półkach. Głównie dlatego, że jest mi doskonale wszystko jedno. Nie pamiętam, kiedy kupowałem ostatni raz cukier, praktycznie go nie używam (innymi słowy – nie słodzę). Z nawykiem słodzenia skończyłem, gdy przerzuciłem się na smaczne herbaty. Takie, których kiepskiego smaku nie trzeba zabijać cukrem.

ALE, znowu mam flashback z głębokiego PRL, kiedy rzeczywiście z cukrem był problem (ach te kolejki do sklepu GS, bo cukier mają rzucić) i radość, gdy udało się kupić w hurtowni worek 50kg cukru...

P.S. Dodatkowo, jeśli zdarzy się w domu szaleństwo w postaci “pieczenia placków” zamiast cukru używany jest ksylitol. Bo tak.

Oryginał tego wpisu dostępny jest pod adresem Cukier – o jej, o jej

Autor: Paweł Goleń