Home » Android » Protectie SMS suprataxa in Android 4.2
formats

Protectie SMS suprataxa in Android 4.2

Acum ceva vreme scriam despre noile măsuri de securitate introduse de Android 4.2. Printre ele se afla și protecția la trimiterea mesajelor către numere cu suprataxă din aplicațiile instalate.

Acum că am primit acest update am vrut să testez dacă protecția funcționează cu adevărat. Așa că după câteva căutări insistente pe net am instalat 2 programe malware ce știam că trimit SMS premium. La momentul instalării a fost activată o altă măsură de securitate cu care vine Android 4.2: scanarea aplicațiilor descărcate oficial și de către Google Play. Astfel pe lângă scanarea făcută de către bouncer, mai e verificată odată la descărcare.

Ei bine marea surpriză a venit după ce am rulat aplicațiile: acestea trimiteau totuși mesaje.

Așadar am început să caut motivul pentru care era permisă trimiterea mesajelor premium. Mesajele trimise de aceste aplicații nu erau într-adevăr către numere cu suprataxă pentru România întrucât răspunsul automat primit de la rețea era acela că destinația nu e bună. Am găsit algoritmul după care se face verificarea numerelor premium pe fiecare țară. Pentru România constrângerea este de a avea 4 cifre, cu numere precum 1263, 1266 fiind sigur premium, iar restul de 4 cifre posibil premium. Iată lista:

<?xml version=”1.0″ encoding=”utf-8″?>
<shortcodes>
<shortcode country=”al” pattern=”\\d{5}” premium=”15191|55[56]00″ />
<shortcode country=”am” pattern=”\\d{3,4}” premium=”11[2456]1|3024″ free=”10[123]” />
<shortcode country=”at” pattern=”11\\d{4}” premium=”09.*” free=”116\\d{3}” />
<shortcode country=”au” pattern=”19(?:\\d{4}|\\d{6})” premium=”19998882″ />
<shortcode country=”az” pattern=”\\d{4,5}” premium=”330[12]|87744|901[234]|93(?:94|101)|9426|9525″ />
<shortcode country=”be” premium=”\\d{4}” free=”8\\d{3}|116\\d{3}” />
<shortcode country=”bg” pattern=”\\d{4,5}” premium=”18(?:16|423)|19(?:1[56]|35)” free=”116\\d{3}” />
<shortcode country=”by” pattern=”\\d{4}” premium=”3336|4161|444[4689]|501[34]|7781″ />
<shortcode country=”ca” pattern=”\\d{5,6}” premium=”60999|88188″ />
<shortcode country=”ch” pattern=”[2-9]\\d{2,4}” premium=”543|83111″ />
<shortcode country=”cn” premium=”1066.*” free=”1065.*” />
<shortcode country=”cy” pattern=”\\d{4,6}” premium=”7510″ free=”116\\d{3}” />
<shortcode country=”cz” premium=”9\\d{6,7}” free=”116\\d{3}” />
<shortcode country=”de” pattern=”\\d{4,5}|1232\\d{3}” premium=”11(?:111|833)|1232(?:013|021|060|075|286|358)|118(?:44|80|86)|20[25]00|220(?:21|22|88|99)|221(?:14|21)|223(?:44|53|77)|224[13]0|225(?:20|59|90)|226(?:06|10|20|26|30|40|56|70)|227(?:07|33|39|66|76|78|79|88|99)|228(?:08|11|66|77)|23300|30030|3[12347]000|330(?:33|55|66)|33(?:233|331|366|533)|34(?:34|567)|37000|40(?:040|123|444|[3568]00)|41(?:010|414)|44(?:000|044|344|44[24]|544)|50005|50100|50123|50555|51000|52(?:255|783)|54(?:100|2542)|55(?:077|[24]00|222|333|55|[12369]55)|56(?:789|886)|60800|6[13]000|66(?:[12348]66|566|766|777|88|999)|68888|70(?:07|123|777)|76766|77(?:007|070|222|444|[567]77)|80(?:008|123|888)|82(?:002|[378]00|323|444|472|474|488|727)|83(?:005|[169]00|333|830)|84(?:141|300|32[34]|343|488|499|777|888)|85888|86(?:188|566|640|644|650|677|868|888)|870[24]9|871(?:23|[49]9)|872(?:1[0-8]|49|99)|87499|875(?:49|55|99)|876(?:0[1367]|1[1245678]|54|99)|877(?:00|99)|878(?:15|25|3[567]|8[12])|87999|880(?:08|44|55|77|99)|88688|888(?:03|10|8|89)|8899|90(?:009|999)|99999″ free=”116\\d{3}” />
<shortcode country=”dk” pattern=”\\d{4,5}” premium=”1\\d{3}” free=”116\\d{3}” />
<shortcode country=”ee” pattern=”1\\d{2,4}” premium=”90\\d{5}|15330|1701[0-3]” free=”116\\d{3}” />
<shortcode country=”es” premium=”[23][57]\\d{3}|280\\d{2}|[79]9[57]\\d{3}” free=”116\\d{3}” />
<shortcode country=”fi” pattern=”\\d{5,6}” premium=”0600.*|0700.*|171(?:59|63)” free=”116\\d{3}” />
<shortcode country=”fr” premium=”[4-8]\\d{4}” free=”3\\d{4}|116\\d{3}” />
<shortcode country=”gb” pattern=”\\d{4,6}” premium=”[5-8]\\d{4}” free=”116\\d{3}” />
<shortcode country=”ge” pattern=”\\d{4}” premium=”801[234]|888[239]” />
<shortcode country=”gr” pattern=”\\d{5}” premium=”54\\d{3}|19[0-5]\\d{2}” free=”116\\d{3}” />
<shortcode country=”hu” pattern=”[01](?:\\d{3}|\\d{9})” premium=”0691227910|1784″ free=”116\\d{3}” />
<shortcode country=”ie” pattern=”\\d{5}” premium=”5[3-9]\\d{3}” free=”50\\d{3}|116\\d{3}” standard=”5[12]\\d{3}” />
<shortcode country=”il” pattern=”\\d{4}” premium=”4422|4545″ />
<shortcode country=”it” pattern=”\\d{5}” premium=”4\\d{4}” free=”116\\d{3}” />
<shortcode country=”kg” pattern=”\\d{4}” premium=”415[2367]|444[69]” />
<shortcode country=”kz” pattern=”\\d{4}” premium=”335[02]|4161|444[469]|77[2359]0|8444|919[3-5]|968[2-5]” />
<shortcode country=”lt” pattern=”\\d{3,5}” premium=”13[89]1|1394|16[34]5″ free=”116\\d{3}” />
<shortcode country=”lu” premium=”6\\d{4}” free=”116\\d{3}” />
<shortcode country=”lv” pattern=”\\d{4}” premium=”18(?:19|63|7[1-4])” free=”116\\d{3}” />
<shortcode country=”mx” pattern=”\\d{4,5}” premium=”53035|7766″ />
<shortcode country=”my” pattern=”\\d{5}” premium=”32298|33776″ />
<shortcode country=”nl” pattern=”\\d{4}” premium=”4466|5040″ free=”116\\d{3}” />
<shortcode country=”no” pattern=”\\d{4,5}” premium=”2201|222[67]” />
<shortcode country=”nz” pattern=”\\d{3,4}” premium=”3903|8995″ />
<shortcode country=”pl” pattern=”\\d{4,5}” premium=”74240|79(?:10|866)|92525″ free=”116\\d{3}” />
<shortcode country=”pt” premium=”6[1289]\\d{3}” free=”116\\d{3}” />
<shortcode country=”ro” pattern=”\\d{4}” premium=”12(?:63|66|88)|13(?:14|80)” free=”116\\d{3}” />
<shortcode country=”ru” pattern=”\\d{4}” premium=”1(?:1[56]1|899)|2(?:09[57]|322|47[46]|880|990)|3[589]33|4161|44(?:4[3-9]|81)|77(?:33|81)” />
<shortcode country=”se” premium=”72\\d{3}” free=”116\\d{3}” />
<shortcode country=”sg” pattern=”7\\d{4}” premium=”73800″ standard=”74688″ />
<shortcode country=”si” pattern=”\\d{4}” premium=”[368]\\d{3}” free=”116\\d{3}” />
<shortcode country=”sk” premium=”\\d{4}” free=”116\\d{3}” />
<shortcode country=”tj” pattern=”\\d{4}” premium=”11[3-7]1|4161|4333|444[689]” />
<shortcode country=”ua” pattern=”\\d{4}” premium=”444[3-9]|70[579]4|7540″ />
<shortcode country=”us” pattern=”\\d{5,6}” premium=”20433|21(?:344|472)|22715|23(?:333|847)|24(?:15|28)0|25209|27(?:449|606|663)|28498|305(?:00|83)|32(?:340|941)|33(?:166|786|849)|34746|35(?:182|564)|37975|38(?:135|146|254)|41(?:366|463)|42335|43(?:355|500)|44(?:578|711|811)|45814|46(?:157|173|327)|46666|47553|48(?:221|277|669)|50(?:844|920)|51(?:062|368)|52944|54(?:723|892)|55928|56483|57370|59(?:182|187|252|342)|60339|61(?:266|982)|62478|64(?:219|898)|65(?:108|500)|69(?:208|388)|70877|71851|72(?:078|087|465)|73(?:288|588|882|909|997)|74(?:034|332|815)|76426|79213|81946|83177|84(?:103|685)|85797|86(?:234|236|666)|89616|90(?:715|842|938)|91(?:362|958)|94719|95297|96(?:040|666|835|969)|97(?:142|294|688)|99(?:689|796|807)” />
</shortcodes>

Acum că am lămurit și acest aspect, am decis să trimit pur și simplu un SMS din aplicația standard – ei bine, protecția funcționează și în acest caz. Utilizatorul e avertizat de posibila existență a unei suprataxări.

După cum observați textul spune că „may cause charges” deoarece e un număr de 4 cifre și nu se știe cu siguranță dacă e chiar premium. În cazul în care vreau să trimit la un număr ce sigur e cu suprataxă, textul se schimbă în „this will cause charges to your account”.

Totuși nu eram mulțumit de modul în care a decurs testul așa că am luat aplicațiile malware și le-am modificat astfel încât să trimită SMS la 1263 în loc de celelalte numere predefinite. Mai jos vedeți rezultatul: mai întâi instalez malware-ul original ce începe să trimită mesaje la un număr ce nu e cu suprataxă în România iar rețeaua mă avertizează că destinația nu e una corectă, după care instalez malware-ul modificat. De test, am acceptat ca unul dintre SMS-uri să fie trimis.

Un ultimul lucru pe care am vrut să-l testez era protecția la atacul prin SIM Toolkit. Din păcate acest lucru nu l-am putut testa deoarece odată cu update-ul a dispărut în mod misterios aplicația SIM Toolkit iar sistemul de operare nu mai știe de existența Application Toolkit scrisă pe SIM. Bineînțeles că în mod automat nici atacul nu mai funcționează dar am pierdut accesul la acest meniu rapid al cartelei.

 

UPDATE: În cele din urmă am reușit să fac aplicația să meargă. Cine mai pățește asta rezolvarea e următoarea: reactivați protecția prin PIN a cartelei.

Așadar am reușit să testez și din păcate noua versiune de Android 4.2 e încă vulnerabilă. M-aș fi așteptat să existe protecție și pe STK.apk dar se pare că nu. Demo-ul e mai jos

 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

Poți folosi aceste etichete și atribute HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

© m-sec.net
credit