Είναι το gov.gr τρύπιο;

24 Μαΐου, 2021

Θεματάκι έγινε σήμερις 24/05/2021 στο ελληνικό ίντερνετς, έπειτα από άρθρο της Εφσυν, το οποίο ισχυρίζεται ότι το gov.gr είναι τρύπιο. Το άρθρο βασίζεται σε σχετική ανακοίνωση της Ένωσης Πληροφορικών Ελλάδας στις 18/05/2021, όπου υπάρχει ο ισχυρισμός για κενό ασφαλείας.

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

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

Η Ένωση Ελλήνων Πληροφορικών φαίνεται να εφαρμόζει στην εν λόγω περίπτωση την τακτική αυτή αλλά κάπως ανορθόδοξα. Ανακοινώνει δηλαδή δημόσια ότι ενημέρωσε για το εύρημά της το Υπουργείο Ψηφιακής Διακυβέρνησης την ίδια ημέρα που ενημέρωσε και το υπουργείο για αυτό. Εκτός κι αν οι ημερομηνίες στην ανακοίνωση στην ιστοσελίδα της και στην επιστολή προς το υπουργείο είναι λάθος (φαίνεται η ίδια ημερομηνία, 18/05/2021).

** Update: εκ των υστέρων ενημερώθηκα ότι η ημερομηνία της ανάρτησης της Ένωσης Πληροφορικών Ελλάδος ήταν καταγεγραμμένη λάθος, θεωρώ καλοπροαίρετα πως πράγματι έγινε έτσι και ότι η πραγματική ημερομηνία ήταν 21/05/2021. 

Επίσης, δηλώνει ότι δίνει 72 ώρες διορία προτού προβεί σε δημοσιοποίηση του ευρήματος και μάλιστα “βάσει του πλαισίου GDPR (άρθρο 33), καθώς και του Κώδικα Δεοντολογίας των Πληροφορικών σχετικά με το Δημόσιο Συμφέρον και την Υποχρέωση Γνωστοποίησης, είμαστε υποχρεωμένοι να δημοσιοποιήσουμε το εν λόγω κενό ασφαλείας σε 72 ώρες από τη στιγμή αποστολής της παρούσας επιστολής προς εσάς“.

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

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

Αλλά είναι  πράγματι τρύπιο το gov.gr; Η περιγραφή του κενού ασφαλείας από την Ένωση Πληροφορικών Ελλάδος μοιάζει πλήρης. Περιγράφει μια συνθήκη που πράγματι υπάρχει. Λέει δηλαδή ότι, αν μπεις στο https://dilosi.services.gov.gr/show/q/validate και δώσεις έναν έγκυρο κωδικό επαλήθευσης εγγράφου, το οποίο να έχει εκδοθεί από το gov.gr στο όνομα κάποιου πολίτη, θα αποκτήσεις πρόσβαση στο έγγραφο αυτό και μαζί στα όποια προσωπικά δεδομένα του χρήστη που το εξέδωσε βρίσκονται μέσα σε αυτό. Αυτό μπορεί να συμβεί ακόμη και αν δεν έχεις κάνει πρώτα είσοδο (login) στο gov.gr. Επαναλαμβάνω: αυτό συμβαίνει και μπορώ να το επιβεβαιώσω τόσο εγώ όσο και οποιοσδήποτε άλλος χρήστης του gov.gr ακολουθήσει τα παραπάνω βήματα. Και μάλλον προκύπτει από τις ίδιες προδιαγραφές του συστήματος, είναι σχεδιασμένο (by design) δηλαδή να συμβαίνει έτσι.

Είναι αυτό κενό ασφαλείας; Και ναι και όχι. Δεν έχει συμβεί από λάθος ή αμέλεια του συστήματος, αλλά, κατά τη γνώμη μου, αφήνει χώρο για διαρροή προσωπικών δεδομένων χρήστη είτε με πολύ-πολύ μικρό ποσοστό πιθανότητας επιτυχίας για κάποιον κακόβουλο, είτε κάνοντας εύκολη την αμέλεια του ίδιου του χρήστη, μιας και δεν απαιτείται να έχει αυτός ενεργή σύνδεση (login/session) για την πρόσβαση του αρχείου.

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

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

Υποστηρίζει επίσης η Ένωση Πληροφορικών Ελλάδος  -και τους πιστεύω σε αυτό- ότι κάνοντας κάποιος μια έξυπνη αναζήτηση στη Google θα βρει τέτοιους κωδικούς χρηστών, οι οποίοι, δεν αμφιβάλλω ότι κάπου κάπως μοιράστηκαν κάποιο σύνδεσμο ή κάποιο κωδικό σε κάποιο email ή σε κάποιο forum, ζητώντας βοήθεια ή συζητώντας με άλλους χρήστες ανυποψίαστοι (η εύκολη αμέλεια που λέγαμε).

Το Υπουργείο Ψηφιακής Διακυβέρνησης (σήμερα ήδη 24/05/2021) απαντά σε αμυντικό ύφος ότι δεν τίθεται θέμα κενού ασφαλείας και ότι τα url παράγονται αυτόματα από καλούς αλγορίθμους κλπ κλπ (απολύτως σωστό αυτό το τελευταίο). Αλλά δεν απαντά στο θέμα πρόσβασης των αρχείων από χρήστες που δεν έχουν κάνει είσοδο προηγουμένως στο σύστημα και απλώς γνωρίζουν τον κωδικό επαλήθευσης του εγγράφου. Και κανείς, ούτε φυσικά το υπουργείο, δεν αναφέρει τι θα κάνει ο χρήστης σε περίπτωση που ένας τέτοιος κωδικός γίνει τελικά γνωστός.

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

Κλείνοντας, παρατήρησα και κάτι άλλο στο ίδιο σύστημα. Αν μπει κανείς στη θυρίδα του στο gov.gr, κάνοντας είσοδο με τον κωδικό και συνθηματικό του (username και password) και έπειτα μεταβεί σε ένα από τα έγγραφά του και πάρει επί τόπου με αντιγραφή (copy) το σύνδεσμο από τη “Λήψη αρχείου”, τότε μπορεί να κάνει επικόλληση (paste) το σύνδεσμο αυτό σε οποιοδήποτε άλλο browser από οποιοδήποτε άλλο δίκτυο θέλει (το δοκίμασα με VPN) και να κατεβάσει το έγγραφό του. Βέβαια, φαίνεται ότι το έγγραφο θα κατέβει μόνο την πρώτη φορά, καθώς κάτι συμβαίνει στο παρασκήνιο και ο σύνδεσμος σταματάει έπειτα να λειτουργεί ακόμη και από τον πλοηγό του χρήστη από όπου αυτός έχει κάνει αρχικά είσοδο στο σύστημα.

Δεν το θεωρώ μείζον ούτε αυτό και το κατηγοριοποιώ στο ίδιο πνεύμα κριτικής που έκανα προηγουμένως. Ίσως, δε, οι προγραμματιστές του gov.gr να κάνουν ήδη διορθώσεις στο σύστημα και αυτή η τελευταία παρατήρηση να είναι αποτέλεσμα ενδιάμεσων αλλαγών.

Δε μπορώ να μην πω φυσικά, πέρα από την όποια κριτική και πέρα από την όποια ιδεολογική διαφοροποίηση έχω με αυτή την κυβέρνηση, ότι αυτό το gov.gr πρέπει να είναι από τα καλύτερα πράγματα που έχουν συμβεί στη χώρα τα τελευταία 30 χρόνια.

εκτύπωση Κατηγορίες: διαδίκτυο, πολιτικά | rss 2.0 | trackback

5 σχόλια στο “Είναι το gov.gr τρύπιο;”

Ο/η "Φώτης Ε. Αλεξάκος" είπε:

Μια διευκρίνηση εκ μέρους της ΕΠΕ: Πράγματι είχαμε στείλει από τις 18 Μαΐου σχετική επιστολή στο Υπουργείο Ψηφιακής Διακυβέρνησης (λάθος η ημερομηνία στην ανάρτηση, η οποία έγινε στις 21/5), όπου τους ενημερώναμε για το πρόβλημα και προτείναμε έναν -απλό θεωρούμε- τρόπο διόρθωσης. Προφανώς και δεν αναρτήσαμε αυτό καθαυτό το e-mail (ως επιστολή). Μόλις πέρασαν 3 ημέρες και δεν τύχαμε ουδεμίας απάντησης, αναδείξαμε το πρόβλημα. Αν μη τι άλλο, για να έχουν τον νου τους οι πολίτες. Το όλο ζήτημα -τηλεγραφικά- είναι πως αρκεί ένα URL (που μπορεί να το έχει π.χ. παρακρατήσει η όποια μηχανή αναζήτησης) για να έχει οποιοσδήποτε πρόσβαση σε προσωπικά δεδομένα μου.
Εν τέλει, αδικείται το εξαιρετικό εγχείρημα του gov.gr από κάτι που διορθώνεται εύκολα. Π.χ. Όπως γράψαμε: Θα μπορούσε η επικύρωση ενός (ψηφιακού) εγγράφου να γίνεται μόνο μέσα σε session με απαίτηση login από συγκεκριμένο εξουσιοδοτημένο πρόσωπο, το οποίο θα ήταν και ο μόνος που θα είχε το hash key. Ή να απαιτείται κάποιο επιπλέον συνθηματικό (γενικότερα security token) που θα γνώριζε μόνο ο πολίτης που έχει δημιουργήσει το έγγραφο.
Ευχαριστώ,

Ειδικός Γραμματέας ΕΠΕ

18 Ιουνίου, 2021 στις 12:26 μμ

Ο/η "Ειδικός Γραμματέας ΕΠΕ" είπε:

Οι ημερομηνία ανάρτησης στο site της ΕΠΕ, ήταν όντως εσφαλμένη (21/5 η σωστή) και θα διορθωθεί (αν δεν έχει ήδη διορθωθεί).

ΜΦΧ,

Φώτης Ε. Αλεξάκος

18 Ιουνίου, 2021 στις 12:41 μμ

Ο/η "Τάκης Μπουγιούρης" είπε:

Καλημέρα, κι ευχαριστώ για το σχόλιο.

18 Ιουνίου, 2021 στις 12:49 μμ

Ο/η "Φώτης Αλεξάκος" είπε:

Αν θέλετε, σημειώστε στο άρθρο σας πως η ημερομηνία όντως διορθώθηκε. Π.χ. στο σημείο: “Εκτός κι αν οι ημερομηνίες στην ανακοίνωση στην ιστοσελίδα της και στην επιστολή προς το υπουργείο είναι λάθος (φαίνεται η ίδια ημερομηνία, 18/05/2021).

Ευχαριστώ,

Ειδικός Γραμματέας ΕΠΕ

(Μου ξεφυγε κι ένα typo, στο 2ο σχόλιο. Η ανορθογραφία στο άρθρο. Προφανώς είναι “Η ημερομηνία ανάρτησης”. Ο δαίμων του πληκτρολογίου γαρ).

27 Ιουνίου, 2021 στις 8:19 μμ

Ο/η "Τάκης Μπουγιούρης" είπε:

Καλησπέρα, έκανα τη διόρθωση, αλλά σκεφθείτε στο μέλλον σε παρόμοιες περιπτώσεις να δώσετε παραπάνω από 72 ώρες για μια πραγματικά “υπεύθυνη” γνωστοποίηση κενού ασφαλείας. Ο χρόνος αυτός είναι πολύ μικρός, άσχετα με το αν το κενό είναι υπαρκτό ή αν είναι bug ή feature κλπ. Νομίζω πως κάτι λιγότερο από 15 ημέρες περισσότερο δείχνει να σκοπεύει να εκθέσει έναν οργανισμό παρά να τον βελτιώσει για το κοινό καλό.

27 Ιουνίου, 2021 στις 8:34 μμ

Ό,τι προαιρείσθε:

Επιτρεπτά (X)HTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> . Εάν προσθέσετε εξωτερικά links στο σχόλιό σας τότε αυτό δε θα εμφανιστεί στη λίστα με τα υπόλοιπα σχόλια έως ότου εγκριθεί από τον υποφαινόμενο, οπότε το νου σου!