Połam to lepiej

Niedawno brałem udział w konkursie organizowanym przez Sekurak.pl. Konkurs polegał – jak to się potocznie mówi – na „łamaniu haseł”. Poprawniej byłoby rzec, że polegał na odzyskiwaniu haseł na postawie hashy, ale mniejsza o to. Udało mi się wygrać, tzn. złamałem największą ilość haseł jako pierwszy. Teoretycznie więc mógłbym na tym poprzestać, ale – z perspektywy patrząc – pewne rzeczy można było zrobić albo opisać lepiej. Oryginalny writeup mój i innych zwycięzców można znaleźć w tym artykule, natomiast ten wpis jest jedynie jego uzupełnieniem.

Dla przypomnienia, jeśli chodzi o gotowce, skorzystałem ze reguł wbudowanych w hashcata, reguły OneRuleToRuleThemAll[1]. Zaś jeśli chodzi o gotowe słowniki to użyłem RockYou, Ignis (10 mln) oraz słownika języka polskiego dostępnego w Debianie w pakiecie wpolish.

Co można zrobić lepiej? Przede wszystkim ten wpis na blogu daje namiar na „growy” słownik języka polskiego. Jest on mniejszy od tego z wpolish. Zawiera 3,2 mln linii, zamiast 4,3 mln. Mogłoby wydawać się to wadą, ale… przy skomplikowanych operacjach większy słownik nie musi być lepszy.

Słownik growy zawiera znaki końca linii w formacie windowsowym. Można je przekształcić na format uniksowy np. w taki sposób:

cat slowa.txt | perl -ne 'chomp; /(\S+)/ && print $1,$/' > slowa_unix.txt

Taka wersja przyda się w kolejnych operacjach.

Słownik wpolish można z kolei znormalizować przez usunięcie wielkich liter. Nie mają one znaczenia, bo występują na początku i któraś reguła hashcata z pewnością uwzględnia takie przekształcenie. Polecenie

cat /usr/share/dict/polish | tr "[:upper:]" "[:lower:]" | sort -u > wpolish_lower.txt

redukuje wielkość słownika o 46k wierszy, czyli nieco ponad 1%.

Z kolei jeśli chodzi o najbardziej kompletny słownik języka polskiego, to będzie nim złączenie znormalizowanego wpolish oraz growego z poprawionymi końcami nowej linii:

cat slowa_unix.txt wpolish_lower.txt | sort -u > slownik_all.txt

Wynik jest o jedynie 5k linii większy od oryginalnego wpolish.

Pozbycie się pl-znaków ze słownika:

cat slownik_all.txt | tr "ąćźżńłóęś" "aczznloes" | sort -u > slownik_all_nopl.txt

Łatwo zauważyć, że jeśli ktoś będzie miał hasło, które jest wyrazem w języku polskim, ale zapisanym w sposób mieszany, częściowo z polskimi znakami, częściowo wersją polskawą, to nasze słowniki taki wyraz ominą. Przykładem takiego słowa może być wyraz żółty zapisany jako zólty. Co wtedy?

Pomóc może zrobienie własnej reguły hashcata, wykorzystującą zastąpienie, czyli s:

Replace sXY Replace all instances of X with Y

Można od razu w podobny sposób potraktować „jednoliterowe” błędy ortograficzne i regułą zastąpić u przez ó i na odwrót. Niestety, z tego co widzę przy pomocy samego hashcata nie da się zrobić ani przekształcenia ch -> h, ani odwrotnego. W dodatku powyższe zastąpienie dotyczy wszystkich wystąpień, a niezupełnie o to chodzi. Jednak lepszy rydz, niż nic.

Tyle gwoli uzupełnienia. Regułę hashcata pozostawiam do samodzielnego montażu, a o zewnętrznym skrypcie do przekształceń jeszcze pomyślę.

[1] Celowo linkuję do genezy powstania, której lekturę gorąco polecam, nie samej reguły.

Debian Bookworm

Debian 12 o nazwie Bookworm został wydany niemal dwa miesiące temu. Zapomniałem o wpisie z tej okazji, choć większość systemów (kilka desktopów, kilka serwerów) już zaktualizowałem. Może dlatego, że aktualizacja bezproblemowa, żeby nie powiedzieć nudna. Zatem zgodnie z tradycją, wrażenia z aktualizacji.

Przy aktualizacji do Bookworm warto pamiętać o dwóch istotnych zmianach:

  1. Niewolne firmware zostały przeniesione z non-free do non-free-firmware. Jeśli korzystamy, to warto dodać stosowny wpis w sources.list. I przy okazji można pomyśleć, czy potrzebujemy non-free. Jeśli nie, można usunąć.
  2. W związku ze zmianami w pakietach, pojawił się osobny pakiet systemd-resolved. Teoretycznie nie powinien być potrzebny, bo w domyślnej konfiguracji rozwiązywanie nazw nie korzystało z rozwiązania systemd. W praktyce na paru – ale nie wszystkich – VMkach resolvowanie DNS przestało mi działać, a doinstalowanie systemd-resolved rozwiązało problem. Polecam zatem pobranie go przed rozpoczęciem aktualizacji[1]:

wget http://ftp.de.debian.org/debian/pool/main/s/systemd/systemd-resolved_252.12-1~deb12u1_amd64.deb

Gdyby rozwiązywanie nazw nie działało po aktualizacji, będzie pod ręką i wystarczy wtedy

dpkg -i systemd-resolved_252.12-1~deb12u1_amd64.deb

W przeciwnym razie będziemy zmuszeni do drobnej kombinacji z dostarczeniem pakietu przy nie do końca działającej sieci. Co nie jest trudne, ale nieco bardziej niewygodne.

[1] Wersja dla amd64, pozostałe architektury dostępne na https://packages.debian.org/bookworm/systemd-resolved

NataLIE

Głośno w sieci jest o filmie BOLLYWOODZKIE ZERO: NATALIA JANOSZEK. THE END[1]. Obejrzałem i mam parę przemyśleń.

Przede wszystkim zachęcę do samodzielnego obejrzenia filmu. Jest bardzo długi – niemal trzy godziny – ale mimo wszystko warto. Mimo wszystko, bo długość filmu uważam za jedną z większych wad. Pewnie łatwo dałoby się go istotnie skrócić, ograniczając się do przedstawienia faktów, rezygnując z reakcji autora, pytań retorycznych. Mam wrażenie, że jednak przede wszystkim za rozwleczenie odpowiadają powtórzenia. Powtórzenia pytań retorycznych, zestawień sprzecznych wypowiedzi. Zwłaszcza te ostatnie mnie w pewny momencie zirytowały, po pokazać raz – jasne, dwa razy – niech będzie, trzy – przerysowany środek stylistyczny. A było więcej. Niemniej, mimo wad, uważam, że warto.

Reportaż pokazuje, jak za pomocą kłamstw, a przede wszystkim odpowiedniego przedstawiania faktów, można zmanipulować ludzi. Czy może bardziej najpierw media, które zmanipulują ludzi. Mechanizm wydaje się prosty – zaistnieć gdziekolwiek, kolejne media podchwytują i dodają nieco od siebie. Zapewne w imię lepszej klikalności albo oglądalności. Nie mówimy bowiem o tabloidach, ale o mainstreamowych mediach.

Mechanizm jest prosty i stosowany w mediach cały czas. Pokazanie czegoś wraz z odpowiednią narracją. Nawet niekoniecznie totalnej fikcji. Bo czy zdobycie tytułu miss czegoś tam na jakimś konkursie[2], a potem niedopowiadanie, że chodziło o coś tam, więc zostaje sama miss, co sugeruje wygranie konkursu, to fikcja? Albo czy mówienie, że film miał premierę na konkursie w Cannes i niedopowiadanie, że chodzi nie o ten konkurs, to fikcja? Albo czy mówienie mój film o produkcji, w której na ekranie jest się kilka sekund to fikcja?

To, co jednak zaskakuje, to łatwość nabrania(?) mainstreamowych mediów. Bo między „aktorką hollywoodzką” a paroma sekundami w jednym filmie jest jakby różnica. I wypadało by jednak wiedzieć, z kim się rozmawia. No chyba, że ważne są tylko słupki. W tym przypadku – oglądalności. Rozmowa odbyta, program wyemitowany, następny proszę.

Co zabawne, Krzysztof Stanowski w swoim filmie także korzysta – świadomie lub nie – z podobnych manipulatorskich metod. Bo „zapytam 100 Hindusów, jeśli choć jeden rozpozna Natlię, to płacę 1000 zł” i „dowód” w postaci fragmentów w filmie jest przecież idealną do zmanipulowania metodą. Można pokazać 100 odpowiadających, ale to nic nie mówi o ilości zapytanych. Niewygodne odpowiedzi można wyciąć i pokazać, co się chce. Dodając wygodną interpretację lub pozostawiając (sugerując?) ją odbiorcy.

Marcin Prokop w usuniętym wpisie na Instagramie próbował usprawiedliwiać brak fact checkingu potrzebą sztabu ludzi. Próba usprawiedliwienia to pewnie za mocno powiedziane, bardziej chodzi o zabieg erytyczny.

Tu przypomniało mi się, jak w aucie włączyłem Trójkę. Tę „nową”. Włączyłem, bo niespecjalnie coś innego odbierało czy dawało się słuchać. Audycję prowadził Wojciech Cejrowski i prezentował muzykę zza oceanu jakoś tam powiązaną tematycznie. Między utworami gdakał jakieś banały o prezentowanych utworach. W pewnym momencie zapowiedział utwór jakiegoś wykonawcy, który mieszka w jakimś mieście. I tu nastąpiło coś, co mnie zmroziło. Dodał bowiem coś w stylu – cytat niedokładny – „albo mieszkał, bo nie wiem czy żyje”. Autor audycji muzycznej nie wie, czy prezentowany wykonawca żyje – lekki szok. I do tego porusza ten temat, w sposób niewymuszony, afiszując się ignoranacją – brak słów.

Wracając do sztabu ludzi i fact checkingu. Nie potrzeba sztabu. Wystarczyłoby, żeby rozmowa nie była pusta, o niczym, tylko miała jakąś treść. Zerknięcie na IMDB też może wzbudzić podejrzenia. Bo jeśli „gwiazda” nie „gwiazduje” (starring), to wiedz, że coś się dzieje.

Dlatego reportaż jest dla mnie w równej mierze opisem przypadku Natalii Janoszek, jak i pokazaniem niekompetencji mediów i fikcji, którą kreują na prawdę. I ta wykreowana prawda staje się rzeczywistością. Na przykład, gdy celebryta zaczyna interesować się -jak w tym przypadku – polityką.

UPDATE: Komentarz autora, który zdecydowanie trzeba przeczytać.

UPDATE 2: Zrobiło się jeszcze ciekawiej w kwestii standardów zawodowych i moralnych. Autor filmu „zapomniał” poprosić Edytę Bartosiewicz o zgodę na wykorzystanie utworu Skłamałam. Nie było jej też wymienionej w credits. Utwór ten jest jakby motywem przewodnim. Czy też bardziej – był, bo podobno film – po zwróceniu uwagi – miał zostać z niego wykastrowany. Zamiast przeprosić i zapłacić oczywiście.

[1] Określenie „film” nie jest najlepsze, ale takie utknęło mi w głowie i takiego chyba używa autor. Bardziej pasuje „reportaż”. Pisownia tytułu oryginalna, znaczy copy & paste z YouTube.
[2] Mam wrażenie, że te konkursy istnieją głównie po to, żeby realizować potrzebę zaistnienia i z niektórych nikt nie wychodzi bez tytułu.