security testing
Τρόπος δοκιμής ασφάλειας εφαρμογών - Τεχνικές δοκιμών ασφάλειας εφαρμογών ιστού και επιφάνειας εργασίας
Η ανάγκη για έλεγχο ασφαλείας;
Η βιομηχανία λογισμικού έχει επιτύχει μια σταθερή αναγνώριση σε αυτήν την εποχή. Την τελευταία δεκαετία, ωστόσο, ο κυβερνοχώρος φαίνεται να είναι ακόμη πιο κυρίαρχος και κινητήρια δύναμη που διαμορφώνει τις νέες μορφές σχεδόν κάθε επιχείρησης. Τα διαδικτυακά συστήματα ERP που χρησιμοποιούνται σήμερα αποτελούν την καλύτερη απόδειξη ότι η πληροφορική έχει φέρει επανάσταση στο αγαπημένο μας παγκόσμιο χωριό.
Αυτές τις μέρες, οι ιστότοποι δεν προορίζονται μόνο για δημοσιότητα ή μάρκετινγκ, αλλά αυτοί έχουν εξελιχθεί σε ισχυρότερα εργαλεία για την κάλυψη των επιχειρηματικών αναγκών.
Τα διαδικτυακά συστήματα μισθοδοσίας, τα εμπορικά κέντρα, οι τραπεζικές συναλλαγές, το χρηματιστήριο δεν χρησιμοποιούνται μόνο από οργανισμούς, αλλά επίσης πωλούνται ως προϊόντα σήμερα.
Αυτό σημαίνει ότι οι διαδικτυακές εφαρμογές έχουν αποκτήσει την εμπιστοσύνη των πελατών και των χρηστών σχετικά με το ζωτικό τους χαρακτηριστικό που ονομάζεται SECURITY.
Χωρίς αμφιβολία, ο παράγοντας ασφαλείας είναι πρωταρχικής αξίας και για εφαρμογές επιφάνειας εργασίας.
Ωστόσο, όταν μιλάμε για τον Ιστό, η σημασία της ασφάλειας αυξάνεται εκθετικά. Εάν ένα ηλεκτρονικό σύστημα δεν μπορεί να προστατεύσει τα δεδομένα συναλλαγών, κανείς δεν θα σκεφτεί ποτέ να τα χρησιμοποιήσει. Η ασφάλεια δεν είναι ούτε μια λέξη που αναζητά τον ορισμό της, ούτε είναι μια λεπτή έννοια. Ωστόσο, θα ήθελα να αναφέρω ορισμένα φιλοφρονήματα σχετικά με την ασφάλεια.
τι είναι το κλειδί δικτύου για wifi
Παραδείγματα ελαττωμάτων ασφαλείας σε μια εφαρμογή
- Ένα Σύστημα Διαχείρισης Φοιτητών δεν είναι ασφαλές εάν το υποκατάστημα «Εισαγωγή» μπορεί να επεξεργαστεί τα δεδομένα του υποκαταστήματος «Εξετάσεις»
- Ένα σύστημα ERP δεν είναι ασφαλές εάν το DEO (χειριστής εισαγωγής δεδομένων) μπορεί να δημιουργήσει «Αναφορές»
- Ένα διαδικτυακό εμπορικό κέντρο δεν διαθέτει ασφάλεια εάν η λεπτομέρεια πιστωτικής κάρτας του πελάτη δεν είναι κρυπτογραφημένη
- Ένα προσαρμοσμένο λογισμικό διαθέτει ανεπαρκή ασφάλεια εάν ένα ερώτημα SQL ανακτά πραγματικούς κωδικούς πρόσβασης των χρηστών του
Ασφάλεια
Τώρα, σας παρουσιάζω τον απλούστερο ορισμό της Ασφάλειας με δικά μου λόγια.
'Ασφάλεια σημαίνει ότι η εξουσιοδοτημένη πρόσβαση χορηγείται σε προστατευμένα δεδομένα και η μη εξουσιοδοτημένη πρόσβαση είναι περιορισμένη' .
Έτσι, έχει δύο σημαντικές πτυχές: πρώτο είναι η προστασία των δεδομένων και το δεύτερο είναι η πρόσβαση σε αυτά τα δεδομένα. Επιπλέον, ανεξάρτητα από το αν η εφαρμογή είναι επιτραπέζια ή διαδικτυακή, η ασφάλεια περιστρέφεται γύρω από τις δύο προαναφερθείσες πτυχές.
Ας έχουμε μια επισκόπηση των πτυχών ασφαλείας τόσο για εφαρμογές λογισμικού επιτραπέζιων υπολογιστών όσο και μέσω διαδικτύου.
Τι θα μάθετε:
- Έλεγχος ασφάλειας επιτραπέζιων υπολογιστών και ιστού
- Λίστα κορυφαίων 8 τεχνικών δοκιμών ασφαλείας
- # 1) Πρόσβαση στην εφαρμογή
- # 2) Προστασία δεδομένων
- # 3) Επίθεση Brute-Force
- # 4) SQL Injection And XSS (Cross-Site Scripting)
- # 5) Σημεία πρόσβασης υπηρεσίας (Σφραγισμένα και ασφαλή ανοιχτά)
- # 6) Διαχείριση συνεδρίας
- # 7) Αντιμετώπιση σφαλμάτων
- # 8) Συγκεκριμένες επικίνδυνες λειτουργίες
- Συνιστώμενη ανάγνωση
Έλεγχος ασφάλειας επιτραπέζιων υπολογιστών και ιστού
Μια εφαρμογή για επιτραπέζιους υπολογιστές πρέπει να είναι ασφαλής όχι μόνο όσον αφορά την πρόσβασή της, αλλά και σε σχέση με την οργάνωση και την αποθήκευση των δεδομένων της.
Ομοίως, η εφαρμογή ιστού απαιτεί, ακόμη περισσότερο, ασφάλεια όσον αφορά την πρόσβασή της, καθώς και προστασία δεδομένων. Ένας προγραμματιστής ιστού θα πρέπει να κάνει την εφαρμογή απρόσβλητη από SQL Injections, Brute Force Attacks και XSS (cross-site scripting). Ομοίως, εάν η εφαρμογή ιστού διευκολύνει απομακρυσμένα σημεία πρόσβασης, τότε αυτά πρέπει να είναι επίσης ασφαλή.
Επιπλέον, λάβετε υπόψη ότι το Brute Force Attack δεν σχετίζεται μόνο με διαδικτυακές εφαρμογές, αλλά και επιτραπέζιο λογισμικό είναι ευάλωτο σε αυτό.
Ελπίζω ότι αυτός ο πρόλογος είναι αρκετός και τώρα επιτρέψτε μου να έρθω στο σημείο. Αποδεχτείτε τη συγγνώμη μου αν πιστεύετε μέχρι τώρα ότι διαβάζετε για το θέμα αυτού του άρθρου. Αν και εξήγησα εν συντομία την ασφάλεια του λογισμικού και τις κύριες ανησυχίες του, το θέμα μου είναι «Δοκιμή ασφαλείας».
Συνιστώμενη ανάγνωση => Δοκιμή ασφάλειας εφαρμογών ιστού
Θα εξηγήσω τώρα πώς εφαρμόζονται τα χαρακτηριστικά ασφαλείας στην εφαρμογή λογισμικού και πώς πρέπει να δοκιμαστούν. Η εστίασή μου θα είναι τα Whats και Hows των δοκιμών ασφαλείας και όχι της ασφάλειας.
Συνιστώμενα εργαλεία δοκιμής ασφαλείας
# 1) Καθαρό πάρκινγκ
Netsparker είναι μια λύση δοκιμών ασφάλειας εφαρμογών ιστού με δυνατότητες αυτόματης ανίχνευσης και σάρωσης για όλους τους τύπους παλαιού τύπου και σύγχρονων εφαρμογών ιστού όπως HTML5, Web 2.0 και Εφαρμογές μίας σελίδας. Χρησιμοποιεί την Τεχνολογία σάρωσης με βάση την απόδειξη και τους επεκτάσιμους παράγοντες σάρωσης.
Σας δίνει πλήρη ορατότητα, παρόλο που διαθέτετε μεγάλο αριθμό στοιχείων. Έχει πολλές ακόμη λειτουργίες όπως η διαχείριση ομάδων και η διαχείριση ευπάθειας. Μπορεί να ενσωματωθεί στις πλατφόρμες CI / CD όπως Jenkins, TeamCity ή Bamboo.
=> Δοκιμάστε το καλύτερο εργαλείο δοκιμής ασφαλείας Netsparker#δύο) Κιουάν
Βρείτε και διορθώστε ευπάθειες στον κώδικά σας σε κάθε στάδιο του SDLC.
Κιουάν συμμορφώνεται με τα πιο αυστηρά πρότυπα ασφαλείας, συμπεριλαμβανομένων των OWASP, CWE, SANS 25, HIPPA και άλλων. Ενσωματώστε το Kiuwan στο IDE σας για άμεση ανατροφοδότηση κατά τη διάρκεια της ανάπτυξης. Το Kiuwan υποστηρίζει όλες τις μεγάλες γλώσσες προγραμματισμού και ενσωματώνεται με κορυφαία εργαλεία DevOps.
=> Σαρώστε τον κωδικό σας δωρεάν# 3) Indusface ήταν δωρεάν έλεγχος κακόβουλου ιστότοπου
Το Indusface ήταν παρέχει τόσο χειροκίνητη δοκιμή διείσδυσης σε συνδυασμό με τον δικό της αυτοματοποιημένο σαρωτή ευπάθειας εφαρμογών ιστού που εντοπίζει και αναφέρει τρωτά σημεία με βάση το OWASP top 10 και περιλαμβάνει επίσης έλεγχο ιστοτόπων για συνδέσμους, κακόβουλο λογισμικό και ελέγχους αλλοίωσης του ιστότοπου σε κάθε σάρωση
=> Εκτελέστε μια γρήγορη σάρωση ιστότοπου δωρεάν
=> Επικοινωνήστε μαζί μας να προτείνω μια καταχώριση εδώ.
Λίστα κορυφαίων 8 τεχνικών δοκιμών ασφαλείας
# 1) Πρόσβαση στην εφαρμογή
Είτε πρόκειται για εφαρμογή για επιτραπέζιους υπολογιστές είτε για ιστότοπους, η ασφάλεια πρόσβασης εφαρμόζεται από το «Διαχείριση ρόλων και δικαιωμάτων». Συχνά γίνεται σιωπηρά, καλύπτοντας τη λειτουργικότητα,
Για παράδειγμα, Σε ένα Σύστημα Διαχείρισης Νοσοκομείων, ένας ρεσεψιονίστ ανησυχεί λιγότερο για τις εργαστηριακές εξετάσεις, καθώς η δουλειά του είναι να εγγράψει τους ασθενείς και να προγραμματίσει τα ραντεβού τους με τους γιατρούς.
Έτσι, όλα τα μενού, οι φόρμες και οι οθόνες που σχετίζονται με εργαστηριακές δοκιμές δεν θα είναι διαθέσιμες στον Ρόλο του «Ρεσεψιονίστ». Ως εκ τούτου, η ορθή εφαρμογή των ρόλων και των δικαιωμάτων θα εγγυηθεί την ασφάλεια της πρόσβασης.
Πώς να δοκιμάσετε: Για να το δοκιμάσετε αυτό, θα πρέπει να εκτελεστεί διεξοδικός έλεγχος όλων των ρόλων και των δικαιωμάτων.
Ο υπεύθυνος δοκιμών θα πρέπει να δημιουργήσει πολλούς λογαριασμούς χρηστών με διαφορετικούς καθώς και πολλαπλούς ρόλους. Στη συνέχεια, πρέπει να χρησιμοποιήσει την εφαρμογή με τη βοήθεια αυτών των λογαριασμών και πρέπει να επαληθεύσει ότι κάθε ρόλος έχει πρόσβαση στις δικές του λειτουργικές μονάδες, οθόνες, φόρμες και μενού. Εάν ο υπεύθυνος δοκιμών εντοπίσει οποιαδήποτε διένεξη, πρέπει να καταγράψει ένα ζήτημα ασφαλείας με πλήρη εμπιστοσύνη.
Αυτό μπορεί επίσης να θεωρηθεί ως έλεγχος ταυτότητας και εξουσιοδότησης που απεικονίζεται πολύ όμορφα στην παρακάτω εικόνα:
Επομένως, βασικά, πρέπει να δοκιμάσετε «ποιοι είστε» και «τι μπορείτε να κάνετε» για διαφορετικούς χρήστες.
Ορισμένες από τις δοκιμές ελέγχου ταυτότητας περιλαμβάνουν δοκιμή για κανόνες ποιότητας κωδικού πρόσβασης, δοκιμή για προεπιλεγμένες συνδέσεις, δοκιμή για ανάκτηση κωδικού πρόσβασης, δοκιμή captcha, δοκιμή για τη λειτουργία αποσύνδεσης, δοκιμή αλλαγής κωδικού πρόσβασης, δοκιμή για ερώτηση / απάντηση ασφαλείας κ.λπ.
Παρομοίως, ορισμένες από τις δοκιμές εξουσιοδότησης περιλαμβάνουν δοκιμή για διέλευση διαδρομής, δοκιμή για έλλειψη εξουσιοδότησης, δοκιμή για προβλήματα ελέγχου οριζόντιας πρόσβασης κ.λπ.
# 2) Προστασία δεδομένων
Υπάρχουν τρεις πτυχές της ασφάλειας δεδομένων. Το πρώτο είναι αυτό ένας χρήστης μπορεί να δει ή να χρησιμοποιήσει μόνο τα δεδομένα που υποτίθεται ότι θα χρησιμοποιήσει . Αυτό διασφαλίζεται επίσης από ρόλους και δικαιώματα
Για παράδειγμα, Η TSR (εκπρόσωπος τηλεπωλήσεων) μιας εταιρείας μπορεί να δει τα δεδομένα του διαθέσιμου αποθέματος, αλλά δεν μπορεί να δει πόση πρώτη ύλη αγοράστηκε για παραγωγή.
Έτσι, αυτή η πτυχή του ελέγχου ασφαλείας εξηγείται ήδη παραπάνω. Η δεύτερη πτυχή της προστασίας δεδομένων σχετίζεται με πώς αυτά τα δεδομένα αποθηκεύονται στο DB .
Περαιτέρω ανάγνωση = >> Τι είναι ο έλεγχος ασφαλείας βάσης δεδομένων
Όλα τα ευαίσθητα δεδομένα πρέπει να κρυπτογραφούνται για να είναι ασφαλή. Η κρυπτογράφηση πρέπει να είναι ισχυρή, ειδικά για ευαίσθητα δεδομένα όπως κωδικούς πρόσβασης λογαριασμών χρηστών, αριθμούς πιστωτικών καρτών ή άλλες κρίσιμες για την επιχείρηση πληροφορίες.
Η τρίτη και η τελευταία πτυχή είναι επέκταση αυτής της δεύτερης πτυχής. Κατά τη ροή ευαίσθητων ή κρίσιμων για την επιχείρηση δεδομένων πρέπει να λαμβάνονται κατάλληλα μέτρα ασφαλείας. Είτε αυτά τα δεδομένα κυμαίνονται μεταξύ διαφορετικών ενοτήτων της ίδιας εφαρμογής ή μεταδίδονται σε διαφορετικές εφαρμογές, πρέπει να κρυπτογραφούνται για να διατηρούνται ασφαλή.
πώς να προσθέσετε ένα στοιχείο σε έναν πίνακα java
Πώς να δοκιμάσετε την προστασία δεδομένων: Ο υπεύθυνος δοκιμών θα πρέπει να υποβάλει ερώτημα στη βάση δεδομένων για «κωδικούς πρόσβασης» του λογαριασμού χρήστη, πληροφορίες χρέωσης πελατών, άλλα κρίσιμα για την επιχείρηση και ευαίσθητα δεδομένα και θα πρέπει να επαληθεύσει ότι όλα αυτά τα δεδομένα αποθηκεύονται σε κρυπτογραφημένη μορφή στο DB.
Ομοίως, πρέπει να επαληθεύσει ότι τα δεδομένα μεταδίδονται μεταξύ διαφορετικών φορμών ή οθονών μόνο μετά από σωστή κρυπτογράφηση. Επιπλέον, ο ελεγκτής θα πρέπει να διασφαλίσει ότι τα κρυπτογραφημένα δεδομένα αποκρυπτογραφούνται σωστά στον προορισμό. Ιδιαίτερη προσοχή πρέπει να δοθεί σε διαφορετικές ενέργειες «υποβολής».
Ο ελεγκτής πρέπει να επαληθεύσει ότι όταν οι πληροφορίες μεταδίδονται μεταξύ του πελάτη και του διακομιστή, δεν εμφανίζονται στη γραμμή διευθύνσεων ενός προγράμματος περιήγησης ιστού σε κατανοητή μορφή. Εάν κάποια από αυτές τις επαληθεύσεις αποτύχει, τότε η εφαρμογή έχει σίγουρα ένα ελάττωμα ασφαλείας.
Ο υπεύθυνος δοκιμών θα πρέπει επίσης να ελέγξει για σωστή χρήση αλατισμού (προσθήκη μιας επιπλέον μυστικής τιμής στην τελική είσοδο, όπως κωδικός πρόσβασης και έτσι καθιστά ισχυρότερο και πιο δύσκολο να σπάσει).
Η ανασφαλής τυχαιότητα θα πρέπει επίσης να ελεγχθεί καθώς είναι ένα είδος ευπάθειας. Ένας άλλος τρόπος για να δοκιμάσετε την προστασία δεδομένων είναι να ελέγξετε για αδύναμη χρήση αλγορίθμου.
Για παράδειγμα, δεδομένου ότι το HTTP είναι ένα πρωτόκολλο σαφούς κειμένου, εάν τα ευαίσθητα δεδομένα όπως τα διαπιστευτήρια χρήστη μεταδίδονται μέσω HTTP, τότε αποτελεί απειλή για την ασφάλεια των εφαρμογών. Αντί για HTTP, τα ευαίσθητα δεδομένα πρέπει να μεταφέρονται μέσω HTTPS (ασφαλισμένα μέσω SSL, σήραγγας TLS).
Ωστόσο, το HTTPS αυξάνει την επιφάνεια επίθεσης και συνεπώς πρέπει να ελεγχθεί ότι οι διαμορφώσεις διακομιστή είναι σωστές και διασφαλίζεται η εγκυρότητα του πιστοποιητικού.
# 3) Επίθεση Brute-Force
Το Brute Force Attack γίνεται κυρίως από ορισμένα εργαλεία λογισμικού. Η ιδέα είναι ότι χρησιμοποιώντας ένα έγκυρο αναγνωριστικό χρήστη, το s oftware προσπαθεί να μαντέψει τον σχετικό κωδικό πρόσβασης προσπαθώντας να συνδεθείτε ξανά και ξανά.
Ένα απλό παράδειγμα ασφάλειας έναντι μιας τέτοιας επίθεσης είναι η αναστολή λογαριασμού για σύντομο χρονικό διάστημα, όπως κάνουν όλες οι εφαρμογές αλληλογραφίας όπως «Yahoo», «Gmail» και «Hotmail». Εάν ένας συγκεκριμένος αριθμός διαδοχικών προσπαθειών (κυρίως 3) δεν καταφέρει να συνδεθεί με επιτυχία, τότε αυτός ο λογαριασμός αποκλείεται για κάποιο χρονικό διάστημα (30 λεπτά έως 24 ώρες).
Πώς να δοκιμάσετε Brute-Force Attack: Ο υπεύθυνος δοκιμών πρέπει να επαληθεύσει ότι κάποιος μηχανισμός αναστολής λογαριασμού είναι διαθέσιμος και λειτουργεί με ακρίβεια. (S) Πρέπει να προσπαθήσει να συνδεθεί με μη έγκυρα αναγνωριστικά χρήστη και κωδικούς πρόσβασης εναλλακτικά για να βεβαιωθεί ότι η εφαρμογή λογισμικού αποκλείει τους λογαριασμούς εάν γίνονται συνεχείς προσπάθειες σύνδεσης με μη έγκυρα διαπιστευτήρια.
Εάν η εφαρμογή το κάνει, είναι ασφαλές έναντι βίας βίας. Διαφορετικά, αυτή η ευπάθεια ασφαλείας πρέπει να αναφέρεται από τον υπεύθυνο δοκιμών.
Η δοκιμή για ωμή δύναμη μπορεί επίσης να χωριστεί σε δύο μέρη - δοκιμή μαύρου κουτιού και δοκιμή γκρίζου κουτιού.
Στη δοκιμή Black Box, η μέθοδος ελέγχου ταυτότητας που χρησιμοποιείται από την εφαρμογή ανακαλύπτεται και δοκιμάζεται. Επιπλέον, η δοκιμή γκρι κουτιού βασίζεται σε μερική γνώση κωδικών πρόσβασης και λεπτομερειών λογαριασμού και επιθέσεων ανταλλαγής μνήμης.
Κάντε κλικ εδώ για να εξερευνήσετε το μαύρο κουτί και το γκρι κουτί brute force testing μαζί με παραδείγματα.
Οι παραπάνω τρεις πτυχές ασφάλειας πρέπει να ληφθούν υπόψη τόσο για εφαρμογές ιστού όσο και για επιτραπέζιους υπολογιστές, ενώ τα ακόλουθα σημεία σχετίζονται μόνο με εφαρμογές που βασίζονται στον Ιστό.
# 4) SQL Injection And XSS (Cross-Site Scripting)
Εννοιολογικά, το θέμα και των δύο αυτών προσπαθειών πειρατείας είναι παρόμοιο, οπότε αυτά συζητούνται μαζί. Σε αυτήν την προσέγγιση, το κακόβουλο σενάριο χρησιμοποιείται από τους χάκερ για να χειριστεί έναν ιστότοπο .
Υπάρχουν διάφοροι τρόποι ανοσίας έναντι τέτοιων προσπαθειών. Για όλα τα πεδία εισαγωγής του ιστότοπου, τα μήκη πεδίου πρέπει να ορίζονται αρκετά μικρά ώστε να περιορίζουν την εισαγωγή οποιουδήποτε σεναρίου
ado net συνεντεύξεις ερωτήσεις και απαντήσεις για έμπειρους
Για παράδειγμα, Το επώνυμο θα πρέπει να έχει μήκος πεδίου 30 αντί για 255. Μπορεί να υπάρχουν ορισμένα πεδία εισαγωγής όπου απαιτείται μεγάλη εισαγωγή δεδομένων, για τέτοια πεδία πρέπει να πραγματοποιείται σωστή επικύρωση της εισόδου πριν από την αποθήκευση αυτών των δεδομένων στην εφαρμογή.
Επιπλέον, σε τέτοια πεδία, οποιεσδήποτε ετικέτες HTML ή εισαγωγή ετικετών σεναρίων πρέπει να απαγορεύονται. Για να προκαλέσει επιθέσεις XSS, η εφαρμογή θα πρέπει να απορρίψει ανακατευθύνσεις σεναρίων από άγνωστες ή μη αξιόπιστες εφαρμογές.
Πως να δοκιμή SQL Injection και XSS: Ο ελεγκτής πρέπει να διασφαλίσει ότι ορίζονται και εφαρμόζονται τα μέγιστα μήκη όλων των πεδίων εισαγωγής. (S) Θα πρέπει επίσης να διασφαλίσει ότι το καθορισμένο μήκος των πεδίων εισαγωγής δεν φιλοξενεί καμία είσοδο σεναρίου καθώς και είσοδο ετικέτας. Και τα δύο αυτά μπορούν να δοκιμαστούν εύκολα
Για παράδειγμα, Εάν το 20 είναι το μέγιστο μήκος που καθορίζεται για το πεδίο 'Όνομα' και συμβολοσειρά εισαγωγής '
thequickbrownfoxjumpsoverthelazydog ”μπορεί να επαληθεύσει και τους δύο αυτούς περιορισμούς.
Θα πρέπει επίσης να επαληθευτεί από τον ελεγκτή ότι η εφαρμογή δεν υποστηρίζει ανώνυμες μεθόδους πρόσβασης. Σε περίπτωση που υπάρχει κάποια από αυτές τις ευπάθειες, η εφαρμογή βρίσκεται σε κίνδυνο.
Βασικά, η δοκιμή έγχυσης SQL μπορεί να γίνει με τους ακόλουθους πέντε τρόπους:
- Τεχνικές ανίχνευσης
- Πρότυπες τεχνικές έγχυσης SQL
- Δακτυλικό αποτύπωμα της βάσης δεδομένων
- Τεχνική εκμετάλλευση
- Τεχνικές εισβολής SQL Injection Signature
Κάντε κλικ εδώ για να διαβάσετε αναλυτικά τους παραπάνω τρόπους δοκιμής της έγχυσης SQL.
Το XSS είναι επίσης ένας τύπος ένεσης που εισάγει κακόβουλο σενάριο σε έναν ιστότοπο. Κάντε κλικ εδώ να διερευνήσουμε σε βάθος τις δοκιμές για XSS.
# 5) Σημεία πρόσβασης υπηρεσίας (Σφραγισμένα και ασφαλή ανοιχτά)
Σήμερα, οι επιχειρήσεις εξαρτώνται και συνεργάζονται μεταξύ τους, το ίδιο ισχύει για εφαρμογές, ειδικά για ιστότοπους. Σε μια τέτοια περίπτωση, και οι δύο συνεργάτες πρέπει να ορίσουν και να δημοσιεύσουν ορισμένα σημεία πρόσβασης μεταξύ τους.
Μέχρι στιγμής το σενάριο φαίνεται αρκετά απλό και απλό, αλλά, για ορισμένα διαδικτυακά προϊόντα όπως η διαπραγμάτευση μετοχών, τα πράγματα δεν είναι τόσο απλά και εύκολα.
Όταν υπάρχει μεγάλος αριθμός κοινού-στόχων, τα σημεία πρόσβασης πρέπει να είναι αρκετά ανοιχτά για να διευκολύνουν όλους τους χρήστες, ικανοποιητικά ώστε να ικανοποιούν όλα τα αιτήματα των χρηστών και αρκετά ασφαλή για να αντιμετωπίζουν οποιαδήποτε δοκιμή ασφαλείας.
Πώς να δοκιμάσετε σημεία πρόσβασης υπηρεσίας: Επιτρέψτε μου να το εξηγήσω με το παράδειγμα της εφαρμογής διαδικτυακών συναλλαγών μετοχών · ένας επενδυτής (που θέλει να αγοράσει τις μετοχές) θα πρέπει να έχει πρόσβαση σε τρέχοντα και ιστορικά δεδομένα σχετικά με τις τιμές των μετοχών. Πρέπει να δοθεί στον χρήστη η δυνατότητα λήψης αυτών των ιστορικών δεδομένων. Αυτό απαιτεί την εφαρμογή να είναι αρκετά ανοιχτή.
Με την εξυπηρέτηση και την ασφάλεια, εννοώ ότι η εφαρμογή θα διευκολύνει τους επενδυτές να πραγματοποιούν ελεύθερες συναλλαγές (βάσει των νομοθετικών κανονισμών). Μπορούν να αγοράσουν ή να πουλήσουν 24/7 και τα δεδομένα των συναλλαγών πρέπει να είναι απρόσβλητα από οποιαδήποτε επίθεση εισβολής.
Επιπλέον, μεγάλος αριθμός χρηστών θα αλληλεπιδρούν ταυτόχρονα με την εφαρμογή, οπότε η εφαρμογή θα πρέπει να παρέχει αρκετά σημεία πρόσβασης για να διασκεδάσει όλους τους χρήστες.
Σε ορισμένες περιπτώσεις, αυτά Τα σημεία πρόσβασης μπορούν να σφραγιστούν για ανεπιθύμητες εφαρμογές ή άτομα . Αυτό εξαρτάται από τον επιχειρηματικό τομέα της εφαρμογής και τους χρήστες του,
Για παράδειγμα, Ένα προσαρμοσμένο διαδικτυακό σύστημα διαχείρισης του Office μπορεί να αναγνωρίσει τους χρήστες του βάσει διευθύνσεων IP και αρνείται να πραγματοποιήσει σύνδεση με όλα τα άλλα συστήματα (εφαρμογές) που δεν εμπίπτουν στο εύρος των έγκυρων IP για αυτήν την εφαρμογή.
Ο ελεγκτής πρέπει να διασφαλίσει ότι όλα τα πρόσβαση μεταξύ δικτύων και εντός δικτύου στην εφαρμογή γίνεται από αξιόπιστες εφαρμογές, μηχανήματα (IP) και χρήστες.
Προκειμένου να επαληθευτεί ότι ένα ανοιχτό σημείο πρόσβασης είναι αρκετά ασφαλές, ο υπεύθυνος δοκιμών πρέπει να προσπαθήσει να αποκτήσει πρόσβαση σε αυτό από διαφορετικά μηχανήματα που διαθέτουν τόσο αξιόπιστες όσο και μη αξιόπιστες διευθύνσεις IP. Διαφορετικά είδη συναλλαγών σε πραγματικό χρόνο θα πρέπει να δοκιμάζονται μαζικά για να έχουν καλή εμπιστοσύνη στην απόδοση της εφαρμογής. Με αυτόν τον τρόπο, θα παρατηρηθεί επίσης η χωρητικότητα των σημείων πρόσβασης της εφαρμογής.
Ο ελεγκτής πρέπει να διασφαλίσει ότι η εφαρμογή δέχεται όλα τα αιτήματα επικοινωνίας από αξιόπιστες IP και εφαρμογές μόνο όταν απορρίπτονται όλα τα άλλα αιτήματα.
Ομοίως, εάν η εφαρμογή διαθέτει κάποιο ανοιχτό σημείο πρόσβασης, τότε ο υπεύθυνος δοκιμών θα πρέπει να διασφαλίσει ότι επιτρέπει (εάν απαιτείται) τη μεταφόρτωση δεδομένων από τους χρήστες με ασφαλή τρόπο. Με αυτόν τον ασφαλή τρόπο, εννοώ σχετικά με το όριο μεγέθους αρχείου, τον περιορισμό του τύπου αρχείου και τη σάρωση του μεταφορτωμένου αρχείου για ιούς ή άλλες απειλές ασφαλείας.
Αυτός είναι ο τρόπος με τον οποίο ένας ελεγκτής μπορεί να επαληθεύσει την ασφάλεια μιας εφαρμογής σε σχέση με τα σημεία πρόσβασης.
# 6) Διαχείριση συνεδρίας
Μια περίοδος σύνδεσης ιστού είναι μια ακολουθία των αιτήσεων HTTP και των συναλλαγών απόκρισης που συνδέονται με τον ίδιο χρήστη. Οι δοκιμές διαχείρισης συνεδρίας ελέγχουν τον τρόπο διαχείρισης της περιόδου λειτουργίας στην εφαρμογή ιστού.
Μπορείτε να δοκιμάσετε τη λήξη περιόδου σύνδεσης μετά από συγκεκριμένο χρόνο αδράνειας, τον τερματισμό περιόδου λειτουργίας μετά τη μέγιστη διάρκεια ζωής, τον τερματισμό περιόδου σύνδεσης μετά την αποσύνδεση, τον έλεγχο για το εύρος και τη διάρκεια του cookie περιόδου σύνδεσης, τον έλεγχο εάν ένας μεμονωμένος χρήστης μπορεί να έχει πολλές ταυτόχρονες συνεδρίες κ.λπ.
# 7) Αντιμετώπιση σφαλμάτων
Η δοκιμή για χειρισμό σφαλμάτων περιλαμβάνει:
Ελέγξτε για κωδικούς σφάλματος : Για παράδειγμα, δοκιμή 408 χρονικό όριο αιτήματος, 400 κακά αιτήματα, 404 δεν βρέθηκαν κ.λπ. Για να τα δοκιμάσετε, πρέπει να υποβάλετε ορισμένα αιτήματα στη σελίδα έτσι ώστε να επιστραφούν αυτοί οι κωδικοί σφάλματος.
Οι κωδικοί σφάλματος επιστρέφονται με ένα λεπτομερές μήνυμα. Αυτά τα μηνύματα δεν πρέπει να περιέχουν σημαντικές πληροφορίες που μπορούν να χρησιμοποιηθούν για σκοπούς εισβολής
Ελέγξτε για ίχνη στοίβας : Περιλαμβάνει βασικά την παροχή εξαιρετικής εισόδου στην εφαρμογή έτσι ώστε το επιστρεφόμενο μήνυμα σφάλματος να περιέχει ίχνη στοίβας που έχουν ενδιαφέρουσες πληροφορίες για τους χάκερ.
# 8) Συγκεκριμένες επικίνδυνες λειτουργίες
Κυρίως, οι δύο επικίνδυνες λειτουργίες είναι πληρωμές και μεταφορτώσεις αρχείων . Αυτές οι λειτουργίες πρέπει να δοκιμαστούν πολύ καλά. Για τις μεταφορτώσεις αρχείων, πρέπει πρώτα να ελέγξετε ότι οποιαδήποτε ανεπιθύμητη ή κακόβουλη μεταφόρτωση αρχείων είναι περιορισμένη.
Για πληρωμές, πρέπει πρώτα να ελέγξετε για ευπάθειες έγχυσης, μη ασφαλή κρυπτογραφικό χώρο αποθήκευσης, υπερχείλιση buffer, εικασία κωδικού πρόσβασης κ.λπ.
=> Επικοινωνήστε μαζί μας να προτείνω μια καταχώριση εδώ.Περαιτέρω ανάγνωση:
- Δοκιμή ασφάλειας εφαρμογών Ιστού
- Κορυφαίες 30 ερωτήσεις συνέντευξης δοκιμών ασφαλείας
- Διαφορά μεταξύ SAST / DAST / IAST / RASP
- 20 κορυφαίες ευπάθειες ασφαλείας SANS
Συνιστώμενη ανάγνωση
- Οδηγός δοκιμών ασφάλειας εφαρμογών Ιστού
- Δοκιμή άλφα και δοκιμή beta (ένας πλήρης οδηγός)
- Εκπαιδευτικός Οδηγός ETL Testing Data Warehouse Testing (Ένας πλήρης οδηγός)
- Δοκιμή ασφάλειας δικτύου και καλύτερα εργαλεία ασφάλειας δικτύου
- Οδηγός για αρχάριους για δοκιμές διείσδυσης εφαρμογών ιστού
- Πλήρης οδηγός δοκιμής επαλήθευσης έκδοσης (Δοκιμή BVT)
- Λειτουργική δοκιμή Vs Μη λειτουργική δοκιμή
- Ένας πλήρης οδηγός δοκιμής διείσδυσης με δείγματα περιπτώσεων δοκιμής