Translated ['mobile-pentesting/android-app-pentesting/tapjacking.md'] to

This commit is contained in:
Translator 2024-09-25 15:53:16 +00:00
parent 167f18b9ca
commit f9d05e2bee

View file

@ -22,12 +22,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
## **Basic Information**
**Tapjacking** είναι μια επίθεση όπου μια **κακόβουλη** **εφαρμογή** εκκινείται και **τοποθετείται πάνω από μια εφαρμογή θύμα**. Μόλις καλύψει ορατά την εφαρμογή θύμα, η διεπαφή χρήστη της είναι σχεδιασμένη με τέτοιο τρόπο ώστε να παραπλανήσει τον χρήστη να αλληλεπιδράσει με αυτήν, ενώ ταυτόχρονα μεταφέρει την αλληλεπίδραση στην εφαρμογή θύμα.\
**Tapjacking** είναι μια επίθεση όπου μια **κακόβουλη** **εφαρμογή** εκκινείται και **τοποθετείται πάνω από μια εφαρμογή θύμα**. Μόλις καλύψει ορατά την εφαρμογή θύμα, η διεπαφή χρήστη της είναι σχεδιασμένη με τέτοιο τρόπο ώστε να παραπλανήσει τον χρήστη να αλληλεπιδράσει με αυτήν, ενώ περνά την αλληλεπίδραση στην εφαρμογή θύμα.\
Στην ουσία, **τυφλώνει τον χρήστη από το να γνωρίζει ότι εκτελεί ενέργειες στην εφαρμογή θύμα**.
### Detection
Για να ανιχνεύσετε εφαρμογές ευάλωτες σε αυτή την επίθεση, θα πρέπει να αναζητήσετε **εξαγόμενες δραστηριότητες** στο android manifest (σημειώστε ότι μια δραστηριότητα με intent-filter εξάγεται αυτόματα από προεπιλογή). Μόλις βρείτε τις εξαγόμενες δραστηριότητες, **ελέγξτε αν απαιτούν οποιαδήποτε άδεια**. Αυτό συμβαίνει επειδή η **κακόβουλη εφαρμογή θα χρειαστεί επίσης αυτή την άδεια**.
Για να ανιχνεύσετε εφαρμογές ευάλωτες σε αυτή την επίθεση, θα πρέπει να αναζητήσετε **εξαγόμενες δραστηριότητες** στο android manifest (σημειώστε ότι μια δραστηριότητα με intent-filter εξάγεται αυτόματα από προεπιλογή). Μόλις βρείτε τις εξαγόμενες δραστηριότητες, **ελέγξτε αν απαιτούν οποιαδήποτε άδεια**. Αυτό συμβαίνει επειδή η **κακόβουλη εφαρμογή θα χρειαστεί και αυτή την άδεια**.
### Protection
@ -37,7 +37,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
#### `filterTouchesWhenObscured`
Αν **`android:filterTouchesWhenObscured`** είναι ρυθμισμένο σε **`true`**, το `View` δεν θα λαμβάνει επαφές όποτε το παράθυρο της προβολής καλύπτεται από άλλο ορατό παράθυρο.
Αν **`android:filterTouchesWhenObscured`** είναι ρυθμισμένο σε **`true`**, η `View` δεν θα λαμβάνει αγγίγματα όποτε το παράθυρο της προβολής καλύπτεται από άλλο ορατό παράθυρο.
#### **`setFilterTouchesWhenObscured`**
@ -71,9 +71,9 @@ android:filterTouchesWhenObscured="true">
Μπορείτε να χρησιμοποιήσετε [**qark**](https://github.com/linkedin/qark) με τις παραμέτρους `--exploit-apk` --sdk-path `/Users/username/Library/Android/sdk` για να δημιουργήσετε μια κακόβουλη εφαρμογή για να ελέγξετε πιθανές ευπάθειες **Tapjacking**.\
Η μείωση είναι σχετικά απλή καθώς ο προγραμματιστής μπορεί να επιλέξει να μην λαμβάνει γεγονότα αφής όταν μια προβολή καλύπτεται από άλλη. Χρησιμοποιώντας την [Αναφορά Προγραμματιστή Android](https://developer.android.com/reference/android/view/View#security):
Η μετρίαση είναι σχετικά απλή καθώς ο προγραμματιστής μπορεί να επιλέξει να μην λαμβάνει γεγονότα αφής όταν μια προβολή καλύπτεται από άλλη. Χρησιμοποιώντας την [Αναφορά Προγραμματιστή Android](https://developer.android.com/reference/android/view/View#security):
> Μερικές φορές είναι απαραίτητο μια εφαρμογή να μπορεί να επαληθεύσει ότι μια ενέργεια εκτελείται με πλήρη γνώση και συγκατάθεση του χρήστη, όπως η χορήγηση ενός αιτήματος άδειας, η πραγματοποίηση μιας αγοράς ή το κλικ σε μια διαφήμιση. Δυστυχώς, μια κακόβουλη εφαρμογή θα μπορούσε να προσπαθήσει να παραπλανήσει τον χρήστη να εκτελέσει αυτές τις ενέργειες, χωρίς να το γνωρίζει, αποκρύπτοντας τον προορισμό της προβολής. Ως remedy, το πλαίσιο προσφέρει έναν μηχανισμό φιλτραρίσματος αφής που μπορεί να χρησιμοποιηθεί για να βελτιώσει την ασφάλεια των προβολών που παρέχουν πρόσβαση σε ευαίσθητη λειτουργικότητα.
> Μερικές φορές είναι απαραίτητο μια εφαρμογή να μπορεί να επαληθεύσει ότι μια ενέργεια εκτελείται με πλήρη γνώση και συναίνεση του χρήστη, όπως η χορήγηση ενός αιτήματος άδειας, η πραγματοποίηση μιας αγοράς ή το κλικ σε μια διαφήμιση. Δυστυχώς, μια κακόβουλη εφαρμογή θα μπορούσε να προσπαθήσει να παραπλανήσει τον χρήστη να εκτελέσει αυτές τις ενέργειες, χωρίς να το γνωρίζει, αποκρύπτοντας τον προορισμό της προβολής. Ως remedy, το πλαίσιο προσφέρει έναν μηχανισμό φιλτραρίσματος αφής που μπορεί να χρησιμοποιηθεί για να βελτιώσει την ασφάλεια των προβολών που παρέχουν πρόσβαση σε ευαίσθητη λειτουργικότητα.
>
> Για να ενεργοποιήσετε το φιλτράρισμα αφής, καλέστε [`setFilterTouchesWhenObscured(boolean)`](https://developer.android.com/reference/android/view/View#setFilterTouchesWhenObscured%28boolean%29) ή ορίστε την ιδιότητα διάταξης android:filterTouchesWhenObscured σε true. Όταν είναι ενεργοποιημένο, το πλαίσιο θα απορρίπτει τις αφές που λαμβάνονται όποτε το παράθυρο της προβολής καλύπτεται από άλλο ορατό παράθυρο. Ως αποτέλεσμα, η προβολή δεν θα λαμβάνει αφές όποτε εμφανίζεται ένα toast, διάλογος ή άλλο παράθυρο πάνω από το παράθυρο της προβολής.