portaldacalheta.pt
  • Κύριος
  • Επιστήμη Δεδομένων Και Βάσεις Δεδομένων
  • Κατανεμημένες Ομάδες
  • Ευκίνητο Ταλέντο
  • Κερδοφορία & Αποδοτικότητα
Πίσω Μέρος

Changelog: Το Top 10 Project OWASP



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

Το 2001, ένας νέος οργανισμός μπήκε στη σκηνή. Στόχος του ήταν να καταπολεμήσει τα προβλήματα ασφαλείας που επηρεάζουν ιστότοπους και εφαρμογές. Ονομάστηκε κατάλληλα Open Web Application Security Project (OWASP). Σήμερα, δημοσιεύει πόρους, διοργανώνει συνέδρια και προτείνει πρότυπα για την ασφάλεια στον ιστό και τις εφαρμογές. Ένα de facto πρότυπο για την ασφάλεια εφαρμογών ιστού είναι το OWASP Top Ten Project. Παραθέτει τις δέκα πιο διαδεδομένες απειλές για την ασφάλεια. Οι σημαντικοί παράγοντες για να αποφασίσουν τι θα μπήκε ήταν ένας εκτενής αριθμός δεδομένων και ανατροφοδότηση από την κοινότητα. Στα τέλη του 2017, έγινε μια ενημέρωση του έργου. Πολλά νέα ζητήματα κρίσιμα για πολλές σύγχρονες διαδικτυακές εφαρμογές έλαβαν τη θέση τους, ενώ μερικά έχουν ξεφύγει από τη λίστα.



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



Τα ζητήματα καταργήθηκαν από τη λίστα των 10 κορυφαίων OWASP

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



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

Διαδικτυακή αίτηση πλαστογραφίας

Η πλαστογράφηση αιτήσεων μεταξύ ιστότοπων (CSRF) είναι ένας από τους «χαμένους» στην πρόσφατη επανάληψη του έργου. Εξαφανίστηκε επειδή πολλά σύγχρονα πλαίσια ιστού περιλαμβάνουν μηχανισμούς άμυνας CSRF. Η πιθανότητα έκθεσης των εφαρμογών σας στην απειλή μειώνεται έτσι γρήγορα.



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

Στην ουσία, το CSRF είναι μια εκμετάλλευση που αισθάνεται μια βόμβα καπνού. Ένας εισβολέας ξεγελά έναν ανυποψίαστο χρήστη για να εκτελέσει ένα ανεπιθύμητο αίτημα ή ενέργεια εντός μιας εφαρμογής ιστού. Με απλά λόγια, ένας εισβολέας αναγκάζει το θύμα του να στείλει ένα αίτημα σε μια εφαρμογή τρίτου μέρους και το θύμα δεν γνωρίζει το αίτημα που στάλθηκε ποτέ. Το αίτημα θα μπορούσε να είναι ένα αίτημα HTTP GET για ανάκτηση ενός πόρου, ή ακόμα χειρότερα, ένα αίτημα HTTP POST που αλλάζει έναν πόρο υπό τον έλεγχο του θύματος. Κατά τη διάρκεια της επίθεσης, το θύμα πιστεύει ότι όλα είναι καλά, τις περισσότερες φορές χωρίς καν να παρατηρήσει ότι κάτι συμβαίνει στο παρασκήνιο. Μετά τον καθαρισμό του αέρα, η ζημιά έχει γίνει ή κάτι λείπει και κανείς δεν ξέρει τι είχε συμβεί.



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

Ένα από τα πιο διάσημα παραδείγματα είναι να εξαπατήσετε έναν χρήστη να μεταφέρει χρήματα από τον λογαριασμό του σε αυτόν που ελέγχει ένας εισβολέας. Ένας χρήστης συνδέεται σε ένα σύστημα ηλεκτρονικής τραπεζικής για να ελέγξει το υπόλοιπο του λογαριασμού του. Μετά από αυτό, επισκέπτονται ένα διαδικτυακό φόρουμ για να ελέγξουν τις κριτικές ενός νέου κινητού τηλεφώνου. Ένας εισβολέας, ψάρεμα με δυναμίτη, δημοσιεύει μια κριτική που περιλαμβάνει μια εικόνα με έναν φαινομενικά σπασμένο υπερσύνδεσμο εικόνας. Αντί για έναν πραγματικό υπερσύνδεσμο, ο εισβολέας χρησιμοποιεί έναν υπερσύνδεσμο που χρησιμοποιεί το σύστημα ηλεκτρονικής τραπεζικής για να μεταφέρει χρήματα από τον λογαριασμό Α στον λογαριασμό Β: https://payments.dummybank.com?receiver=attacker&amount=100. Το τραπεζικό σύστημα καθιστά τον επικυρωμένο χρήστη τον αποστολέα και την αξία από την παράμετρο «δέκτης» τον παραλήπτη των χρημάτων. Φυσικά, ο εισβολέας καθορίζει τον υπεράκτιο λογαριασμό του ως παραλήπτη.



Δεδομένου ότι το πρόγραμμα περιήγησης φορτώνει αυτόματα εικόνες κατά την απόδοση της σελίδας, το αίτημα συμβαίνει στο παρασκήνιο. Εάν το σύστημα πληρωμών της τράπεζας εφαρμόζει μεταφορές χρημάτων χρησιμοποιώντας αίτημα HTTP GET, τίποτα δεν εμποδίζει την καταστροφή. Λάβετε υπόψη ότι το παράδειγμα είναι απλό και πιθανότατα δεν πραγματοποιούνται μεταφορές μέσω HTTP GET. Ωστόσο, ο εισβολέας μπορεί, με λίγη ακόμη δυσκολία, να καταφέρει να αλλάξει το χαρακτηριστικό 'action' στη φόρμα δημοσίευσης μηνυμάτων HTML του φόρουμ. Στη συνέχεια, το πρόγραμμα περιήγησης στέλνει το αίτημα στο σύστημα πληρωμών της τράπεζας, αντί για το back-end του φόρουμ.

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



Κατά το σχεδιασμό των συστημάτων σας, λάβετε υπόψη τα ακόλουθα:

  • Μην χρησιμοποιήστε αιτήσεις HTTP GET για ενθυλάκωση ενεργειών που τροποποιούν έναν πόρο. Θα πρέπει να χρησιμοποιείτε αυτά τα αιτήματα μόνο για την ανάκτηση πληροφοριών. Θυμηθείτε, ο κανόνας του αντίχειρα είναι να κάνετε τα αιτήματα GET να είναι αδιάφορα.
  • Κάνω , όταν μεταφέρετε δεδομένα εσωτερικά χρησιμοποιώντας αιτήματα HTTP POST, τείνετε να στέλνετε τα δεδομένα σε JSON, XML ή κάποια άλλη μορφή εκτός από την κωδικοποίηση των παραμέτρων ως συμβολοσειρά ερωτήματος. Η χρήση μιας μη τετριμμένης μορφής δεδομένων μειώνει τον κίνδυνο κάποιου να δημιουργήσει μια πλαστή φόρμα HTML που θα στείλει τα δεδομένα στην υπηρεσία σας.
  • Κάνω φροντίστε να δημιουργήσετε και να συμπεριλάβετε ένα μοναδικό και απρόβλεπτο διακριτικό στις φόρμες HTML σας. Αυτά τα διακριτικά θα πρέπει επίσης να είναι μοναδικά για κάθε αίτημα. Ο έλεγχος της παρουσίας και της ορθότητας τέτοιων μαρκών θα μειώσει τον κίνδυνο απειλών. Για να μάθετε το διακριτικό και να το χρησιμοποιήσετε στα ψεύτικα αιτήματά τους, οι εισβολείς θα πρέπει να αποκτήσουν πρόσβαση στο σύστημά σας και να πάρουν ένα διακριτικό απευθείας από εκεί. Δεδομένου ότι τα διακριτικά είναι εφάπαξ, δεν μπορούν να τα ξαναχρησιμοποιήσουν στον κακόβουλο κώδικα.

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



Λάβετε υπόψη ότι το CSRF δεν έχει εξαφανιστεί, δεν είναι τόσο συνηθισμένο όσο ήταν.

Διάγραμμα του CSRF σε δράση - καταργήθηκε από το top 10 του OWASP

Μη επικυρωμένες ανακατευθύνσεις και προωθήσεις

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

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

Για παράδειγμα, οι εφαρμογές ιστού εφαρμόζουν πολύ συχνά τη σύνδεση με υποστήριξη για ανακατευθύνσεις στη σελίδα της τελευταίας επίσκεψης. Για να μπορέσετε να το κάνετε εύκολα, ένα χαρακτηριστικό δράσης μιας φόρμας HTML μπορεί να μοιάζει με κάτι http://myapp.example.com/signin?url=http://myapp.example.com/puppies . Είστε μεγάλος θαυμαστής των κουταβιών, οπότε ήταν λογικό να εγκαταστήσετε μια επέκταση προγράμματος περιήγησης που αντικαθιστά τα favicons του ιστότοπου με τις μικρογραφίες των αγαπημένων σας κουταβιών. Δυστυχώς, είναι ένας κόσμος που τρώει σκύλο. Ο συντάκτης της επέκτασης του προγράμματος περιήγησης αποφάσισε να εξαργυρώσει την άνευ όρων αγάπη σας και να εισαγάγει ένα επιπλέον «χαρακτηριστικό». Κάθε φορά που επισκέπτεστε τον αγαπημένο σας ιστότοπο θαυμαστών κουταβιών, αντικαθιστά την παράμετρο 'url' στο χαρακτηριστικό ενέργειας της φόρμας με έναν σύνδεσμο προς τον δικό του ιστότοπο. Δεδομένου ότι ο ιστότοπος φαίνεται ακριβώς ο ίδιος, όταν δίνετε τα στοιχεία της πιστωτικής σας κάρτας για να αγοράσετε κουτάβια, στην πραγματικότητα χρηματοδοτείτε έναν κακόβουλο εισβολέα και όχι το χόμπι σας.

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

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

  • Επικυρώστε την εξερχόμενη διεύθυνση URL, βεβαιωθείτε ότι δείχνει στον τομέα που ελέγχετε.
  • Αντί να χρησιμοποιείτε ρητές διευθύνσεις, κωδικοποιήστε τις στο front-end και στη συνέχεια αποκωδικοποιήστε και επικυρώστε τις στο back-end.
  • Ετοιμάστε μια λίστα επιτρεπόμενων διευθύνσεων URL. Επιτρέπει προς τα εμπρός και ανακατευθύνσεις μόνο στις τοποθεσίες στη λίστα επιτρεπόμενων. Προτιμήστε αυτήν την προσέγγιση στη διατήρηση μιας μαύρης λίστας. Οι μαύρες λίστες γεμίζουν συνήθως με νέα αντικείμενα μόνο όταν συμβαίνει κάτι κακό. Οι λευκές λίστες είναι πιο περιοριστικές.
  • Χρησιμοποιήστε μια προσέγγιση που χρησιμοποιείται από το LinkedIn και ορισμένες άλλες εφαρμογές: Παρουσιάστε στους χρήστες σας μια σελίδα ζητώντας τους να επιβεβαιώσουν μια ανακατεύθυνση / προώθηση, καθιστώντας σαφές ότι αποχωρούν από την εφαρμογή σας.

Συγχωνευμένα ζητήματα

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

Έλεγχος σπασμένης πρόσβασης

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

Άμεσες αναφορές αντικειμένων

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

Μια εφαρμογή που ορίζει τη διεύθυνση URL της φόρμας διαγραφής προφίλ http://myapp.example.com/users/15/delete καθιστά σαφές ότι υπάρχουν τουλάχιστον 14 άλλοι χρήστες εντός της εφαρμογής. Το να μάθετε πώς να φτάσετε στη φόρμα διαγραφής άλλων χρηστών δεν είναι επιστήμη πυραύλων σε αυτήν την περίπτωση.

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

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

Απεικόνιση ενός διαγράμματος κρατικών μηχανών

Λείπει Έλεγχος πρόσβασης σε επίπεδο λειτουργίας

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

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

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

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

Διάγραμμα του σπασμένου ελέγχου πρόσβασης

Νέα θέματα στη λίστα των 10 κορυφαίων OWASP

Η έλευση νέων πλαισίων front-end και η υιοθέτηση νέων πρακτικών ανάπτυξης λογισμικού μετέβαλαν τα προβλήματα ασφάλειας σε εντελώς νέα θέματα. Οι νέες τεχνολογίες κατάφεραν επίσης να λύσουν ορισμένα κοινά ζητήματα που αντιμετωπίζαμε με το χέρι πριν. Ως εκ τούτου, έγινε χρήσιμο να αναθεωρήσετε τη λίστα και να την προσαρμόσετε ανάλογα με τις σύγχρονες τάσεις.

Εξωτερικές οντότητες XML

Το πρότυπο XML προσφέρει μια ελάχιστα γνωστή ιδέα που ονομάζεται εξωτερική οντότητα, η οποία αποτελεί μέρος του ορισμού τύπου δεδομένων του εγγράφου (DTD). Επιτρέπει στους συντάκτες εγγράφων να καθορίζουν συνδέσμους προς εξωτερικές οντότητες που μπορούν στη συνέχεια να αναφέρονται και να περιλαμβάνονται στο κύριο έγγραφο. Ένα πολύ απλό παράδειγμα θα ήταν:

&bar;

Κατά τη διάρκεια της ανάλυσης, μια αναφορά &bar; αντικαθίσταται με το περιεχόμενο από την καθορισμένη οντότητα, αποδίδοντας έτσι baz.

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

Το μαγικό είναι ότι η οντότητα δεν χρειάζεται να είναι μια απλή συμβολοσειρά - μπορεί να είναι μια αναφορά σε ένα αρχείο στο σύστημα αρχείων. Ο αναλυτής XML θα χαρεί να λάβει τα περιεχόμενα του καθορισμένου αρχείου και να το συμπεριλάβει στην παραγόμενη απόκριση, αποκαλύπτοντας ενδεχομένως ευαίσθητες πληροφορίες συστήματος. Όπως φαίνεται από το OWASP, θα ήταν πολύ εύκολο να λάβετε πληροφορίες σχετικά με τους χρήστες του συστήματος, ορίζοντας την οντότητα ως

]>

Ένα ιδιαίτερα ενοχλητικό «χαρακτηριστικό» αυτής της ευπάθειας είναι η δυνατότητα εύκολης εκτέλεσης μιας επίθεσης άρνησης υπηρεσίας. Ένας εύκολος τρόπος για να το κάνετε είναι να απαριθμήσετε τα περιεχόμενα ενός ατελείωτου αρχείου όπως /dev/random. Το άλλο είναι να δημιουργήσετε μια ακολουθία οντοτήτων, καθεμία από τις οποίες αναφέρει την προηγούμενη πολλές φορές. Αυτό μετατρέπει την τελική αναφορά σε μια ρίζα ενός δυνητικά πολύ μεγάλου και βαθιού δέντρου του οποίου η ανάλυση θα μπορούσε να εξαντλήσει τη μνήμη του συστήματος. Αυτή η επίθεση είναι ακόμη γνωστή ως Billion Laughs. Όπως φαίνεται στη Wikipedia, ορίζεται μια σειρά εικονικών οντοτήτων, δημιουργώντας την ευκαιρία για έναν εισβολέα να συμπεριλάβει ένα δισεκατομμύριο lols στο τελικό έγγραφο.

&lol9;

Η πρόληψη της εκμετάλλευσης εξωτερικών οντοτήτων XML θα μπορούσε να γίνει χρησιμοποιώντας μια λιγότερο περίπλοκη μορφή δεδομένων. Το JSON είναι μια καλή αντικατάσταση, υπό την προϋπόθεση ότι λαμβάνεται επίσης κάποια προφύλαξη λόγω πιθανών επιθέσεων εναντίον της. Η ενημέρωση βιβλιοθηκών XML είναι απαραίτητη, σε συνδυασμό με την απενεργοποίηση της επεξεργασίας εξωτερικών οντοτήτων και του DTD. Όπως πάντα, επικυρώστε και απολυμάνετε τα δεδομένα που προέρχονται από μη αξιόπιστες πηγές πριν τα χρησιμοποιήσετε ή τα συμπεριλάβετε στα έγγραφά σας.

Ασφαλής αποεπιεριοποίηση

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

Η κατάσταση και η διαμόρφωση της εφαρμογής είναι συχνά σειριακά και αποθηκεύονται. Μερικές φορές τα προγράμματα περιήγησης χρησιμεύουν ως μηχανές αποθήκευσης εάν τα σειριακά δεδομένα συνδέονται στενά με τον τρέχοντα χρήστη. Μια εφαρμογή που προσπαθεί να είναι έξυπνη και να εξοικονομήσει χρόνο επεξεργασίας θα μπορούσε να χρησιμοποιήσει ένα cookie για να επισημάνει ότι ένας χρήστης έχει συνδεθεί. Δεδομένου ότι το cookie μπορεί να δημιουργηθεί μόνο μετά την επιτυχία της σύνδεσης, είναι λογικό να αποθηκεύσετε το όνομα χρήστη στο cookie. Στη συνέχεια, ένας χρήστης πιστοποιείται και εξουσιοδοτείται βάσει της ύπαρξης και του περιεχομένου του cookie. Αν οι άνθρωποι δεν ήταν κακοπροαίρετοι, τίποτα δεν θα μπορούσε να πάει στραβά. Για να είμαι ειλικρινής, ούτε πρέπει να είναι περίεργοι.

Εάν ένας περίεργος χρήστης βρήκε ένα cookie στο μηχάνημά του, θα μπορούσε να δει κάτι σαν αυτό:

{'username': 'joe.doe', 'expires': '2018-06-01 10:28:16'}

Ένα απόλυτα έγκυρο λεξικό Python που έχει σειριοποιηθεί στο JSON, τίποτα το ιδιαίτερο γι 'αυτό. Ο συνεχώς περίεργος χρήστης μπορεί να αλλάξει την ημερομηνία λήξης για να αποτρέψει την εφαρμογή από το να υποχρεώσει την αποσύνδεση. Ένας ακόμη πιο περίεργος χρήστης μπορεί να προσπαθήσει να τροποποιήσει το όνομα χρήστη σε 'jane.doe'. Εάν υπήρχε αυτό το όνομα χρήστη, θα ανοίξει έναν εντελώς νέο κόσμο για τον ανυποψίαστο χρήστη που έχει πλέον πρόσβαση σε ιδιωτικά δεδομένα.

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

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

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

Το πρωτόκολλο του Python επιτρέπει στα μαθήματα να καθορίζουν μια μέθοδο __reduce__, η οποία επιστρέφει πληροφορίες σχετικά με τον τρόπο αποεπιλογής ενός προσαρμοσμένου αντικειμένου. Μία από τις υποστηριζόμενες τιμές επιστροφής είναι μια πλειάδα από δύο ορίσματα: μια κλήση και μια πλειάδα ορισμάτων που θα μεταβιβαστούν στην κλήση. Λαμβάνοντας υπόψη ότι το σύστημα εκπαίδευσης μοντέλου ML στοχεύει να παρέχει τη μέγιστη ευελιξία της δομής κώδικα, είναι δυνατό να γράψετε τον ακόλουθο κώδικα:

class Algo(object): def run(self): pass def __reduce__(self): import itertools return (list, (itertools.count(1), ))

Μόλις το αντικείμενο πρέπει να αποστειρωθεί (μη τουρσί), μια συνάρτηση list καλείται με ένα μόνο όρισμα. Η συνάρτηση list είναι ένας κατασκευαστής λιστών στο Python, και η συνάρτηση itertools.count παράγει ένα άπειρο επαναληπτικό τιμών, ξεκινώντας από την παράμετρο που πέρασε. Η μετατροπή ενός άπειρου επαναλήπτη σε μια λίστα πεπερασμένων μπορεί να έχει καταστροφικές συνέπειες στην απόδοση και τη σταθερότητα του συστήματός σας.

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

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

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

Ανεπαρκής καταγραφή και παρακολούθηση

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

Φανταστείτε το ακόλουθο σενάριο. Η αίτησή σας περιέχει μια σελίδα σύνδεσης, όπως οι περισσότεροι. Η φόρμα έχει δύο πεδία, ένα για την εισαγωγή email και το άλλο για κωδικό πρόσβασης. Εάν ένας χρήστης προσπαθήσει να συνδεθεί και παρέχει λανθασμένο κωδικό πρόσβασης, μπορεί να προσπαθήσει ξανά. Δυστυχώς, ο αριθμός των λανθασμένων προσπαθειών δεν είναι περιορισμένος, επομένως η σελίδα σύνδεσης δεν θα κλειδωθεί μετά από ανεπιτυχείς προσπάθειες N. Ένας εισβολέας μπορεί να χρησιμοποιήσει αυτήν την ευκαιρία και, έχοντας ένα σωστό μήνυμα ηλεκτρονικού ταχυδρομείου, συνεχίζει να εισάγει κωδικούς πρόσβασης από ένα τραπέζι ουράνιου τόξου έως ότου επιτευχθεί τελικά ένας συνδυασμός. Εφόσον η εφαρμογή σας είναι αρκετά ασφαλής και έχετε κατακερματιστεί τους κωδικούς πρόσβασης πριν τους εισαγάγετε σε μια βάση δεδομένων, αυτή η συγκεκριμένη επίθεση δεν θα λειτουργήσει. Ωστόσο, έχετε έναν μηχανισμό για τον εντοπισμό των εισβολών;

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

Για να κάνετε το καλύτερο δυνατό για να προστατευτείτε από τέτοιες επιθέσεις, κάντε τα ακόλουθα βήματα:

  • Καταγράψτε όλες τις αποτυχίες και τις προειδοποιήσεις που συμβαίνουν στην εφαρμογή, είτε πρόκειται για εξαιρέσεις που λαμβάνονται στον κώδικα είτε για σφάλματα ελέγχου, επικύρωσης και χειραγώγησης δεδομένων. Όλες οι αποθηκευμένες πληροφορίες πρέπει να αναπαράγονται και να διατηρούνται για μεγάλο χρονικό διάστημα έτσι ώστε να είναι δυνατή η αναδρομική επιθεώρηση και ανάλυση.
  • Ο καθορισμός της μορφής και του επιπέδου επιμονής είναι σημαντικός. Το να έχετε ένα τεράστιο αρχείο με αυθαίρετη μορφή κειμένου είναι εύκολο να επιτευχθεί. η επεξεργασία αργότερα δεν είναι. Ορίστε μια επιλογή αποθήκευσης που διευκολύνει την αποθήκευση και ανάγνωση των δεδομένων και μια μορφή που επιτρέπει εύκολη και γρήγορη (de) σειριοποίηση. Η αποθήκευση του JSON σε μια βάση δεδομένων που επιτρέπει γρήγορη πρόσβαση διευκολύνει τη χρήση. Διατηρήστε τη βάση δεδομένων μικρή, δημιουργώντας αντίγραφα ασφαλείας τακτικά.
  • Εάν ασχολείστε με σημαντικά και πολύτιμα δεδομένα, ακολουθήστε ένα ίχνος ενεργειών που μπορούν να ακολουθηθούν για τον έλεγχο της τελικής κατάστασης. Εφαρμογή μηχανισμού για την αποτροπή παραβίασης δεδομένων.
  • Ζητήστε από τα συστήματα υποβάθρου να αναλύσουν τα αρχεία καταγραφής και να σας ειδοποιήσουν εάν προκύψει κάτι. Έλεγχοι - οι οποίοι είναι τόσο απλοί όσο ο έλεγχος εάν ένας χρήστης προσπαθεί επανειλημμένα να αποκτήσει πρόσβαση σε ένα προστατευμένο τμήμα της εφαρμογής - βοήθεια. Ωστόσο, μην υπερφορτώνετε το σύστημα με ψεύτικους ελέγχους. Τα συστήματα παρακολούθησης πρέπει να λειτουργούν ως ξεχωριστές υπηρεσίες και δεν πρέπει να επηρεάζουν την απόδοση του κύριου συστήματος.

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

Διάγραμμα καταγραφής και παρακολούθησης

Επόμενα βήματα

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

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

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

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

Εάν μόλις ξεκινήσατε να εξερευνάτε την ασφάλεια εφαρμογών ιστού και χρειάζεστε μια ασφαλή παιδική χαρά με άμμο, χρησιμοποιήστε μια εφαρμογή εφαρμογής ιστού από το OWASP— WebGoat . Είναι μια σκόπιμα ανασφαλής εφαρμογή μιας εφαρμογής ιστού. Η εφαρμογή σας καθοδηγεί στα μαθήματα, με κάθε μάθημα να επικεντρώνεται σε μία απειλή για την ασφάλεια.

Κατά την ανάπτυξη εφαρμογών, βεβαιωθείτε ότι:

  • Προσδιορίστε και δώστε προτεραιότητα στις απειλές. Ορίστε ποιες απειλές μπορεί να συμβούν ρεαλιστικά και ενέχουν κίνδυνο για την εφαρμογή σας. Δώστε προτεραιότητα στις απειλές και αποφασίστε ποιες αξίζουν την μεγαλύτερη προσπάθεια ανάπτυξης και δοκιμών. Δεν έχει νόημα να καταβάλλετε μεγάλη προσπάθεια για την επίλυση ανεπαρκούς καταγραφής και παρακολούθησης εάν χρησιμοποιείτε ένα στατικό ιστολόγιο.
  • Αξιολογήστε την αρχιτεκτονική και το σχεδιασμό της εφαρμογής σας. Ορισμένες ευπάθειες είναι πολύ δύσκολο να επιλυθούν κατά τις μεταγενέστερες φάσεις της ανάπτυξης εφαρμογών. Για παράδειγμα, εάν σκοπεύετε να εκτελέσετε κωδικό τρίτου μέρους και δεν έχετε σχέδια για χρήση περιβάλλοντος περιβάλλοντος, θα είναι πολύ δύσκολο να προστατευτείτε από την ανασφαλή αποεπιεριοποίηση και τις επιθέσεις με ένεση.
  • Ενημερώστε τη διαδικασία ανάπτυξης λογισμικού. Ο έλεγχος ενάντια σε απειλές εφαρμογών ιστού πρέπει, στο μέτρο του δυνατού, να είναι μια αυτοματοποιημένη διαδικασία. Είναι ωφέλιμο να αυξήσετε τις ροές εργασίας CI / CD με αυτοματοποιημένες δοκιμές που προσπαθούν να βρουν τρύπες ασφαλείας. Μπορείτε ακόμη να χρησιμοποιήσετε το υπάρχον σύστημα δοκιμών μονάδας για να αναπτύξετε δοκιμές ασφαλείας και να τις εκτελείτε περιοδικά.
  • Μάθετε και βελτιώστε. Ο κατάλογος των θεμάτων και των τρωτών σημείων δεν είναι στατικός και σίγουρα δεν περιορίζεται σε δέκα ή δεκαπέντε απειλές. Νέα λειτουργικότητα και ιδέες ανοίγουν τις πόρτες για νέους τύπους επιθέσεων. Είναι σημαντικό να διαβάσετε τις τρέχουσες τάσεις στον κόσμο της ασφάλειας εφαρμογών ιστού για να μείνετε ενημερωμένοι. Εφαρμόστε ό, τι μαθαίνετε. Διαφορετικά, σπαταλάτε το χρόνο σας.

συμπέρασμα

Παρόλο που, όπως υποδηλώνει το όνομα, το OWASP Top Ten Project παραθέτει μόνο δέκα ευπάθειες ασφαλείας, υπάρχουν χιλιάδες πιθανές παγίδες και backdoors που απειλούν τις εφαρμογές σας και, κυρίως, τους χρήστες και τα δεδομένα τους. Φροντίστε να είστε επιφυλακτικοί και να ανανεώνετε συνεχώς τις γνώσεις σας, καθώς οι αλλαγές και οι βελτιώσεις των τεχνολογιών έχουν τόσο αρνητικά όσο και μειονεκτήματα.

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

Κατανόηση των βασικών

Τι σημαίνει το OWASP;

Το ακρωνύμιο OWASP σημαίνει το έργο Open Web Application Security. Είναι μια διαδικτυακή κοινότητα που παράγει μαθησιακούς πόρους και εργαλεία που ασχολούνται με την ασφάλεια εφαρμογών ιστού.

Τι είναι το κορυφαίο 10 OWASP;

Το OWASP Top Ten είναι μια λίστα με τις πιο κοινές απειλές για την ασφάλεια εφαρμογών ιστού, που παράγονται από ειδικούς ασφαλείας, λαμβάνοντας υπόψη τα σχόλια της κοινότητας.

Τι είναι μια επίθεση CSRF;

Η πλαστογράφηση αιτήσεων μεταξύ ιστότοπων είναι μια επίθεση που κάνει τους χρήστες να εκτελούν ανεπιθύμητα αιτήματα προς μια εφαρμογή στην οποία πιστοποιούνται.

προσθέστε χρήματα στο hack χρεωστικής κάρτας

Τι είναι οι μη επικυρωμένες ανακατευθύνσεις και οι προωθήσεις;

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

Τι είναι η επίθεση με ένεση;

Η επίθεση με έγχυση είναι ένας τύπος επίθεσης που επιτρέπει στους εισβολείς να εισάγουν ανεπιθύμητο κώδικα σε μια εφαρμογή. Υπάρχουν διάφοροι τύποι επιθέσεων, με βάση την εφαρμογή, με τους πιο συνηθισμένους να είναι SQL injection και cross-site scripting.

Τι είναι η αποστειρωτικοποίηση;

Η αποεριοποίηση είναι μια διαδικασία μετατροπής μιας ροής byte σε κώδικα που φορτώνεται στη μνήμη. Η αρχική ροή byte παράγεται από μια διαδικασία σειριοποίησης που κάνει το αντίθετο.

Τι είναι ο φορέας επίθεσης;

Ένας φορέας επίθεσης σημαίνει μια μέθοδο εκμετάλλευσης ευπάθειας ασφαλείας σε εφαρμογές. Η ένεση ενός μη έγκυρου στοιχείου img HTML που υποβάλλει αιτήματα σε έναν πόρο API μιας τράπεζας είναι ένα παράδειγμα ενός φορέα επίθεσης που χρησιμοποιείται σε μια επίθεση CSRF.

Τι είναι μια οντότητα σε XML;

Η οντότητα XML είναι ένας μηχανισμός για τον ορισμό ενός ψευδωνύμου σε ένα στοιχείο που χρησιμοποιείται στο έγγραφο XML ή στον ορισμό τύπου εγγράφου (DTD).

Τι είναι μια εξωτερική οντότητα;

Η εξωτερική οντότητα είναι ένας τύπος οντότητας XML. Είναι εύκολο για τους συντάκτες εγγράφων να συμπεριλάβουν εξωτερικούς πόρους στα έγγραφά τους χρησιμοποιώντας ένα ενιαίο αναγνωριστικό πόρου (URI).

Τι είναι το OWASP WebGoat;

Το OWASP WebGoat είναι μια σκόπιμα ανασφαλής εφαρμογή μιας διαδικτυακής εφαρμογής που χρησιμεύει ως μηχανισμός εκμάθησης για τη διδασκαλία μαθημάτων ασφαλείας εφαρμογών Ιστού.

Αγορά πωλητή - Ερωτήσεις σχετικά με την οικονομική δέουσα επιμέλεια

Διαδικασίες Χρηματοδότησης

Αγορά πωλητή - Ερωτήσεις σχετικά με την οικονομική δέουσα επιμέλεια
Η πιο συναρπαστική τάξη περιουσιακών στοιχείων στα ιδιωτικά κεφάλαια; Αναζήτηση κεφαλαίων από την προοπτική του επενδυτή

Η πιο συναρπαστική τάξη περιουσιακών στοιχείων στα ιδιωτικά κεφάλαια; Αναζήτηση κεφαλαίων από την προοπτική του επενδυτή

Διαδικασίες Χρηματοδότησης

Δημοφιλείς Αναρτήσεις
Πώς να επιλέξετε το καλύτερο πλαίσιο Front-End
Πώς να επιλέξετε το καλύτερο πλαίσιο Front-End
Χρειάζεστε έναν ήρωα: Ο υπεύθυνος έργου
Χρειάζεστε έναν ήρωα: Ο υπεύθυνος έργου
Πώς να βελτιώσετε την απόδοση της εφαρμογής ASP.NET στο Web Farm με προσωρινή αποθήκευση
Πώς να βελτιώσετε την απόδοση της εφαρμογής ASP.NET στο Web Farm με προσωρινή αποθήκευση
Οι δοκιμασμένοι και αληθινοί νόμοι του UX (με Infographic)
Οι δοκιμασμένοι και αληθινοί νόμοι του UX (με Infographic)
Ανώτερος συνεργάτης πελάτη, υγειονομική περίθαλψη και βιοεπιστήμες
Ανώτερος συνεργάτης πελάτη, υγειονομική περίθαλψη και βιοεπιστήμες
 
Η άνοδος των αυτοματοποιημένων συναλλαγών: Μηχανές που εμπορεύονται το S&P 500
Η άνοδος των αυτοματοποιημένων συναλλαγών: Μηχανές που εμπορεύονται το S&P 500
10 πιο κοινές ευπάθειες ασφαλείας στον Ιστό
10 πιο κοινές ευπάθειες ασφαλείας στον Ιστό
Σκέψεις για τη συγκέντρωση του ιδιωτικού σας αμοιβαίου κεφαλαίου
Σκέψεις για τη συγκέντρωση του ιδιωτικού σας αμοιβαίου κεφαλαίου
Διευθυντής έργου και διαχείρισης προϊόντων
Διευθυντής έργου και διαχείρισης προϊόντων
Η σημασία της διατήρησης πελατών - μια εμπειρική μελέτη
Η σημασία της διατήρησης πελατών - μια εμπειρική μελέτη
Δημοφιλείς Αναρτήσεις
  • εισαγωγή στην ευέλικτη διαχείριση έργων
  • πώς να τιμολογήσετε μια επιλογή κλήσης
  • Το c++ περιλαμβάνει άλλα αρχεία cpp
  • hack πιστωτικής κάρτας google play
  • αρχές ορισμού ποικιλίας σχεδιασμού
Κατηγορίες
  • Επιστήμη Δεδομένων Και Βάσεις Δεδομένων
  • Κατανεμημένες Ομάδες
  • Ευκίνητο Ταλέντο
  • Κερδοφορία & Αποδοτικότητα
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt