Radio 357

Po przeczytaniu wpisu zerknąłem na Radio 357 i zastanowiła mnie jedna rzecz. Parcie w kierunku FM. Na stronie patronite znajdziemy opowieści o kupnie koncesji lub przejmowaniu lokalnych rozgłośni, by zyskać pasmo. O słuchaniu na zwyczajnym odbiorniku stojącym w kuchni. Zastanawiam się, na ile to parcie w kierunku FM ma faktyczny sens, jeśli chodzi o dotarcie do ludzi, a na ile to zwykła nostalgia. Lub wręcz gra na niej.

Zalety FM

Owszem, FM ma trochę zalet. Nie potrzeba nowego sprzętu do odbioru, jakiekolwiek radio zadziała. Można bez problemu słuchać w samochodzie. Słuchacze nie płacą za transfer danych. Niby jest on darmowy, ale pewnie spora część ludzi odbiera na telefonach, przez GSM. A to oznacza, że de facto płaci za transfer[1].

Zalety?

Co prawda streamu internetowego pewnie też da się słuchać w aucie, ale raczej nie będzie to „natywne” radio, tylko udostępnianie z telefonu[2]. TBH nie próbowałem nawet, poziom skomplikowania wygląda na niepomijalny, ale i tak pewnie będzie rwanie przez dziury w zasięgu. Wolę muzę z karty SD, przynajmniej w trasie.

No właśnie, zasięg. FM wygląda różowo, jeśli weźmiemy pod uwagę zasięg ogólnopolski. Przy stacjach lokalnych różowo nie jest i samochodowe zalety „w trasie” mocno tracą na znaczeniu. Jest napisane wprost, że budowa sieci FM nie zdarzy się od razu. Potrwa miesiące. Tymczasem wkrótce minie rok, od kiedy audycje zniknęły z Trójki.

Dochodzi też kwestia jakości. FM szumi. Szczególnie na słabszym sprzęcie, bez dobrej anteny. Owszem, często da się to rozwiązać, szczególnie jeśli mamy dobry sygnał. W praktyce, jeśli chcemy mieć dobrą jakość, łatwiej jest słuchać streamu z internetu. Pokrycie GSM w Polsce jest niezłe i nadal się poprawia. Może pora wymienić odbiornik radiowy w kuchni na coś, co wspiera streamy internetowe? Albo, jeśli jest on dobrej jakości, dopiąć mu stosowną przystawkę, zostawić go po prostu jako wzmacniacz z głośnikiem i cieszyć się stacjami z całego świata[3]?

No i na koniec: nie tylko Polska ma znaczenie. Nadawanie tylko w kraju via FM odcina od kilkunastu milionów potencjalnych słuchaczy na świecie. I liczba niepomijalna, i dla części może to być jedyny kontakt z krajem.

Stream

Na szczęście stream internetowy nie jest trudny do zrobienia. Tzn. samo zakodowanie audio do postaci cyfrowej i udostępnienie przez sieć. Wieki temu robiło to Radio Baobab. Dystrybucja do wielu odbiorców może być bardziej skomplikowana. Szczególnie, jeśli chcemy zrobić ją samodzielnie. Ale zapewne skalowanie można rozwiązać przez rzut monetą. Istnieją gotowe serwisy, które rozwiązują zagadnienie pojemności łącz. Nie zdziwię się, jeśli również załatwią ew. transkodowanie i udostępnianie na popularnych platformach.

Cieszę się więc, że słuchacze nie poddali się nostalgii i chcieli stream. Cieszę się, że idzie nowe. Dzięki temu może i ja włączę kiedyś Radio 357. Póki co nie miałem okazji. Zwłaszcza, że wymagają playera na stronie, nie dają linka do gołego streamu. A ten player coś u mnie nie działa.

Czy w ogóle inwestowanie przez Radio 357 w FM ma sens? Nie wiem. Ja FM nie potrzebuję.

[1] Radio internetowe, z uwagi na charakter korzystania, zużywa całkiem sporo transferu. Godzina streamu w popularnym wariancie 128 kbps to ok. 58 MB. Radio ma to do siebie, że gra godzinami. Słuchanie przez 8h to 0,4 GB. Zakładając słuchanie w pracy – 8 GB miesięcznie, czyli jak na pakiety u operatorów GSM ilość zauważalna.

[2] Przynajmniej w typowym aucie. Nowe są już domyślnie podłączone do internetu, więc tam może być to bardziej wygładzone, bez dodatkowych urządzeń, bezpośrednio z netu. Przynajmniej jako opcja, bo zwykłe FM też jest.

[3] Zakładając, że ktoś potrzebuje. Jeśli ktoś jest wierny jednej stacji i nigdy nie zmienia na inną, argument traci sens. A słuchanie jednej stacji przy pracy wygląda mi na całkiem powszechne. Tyle, że mając do wyboru stacje z całego świata może się okazać, że będzie to zupełnie inna stacja…

Dlaczego k-anonimowość nie jest dobra przy hasłach?

Na z3s.pl pojawił się artykuł o tym, czym jest k-anonimowość. Jest to dobry artykuł i warto go przeczytać przed lekturą tego wpisu. Nie zgadzam się jedynie z tezą, że w przypadku haseł jest to bezpieczna metoda sprawdzania. Napisałem komentarz, ale pewnie nie wszyscy czytelnicy bloga tam trafią. Ponieważ bawię się z bazą hashy z HIBP i planuję wkrótce wpis na ten temat, uznałem, że jest dobra okazja do wstępu.

Moja teza jest taka, że w przypadku haseł k-anonimowość wcale nie jest taka bezpieczna, jak jest to przedstawiane. Zgodnie z artykułem obecnie dla hashy z bazy HIBP pierwsze 5 znaków występuje od 381 do 584. Czyli podczas sprawdzenia strona trzecia nie poznaje ani hasła, ani jego pełnego hasha. Przekazywane jest jedynie pierwszych 5 znaków hasha, czyli – tu moja interpretacja – ma jedynie 1/381 do 1/584 prawdopodobieństwo, że zna właściwy hash.

Gdyby przyjąć, że strona trzecia jest złośliwa, warto też przyjąć, że jest inteligentna. Czyli zamiast prawdopodobieństwa zwykłego użyje prawdopodobieństwa ważonego, uwzględniając ilość wystąpień danego hasha. Dla przykładu z artykułu na z3s.pl i hasła P@ssw0rd mamy zwracanych 543 różnych hashy:

curl -s https://api.pwnedpasswords.com/range/21BD1 | wc -l

Natomiast suma wystąpień wszystkich hashy w momencie pisania tego wpisu wynosi 60808.

curl -s https://api.pwnedpasswords.com/range/21BD1 | awk -F ":" '{sum += $2} END {print sum}'

Nasz hash wystąpił 52579 razy. Znając zwyczaje ludzi dotyczące haseł i stosując prawdopodobieństwo ważone uzyskujemy 86% szansę na to, że chodzi o hash należący do hasła P@ssw0rd. Pewności nie ma, ale z 1/543 czyli z ~0,18% robi się 86%, czyli jakieś 467 razy więcej. Ups!

Oczywiście nie znamy tu samego hasła. Znamy jedynie – a i to jedynie ze sporym prawdopodobieństwem – jego hash. O tym, że to niekoniecznie jest problem, może będzie w którymś kolejnym wpisie.

W każdym razie gdybym był serwisem, to bałbym się odpytywać serwis trzeci o hashe haseł moich użytkowników. Użytkowników podejrzewam o proste, słownikowe hasła, jakiś serwis trzeci. Zwłaszcza jeśli ten serwis ma/może mieć także inne informacje, które pozwalają mu ustalić kto pyta o hasło. Tak właśnie może być w przypadku Cloudflare, który może dostawać część ruchu od użytkownika w ramach CDN, DNS lub DoH. Prosta korelacja czasowa może w tym przypadku prowadzić do powiązania hasha hasła z IP użytkownika. Jeśli chcemy sprawdzać hasła, to lepszym rozwiązaniem jest stworzenie lokalnej kopii bazy którą pobierzemy z HIBP.

Co nie znaczy oczywiście, że k-anonimowość ogólnie nie spełnia swojego zadania. Po prostu mam wrażenie, że akurat w przypadku hashy hasła i tej konkretnej implementacji nie jest tak bezpieczna, jak jest to przedstawiane.

Warto też zauważyć, że hasło z którym mamy tu do czynienia jest proste/populare. Dla innych pięcioznakowych początków hashy wystąpienia mogą rozkładać się inaczej, bez tak silnego wskazania na konkretny hash.

UPDATE Tak naprawdę nie ma potrzeby używania całej bazy hashy i ilości ich wystąpień z HIBP (>20GB). Najczęściej występujące 100 tys. hashy to raptem 3,2 MB. Najczęstszy milion – 32 MB.

Niedoszła afera z Brave

Wszystko zaczęło się od wpisu o nieco przydługim tytule The Brave web browser is hijacking links, and inserting affiliate codes, który podrzucił kumpel z pracy. Z tytułu wynika, że Brave podmienia linki tak, aby używane były jego kody afiliacyjne.

Krótko o afiliacji – serwisy internetowe płacą za ruch, albo, dokładniej, za określone akcje użytkowników. Np. rejestracja w serwisie czy zakup produktu. Zwykle wejście od określonego polecającego jest identyfikowane przez odpowiedni parametr w URL, zliczana jest liczba interakcji, a na koniec okresu rozliczeniowego podmiot kierujący użytkowników do serwisu dostaje pieniądze. Takie płatne polecanie.

Z kolei Brave to przeglądarka, która reklamuje się jako szybka, bezpieczna. Blokuje reklamy i trackery, w zamian oferując użytkownikom możliwość zarabiania za oglądanie reklam i dzielenia się z twórcami stron WWW. Brzmi nieco utopijnie i podchodziłem nieco sceptycznie, ale… sprawdziłem, faktycznie jest szybka i bardzo łatwo pozwala na blokowanie reklam, bez konieczności zabawy z rozszerzeniami typu uBlock. Nie jestem fanem, ale przyznaję, że to świetna kombinacja do niektórych zastosowań.

Jak widać w artykule kręcona jest afera, jakoby przeglądarka Brave podmieniała linki i wstawiała swoje kody. Tak naprawdę użytkownikowi końcowemu jest raczej obojętne, kto skorzysta na jego rejestracji w jakimś serwisie. Oczywiście cicha podmiana psułaby biznes afiliacyjny, ale byłby to raczej problem wydawców. I żeby doszło do podmiany, użytkownik i tak musiałby wykonywać interakcję z portalem, na którym uruchomiona jest afiliacja. Biorąc pod uwagę, że chodzi o kilka portali związanych z krytpowalutami, szansa na to jest
niewielka. Więc nawet gdyby o to chodziło, to wpływ na użytkownika końcowego jest dyskusyjny i nie widzę powodu by rezygnować z dobrej przeglądarki. Choć oczywiście takie działanie byłoby kontrowersyjne od strony etycznej i ingerowałoby w wolność użytkowników.

Trochę dziwne byłoby jednak trzymanie listy „cichych podmian” publicznie w źródłach na GitHubie, prawda? No właśnie… Używam od pewnego czasu trybu przypuszczającego, bo tak naprawdę nie o podmienianie linków tak naprawdę chodzi. Z tego co sprawdziłem, nie chodzi o cichą podmianę bez wiedzy użytkownika, tylko o… wyświetlenie w sugerowanych stron z linkiem afiliacyjnym w ramach podpowiedzi, gdy użytkownik wpisuje odpowiedni ciąg w adresie strony.

Podpowiedź w pasku adresu w przeglądarce Brave

Użytkownik musi samodzielnie, ręcznie wybrać URL będący linkiem afiliacyjnym. Co więcej, opcję podpowiadania można w ogóle wyłączyć w ustawieniach, po prostu klikając, nie trzeba używać żadnych ukrytych opcji.

Wiadomo, że Brave to projekt komercyjny, więc jakoś zarabiać musi, ale w tym przypadku w mojej ocenie nie dzieje się nic złego. Nadal spokojnie można używać Brave, jeśli komuś zależy na szybkiej przeglądarce z wbudowanym blokowaniem reklam. Z racji tego, że źródła Brave są dostępne na GitHubie, ciche nadużycia będą raczej trudne do przeprowadzenia.

UPDATE: Dodałem screenshot poglądowy jak to wygląda. Ale przyznaję, że sprawdziłem niedokładnie i trochę racji w zarzutach jest – jeśli wpiszemy cały ciąg binance.us to jako podpowiedź wskakuje pierwszy URL, więc wciśnięcie klawisza enter w tym momencie spowoduje wejście z linkiem afiliacyjnym od Brave:

Podpowiedź w pasku adres w przeglądarce Brave – pełna nazwa, podświetlony link, który będzie użyty po wciśnięciu enter.
Podpowiedź w pasku adres w przeglądarce Brave – pełna nazwa plus spacja, podświetlony link, który będzie użyty po wciśnięciu enter.

Jak widać jest to widoczne dla użytkownika, jak widać powyżej dodanie jakiegokolwiek znaku (spacja, /) po binance.us spowoduje wejście bezpośrednie, bez podpowiedzi, ale… jest.