Hakerzy URLi

Od kilku dni we wszystkich mediach szeroko komentowana jest sprawa wycieku dużej ilości CV i listów motywacyjnych z programu stażowego banku Pekao S. A. Sprawa została omówiona przez blog WebFan, AntyWeb opisał reakcję PeKaO na całą sprawę, a VaGla przeanalizował sprawę od strony odpowiedzialności – tak więc chyba nie trzeba więcej dodawać.

Przy jej okazji tej sprawy, opublikowana została wypowiedź pana Arkadiusza Mierzwy, dyrektora biura prasowego Pekao, który zapowiadał przekazanie Policji adresów IP osób, które pobierały CV. Osoby te miały by zostać pociągnięte do odpowiedzialności karnej, gdyż wykorzystali błąd informatyków i bezprawnie ściągali na swoje komputery prywatne dane z serwera banku PEKAO SA. Ten sam pan powiedział, że dane były ukryte, gdyż trzeba było przecież specjalnie wstukać określony adres.

Pomijając wszystkie inne kwestie związane z brakiem zabezpieczeń, przychodzi mi do głowy inne pytanie – czy otwarcie jakiegokolwiek URLa może być traktowane jako włamanie?

Do sprawy bezpieczeństwa można podchodzić jak pan z Pekao, dla którego katalog, do którego nie ma linku, jest zabezpieczeniem – klasyczny przykład security through obscurity. Założenie, że takie działanie zapewnia „bezpieczeństwo”, jest błędne, z wielu powodów. Pan Mierzwa doszedł do wniosku, że pomysłowość internautów doprowadziła do odkrycia „schowanych” katalogów (błędny wniosek, ale o tym później) – tak więc jeśli ktokolwiek miał w którymkolwiek momencie projektowania/konfigurowania aplikacji na myśli bezpieczeństwo, wiedziałby, że prędzej czy później ktoś spróbuje wpisać adres ze zmienionym ID, spróbuje wylistować katalog, czy poszuka katalogów „tmp”.

W podobnej atmosferze rozegrała się „afera” wycieku raportu kwartalnego spółki Intentia International, który to raport został omówiony przez agencję Reuters jeszcze przed jego oficjalnym opublikowaniem. Oczywiście raport był niezabezpieczony, a jedynie „niepodlinkowany”. Intentia oskarżyła Reutersa o stosowanie hackingu w celu wykradnięcia tajnych danych. Widać ostatnio dużo łatwiej jest zostać hakerem niż kiedyś – wystarczy zmienić „raport_kwartalny_2” na „raport_kwartalny_3” w pasku przeglądarki. Dziwne tylko, że Intentia nie wstydziła się chwalić wszystkim, że przechowuje niezabezpieczone dane.

Ale w sprawie Pekao sprawa była jeszcze prostsza. Nikt nie musiał „hakować URLi”. Glucio, osoba która odkryła sprawę i ją trochę nagłośniła, wcale nie kombinowała z adresami. Otóż Glucio, w celach rozrywkowych, szukał w Google osób o takim samym jak on nazwisku – przypadek chciał, że takie nazwisko miała jedna z osób, która przesłała swoje CV do programu stażowego Pekao. Jeśli wejście na stronę znalezioną przez wyszukiwarkę wg. przedstawicieli Pekao jest przestępstwem, to jest to świetny sposób na nielubianych znajomych i wrednych szefów. Wystarczy podrzucić takiej osobie link do jakiegoś CV, najlepiej jeszcze zakryć link przez jakiegoś skracacza URLi, i już, kłopoty „wroga” murowane.

Jakim cudem GoogleBot trafił na strony, do których podobno nie było linków? Prawdopodobnie któryś z programistów projektu miał Google Toolbar, który przekazuje dane do wyszukiwarki – co pokazuje, że musieli być świadomi, że można wyświetlić listing katalogu (na razie teorie o włamaniu pomijam jako niepotwierdzone). W jakim świetle to stawia oskarżenia pana Mierzwy? Zastosował on spychologię, ale najwyraźniej oskarżył nie tych co trzeba – powinien zapowiedzieć podanie do sądu robaka Google’a.

W takich sytuacjach pojawia się kilka pytań. Na przykład, czym wpisanie adresu http://example.com/tajne_dane/ różni się od wpisania samego http://example.com/, i trafienia tam na tajne dane, „ukryte”? W podobnych sytuacjach kilka razy słyszałem dziwne „analogie” i porównania do sytuacji, kiedy to ktoś nie zamknie drzwi od domu na klucz, a ktoś obcy skorzysta z tego i wejdzie do środka. Ciężko strony WWW ciężko traktować jak „dom” – do obejrzenia strony (a przynajmniej tej niezabezpieczonej hasłem) nie trzeba „zaproszenia”. Jeśli już bym się silił na jakieś porównanie, to prędzej bym porównał tą sytuację do prób otwierania drzwi sklepów lub biur, ale chyba wchodzenie do sklepu bez zaproszenia nie jest ani zakazane ani naganne moralnie. Ale nawet co do domów sprawa wygląda ciekawie. Otóż według prawa, aby doszło do włamania, drzwi muszą być zabezpieczone zamkiem, i to takim, który stanowi faktyczne zabezpieczenie, a nie tylko symboliczne – klamka czy dostępny od zewnątrz „haczyk” nie jest takim zabezpieczeniem:

Podstawową istotą włamania jest wtargnięcie sprawcy do zamkniętego pomieszczenia, przez usunięcie przy użyciu siły fizycznej przeszkody zamykającej dostęp do danego pomieszczenia. Pomieszczenie musi być zamknięte, tj. w taki sposób zabezpieczone przed wtargnięciem osób powołanych by normalne wejście było niemożliwe.
Usunięcie takiej przeszkody jest wyraźnym obejściem woli właściciela pomieszczenia niedopuszczenia osoby trzeciej do tegoż pomieszczenia. Zaznaczyć tu należy, iż wola ta musi być w poważny sposób wyrażona. Zamknięcie pomieszczenia na zwykły haczyk, który bez większej trudności każdy może odsunąć czy też zwykłą klamkę bez użycia klucza nie może być traktowane jako zamknięcie pomieszczenia i w takich wypadkach wejścia doń sprawcy i dokonanie kradzieży nie można traktować jako włamania.

(Wyrok SN z 24 kwietnia 1958 r., IV KRN 170/58.)

Poszukiwanie niezabezpieczonych, „tajnych” katalogów, na chybił-trafił, czy też mając jakieś wskazówki, to jedna strona problemu. Druga, to „ataki”, które przeprowadza się teoretycznie na formularze (np. logowania), a poprzez błędną ich konstrukcję (tj. akceptowanie parametrów GET), możliwe jest zrobienie tego po prostu przez wpisanie odpowiedniego URLa. W ten sposób można wykonywać m. in. ataki SQL-injection. Na ten temat można znaleźć w Internecie kilka historii. Na przykład znany jest przypadek Mateusza, który odkrył błąd w oprogramowaniu pewnej firmy informatycznej (prawdopodobnie CMS, ale nie zostało to nigdzie jasno napisane), z którego korzystało wiele firm. Błąd ten pozwalał w prosty sposób uzyskać dostęp do konta dowolnego użytkownika – wystarczyło wpisać w formularzu logowania ' or 1=1 --. Jeśli dodatkowo formularz akceptował parametry GET, można było to wpisać w pasku adresu. Mateusz poinformował o błędzie firmę programistyczną oraz jej klientów, z propozycją zajęcia się poprawą tego błędu, za co dostał nagrodę w postaci aresztowania i oskarżenia o wymuszenie rozbójnicze (!). Sprawa jest długa i zawiła, została dokładnie opisana przez zainteresowanego, i ciągnie się od 1,5 roku. Rzecz w tym, że prawnicy analizujący tą sprawę, a także poproszony przez prokuraturę o opinię rzeczoznawca, doszli do wniosku, że w tym przypadku nie doszło do żadnego przestępstwa. Specjaliści doszli do wniosku, że takie zabezpieczenie to żadne zabezpieczenie (dosłownie!), więc nie można mówić o omijaniu zabezpieczenia, a co dopiero jego przełamywaniu.

Kwestia różnicy między omijaniem a przełamywaniem zabezpieczenia w kontekście systemów informatycznych jest dla mnie bardzo niejasna. Co nieco mówią na ten temat dwa cytaty:

Reasumując, o popełnieniu przestępstwa określonego w art. 267 par 1 kk decyduje sposób uzyskania zastrzeżonej informacji, nie zaś samo jej uzyskanie. Jeżeli następuje to bez przełamywania zabezpieczeń – przestępstwa nie ma. Jeżeli sprawca wykorzystuje dziurę w konfiguracji lub oprogramowaniu systemowym po to, by uzyskać znajdującą się w systemie informację – nie można mu nawet przypisać usiłowania przestępstwa, o którym mówi art. 267 par 1 kk. Jeżeli wykorzystanie słabości systemu nie wymaga od hackera ingerencji w zapis na komputerowym nośniku informacji lub korzystania ze specjalnego oprogramowania – zachowanie takie w ogóle nie jest karalne.

(dr Andrzej Adamski, „Prawo karne komputerowe” (str.53), na temat art. 267 kk)

Nie można natomiast uznać za przełamanie zabezpieczenia obejścia mechanizmów lub procedur postępowania uniemożliwiających zapoznanie się z informacją osób nieuprawnionych. Przełamanie zabezpieczenia następuje wyłącznie wówczas, gdy sprawca swoim działaniem wpływa na funkcjonowanie tego zabezpieczenia. Jeżeli istnieje taki sposób dostępu do informacji, który nie został objęty szczególnym zabezpieczeniem, to skorzystanie z tego sposobu nie stanowi realizacji znamion z art. 267 § 1, choćby nawet osobie zapoznającej się z informacjami wiadoma była wola ich zabezpieczenia przed osobami postronnymi.

(Włodzimierz Wróbel – „Komentarz do art. 267 kodeksu karnego”, „Kodeks karny. Część szczególna. Tom II. Komentarz do art. 117-277 k.k.”, Zakamycze 2006)

Z powyższych informacji wynika, że jeśli ktoś ma zbyt wyluzowane podejście do technik bezpieczeństwa, to to jest to tylko i wyłącznie jego wina jeśli coś „wycieknie”. Jeśli SQL injection, który jest już dosyć aktywnym atakiem, w pewnym, dosyć szerokim kontekście, nie może zostać uznany za przestępstwo, to co myśleć o wejściu na wyguglany adres?

Kampanie społeczne

Z telewizora spoglądają na mnie kolejne smutne dziecięce oczy. W okresie „przedPITowym” było ich szczególne zatrzęsienie – jak nie z domu dziecka, to hospicjum. To chyba najpopularniejsza metoda wyciągnięcia pieniędzy od ludzi (w tym przypadku – 1% podatku) – sprawić, żeby poczuli się źle, że im jest lepiej niż innym ludziom, żeby mieli wyrzuty sumienia, że nie są śmiertelnie chorzy i mają dach nad głową.

Może jestem bez serca, ale odrzucają mnie takie metody. Nie lubię, jak się próbuje ze mnie wyciągnąć cokolwiek w ten sposób. Z czasem zupełnie „wyłączyłem się” na takie reklamy.

Ale to nie wszystko. Bardzo dużo tzw. „kampanii społecznych” się na tym opiera. Szare obrazy, smutne spojrzenia – nic tylko się powiesić. Nie orientuję się w realiach międzynarodowych, ale widziałem sporo zagranicznych kampanii, i tam mają raczej inne podejście. Może to „nasza” specyfika?

W komercyjnych reklamach bywają podobne zagrania, ale moim zdaniem to bardzo ryzykowna sprawa. Na przykład ostatnia kampania Link4 – nie płać pośrednikom, ileś-set tysięcy ludzi już odeszło od pośredników, pośrednicy bez pracy itp. Mi osobiście zrobiło się szkoda tych biednych panów pośredników pokazanych w reklamach, i pierwsza moja myśl, to „cholerni kapitaliści z Link4, zabierają chleb porządnym ludziom” (w ostatnim spocie pośrednio coś takiego powiedzieli nawet). Tak więc – zaryzykowali, i przynajmniej w moim przypadku, nie udało im się.

Code swarm

Kilka dni temu, przeglądając RSSy z dZone, trafiłem na bardzo ciekawy projekt. Code_swarm to pomysł na wizualizację aktywności projektów poprzez wygenerowanie bardzo specyficznej animacji na podstawie logów z CVSu/SVNu. Każdy commit jest cząsteczką, która krąży wokół osoby, która go dokonała. Im więcej commitów, tym wyraźniejszy staje się login osoby. Całość wygląda bardzo estetycznie, a z komentarzami dotyczącymi wydarzeń w projekcie i miłym podkładem muzycznym animację ogląda się z przyjemnością.

Obecnie dostępne są filmy obrazujące historię rozwoju Pythona, Eclipse’a, PostgreSQLa i Apache’a. Kod źródłowy programu jest od kilku dni dostępny w repozytorium google code, więc każdy może stworzyć własny film.

Poniżej można obejrzeć wizualizację rozwoju Pythona – całość wygląda bardzo obrazowo, zwłaszcza „boom” na początku roku 2000.

Totolotek dla realistów

Po kolejnym braku „szóstki” w totku, przyszedł mi do głowy pewien pomysł. Nazwałem go „Totolotkiem dla realistów”, aczkolwiek może dotyczyć wszelkiej maści ludzi, którzy mają świadomość nikłości szansy trafienia szóstki.

Otóż mój pomysł jest taki, że zamiast wyrzucać pieniądze jak za przeproszeniem przysłowiowemu „psu w dupę”, można to robić trochę inaczej. Taki klient by przychodził do kolektury „Rotka” (niech będzie taka nazwa, dla skrótu) ze swoją kartą klienta. Karta byłaby przypikiwana, klient by dawał pieniądze, powiedzmy te 16 zł tygodniowo (co odpowiada 8-miu zakładom w Totka), z których firma by zatrzymywała 10 procent, a reszta by była zapisywana do indywidualnego konta klienta. Statystycznie raz na miesiąc klient by niespodziewanie otrzymywał 16 zł (odpowiednik „trójki”), a raz do roku – 150 zł („czwórka”). Reszta by była wypłacana po 10 latach.

Co to daje? Mniej frustracji, że wyrzuca się pieniądze w błoto, a z drugiej strony istnieje pewna „nagroda”, w zasadzie gwarantowana, która osładza trochę fakt oddawania swoich pieniędzy „obcym”.

Sperlonga 2006: Wspinanie na zachodzie

Minął już ponad rok czasu od wyprawy do Sperlongi, więc chyba pora najwyższa, żeby coś o niej napisać.

Sperlonga, miejscowość w środkowych Włoszech, na południe od Rzymu, na wybrzeżu Adriatyku, to dosyć częsty cel wyjazdów wspinaczkowych Polaków – głównie ze względu na łatwość dojazdu i duże urozmaicenie dróg (dla każdego coś się znajdzie). Odpowiednio wcześnie wykupione bilety tanich linii lotniczych pozwalają nawet na wyjazd weekendowy za umiarkowaną cenę…

Czytaj dalej Sperlonga 2006: Wspinanie na zachodzie

Ot, nasza polityka

Wkraczający w smugę cienia mężczyzna o niepokojącej fryzurze siedzi za stołem. Peroruje. Potrząsa trzymanym w prawej ręce silikonowym penisem, w lewej trzyma broń. W telewizorze za jego plecami lecą sceny gwałtu. W kącie dwa nagie manekiny, na każdym tablica z wulgarnym napisem. To nie zdjęcia operacyjne z zatrzymania azjatyckiego pornobarona. To poseł na Sejm Rzeczypospolitej Janusz Palikot urządza konferencję.

Newsweek 18/2007, s. 128, Szymon Hołownia: „Palikot i Goździkowa”

A podobno polityka jest nudna…

WebStarFestival, czyli klika daje sobie nagrody

Drogą okrężną (info na IRCu -> pierwsza strona gazeta.pl -> artykuł o twórcy nasza-klasa) trafiłem na stronę nagród „WebStarFestival”. W polskim webie siedzę dosyć głęboko, a do tej pory nie słyszałem o tych nagrodach, przyznawanych corocznie od 2005 roku – coś mi się kołacze po głowie, że pierwszą edycję reklamowały billboardy, ale nie jestem pewien.

„Webstarfestival to najbardziej prestiżowy konkurs na najlepsze strony w polskim internecie” – Gazeta Wyborcza, 1 grudnia 2006.

Powyższy cytat, kosztowne reklamy i niezbyt duży zasięg nagród zapaliły żaróweczkę ostrzegawczą. Nic to, ale starając się być otwarty na różne zjawiska, których być może nie zauważałem, zacząłem przeglądać stronkę.

Na dole strony znajduje się, może niezbyt długa lista partnerów, ale za to takich, którzy dysponują dużą gotówką (gazeta.pl, onet.pl, o2.pl, Rzeczpospolita, pkt.pl, NASK, kilka sieci reklamowych i firm związanych z PR). Ale to też jeszcze może nic nie znaczyć – ot, duzi sponsorzy, nie przy tym jednym konkursie.

Pora przejść do przeglądania serwisów, którym przyznano statuetkę.  Nagrody przyznawane są w kilku kategoriach – od sklepów internetowych i stron firmowych, przez administrację publiczną, do blogów. Z aktualnych nagród kilka przyciągnęło moją uwagę.

W czasie oglądania nagrodzonych i wyróżnionych zauważyłem, że znaczna część to serwisy należące do „patronów” konkursu. Przykładowo do grupy onet należy dziecko.onet.pl (wyróżnienie w kategorii „Dziecko i Rodzina”), portalwiedzy.onet.pl (wyróżnienie w kategorii „Edukacja”), Zumi.pl (nagroda w kategorii „Nowe strony”), kobieta.onet.pl (wyróżnienie w kategorii „Odzież, Moda i Uroda”), a także serwis „niemowle.onet.pl” zakamuflowane pod nazwą pampers.pl („Webstar Internautów” w kategorii „Dziecko i rodzina”). Jeszcze więcej nagród dostały „dzieła” Agory: GazetaDom.pl (nagroda – „Dom i Ogród”), eDziecko.pl (nagroda – „Dziecko i Rodzina”), plotek.pl (nagroda – „Kultura i Rozrywka”), GazetaWyborcza.pl (nagroda – „Media”), sport.pl (wyróżnienie – „Nowa strona WWW”), groszki.pl (wyróżnienie – „Odzież, Moda i Uroda), blox.pl (wyróżnienie – „Społeczność”), sport.pl (nagroda – „Sport i Rekreacja”), gazetapraca.pl (wyróżnienie – „Usługi Profesjonalne), wiadomosci.gazeta.pl (nagroda – „Wiadomości i Informacje”). Agora dostała też nagrody „Webstar Creative” w kategoriach „Zintegrowana kategoria reklamowa”, „Banner/Display”, „Tekst/Copywriting”, „Web” i „Animacja & Gra”. Sporo, prawda?

Pomijam fakt, że część z powyższych serwisów jest wtórna (na przykład plotek.pl, który pojawił się  jako reakcja na popularność Pudelka i okolic) , pomijam już nawet fakt, czy te serwisy zasługują na te nagrody – bo niektóre są faktycznie wartościowe. Ale żeby zupełnie przypadkiem tyle serwisów należących do firm sponsorujących…?

Sytuację częściowo wyjaśnił przegląd reszty pozycji z menu strony. Otóż żeby w ogóle być branym pod uwagę w konkursie, trzeba za to zapłacić – promocyjna cena to jedyne 995 zł + VAT. Za wyznaczenie kategorii preferowanej (cokolwiek by to znaczyło) trzeba zapłacić dodatkowo 197 zł + VAT.

Nagrody przyznają członkowie Akademii Internetu. Członkowie AI stają się członkami AI będąc laureatem Webstar, albo przez mianowanie przez pozostałych członków. Kto jest kim i kiedy się nim stał – nie da się stwierdzić z ich stronki, nie da się wykluczyć możliwości, że wśród laureatów są strony tworzone przez członków AI.

Może jeszcze wyjaśnię czym jest „Webstar internautów”. Otóż jest to nagroda, która jest przyznawana w danej kategorii przez internautów w głosowaniu. Oczywiście nie można głosować na ulubione serwisy, a jedynie na jeden z 5-ciu, które wybrali jurorzy.

Ach, zapomniałbym o jeszcze jednej pozycji w menu strony. Otóż jest tam informacja, że za niewygórowaną cenę 1495 zł + VAT można się zapisać na jednodniowe, konkretnie ośmiogodzinne (z przerwą na lunch) warsztaty z Mind Mapping. Jacyś chętni?

Słowem podsumowania: całość wygląda na nagrody wymyślane i przyznawane wewnątrz kliki, która organizuje co roku szopkę z głosowaniem a później na dużej „Gali” wszyscy dotykają się nawzajem siusiakami przyznając nagrody.

Silly is a state of mind, stupid is a way of life.