10:05
25/8/2010

O usługach geolokalizacyjnych pisaliśmy juz w tekście “Proszę, obrabuj mnie“, zwracając uwagę na to, żę udostępniając światu informację gdzie teraz jesteśmy, udostępniamy także informację gdzie nas nie ma (w domu, z tą zarąbistą plazmą, którą chwaliliśmy się w publicznie dostępnym albumie na Facebooku).

Foursquare

Foursquare to jedna z usług geolokalizacyjnych — instalujemy aplikację na telefonie, ta na podstawie danych z GPS wyszukuje miejsca w pobliżu, do których możemy się wirtualnie “zameldować”. Jeśli gdzieś meldujesz się częściej niż inni, zostajesz gospodarzem (ang. mayor) i jeśli jest to np. restauracja, to możesz od jej szefa dostać sporą zniżkę.

A teraz porozmawiajmy o tym, jak w 9 liniach perla oszukać foursquare i zostać majorem dowolnego miejsca:

#!/usr/bin/perl -W
use IO::Socket;
srand;
sleep(rand()*600);
my $sock = IO::Socket::INET->new(PeerAddr=>'api.foursquare.com', PeerPort=>80, 
                                 Proto =>'tcp', Type=>SOCK_STREAM) or die;
$ARGV[1] += rand() * 0.0001 - 0.00005;
$ARGV[2] += rand() * 0.0001 - 0.00005;
my $str = "vid=$ARGV[0]&private=0&geolat=$ARGV[1]&geolong=$ARGV[2]";
print $sock "POST /v1/checkin HTTP/1.1\r\nHost: api.foursquare.com\r\nUser-Agent:"
            ." Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ "
            ."(KHTML, like Gecko) Version/3.0 Mobile/1C10 Safari/419.3\r\nContent"
            ."-Type: application/x-www-form-urlencoded\r\nAuthorization: Basic "
            ."XXXXXX\r\nContent-length: ", length($str)+2, "\r\n\r\n$str\r\n";
$_=<$sock>; 

Oczywiście XXXXX podmieniamy na wynik funkcji base64(“email:password”), a sam skrypt wywołujemy z 3 parametrami:

Teraz wystarczy odpalić to w pętli (albo cronie), i czekać na koronę “mayora”. Skrypt wprowadza losowe odchylenia od podanej pozycji oraz losowe opóźnienia (w granicy 10 min.) aby “uwiarygodnić” meldunki :>

Kto zauważył że…

Logowanie do usług geolokalizacyjnych takich jak Foursquare czy Gowalla przesyła wasze dane (e-mail i hasło) plaintekstem? Wprowadzony niedawno Facebook Places (który nie jest jeszcze dostępny w Polsce) jako jedyny uwierzytelnia użytkownika via SSL…

Darmowe Alibi?

Ciekawym wątkiem spoofowania meldunków w usługach geolokalizacyjnych jest możliwość zapewnienia sobie szybkiego i darmowego alibi :-) Wysoki sądzie, to nie ja wyniosłem bazę z Filmwebu, ja tego dnia byłem w Kutnie!

P.S. Trzymajcie się z dala od rynku w Krakowie, nie psujcie nam zabawy ;P

Przeczytaj także:


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

27 komentarzy

Dodaj komentarz
  1. “Impreza pod Krzyżem przed Pałacem Prezydenckim” rozwaliło mnie :D W Polsce chyba nie ma co liczyć na zniżki itp., nie?

  2. Chyba się walnęliście w adresie Foursquare’a (s/net/com/) ;)

  3. U mnie i tak pokazuje Warszawę mimo iż mieszkam 200km od niej. :D

  4. Zawsze można “oszukać” 4sq przez wersję mobilną – tyle że takie oszukiwanie mija się z celem.

    • Sławek: chyba, że weźmiesz pod uwagę chęć pozyskania jakiegoś alibi ;) (i nie jestem pewien, czy oficjalny klient, w “oszukańczym” żądaniu do 4sq, wraz z wybranym z listy miejscem oddalonym o 500 kilometrów nie wysyła aktualnych koordynatów GPS)

  5. Jakoś nie wierzę, żeby sąd w polsce przejął się takim wirtualnym dowodem. Ale sam pomysł ciekawy i trochę straszny – pokazuje jak bardzo ludzie się odsłaniają przez sieć i jak łatwo można to wykorzystać.

    • Sergi: sąd nie, ale np. dziewczyna, która podejrzewa swojego chłopaka o to, że wcale nie był w delegacji, a spotyka się z Mariolką, w większości przypadków uwierzy, że ON jednak był w Kutnie, bo facebook tak mówi ;)

  6. zawsze mozna wyslac, jakis mobilny zabawek poczta polska, wlaczony i poczekac az wroci, niech zbiera dane, no dla bezpieczesntwa powrotu niech to bedzie DHL :D

  7. @RafalB – myślę, że cokolwiek leżące w zamkniętej paczce, wożonej dostawczakami ma małe szanse na złapanie sygnały GPS – a wystająca antena może popsuć całą zabawę :P

  8. Angielskie “mayor” nijak ma się do polskiego majora, który jest stopniem oficerskim (po angielsku, niespodzianka!, major).
    Mayor to osoba sprawująca władzę samorządową, w polskich warunkach prezydent (miasta) bądź burmistrz i tak należy to tłumaczyć. Zresztą nie widzę sensu w odniesieniach militarnych do Foursquare. bo okupacja tych miejsc jest raczej… pokojowa :)

  9. mysle, ze alibi sami uniemozliwiliscie tym postem :)

    • @up: bo my zawsze za uczciwością i sprawiedliwością a przede wszystkim zgodnie z etyką zawodową ;)

  10. W zasadzie to nie jest hackowanie geolokacji, tylko aplikacji webowej. Dobry przykład, że dane przychodzące od klienta (przekraczające trust boundary) nie są zaufane. I tego, że klient/atakuJący wcale nie musi korzystać z tego klienta, którego mu dasz.

    Ciekawym zadaniem może być zaproponowanie modyfikacji sposobu działania aplikacji w taki sposób, by takie oszustwo nie było możliwe. Ktoś ma jakiś pomysł? :)

  11. @Torwald: Bo ja wiem… http://bit.ly/bwiTrg

  12. @Paweł: Zabezpieczenie aplikacji byłoby możliwe, gdyby wraz z żądaniem meldunku do danego miejsca wysyłane były aktualne koordynaty GPS, a 4sq po stronie serwera nie pozwalałby na meldunek do danego miejsca z pozycji oddalonej dalej niż powiedzmy 100m.

    I tak w zasadzie jest to teraz robione, z tym, że aplikacja nie ma przecież pewności (i nigdy mieć nie będzie), że pozycja przekazywana przez telefon jest prawdziwa — w końcu na większości telefonów można przechwycić odwołanie aplikacji do modułu GPS i podsunąc swoje dane. (Nawet jeśli ktoś rozwiąże problem zaufania do modułu GPS, to zostaje spoofing GPS poprzez zagłuszanie sygnału satelitów *EG*)

    Można też pojść w statystykę i prawdopodobieństwo w oparciu o odległości czasowe i fizyczne pomiędzy poszczególnymi meldunkami. Meldunek na Hawajach i 5 min. później meldunek “we Warszawie” to sytuacja niemożliwa bez umiejętności teleportacji — serwis ubija więc oba meldunki, banuje użytkownika albo melduje go na trzy dni w “Piekle oszustów” :-)

  13. @Piotr: Bardziej chodzi mi o to, że w takim modelu nie ruszając się z domu mogę wysyłać do serwisów ślady GPS, które będą sugerowały, że podróżuję po świecie jak krasnal z Amelii. I nie muszę do tego wykorzystać telefonu, przechwytywania modułu lub zakłócania sygnału GPS albo innych cudów. Taki serwis nie ma możliwości weryfikacji autentyczności przesłanych danych.

    • Paweł: pozostaje jeszcze metoda weryfikacji stara jak świat: zdjęcie na tle lokalnej gazety ;)

  14. @Piotr: Zdjęcie, które też dostarczasz właśnie ty i jesteś w stanie praktycznie dowolnie nim manipulować? :) Ciekawe zagadnienie – jak efektywny byłby system automatycznej weryfikacji autentyczności zdjęcia?

    • Paweł: To może notariusz 4sq w każdym venue, weryfikujący Twoją bytność? …i oczywiścice niepodatny na łapówki :)

  15. Foursquare już się w pewien sposób zabezpiecza przed spoofingiem i zdobywaniem “mayorów”:

    “A mayor in foursquare is the user with the most number of *days* with check-ins at a specific place within the past 60 days. Only one check-in per day counts towards your mayorship tally. If you have a lot of check-ins that seem fake or consistently far away from where you are checking in, these check-ins will not count towards the mayorship total.”

    Źródło: http://support.foursquare.com/entries/231262-what-is-a-mayor

  16. @Aorta – nic z tego nie wynika, poza tym, że nie można sobie tak łatwo “nabić” odwiedzin.
    Randomizacja meldunków eliminuje też problem podejrzanych check-in (chyba że sprawdzają aż tak dokładnie i odróżniają prawdziwie losowe dane od pseudolosowych). Choć niewykluczone, że istnieje specjalny skrypt obliczający odległości od punktów i prędkość przemieszczania się userów.

  17. Jako pomysł ciekawe, ale:
    1. Aktualnie używana funkcja randomizująca sama wystawi oszusta przy większej ilości próbek – ma rzadko spotykany w naturze rozkład, więc jak ktoś porówna wyniki i/lub czas… ;-)
    2. Na poważniejsze alibi się nie nadaje. Mamy ustawę o retencji danych która nakazuje/pozwala (mniejsza o interpretację w tej chwili) na logowanie połączeń. Świetnie, że jest podana lokalizacja “z aplikacji z komórki”, ale brak połączenia do transmisji tychże danych, albo, co gorsza, jest połączenie z BTS kilkaset km dalej w tym czasie.

  18. motyw na pewno ma wielki potencjal

  19. Niezły sposób na zorganizowanie promocji jakiegoś lokalu. Wystarczy, że spora grupka zjawi się w pewnym miejscu i już taki ruch można zauważyć. Myślę, że taką usługę można spokojnie wykorzystać w celach marketingowych jakiegoś miejsca. :)

  20. O co chodzi z Post Scriptum? Co ma się dziac na rynku? :)

  21. serio ludzie korzystaja z takich bzdurnych uslug jakie oferuje 4square?

  22. @RafalB
    Kurier nie gubi paczek raczej, więc jak się coś wysyła można zawsze wrzucić komórkę z GPSem i zobaczyć jaką trasę pokonała paczka ;).

    W sumie wpadłem na lepszy pomysł. Wrzucić do takiej paczki jakiś sensor przyspieszenia, żeby sprawdzić jak mocno rzucają tymi paczkami ze sprzętem komputerowym, który zamawiamy przez internet ;)

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: