Dzień, w którym cenzura Sieci w Polsce stała się faktem
Stało się. Dziś weszła w życie ustawa tak zwana “antyterrorystyczna”. W niej zaś znajdziemy artykuł 32c, którego punkt pierwszy brzmi (polecam jednak lekturę całego artykułu):
W celu zapobiegania, przeciwdziałania i wykrywania przestępstw o charakterze terrorystycznym oraz ścigania ich sprawców sąd, na pisemny wniosek Szefa ABW, złożony po uzyskaniu pisemnej zgody Prokuratora Generalnego, w drodze postanowienia, może zarządzić zablokowanie przez usługodawcę świadczącego usługi drogą elektroniczną dostępności w systemie teleinformatycznym określonych danych informatycznych mających związek ze zdarzeniem o charakterze terrorystycznym lub określonych usług teleinformatycznych służących lub wykorzystywanych do spowodowania zdarzenia o charakterze terrorystycznym, zwane dalej „blokadą dostępności”.
Jednym słowem, szef ABW w porozumieniu z Prokuratorem Generalnym mają prawo zablokować dowolną stronę, treść czy usługę w Internecie. I to, zgodnie z pkt. 4, “w sprawach niecierpiących zwłoki” na 5 dni bez decyzji sądu. A kto decyduje, że sprawa nie cierpi zwłoki? ABW i Prokurator Generalny, rzecz jasna!
Zastanawiające, że ani w komunikacie MSWiA na temat (jeszcze projektu) tej ustawy, ani w komunikacie na stronie Sejmu, ani słowem się nie zająknięto na temat tych nowych uprawnień ABW.
Czy powodem może być roztargnienie? Bardzo nie chcę wierzyć, że nasi szanowni włodarze, dniem i nocą czuwający nad naszym bezpieczeństwem, są aż tak roztargnieni, by zapomnieć wspomnieć o dość ważnym elemencie ustawy tak ważnej, że nie przeprowadzono nawet konsultacji społecznych (musiał to za rząd zrobić RPO), by nie opóźniać jej wejścia w życie…
Być może pominięcie to wynika z faktu, że nikt tak naprawdę nie jest w stanie wskazać, w jaki sposób zablokowanie jakiejkolwiek treści miałoby pomóc w walce z terroryzmem? Zwłaszcza blokowanie treści w tak błyskawicznym trybie? Myślałbym, że raczej należałoby treści nie blokować, ale bacznie przyglądać się, kto uzyskuje do niej dostęp. Ale ja tam się nie znam.
Moim ulubionym pytaniem na które nie ma nigdzie odpowiedzi, bo jakże miałaby być, jest jednak pytanie zadane mi w mediach społecznościowych Fundacji Panoptykon. Brzmiało ono:
Czy ‘ekspert’ Michał “rysiek” Woźniak może wyjaśnić, jak pisowski rząd będzie rozpakowywał transmisję SSL?
No więc właśnie tu jest pies pochowany, jest to doskonałe i ważne pytanie, tyle że… to nie ja powinienem to wyjaśnić. Warto by to pytanie (i parę innych) zadać ABW. Drogie ABW – jak zamierzacie rozpakowywać transmisję SSL?
Zostałem jednak do tablicy wywołany, więc spróbujmy. By nie było zbyt łatwo, zmierzę się z pytaniem szerszym: w jaki sposób pobożne życzenia ABW, Prokuratora Generalnego i twórców tej ustawy mają się do rzeczywistości, a konkretnie faktu, że połączenia SSL/TLS stają się standardem?
Odpowiedź krótka: nijak. Ale od początku.
Czym jest połączenie SSL?¶
Połączenie SSL (czy dziś raczej TLS) to połączenia szyfrowane stosowane szeroko w komunikacji przez Internet. Zielona kłódeczka przy adresie strony banku oznacza właśnie, że komunikacja jest szyfrowana i nikt poza operatorem strony a naszą przeglądarką nie ma możliwości odczytania treści komunikacji.
Problem w tym, że SSL/TLS opiera się na systemie certyfikatów wydawanych przez urzędy certyfikacji. Każdy urząd certyfikacji może wydać certyfikat dla dowolnej domeny, a my musimy ufać, że nie będą ich rozdawać komu popadnie. Np. rządom z cenzorskimi zapędami.
Czy można rozpakować transmisję SSL?¶
Teoretycznie można. Gdyby ktoś uzyskał (wykradł? zażądał?) dostęp do kluczy prywatnych dowolnego z tych urzędów, miałby możliwość swobodnego wydawania certyfikatów dla dowolnej domeny. Czyli mógłby wykonywać atak Person in the Middle: przeglądarce użytkowniczki przedstawiać się ważnym certyfikatem, który samemu sobie wygenerował. Ponieważ sam sobie wygenerował certyfikat, ma powiązany z nim klucz prywatny pozwalający rozszyfrować transmisję. Po jej przejrzeniu (lub ocenzurowaniu jej części), szyfruje wszystko prawdziwym certyfikatem serwera, z którym użytkowniczka chciała się łączyć.
Dla serwera i dla użytkowniczki wszystko wygląda normalnie, tyle że nasz złośliwy atakujący (lub przyjazny agent ABW) ma dostęp do naszej komunikacji – może ją czytać, może też ją modyfikować.
I dotyczy to tak samo losowego bloga, jak i strony naszego banku.
Skąd wziąć klucze?¶
Można je wykraść. Urzędy certyfikacji powinny bardzo dbać o bezpieczeństwo, ale czasem… no cóż. Oczywiście nikt by nie podejrzewał miłościwie nam panujących o tak niecne metody (ani o odpowiednie kompetencje)!
Więc zamiast tego mogą odpowiednie certyfikaty zwyczajnie kupić. BlueCoat to firma, która oferuje rozwiązania “filtrujące” (czyt. cenzurujące) Sieć, sprawdzone u tak zacnych klientów, jak prezydent Assad. Problem w tym, że BlueCoat ma dziś możliwość wydawania dowolnych certyfikatów dla dowolnych domen. Mówią, że do testów. Ale gdzie jest popyt, znajdzie się podaż.
Dlaczego to kretyński pomysł?¶
To jednak nadal wymaga kosmicznych nakładów finansowych na sprzęt, który byłby w stanie w czasie rzeczywistym rozpinać SSL/TLS, cenzurować treści, po czym spajać te połączenia na tyle szybko, by nikt nie zauważył. Podejrzewam, że w tym miejscu zgodzi się ze mną autor pytania: to jest zwyczajnie niewykonalne na skalę całego ruchu w kraju.
I tu pojawia się kolejny problem. Skoro ABW rękami operatorów telekomunikacyjnych nie będzie miało jak blokować konkretnych treści przesyłanych bezpiecznymi połączeniami SSL/TLS, to co dokładnie chcą blokować?
Oczywiście ABW może domagać się blokowania adresu IP, pod którym strona jest dostępna. Tu żadne szyfrowanie na poziomie, na którym działa SSL/TLS nie pomoże. Operator ustawia trasę na czarną dziurę, i cześć. Cóż jednak jeśli mówimy np. o grupie na popularnym portalu społecznościowym, który używa SSL/TLS, a na wezwanie ABW do zablokowania tej konkretnej grupy odpowie, że jakby niekoniecznie? Zablokują wszystkie IP tego portalu?
Co jeśli strona, którą ABW chce zablokować, stoi za rozwiązaniem takim, jak CloudFlare? Jeśli CloudFlare nie zgodzi się na zablokowanie danej strony, ABW musiałoby zablokować wszystkie adresy IP CloudFlare, co oznacza, że żadna z milionów stron korzystających z CloudFlare nie będzie dostępna w Polsce. Poprawka: SNI idzie czystym tekstem, nie trzeba więc blokować całego CloudFlare’a by zablokować jedną z domen z niego korzystających.
Jakby nie patrzeć, ABW jest w idiotycznej sytuacji. Rozpinanie ruchu SSL/TLS nie wchodzi w rachubę. Blokowanie całych domen ze względu na jeden wpis też jakby niekoniecznie. Problem w tym, że to nie jest powód, by na artykuł 32c w ustawie antyterrorystycznej machnąć ręką – bo “wszystkich nas nie rozszyfrują”.
To jest powód, dla którego w ogóle takich zapisów nie powinno być. Tymczasem zaś – czas odpalić SSL/TLS na wszystkim.