12 Συμβουλές για να εξασφαλίσετε την ευφυΐα δεδομένων PlatoBlockchain της εφαρμογής σας για κινητά. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

12 Συμβουλές για να ασφαλίσετε την εφαρμογή για κινητά

Οι επιθέσεις στον κυβερνοχώρο και η κλοπή δεδομένων έχουν γίνει τόσο κοινές αυτές τις μέρες, ειδικά όταν πρόκειται για εφαρμογές για κινητές συσκευές. Ως αποτέλεσμα, οι εφαρμογές για κινητά που αντιμετωπίζουν παραβιάσεις ασφάλειας ενδέχεται να υποστούν οικονομικές απώλειες. Καθώς πολλοί χάκερ προσπαθούν να κλέψουν δεδομένα πελατών, η ασφάλεια αυτών των εφαρμογών έχει γίνει η νούμερο ένα προτεραιότητα για τους οργανισμούς και μια σοβαρή πρόκληση για τους προγραμματιστές. Σύμφωνα με πρόσφατη έρευνα της Gartner, Hype Cycle για την ασφάλεια εφαρμογών, οι επενδύσεις στην ασφάλεια εφαρμογών θα αυξηθούν κατά περισσότερο από δύο φορές τα επόμενα χρόνια, από 6 δισεκατομμύρια δολάρια φέτος σε 13.7 δισεκατομμύρια δολάρια έως το 2026. Επιπλέον, η έκθεση ανέφερε, «Η ασφάλεια εφαρμογών είναι πλέον κορυφαία για τους προγραμματιστές και την ασφάλεια επαγγελματίες, και η έμφαση στρέφεται τώρα σε εφαρμογές που φιλοξενούνται σε δημόσια σύννεφα.» Είναι σημαντικό να γίνουν σωστά τα θεμελιώδη στοιχεία της ασφάλειας DevOps. Ακολουθούν οι 12 συμβουλές για να ασφαλίσετε την εφαρμογή σας για κινητά: 

1. Εγκαταστήστε εφαρμογές από αξιόπιστες πηγές:

Είναι σύνηθες να αναδημοσιεύονται εφαρμογές Android σε εναλλακτικές αγορές ή τα APK και τα IPA τους να διατίθενται για λήψη. Τόσο το APK όσο και το IPA μπορούν να ληφθούν και να εγκατασταθούν από διάφορα μέρη, όπως ιστότοπους, υπηρεσίες cloud, μονάδες δίσκου, μέσα κοινωνικής δικτύωσης και κοινωνική δικτύωση. Μόνο το Play Store και το App Store θα πρέπει να επιτρέπεται να εγκαθιστούν αξιόπιστα αρχεία APK και IPA. Για να αποτρέψουμε τη χρήση αυτών των εφαρμογών, θα πρέπει να έχουμε έναν εντοπισμό ελέγχου πηγής (Play Store ή App Store) κατά την έναρξη της εφαρμογής.

Διαβάστε επίσης, https://andresand.medium.com/add-method-to-check-which-app-store-the-android-app-is-installed-from-or-if-its-sideloaded-c9f450a3d069

2. Root Detection:

Android: Ένας εισβολέας θα μπορούσε να ξεκινήσει μια εφαρμογή για κινητά σε μια συσκευή με root και να αποκτήσει πρόσβαση στην τοπική μνήμη ή να καλέσει συγκεκριμένες δραστηριότητες ή προθέσεις για να εκτελέσει κακόβουλες δραστηριότητες στην εφαρμογή. 

iOS: Οι εφαρμογές σε μια συσκευή με jailbroken εκτελούνται ως root εκτός του sandbox iOS. Αυτό μπορεί να επιτρέψει στις εφαρμογές να έχουν πρόσβαση σε ευαίσθητα δεδομένα που είναι αποθηκευμένα σε άλλες εφαρμογές ή να εγκαταστήσουν κακόβουλο λογισμικό που αναιρεί τη λειτουργία sandboxing. 

Περισσότερα για Root Detection- https://owasp.org/www-project-mobile-top-10/2016-risks/m8-code-tampering

3. Αποθήκευση δεδομένων:

Οι προγραμματιστές χρησιμοποιούν Κοινόχρηστες προτιμήσεις και προεπιλογές χρήστη για να αποθηκεύουν ζεύγη κλειδιών-τιμών, όπως διακριτικά, αριθμούς κινητών, email, τιμές boolean κ.λπ. Επιπλέον, κατά τη δημιουργία εφαρμογών, οι προγραμματιστές προτιμούν βάσεις δεδομένων SQLite για δομημένα δεδομένα. Συνιστάται η αποθήκευση οποιωνδήποτε δεδομένων σε μορφή κρυπτογράφησης, ώστε να είναι δύσκολη η εξαγωγή των πληροφοριών από τους χάκερ.

4. Ασφαλή μυστικά κλειδιά:

Τα κλειδιά API, οι κωδικοί πρόσβασης και τα διακριτικά δεν πρέπει να είναι κωδικοποιημένα στον κώδικα. Συνιστάται η χρήση διαφορετικών τεχνικών για την αποθήκευση αυτών των τιμών, έτσι ώστε οι χάκερ να μην μπορούν να ξεφύγουν γρήγορα παραβιάζοντας την εφαρμογή. 

Εδώ είναι ένας σύνδεσμος αναφοράς: https://guides.codepath.com/android/Storing-Secret-Keys-in-Android

5. Συσκότιση κώδικα

Ένας εισβολέας μπορεί να απομεταγλωττίσει το αρχείο APK και να εξαγάγει τον πηγαίο κώδικα της εφαρμογής. Αυτό μπορεί να εκθέσει στον εισβολέα ευαίσθητες πληροφορίες που είναι αποθηκευμένες στον πηγαίο κώδικα της εφαρμογής, οι οποίες μπορεί να χρησιμοποιηθούν για την εκτέλεση προσαρμοσμένων επιθέσεων. 

Είναι προτιμότερο να αποκρύψετε τον πηγαίο κώδικα για να αποτρέψετε όλες τις ευαίσθητες πληροφορίες που περιέχονται στον πηγαίο κώδικα.

6. Ασφαλής επικοινωνία:

Ένας εισβολέας μπορεί να εκτελέσει κακόβουλες δραστηριότητες για να αξιοποιήσει το επίπεδο των επιθέσεων, καθώς όλη η επικοινωνία γίνεται μέσω μη κρυπτογραφημένων καναλιών. Επομένως, χρησιμοποιείτε πάντα διευθύνσεις URL HTTPS έναντι διευθύνσεων URL HTTP.

7. Καρφίτσωμα SSL:

Το καρφίτσωμα πιστοποιητικού επιτρέπει στις εφαρμογές για κινητές συσκευές να περιορίζουν την επικοινωνία μόνο σε διακομιστές με έγκυρο πιστοποιητικό που αντιστοιχεί στην αναμενόμενη τιμή (pin). Το καρφίτσωμα το διασφαλίζει κανένα στοιχείο δικτύου δεν διακυβεύεται ακόμη και αν ένας χρήστης εξαπατηθεί να εγκαταστήσει ένα κακόβουλο πιστοποιητικό ρίζας στην κινητή συσκευή του. Οποιαδήποτε εφαρμογή που καρφιτσώνει τα πιστοποιητικά της θα εμπόδιζε τέτοιες απόπειρες ηλεκτρονικού ψαρέματος, αρνούμενη τη μετάδοση δεδομένων μέσω μιας παραβιασμένης σύνδεσης

Παρακαλώ αναφερθείτε: 

https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning

8. Ασφαλίστε δεδομένα αιτήματος και απόκρισης API

Η τυπική πρακτική είναι η χρήση HTTPS για την προστασία γραμμής βάσης των κλήσεων REST API. Οι πληροφορίες που αποστέλλονται στον διακομιστή ή λαμβάνονται από τον διακομιστή ενδέχεται να κρυπτογραφηθούν περαιτέρω με AES, κ.λπ. Για παράδειγμα, εάν υπάρχουν ευαίσθητα περιεχόμενα, μπορείτε να επιλέξετε να επιλέξετε αυτά που θα κρυπτογραφηθούν, έτσι ώστε ακόμη και αν το HTTPS είναι κάπως κατεστραμμένο ή εσφαλμένης διαμόρφωσης, έχετε ένα άλλο επίπεδο προστασίας από την κρυπτογράφηση σας.

9. Ασφαλής έλεγχος ταυτότητας εφαρμογών για κινητά:

Σε περίπτωση που μια εφαρμογή δεν εκχωρήσει διακριτά και σύνθετα διακριτικά περιόδου σύνδεσης μετά τη σύνδεση σε έναν χρήστη, ένας εισβολέας μπορεί να πραγματοποιήσει ηλεκτρονικό ψάρεμα προκειμένου να δελεάσει το θύμα να χρησιμοποιήσει ένα προσαρμοσμένο διακριτικό που παρέχεται από τον εισβολέα και να παρακάμψει εύκολα τη σελίδα σύνδεσης με την καταγεγραμμένη περίοδο λειτουργίας χρησιμοποιώντας μια επίθεση MiTM.

i) Εκχωρήστε ένα διακριτό και πολύπλοκο διακριτικό περιόδου λειτουργίας σε έναν χρήστη κάθε φορά που συνδέεται με επιτυχία στην εφαρμογή. 

ii) Τερματίστε τη διάρκεια ζωής της συνεδρίας αμέσως μετά την αποσύνδεση. 

iii) Μην χρησιμοποιείτε το ίδιο διακριτικό περιόδου λειτουργίας για δύο ή περισσότερες διευθύνσεις IP. 

iv) Περιορίστε το χρόνο λήξης για κάθε διακριτικό περιόδου σύνδεσης.

10. Να επιτρέπεται η δημιουργία αντιγράφων ασφαλείας 

Να μην επιτρέπεται στους χρήστες να δημιουργούν αντίγραφα ασφαλείας μιας εφαρμογής εάν περιέχει ευαίσθητα δεδομένα. Έχοντας πρόσβαση σε αρχεία αντιγράφων ασφαλείας (δηλαδή όταν android:allowBackup=”true”), μπορείτε να τροποποιήσετε/διαβάσετε το περιεχόμενο μιας εφαρμογής ακόμα και σε μια συσκευή που δεν έχει ρίζες. Επομένως, συνιστάται να κάνετε την επιτρεπόμενη δημιουργία αντιγράφων ασφαλείας ψευδής. 

11. Περιορίστε την πρόσβαση σε οθόνες εφαρμογών Android από άλλες εφαρμογές

Στην ιδανική περίπτωση, οι δραστηριότητές σας δεν θα πρέπει να προβλέπουν το άνοιγμα από άλλες υπηρεσίες ή εφαρμογές. Κάντε το αληθινό μόνο όταν έχετε μια συγκεκριμένη απαίτηση πρόσβασης στις οθόνες flutter από άλλες εφαρμογές, διαφορετικά αλλάξτε σε android:exported= "false"

12. Περιορίστε την εγκατάσταση πακέτων από την εφαρμογή android

REQUEST_INSTALL_PACKAGES άδεια επιτρέπει στις εφαρμογές να εγκαταστήστε νέα πακέτα στη συσκευή ενός χρήστη. Δεσμευόμαστε να αποτρέψουμε την κατάχρηση στην πλατφόρμα Android και να προστατεύουμε τους χρήστες από εφαρμογές που ενημερώνονται αυτόματα χρησιμοποιώντας οποιαδήποτε άλλη μέθοδο εκτός από τον μηχανισμό ενημέρωσης του Google Play ή τη λήψη επιβλαβών APK.

Συμπέρασμα: 

Οι εφαρμογές για κινητά έχουν γίνει πιο εξατομικευμένες από ποτέ με σωρούς προσωπικών δεδομένων πελατών που αποθηκεύονται σε αυτές κάθε μέρα. Προκειμένου να οικοδομηθεί εμπιστοσύνη και αφοσίωση μεταξύ των χρηστών και να αποτραπούν σημαντικές οικονομικές ζημίες και απώλειες διαπιστευτηρίων για τις εταιρείες, είναι πλέον σημαντικό να βεβαιωθείτε ότι η εφαρμογή είναι ασφαλής για τον χρήστη. Ακολουθώντας τις προαναφερθείσες λίστες ελέγχου ασφαλείας εφαρμογών για κινητά θα σας βοηθήσει σίγουρα να αποτρέψετε τους χάκερ από το να παραβιάσουν την εφαρμογή.

Σχετικά με το Συντάκτης:

Ο Raviteja Aketi είναι Ανώτερος Μηχανικός Λογισμικού στο Mantra Labs. Έχει μεγάλη εμπειρία σε έργα B2B. Η Raviteja λατρεύει να εξερευνά νέες τεχνολογίες, να παρακολουθεί ταινίες και να περνά χρόνο με την οικογένεια και τους φίλους.

Διαβάστε το τελευταίο μας blog: Εφαρμογή Καθαρής Αρχιτεκτονικής με το Nest.JS

Οι γνώσεις που αξίζει να παραδοθούν στα εισερχόμενά σας

Σφραγίδα ώρας:

Περισσότερα από Εργαστήρια Mantra