Olen käsitellyt aiemmissa kirjoituksissani mobiilimaksamista (Mobiilimaksua) kolme kertaa. Vasta tänä syksynä
Mobiilimaksu-nimellä lanseerattiin ip-pohjainen mobiilimaksamistoiminto ja sen
käytöstä sekä toimintatavasta alettiin tiedottaa kuluttajia.
Jo yli vuosi sitten eräs suomalainen palveluntarjoaja väärinkäytti Mobiilimaksua. Koska lähes kukaan ei tiennyt Mobiilimaksun olemassaolosta ja toimintaperiaatteesta, pysyi toiminta hyvin näkymättömissä. Uskaltaisin väittää, että monelle ensikosketus ip-pohjaiseen mobiilimaksamiseen oli juurikin julkaisemani kirjoitus “Helvet** palvelutekstiviestit”, jossa käytiin teknisesti läpi Mobiilimaksun väärinkäyttöä.
Operaattorit saivat lisää lokaa syliinsä tänä syksynä, kun
Mobiilimaksun lanseeraus oli aivan ovella. Jälleen kerran epärehelliset
toimijat hyödynsivät Mobiilimaksua ja kansalaisilla oli laskuilla ylimääräisiä
veloituksia.
Edellä mainittujen kirjoituksien välisenä ajanjaksona tutkin
myös mahdollisuutta käyttäjän liittymänumeron (puhelinnumeron) luvattomaan
keräämiseen Mobiilimaksua hyväksikäyttäen. Lopputulemana keräys onnistui, mutta
vain Flash-ohjelmistoa käyttävistä selaimista.
Tässä kirjoituksessa tarkastellaan, kuinka liittymänumeron keruu onnistuu ilman Flash-tukea. Kirjoitus oli alunperin tarkoitus tehdä teknisemmäksi, mutta luovuin tässä vaiheessa ajatuksesta jakaa kaikkea tuota tietoa lähinnä väärinkäytön välttämiseksi.
On ollut nähtävissä, että operaattorit käyttävät kahta erilaista
tekniikkaa liittymänumeron toimituksessa palveluntarjoajalle.
Sonera tekee toimituksen täysin näkymättömästi. DNA:n ja Elisan osalta
Mobiilimaksun käyttö on havaittavissa liikennöinnistä, kun kyseessä on
palveluntarjoajalle tarjottava palvelu. Omissa palveluissaan DNA:n ja Elisan on
havaittu tekevän liittymänumeron toimitusta Soneran tapaan.
Soneralla on määriteltynä heidän järjestelmään web-sivustot, joille liittymänumero tulee lähettää. Jos tekisin sopimuksen
Soneran kanssa, voisin pyytää heiltä lisäystä vaikkapa kuvitellun
kotisivuni DNS-nimeen (www.mobiilimak.su). Tällöin kotisivullani
vierailevien Soneran mobiiliasiakkaiden liittymänumerot lähetettäisiin aina
kohti kotisivuani ja pystyisin kerätä liittymänumerot talteen.
DNA ja Elisa eivät lähetä liittymänumeroita suoraan palveluntarjoajan
web-sivustoja kohti, vaan liittymänumerot kiertävät erillisten maksuyhdyskäytävien
kautta. Maksuyhdyskäytävät vaikuttavat pysyvän samoina, joten ne on helppo
tunnistaa. Kuvassa 1 on esitettynä eroavaisuudet operaattorien kesken.
Kuva 1. Eroavaisuudet operaattoreilla.
|
Mobiilimaksamisen pystyy estämään normaaleilla
SMS-palveluestoilla. On kuitenkin
syytä huomioida, että minkään operaattorieston ei ole havaittu estävän liittymänumeron
lähettämistä. Liittymänumero lähetetään operaattorin toimesta aina, kun
kohdesivusto on Mobiilimaksun piirissä, vaikka estot olisi päällä. Halusit siis tai
et, liittymänumerosi siirtyy tietämättäsi palveluntarjoajan palvelimelle.
Suureksi ongelmaksi kuitenkin muodostuu se, että kuka tahansa pystyy keräämään
liittymänumeroita ilman minkäänlaisia palveluntarjoajan ja operaattorin sopimuksia.
Liittymänumeron keräys ilman operaattorisopimusta vaatii
Mobiilimaksua hyödyntävän palveluntarjoajan web-sivuston hyväksikäyttöä.
Web-sivuston on tulostettava käyttäjän liittymänumero näkyviin. Lisäksi web-sivustolta
on löydyttävä haavoittuvuus, jolla voidaan ohittaa “Same Origin Policy” (SOP).
SOP estää käytännössä sen, että sivusto X ei pysty pyytämään käyttäjän selainta
hakemasta sivuston Y sisältöä itselleen.
Kun edellä mainitut ehdot täyttyvät, luodaan web-sivusto,
jolle kohdekäyttäjä on tarkoitus saada vierailemaan. Web-sivustolle lisätään näkymätön
iframe-kehys, joka lataa palveluntarjoajan XSS-haavoittuvuuden sisältävän
web-sivuston. Javascript-koodi (XSS) tekee HTTP-pyynnön liittymänumeron sisältävälle
sivustolle ja palauttaa vastauksen muuttujaan. Muuttujan sisältö
(liittymänumero) lähetetään hyökkääjään määrittelemälle palvelimelle. Kuvassa 2 esitelty toimintaperiaate.
Yksityisyyden kannalta ip-osoite tarjoaa siinä mielessä
hyvän suojan, että sen omistajan voi selvittää vain oikeuden päätöksellä operaattorilta. Liittymänumero on lähes aina henkilökohtainen ja sen omistaja on helposti selvitettävissä. Sen lisäksi, että Mobiilimaksu
tuo kätevän maksamisen kaikille, “auttaa” se merkittävästi web-sivustolla vierailevan henkilön tunnistamisessa.
Elisan ja DNA:n liittymillä liittymänumeron lähetys on
mahdollista ehkäistä estämällä liikenne heidän maksuyhdyskäytäviänsä kohti.
Täyttä suojaa tämä ei takaa, koska myös operaattorien omista palveluista,
jolloin liikenne ei kierrä maksuyhdyskäytävien kautta, voi löytyä haavoittuvuuksia, jotka mahdollistavat liittymänumeron keruun.
Estämällä selaimesta javascript-koodin ajon, voidaan
suojautua hyökkäykseltä. Käyttömukavuuden kannalta tämä ei ole suositeltavin
vaihtoehto.
Soneran osalta ainoa keino estää
liittymänumeron lähetys, on käyttää VPN-yhteyttä. Tällöin Sonera ei pysty
lisäämään liittymänumeroa HTTP-pakettiin. Myöskään Elisa ja DNA eivät saa VPN-yhteyttä käytettäessä ohjauspyyntöä palveluntarjoajan web-sivustolta liittymänumeron
lähettämiseksi.
Riippumatta mitä operaattoria käytät, suosittelen
VPN-yhteyden käyttöä myös älypuhelimessasi, jotta liittymänumeroasi ei tungeta
tietämättäsi web-sivustoille, joilla vierailet tai varsinkaan hyökkääjän haltuun.
Seuraavassa Mobiilimaksu-aiheisessa kirjoituksessa
katsotaan, kuinka eräs palveluntarjoaja mahdollisti palveluiden tilaamisen kaverin matkapuhelinlaskulle.