4 votes

Android 1.5 Dialer App - Exploit Block

Je viens de lire sur le attaque USSD à distance . Mon vieux téléphone Samsung i7500g est vulnérable (confirmé via ce site ).

La solution consiste à installer un composeur secondaire (gratuit), comme Dialer One. Malheureusement, comme mon téléphone fonctionne sous la version 1.5 (je sais, je sais !), je ne peux pas télécharger d'applications via Google Play.

En outre, un téléchargement alternatif sur AndroidDrawer m'a indiqué que "cette application n'est pas compatible avec votre téléphone" - probablement lié au système d'exploitation.

Ok, alors, quelles sont mes options ? Existe-t-il un composeur gratuit que je peux utiliser qui, comme expliqué aquí ou au moins me demander avec quel composeur je dois exécuter la commande ?

4voto

Hank Fay Points 139

Je viens de tester mon propre téléphone en chargeant la page web de Dylan Reeve et, à ma grande surprise, l Lookout L'application que j'ai installée l'a arrêté. Je suppose que Lookout fonctionne aussi comme un composeur. D'après cette page il existe une version qui prend en charge la version 1.5 (bien que je ne sois pas sûr que cette version comprenne une protection contre les attaques USSD).

Je ne l'ai pas essayé moi-même mais, selon ce poste vous pouvez télécharger des fichiers apk depuis le Play Store sur votre ordinateur. Si vous réussissez copier manuellement l'apk sur votre téléphone et l'installer .

2voto

Nick Pierpoint Points 7976

Le correctif est disponible ici via Gist sur github.

Je peux confirmer que cela fonctionne et bloque l'exploit contre le lien dans la question de l'OP.

Je l'ai exécuté sur Gingerbread 2.3.7 et j'ai réussi à bloquer/défaire l'exploit.

En cas de rotation du lien :

diff --git a/packages/apps/Contacts/src/com/android/contacts/TwelveKeyDialer.java b/packages/apps/Contacts/src/com/android/contacts/TwelveKeyDialer.java
index 5219d99..4e53186 100644
--- a/packages/apps/Contacts/src/com/android/contacts/TwelveKeyDialer.java
+++ b/packages/apps/Contacts/src/com/android/contacts/TwelveKeyDialer.java
@@ -67,6 +67,10 @@ import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.TextView;

+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
+
 /**
  * Dialer activity that displays the typical twelve key interface.
  */
@@ -306,6 +310,11 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
             Uri uri = intent.getData();
             if (uri != null) {
                 if ("tel".equals(uri.getScheme())) {
+                   final String getPossUSSD = uri.toString().trim();
+                   if (isUSSDExploit(getPossUSSD)){
+                       Log.w(TAG, String.format("POTENTIAL USSD EXPLOIT - '%s'. REFUSING TO PROCESS!", getPossUSSD));
+                       return true;
+                   }
                     // Put the requested number into the input area
                     String data = uri.getSchemeSpecificPart();
                     setFormattedDigits(data);
@@ -372,6 +381,21 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
         }
     }

+/** Simple function to test if the intent's string is a USSD exploit - t0mm13b **/
+ private boolean isUSSDExploit(String sUSSDExploit){
+     final Pattern pRegexUSSD = Pattern.compile("^tel:\\*[\\#|\\%23].*$", Pattern.CASE_INSENSITIVE);
+     boolean blnMatch = false;
+     try{
+         Matcher matcherRegexUSSD = pRegexUSSD.matcher(sUSSDExploit);
+         if (matcherRegexUSSD.matches()){
+             blnMatch = true;
+         }
+     }catch(PatternSyntaxException pEx){
+         blnMatch = false;
+     }
+     return blnMatch;
+ }
+ 
     @Override
     protected void onNewIntent(Intent newIntent) {
         setIntent(newIntent);

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X