19.9.05

KLIK

Δεν είναι αυτό που νομίζετε.

Απλώς έτσι λέγεται μια νέα τεχνολογία που για άλλη μια φορά αποδεικνύει πως το Linux είναι μπροστά: ολόκληρες εφαρμογές πακεταρισμένες σε ένα αρχείο, που τις φορτώνεις από τον Konqueror (με τον klik:/ IO-slave, ο οποίος είναι εξ ολοκλήρου υλοποιημένος σαν shell script).

Στη θέση τους πάντως θα το έψαχνα λιγουλάκι παραπάνω από πλευράς ασφαλείας.

8 σχόλια:

Giannis Beredimas είπε...

Γιατί έχω την αμυδρά εντύπωση ότι σε Mac OSX απλά κάνεις drag-and-drop ένα ".app" αρχείο στο φάκελο Applications και στήνεται η εφαρμογή;

This sounds a little familiar ...

Disclaimer: δεν έχω Mac OSX, οπότε αν κάνω λάθος, κάποιος θα με διορθώσει (ελπίζω)

J95 είπε...

Έχεις δίκιο, οι λεπτομέρειες της υλοποίησης διαφέρουν αρκετά αλλά ο χρήστης έχει τελικά μια εμπειρία σχεδόν ολόιδια με αυτή στο Mac OSX

Ανδρέας είπε...

Ακριβώς, και το πιο ενδιαφέρον είναι πως αυτή η ευκολία στην εγκατάσταση δεν πρωτοεμφανίστηκε στο MacOSX άλλα πολύ παλιότερα, από το 1989 στο RISC OS. Στι Linux υπάρχει το ROX Desktop εδώ και πολύ καιρό που λειτουργεί με αυτή τη λογική. Αν δεν το γνωρίζεις ήδη, προτείνω να το δοκιμάσεις.

KiTaSuMbA είπε...

Ωραία... τα /home partitions θα τα κάνουμε mount με -o noexec πλέον (πηδώντας java και flash enabled sites), ή θα πρέπει να δω αν γίνεται να μπλοκάρω το klik:// protocol για τους μη superusers μέσα από το pam. Όχι στο σπίτι μου δηλαδή, αλλά στην library του πανεπιστημίου και στην εταιρία...

Γιατί; Γιατί σωστά ο J95 εκφράζει φόβους περί ασφάλειας. Ας το εξηγήσω λιγάκι:

Θεωρητικά:
Έχω πει και πάλι πως,
security = K 1/Ease of Use
Όσοι χαίρονται και χτυπάνε παλαμάκια καλά θα κάνουν να σκεφτούν πως το όλο klik:// μυρίζει λιγάκι ActiveX του κακόμοιρου IE. Πόσα critical vulnerabilities για ActiveX έχετε δεί; That's my point... Δύο τινά μπορούν να συμβούν:
- Vulnerability του ίδιου του προτοκόλου (π.χ. buffer overflow) με αποτέλεσμα remote code execution ή, έστω, DoS.
- Social engineering, ή αλλιώς «πόσο σίγουροι είστε ότι το klik://apollon είναι όντως το apollon και όχι apollon+trojan/keylogger/whatever;» Έκτος βέβαια και επαφύεστε στην «κρίση» του χρήστη να μην ανοίγει untrusted links (όπως δεν ανοίγουν δηλαδή και attachments από άγνωστους στο - lookout! - outlook).

Πρακτικά, ορίστε μερικά άσχημα σενάρια.

Outside to Inside Security Breach:
Σωστά, περίπου, θα πεί κάποιος πως αφού δεν έχεις installation rights (rw permission) system wide, το μόνο ρίσκο για compromise είναι local και του ίδιου χρήστη μόνο. Αν όμως ένα keylogger «τσιμπήσει» τα password για άλλα services ή πάρουν confidential documents και mail μιας εταιρίας, ε δεν είναι και «απλά του χρήστη» η ζημιά! Επιπλέον, οι περισσότερες root access vulnerabilities δεν γίνονται remotely αλλά locally, αφού ο cracker πρώτα πάρει local user rights και έχει όλο τον χρόνο να την «ψάξει αλλιώς την δουλειά».

Inside to Outside Security Breach:
Μπορεί στα σπίτια μας να κάνουμε ότι μας γουστάρει, σε κοινόχρηστα όμως συστήματα και δίκτυα υπάρχουν κάποιοι περιορισμοί που, αν ξεπεραστούν, μπορούν να βάλουν αυτόν που παρέχει την υπηρεσία σε άσχημα μπλεξίματα. Το apollon π.χ. (το έχουν και παράδειγμα τρομάρα τους) είναι ένα multiprotocol κατεβαστήρι (kazaa, openGiFT, gnutella, soulseek, napster, edonkey, dc κτλ.) και αν κάποιος το χρησιμοποιεί για «περίεργα κόλπα» σε μια εταιρία, δεν είναι διόλου δύσκολο να βρεθούν τα μπλε αγοράκια να χτυπάνε το κουδούνι...

Για όσους δεν με πιστεύουν, ορίστε και μια προσωπική ιστορία. Η αίθουσα multimedia της σχολής, πριν της χώσω gentoo all the way πέρυσι, είχε στηθεί από κάποιους ανελέητα άσχετους και κρατικοδίαιτους «τεχνικούς» σαν ένα μίγμα win98 και winNT (ναι, μιλάμε εποχή 2000 τώρα). Φυσικά είχα σκάσει στα γέλια γιατί the disaster was bound to happen. Πριν κλήσει χρόνο το «πείραμα», είχαν σκάσει μύτη τα γκρι - Guardia di Finanza / Δίωξη Οικονομικού Εγκλήματος, ξεχωριστό σώμα ασφαλείας - ανθρωπάκια και περάσανε «κορδέλες». Χρείαστηκε να περάσουν αρκετά χρονάκια, να βρεθεί η βιβλιοθήκη υπό αυτόνομη φοιτητική διοίκηση («εξωφρενικό» γεγονός για ιταλικό πανεπιστήμιο) και να με «ψήσουν» να καταθέσω ένα project για την ασφαλή λειτουργία της αίθουσας ώστε να έχουμε και πάλι access σαν φοιτητές στους υπολογιστές. Και όταν λέμε εγγύηση ασφάλειας, οι logger δουλεύουν σε μεγαλύτερη λεπτομέρεια και από την KGB - κάτι για το οποίο χρειάστηκα νομική συμβουλή (λόγω προσωπικών δεδομένων) και ειδικό συμφωνιτικό που υπογράφουν οι χρήστες πριν πάρουν account. Σίγουρα όλο αυτό το «μπατσιλίκι» απέναντι στους συνάδελφούς μου θα είχε αποφευχθεί αν οι πρώτοι «μαστόροι» είχαν φροντίσει να είναι έστω λιγάκι δυσκοίλιο το σύστημα στην εγκατάσταση και εκτέλεση unauthorised προγραμμάτων (δεν είναι πως έχουμε και τίποτα computer geniouses φοιτητές που θα κρακάρανε το σύστημα στο πιτς φιτίλι).

Εν τέλει, ωραία ιδέα επί της αρχής αλλά με ορισμένες προαπαιτήσεις:
- Δυνατότητα κεντρικού «κλειδώματος» και per user permissions (βλέπε πως λειτουργεί ο cups ή το kdm για το σβήσιμο του pc).
- Δυνατότητα ελέγχου πιστοποίησης του εκάστοτε προγράμματος με md5 hash ΚΑΙ SSL certificate και δυνατότητα ελέγχου της αποδοχής ή όχι «untrusted» πηγών ΚΕΝΤΡΙΚΑ από τον root (κάτι που λείπει καί από τα plugins του firefox πέραν της «hackιας» του chown - chmod του συγκεκριμένου directory).

Giannis Beredimas είπε...

Μια χαρά ιδέα (ή αν προτιμάς concept ;-)) ήταν το ActiveX, σύγκρινε το Outlook Web Access 2003 με το πλέον super σε interface webmail και η διαφορά είναι προφανής. Το ότι η MS κλασικά τα σκ***** κάπου με το security είναι μια άλλη ιστορία.

Από κει και πέρα, υποθέτω πως άμα δεν είναι τα σχετικά kio_slaves στημένα στο μηχάνημά σου, ο χρήστης δε θα μπορεί να στήσει κάποιο πακέτο klik οπότε είσαι ok. Εναλλακτικά είναι στημένα (για να παίζεις εσύ μπάλα), αλλά με 700 rights (αντί για 755) ώστε να προστατεύσεις τους χρήστες σου από το να πάρουν τα χεράκια τους να βγάλουν τα ματάκια τους ;-)


# pwd
/opt/kde3/lib/kde3
# ls -la kio_svn.*
-rwxr-xr-x 1 root root 2081 2005-03-23 18:50 kio_svn.la
-rwxr-xr-x 1 root root 75204 2005-03-23 18:53 kio_svn.so


(άμα θες μεγαλύτερο έλεγχο από το user-group-other παίζεις και με ACLs προφανώς ... γνωστά πράγματα, απλά τα αναφέρω)

Όσο για το πώς είσαι σίγουρος ότι το klik://foo είναι το foo και ουχί το bar ... md5/SHA1/SHA-256 hashes και GPG signatures, το πρόβλημα αυτό έχει λυθεί εδώ και πάρα πολλά χρόνια στο linux ;-)

Προσωπικά δε βλέπω κανένα πρόβλημα μόνο μια φοβερή ιδέα ;-)

KiTaSuMbA είπε...

Γιάννη,
υποθέτω πως άμα δεν είναι τα σχετικά kio_slaves στημένα στο μηχάνημά σου, ο χρήστης δε θα μπορεί να στήσει κάποιο πακέτο klik οπότε είσαι ok
Προφανώς, τα ερωτηματικά μου περί ασφάλειας δεν ήταν «προσωπικά» παρά τα έδωσα έτσι χάριν μιας πιο ξεκάθαρης κουβέντας. Εξάλλου αν χρησιμοποιώ gentoo, το auto-install ενός precompiled binary αναιρεί τα πλεονεκτήματα αυτής της distro. Ίσως βέβαια να παραμένει σαν αξιόλογη ιδέα για ένα γρήγορο software review πριν αποφασίσεις to go the whole way και να κάνεις ένα πιθανά χρονοβόρο emerge.

Εναλλακτικά είναι στημένα (για να παίζεις εσύ μπάλα), αλλά με 700 rights (αντί για 755) ώστε να προστατεύσεις τους χρήστες σου από το να πάρουν τα χεράκια τους να βγάλουν τα ματάκια τους ;-)
Όπως είπα και για τα extensions του firefox, κάτι τέτοιο είναι πολύ εύκολο να γίνει... απλά μου φαίνεται λιγάκι «hackιά», ειδικά την στιγμή που το infrastructure των kioslaves επιτρέπει την κατά χρήστη permission ή denial όπως το kprint module ή το shutdown μέσα από το kdm.

md5/SHA1/SHA-256 hashes και GPG signatures, το πρόβλημα αυτό έχει λυθεί εδώ και πάρα πολλά χρόνια στο linux ;-)
Πόσους ξέρεις που όχι μόνο θα τσεκάρουν το checksum αλλά θα βεβαιωθούν πως αυτό είναι αξιόπιστα signed από τον φερόμενο παροχέα; Γιατί αν μεν το πρόβλημα έχει λυθεί, conceptually, η manual χρήση της μεθόδου παραμένει «ψιλά γράμματα» για τους λιγότερο techie guys - μια ομάδα στην οποία ΚΥΡΙΩΣ απευθήνεται το klik. Εξάλλου δεν νομίζω πως είναι πολύ δύσκολο να προσθέσεις μια ρουτίνα auto-check καθώς και το option για «κεντρικό κλείδωμα» (admin mode με kdesu) των untrusted sources. Οκ, I should put my code where my mouth is, αλλά δεν έχω ούτε τα skills ούτε την experience για kde programming. Μπορεί και να λέω μλκς δηλαδή... if that is the case, please correct me!

Giannis Beredimas είπε...

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

Προφανώς και θα πρέπει να το ψάξουν "λιγουλάκι παραπάνω" αλλά το ότι προσφέρουν ένα Ease of Use παραπάνω δε σημαίνει κατ' ανάγκη ότι πρέπει να θυσιαστεί κάτι στο βωμό της ασφάλειας.

greekgaylolita είπε...

All seems klik to me..