Ποιος είναι τελικά υπεύθυνος για την ασφάλεια?

Νικόλαος Σίμος
Technical Manager
Pylones Hellas
www.pylones.gr

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

Η ασφάλεια πληροφοριακών συστημάτων αποτελεί από μόνη της μια ξεχωριστή ειδικότητα και απαιτεί ειδικές δεξιότητες. Ακόμα και εντός της ευρύτερης έννοιας της ασφάλειας πληροφοριακών συστημάτων, υπάρχουν υποκατηγορίες που απαιτούν ιδιαίτερες τεχνικές γνώσεις. Ένας άριστος μηχανικός στο network security δεν είναι απαραίτητα το ίδιο καλός στο application ή στο database security, παρόλο που απαιτούνται οι ίδιες βασικές γνώσεις. Στον αντίποδα όμως, ένας network security admin θα πρέπει να γνωρίζει από δίκτυα χωρίς να είναι απαραίτητα network architect. Ομοίως, ένας application security engineer δεν είναι απαραίτητα web developer, όμως είναι απολύτως απαραίτητο να γνωρίζει πως λειτουργούν και επικοινωνούν οι εφαρμογές προκειμένου να μπορεί να διαγνώσει τα τρωτά τους σημεία και τελικώς να τις ασφαλίσει.

Επαρκούν οι default ρυθμίσεις για το Web Application Security? 

Ειδικότερα σε ότι αφορά το Web Application Security, προφανώς μία επαρκής πολιτική ασφαλείας δεν μπορεί να περιοριστεί σε μερικές δεκάδες signatures και την ενεργοποίηση κάποιων default ρυθμίσεων με εντυπωσιακές περιγραφές. Η σύνταξη σωστών πολιτικών και κατ’ επέκταση η προστασία των εφαρμογών είναι μια επίπονη διαδικασία που απαιτεί ενδελεχή μελέτη των logs και εξαντλητικές δοκιμές, προκειμένου να ελαχιστοποιηθούν τα false positives χωρίς ταυτόχρονα να αφήνονται κενά ασφαλείας. Θα πρέπει να καθοριστούν με ακρίβεια και λεπτομέρεια τόσο οι επιτρεπόμενοι headers, parameters, cookies, urls κλπ, όσο και το περιεχόμενο αυτών. Βέβαια το σημαντικότερο όλων είναι ο security engineer να έχει τις απαραίτητες γνώσεις ώστε να κατανοεί και να αξιολογεί τα παραγόμενα logs και να μπορεί να προβαίνει στις απαραίτητες ενέργειες.

Εκτός όμως από τα security incidents και την προστασία της εφαρμογής από ενδεχόμενη διαρροή δεδομένων ή την κακόβουλη παραποίησή τους, απαραίτητη είναι η προστασία από Denial of Service attacks. Διότι, στο τέλος της ημέρας, αυτό που έχει σημασία είναι η web εφαρμογή να λειτουργεί και να εξυπηρετεί το σκοπό της. Ένας WebApp security administrator θα πρέπει να γνωρίζει τους τρόπους που λειτουργούν τέτοιου είδους επιθέσεις ώστε να μπορεί να αξιοποιήσει κατάλληλα τις δυνατότητες που του δίνει το κάθε προϊόν.

APIs security: a big challenge

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

Μια επιτυχημένη πολιτική ασφαλείας των API, απαιτεί βαθιά γνώση της αρχιτεκτονικής τους. Κάθε entity θα πρέπει να έχει μόνο τα απαραίτητα δικαιώματα να κάνει τα actions που προβλέπονται. Οποιαδήποτε αλλαγή στα δικαιώματα θα πρέπει άμεσα να αντικατοπτρίζεται στην πολιτική. Ότι δεν προβλέπεται ή περιγράφεται σαφώς στην πολιτική, θα πρέπει να απαγορεύεται (default deny policy). Επιπρόσθετα, κάθε request θα πρέπει να αντιμετωπίζεται αυτόνομα και ανεξάρτητα. Δηλαδή, να γίνεται evaluation της πολιτικής ασφαλείας για κάθε request και να υπάρχει δυνατότητα ανάκλησης δικαιωμάτων σε κάθε ένα από αυτά. Επιπρόσθετα, το περιεχόμενο των APIs (json, xml κλπ) θα πρέπει να γίνεται validate πριν τελικώς επιτραπεί η εκτέλεση.

Θα πρέπει να γίνεται συνεχώς παρακολούθηση του αριθμού των API calls καθώς και του χρόνου απόκρισης ώστε να υπάρχει η δυνατότητα παραμετροποίησης μηχανισμών throttling, χωρίς όμως να επηρεάζεται το business. 

Security is not just a button on a platform

Η επαρκής και αποτελεσματική προστασία των WebApps και APIs απαιτεί πολύπλοκες πολιτικές και μεθόδους άμυνας. Απαιτούνται επίσης συστήματα που παρέχουν τις δυνατότητες επιβολής των παραπάνω. Όμως, η βασικότερη προϋπόθεση είναι η κατάρτιση των μηχανικών που καλούνται να συντάξουν τις πολιτικές αυτές, διότι τελικώς το κάθε security system είναι τόσο αποτελεσματικό όσο ο άνθρωπος που το παραμετροποιεί!

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