ΚΑΤΑΝΟΗΣΗ

Το API είναι το ακρωνύμιο του Application Programming Interface, το οποίο είναι ένας ενδιάμεσος λογισμικού που επιτρέπει σε δύο εφαρμογές να συνομιλούν μεταξύ τους. Κάθε φορά που χρησιμοποιείτε μια εφαρμογή όπως το Facebook, στέλνετε ένα άμεσο μήνυμα ή ελέγχετε τον καιρό στο τηλέφωνό σας, χρησιμοποιείτε ένα API.

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

τι ειναι μια επιθεση / breach api

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

Οι επιθέσεις API χωρίζονται σε 8 βασικές κατηγορίες.

Τύποι:

Broken Access Control

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

DDoS attack

Μια κατανεμημένη επίθεση άρνησης υπηρεσίας (Distributed Denial of Service attack - DDoS) μπορεί να κάνει ένα τελικό σημείο API μη προσβάσιμο ή να το εκτροχιάσει. Τα διαδικτυακά συστήματα ηλεκτρονικού εμπορίου θα είναι ανοιχτά στο IDA (επιθέσεις άρνησης αποθέματος).

SQL Injection Attacks
Οι επιθέσεις SQL injection είναι μέθοδοι για την εισαγωγή SQL στα πεδία εισόδου μέσω της βάσης δεδομένων SQL που βρίσκεται κάτω από το σύστημα. Αυτά τα ελαττώματα μπορούν στη συνέχεια να χρησιμοποιηθούν καταχρηστικά εάν οι φόρμες επιτρέπουν στους χρήστες να υποβάλουν ερωτήματα στη βάση δεδομένων χρησιμοποιώντας απευθείας δηλώσεις SQL.
Man in the Middle (MITM)
Μια επίθεση "Man in the Middle" σημαίνει ακριβώς αυτό που καταλαβαίνετε απο το όνομα του. Ένας εισβολέας διακριτικά αλλάζει, αναμεταδίδει και αναχαιτίζει μηνύματα και αιτήματα μεταξύ δύο μερών για λήψη ευαίσθητων πληροφοριών. Ένας hacker μπορεί να ενεργήσει ως άνθρωπος στη μέση μεταξύ ενός session token που εκδίδει API και μιας κεφαλίδας HTTP και ενός χρήστη. Εάν ο hacker μπορούσε να υποκλέψει αυτό το session token, θα του παραχωρούσε πρόσβαση στον λογαριασμό του χρήστη, κάτι που μπορεί να οδηγήσει σε (πιθανώς) έναν τόνο ευαίσθητων και προσωπικών πληροφοριών.
Excessive Data Exposure
Οι web εφαρμογές επεξεργάζονται και μεταφέρουν συχνά ευαίσθητα δεδομένα, όπως πληροφορίες πιστωτικών καρτών, κωδικούς πρόσβασης, διακριτικά συνεδρίας, ιδιωτικές πληροφορίες υγείας και άλλα. Μια έκθεση πληροφοριών προκύπτει όταν αυτά τα δεδομένα αφήνονται εκτεθειμένα στον διακομιστή για πρόσβαση σε οποιονδήποτε.

Αυτό συμβαίνει όταν το API δεν φιλτράρει την απόκριση πριν φτάσει στον πελάτη (αστοχία του προγραμματιστή να χειριστεί σωστά τα δεδομένα).
Improper Assets Management
Ένα ακατάλληλο στοιχείο προκύπτει όταν υπάρχουν περισσότερες από μία εκδόσεις ενός API και ο προγραμματιστής ξεχνά να διαγράψει την πρώτη ή σε ένα άλλο σενάριο, για παράδειγμα, ένα δοκιμαστικό endpoint API παραμένει συνδεδεμένο στο περιβάλλον παραγωγής. Η σωστή και ενημερωμένη τεκμηρίωση είναι εξαιρετικά σημαντική, καθώς τα API τείνουν να εκθέτουν περισσότερα endpoints από τις παραδοσιακές web εφαρμογές. Η καλή διαχείριση του αποθέματος παίζει επίσης σημαντικό ρόλο στη μείωση των προβλημάτων με παλιές ή ευάλωτες εκδόσεις API.
Unencrypted Communications
Το Transport Layer Security (TLS) είναι μία από τις απλούστερες και πιο στοιχειώδεις μεθόδους προστασίας ασφάλειας API. Το TLS κρυπτογραφεί την ανταλλαγή δεδομένων μεταξύ του πελάτη και του διακομιστή, ώστε να μπορείτε να αποφύγετε την επίθεση ενός man in the middle.Το Poodle, που ανακαλύφθηκε το 2014, είναι μια διάσημη επίθεση κατά του TLS. Το Poodle επιστρέφει στο SSL 3.0 (πρωτόκολλο ασφαλείας υποβάθμισης) για να αποκαλύψει πληροφορίες κρυπτογραφημένες από SSL.
Broken User Authentication
Ο έλεγχος ταυτότητας API είναι μια κρίσιμη υπηρεσία που προσδιορίζει και εξουσιοδοτεί τους πελάτες να έχουν πρόσβαση σε εφαρμογές. Ο κατεστραμμένος έλεγχος ταυτότητας αναφέρεται σε μια αδυναμία σε δύο μηχανισμούς: ακατάλληλη διαχείριση περιόδου λειτουργίας και διαχείριση διαπιστευτηρίων. Και οι δύο επιτρέπουν στους εισβολείς να χρησιμοποιούν κλεμμένα διακριτικά ελέγχου ταυτότητας ή να ασκούν κατάχρηση ή να χρησιμοποιούν κλεμμένα διαπιστευτήρια για να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση σε εφαρμογές.

ΣΗΜΑΝΤΙΚΑ ΠΑΡΑΔΕΙΓΜΑΤΑ

Τον Αύγουστο του 2021, δεκάδες οργανισμοί που χρησιμοποιούν το Microsoft Power Apps εξέθεσαν κατά λάθος 38 εκατομμύρια αρχεία, ανίχνευση επαφών COVID-19, αριθμούς κοινωνικής ασφάλισης αιτούντων εργασίας, ακόμη και 332.000 διευθύνσεις email και αναγνωριστικά εργαζομένων που χρησιμοποιούνται από τις παγκόσμιες υπηρεσίες μισθοδοσίας της Microsoft.

Εκτός από τη Microsoft, άλλοι οργανισμοί που επηρεάστηκαν περιλαμβάνουν την American Airlines, Ford, J.B. Hunt και πρακτορεία στην Ιντιάνα, το Μέριλαντ και τη Νέα Υόρκη.

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

Το πρόβλημα έγκειται στον τρόπο διαμόρφωσης των διεπαφών προγραμματισμού εφαρμογών του συστήματος - τα APIs.

ΠΩΣ ΝΑ ΠΡΟΣΤΑΤΕΨΟΥΜΕ ΤΑ API'S

Η ασφάλεια των API από επιθέσεις είναι κρίσιμης σημασίας για τις επιχειρήσεις καθώς αυξάνεται η χρήση του API και επεκτείνεται η επιφάνεια επίθεσης. Οι συνήθεις επιθέσεις κατά των API Ιστού περιλαμβάνουν επιθέσεις "γεμίσματος" διαπιστευτηρίων, επιθέσεις κατάληψης λογαριασμού, χειραγώγηση αιτημάτων κλήσεων API, επιθέσεις κατανεμημένης άρνησης υπηρεσίας (DDoS) και επιθέσεις Man-in-the Middle. Η παραβίαση ή η κατάχρηση των API μπορεί να έχει εκτεταμένες συνέπειες, όπως παραβιάσεις δεδομένων, διείσδυση δεδομένων ή αργή και ακόμη και πλήρης διακοπή της υπηρεσίας.

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

  • Προσδιορίστε τα API σε ολόκληρο τον οργανισμό για να αποφύγετε τον κίνδυνο shadow ή zombie API
  • Χρησιμοποιήστε λεπτομερή στοιχεία ελέγχου πρόσβασης για κάθε API για τον έλεγχο ταυτότητας των χρηστών και την αποφυγή κατεστραμμένου ελέγχου ταυτότητας χρήστη
  • Εφαρμόστε μεθόδους κρυπτογράφησης για να εξασφαλίσετε την ασφαλή μεταφορά δεδομένων
  • Εφαρμόστε ένα όριο ποσοστού για τον αριθμό των αιτημάτων API για τον μετριασμό της κατάχρησης PI
  • Διασφαλίστε τη συνεργασία μεταξύ προγραμματιστών, ομάδων τεχνολογίας πληροφοριών (IT) και ασφάλειας

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