Pirates of Silicon Valley

Η ταινία “Pirates of Silicon Valley”, η οποία κυκλοφορεί με τον Ελληνικό τίτλο “Οι Πειρατές της Σίλικον Βάλλευ”, είναι μια παραγωγή που έγινε για την Αμερικανική τηλεόραση το 1999. Βασίστηκε στο βιβλίο “Fire in the Valley” των Paul Freiberger και Michael Swaine το οποίο περιγράφει τις ζωές δύο μεγιστάνων της πληροφορικής: του Steve Jobs (Noah Wyle) και του Bill Gates (Anthony Michael Hall).

Pirates of Silicon Valley
Pirates of Silicon Valley

Το Pirates διαδραματίζεται σαν περιγραφή των Steve Wozniak (Joey Slotnick) και Steve Ballmer (John DiMaggio), συνεργάτες των ανωτέρω, και ξεκινάει από την αρχή της καριέρας τους φτάνοντας μέχρι την Macworld του 1997. Υπάρχουν πολλά χρήσιμα ιστορικά στοιχεία τα οποία όμως έχουν αναμιχθεί με φανταστικούς δραματικούς διαλόγους για να ενισχυθεί η δράση της τηλεοπτικής παραγωγής.

Για τον σινεφίλ, αποτελεί ένα είδος δραματικού ντοκιμαντέρ που προσπαθεί να εξηγήσει γιατί και πως η τότε μικρή Microsoft κατάφερε να ξεπεράσει τον δημιουργικό γίγαντα Apple. Αξιόλογα περιστατικά στην ταινία είναι η αναφορά στο πρόσωπο του Captn Crunch, η διαφήμιση στυλ “1984” της Apple, η σύλληψη του Billy Boy :P για οδικές παραβάσεις, το πως η Xerox “πέταξε” το ποντίκι και το πως ο Tim Patterson “χάρισε” το πρώτο DOS!

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

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

Ο σκηνοθέτης έχει καταφέρει με επιτυχία να κάνει τους ηθοποιούς να μοιάζουν στην εμφάνιση με τα αυθεντικά πρόσωπα που υποδύονται ενώ πολλές από τις σκηνές έχουν γυριστεί στους αυθεντικούς τόπους όπου είχαν εκτυλιχθεί. Μάλιστα κατά λάθος, όταν ο Gates επισκέπτεται την Apple πρώτη φορά, μπορούμε να δούμε το www.apple.com χαραγμένο στις γυάλινες πόρτες τις, ενώ φυσικά τότε το World Wide Web ήταν απλά μια ιδέα που “ψηνόταν” στο μυαλό του Tim Berners-Lee :P

Για να δελεαστείτε να τη δείτε, παρακάτω θα βρείτε κάποιες ατάκες από την ταινία όπως και σχετικά links!

Steve Jobs: Είμαστε καλύτεροι από εσάς! Έχουμε καλύτερα πράγματα!
Bill
Gates: Δεν καταλαβαίνεις Steve. Δεν έχει σημασία!!

Bill Gates: Μπορεί να υπάρχουν κάποιες.. ομοιότητες.
Steve
Jobs: Ομοιότητες; Ομοιότητες;;; Αυτό είναι κλοπή!!!

Το link για το DVD ή VHS (για τους κλασικούς) στο Amazon είναι http://www.amazon.com/gp/product/B0009NSCS0/qid=1137153622/sr=11-1/ref=sr_11_1/103-0837115-9049466?n=130 αλλά είναι πιο εύκολο να μπείτε απλά στο www.amazon.com και να γράψετε pirates of silicon valley :) Η επίσημη σελίδα της τηλεταινίας βρίσκεται εδώ: http://alt.tnt.tv/movies/tntoriginals/pirates/frame_index.htm

upON

 

(Εκδόθηκε τον Φεβρουάριο του 2006 στο ένθετο “ΧAKER”, τεύχος 00000001, του περιοδικού RAM)

“Άσε ήσυχη την PHP μου!”

Οι σημερινοί web servers έχουν γίνει ιδιαίτερα αρθρωτοί (modular, στη “βαρβαρική” :P) κάτι το οποίο τους επιτρέπει να δέχονται πολλές προεκτάσεις. Μία από αυτές είναι και η PHP: Hypertext Preprocessor η οποία, σύμφωνα με περσινές στατιστικές, χρησιμοποιείται σε περισσότερους από τους μισούς Apache web servers εκεί έξω.

Η PHP, ως δυναμική scripting γλώσσα, εκτελείται πρώτα στον server και το αποτέλεσμα αποστέλλεται στον χρήστη που ζήτησε τη σελίδα. Από τη στιγμή που καλούμαστε να φτιάξουμε εμπορικές εφαρμογές πάνω σε αυτή, πρέπει να λάβουμε υπ’ όψη ορισμένους κινδύνους που κρύβουν οι διάφορες “ευκολίες” της.

Συμβουλή πρώτη: ποτέ μα ποτέ μη δείχνετε τον κώδικά σας σε κα-νέ-ναν! Όσοι δεν ξέρουν PHP δε θα καταλάβουν έτσι κι αλλιώς, ενώ όσοι ξέρουν μπορεί να βρουν κάποιο πρόβλημα και αντί να σας το πουν, να το εκμεταλλευτούν! Αν θέλετε να ζητήσετε συμβουλές επειδή κολλήσατε απίστευτα τότε αλλάξτε όλα τα ονόματα μεταβλητών, αντικαταστήστε με τελίτσες όσα μπορούν να εννοηθούν και μην αναφέρετε πουθενά σε ποιο domain πρόκειται να χρησιμοποιηθεί ο κώδικας! U never know..

Συμβουλή δεύτερη: σιγουρευτείτε ότι η μεταβλητή register_globals του php.ini στον web server όπου έχετε τις σελίδες σας έχει την τιμή Off. Μην προτιμήσετε όσους την έχουν On και μη σχεδιάσετε το web app σας με κάτι τέτοιο σαν δεδομένο (οι πρόσφατες εκδόσεις της γλώσσας το έχουν by default απενεργοποιημένο, διαβάστε τα σχόλια στο .ini).

Συμβουλή τρίτη: για να δούμε και λίγο κώδικα! Έστω πως κάνατε και τα δύο προηγούμενα λάθη :P και κάποιος είδε ότι υπάρχει μια ξεχασμένη μεταβλητή $file που ενσωματώνει κάποιο error log στον browser, αλλά μόνο όταν έχει τιμή η μεταβλητή. Κάπως έτσι δηλαδή: //$file=”error.log”; if (isset($file)) include($file); Επειδή την έχετε κάνει comment out, το if δέχεται false και δεν κάνει include το αρχείο. Κάποιος “έξυπνος” χρήστης θα μπορούσε να περάσει το $file σαν παράμετρο δίπλα στη διεύθυνση και να το ενεργοποιήσει εκτυπώνοντας κάποιο σοβαρό αρχείο του δίσκου (π.χ. το γνωστό /etc/passwd αν παίζουμε με *NIX ή ακόμα χειρότερα, κάποιο δικό του script από remote server!).

Με την κατάλληλη παράμετρο βλέπουμε το boot.ini
Με την κατάλληλη παράμετρο βλέπουμε το boot.ini

Μία αυστηρή αλλά ξεκάθαρη λύση είναι να φτιάξετε ένα array με όλα τα πιθανά ονόματα που θα μπορούσε να περιμένει το εκάστοτε include σαν παράμετρο και αν αυτό που πάει να ανοιχτεί δεν συμπεριλαμβάνεται εκεί, να κάνετε άμεσα die()!. Και ποτέ μην δίνετε απλά .inc κατάληξη σε αρχεία με settings ή functions επειδή μπορούν να ανοιχτούν σαν plain text από κάποιον που ξέρει το όνομά τους. Να προτιμάτε το .inc.php και να εισάγετε τα περιεχόμενά τους ανάμεσα σε <?php … ?> tags.

Μπήκαμε στη σελίδα νόμιμα με το account μας (user1)
Μπήκαμε στη σελίδα νόμιμα με το account μας (user1)

Συμβουλή τέταρτη και πιο σοβαρή: για όσους παίζουν με cookies (τα οποία δεν συνίστανται ιδιαίτερα τώρα που έχουμε τα sessions, αλλά χρησιμοποιούνται ακόμη σε περιπτώσεις). Αν κάνετε κάποιο χρήστη login και περάσει τον έλεγχο με επιτυχία, μη θέσετε απλά ένα cookie με το username του (π.χ. setcookie(“username”, $username);) και μετά πάρετε σαν δεδομένο ότι αυτός είναι “πάει και τελείωσε”. Με λίγες πολύ απλές JavaScript “εντολούλες”, ο καθένας μπορεί να αλλάξει τις τιμές των cookies του browser του και από απλός χρήστης να γίνει π.χ. admin!

Τρέξαμε ένα JavaScript που αλλάζει το value του cookie
Τρέξαμε ένα JavaScript που αλλάζει το value του cookie

Σώστε το cookie με περισσότερες τιμές (π.χ. username, password, expiration time, συγκεκριμένο domain κλπ.) και κάθε φορά που χρειάζεται να χρησιμοποιήσετε το username του χρήστη σε κάποιο action (π.χ. αλλαγή στοιχείων ή κωδικού), να ξανακάνετε έλεγχο αληθείας στα στοιχεία που υπάρχουν σωσμένα.

Και πλέον είμαστε ο administrator! :)
Και πλέον είμαστε ο administrator! :)

Η PHP είναι μια εύχρηστη όσο και επικίνδυνη scripting γλώσσα που μπορεί να γίνει το καλύτερο εργαλείο στα κατάλληλα χέρια.

upON

 

(Εκδόθηκε τον Φεβρουάριο του 2006 στο ένθετο “ΧAKER”, τεύχος 00000001, του περιοδικού RAM)

Σερφάρει καλύτερα όποιος κρύβεται καλύτερα!

Οι Proxy Servers είναι υπολογιστές που έχουν προγραμματιστεί να δρουν ως “ενδιάμεσοι” κατά τη χρήση κάποιας διαδικτυακής υπηρεσίας. Για παράδειγμα, όταν μια εταιρία θέλει να δώσει πρόσβαση στο World Wide Web σε όλους της τους υπαλλήλους, “στήνει” έναν proxy με κάποιους κανόνες και ορίζει στους browsers να περνάνε μέσα από εκεί τα requests τους.

Κάπως έτσι δουλεύουν τα proxies!
Κάπως έτσι δουλεύουν τα proxies!

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

Στον αντιδραστικό ιστοχώρο του Electronic Frontier Foundation (http://www.eff.org) εκτός από χρήσιμες πληροφορίες για το επικίνδυνο DRM, θα βρείτε και το Tor, ένα πρόγραμμα που προσφέρει anonymous proxy surfing. Αυτό σημαίνει πως αφού το κατεβάσουμε και το εγκαταστήσουμε, μπορούμε να κρύβουμε την IP διεύθυνσή μας όποτε επισκεπτόμαστε κάποια ιστοσελίδα. Η διεύθυνση που θα φαίνεται τελικά στον web server όπου επισκεφτήκαμε θα είναι εκείνη του εκάστοτε proxy server που χρησιμοποιήθηκε (ο οποίος είναι παρμένος από μία λίστα που ανανεώνεται συνεχώς).

Προσοχή όμως: οι κίνδυνοι που ελλοχεύουν είναι και πάλι πολλοί. Από τη στιγμή που περνάμε μέσω άλλου υπολογιστή τα request του browser μας, εκθέτουμε τις πληροφορίες που διακινούμε και σε αυτόν. Άρα ξεχάστε τα login σε sites και την αγορά προϊόντων επειδή θα είναι σα να χαρίζετε τους κωδικούς σας σε όποιον υποκλοπέα παριστάνει τον proxy.

Εκτός αυτού, κανείς δε μπορεί να μας εγγυηθεί πως η πραγματική διεύθυνσή μας θα παραμείνει κρυφή καθώς, με τα κατάλληλα εντάλματα, κάποια κυβερνητική αρχή (ίσως ακόμη και.. τριγράμματη!) μπορεί να απαιτήσει την αποκάλυψη των log files του proxy. “Δώρον άδωρον” δηλαδή!

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

Κάποιοι επιτρέπουν το POST, κάποιοι επιτρέπουν μόνο το GET, κάποιοι κόβουν τα cookies ενώ άλλοι μας απαγορεύουν να τους χρησιμοποιήσουμε αν συνδεόμαστε μέσω γνωστού proxy. Η καλύτερη λύση είναι να αναζητήσετε στο Google τους free web proxies που κυκλοφορούν και να δείτε ποιος είναι ο καλύτερος συνδυασμός τους. Ένα παράδειγμα που δουλεύει (αυτή τη στιγμή) είναι το παρακάτω.

Έστω ότι θέλουμε να δούμε το www.archives.gov πίσω από proxy. Μπαίνουμε πρώτα στο http://www.shadowsurf.com και ζητάμε την ιστοσελίδα http://anonymouse.org/anonwww.html. Όταν εμφανιστεί η τελευταία έχουμε ήδη καλυφθεί κατά ένα επίπεδο. Τώρα ζητάμε τον ιστοχώρο http://www.unipeak.com και μόλις μπούμε είμαστε καλυμμένοι κατά δύο επίπεδα. Στη συνέχεια ζητάμε την ιστοσελίδα http://www.guardster.com/subscription/proxy_free.php και καλυπτόμαστε κατά τρία επίπεδα. Τέλος, ζητάμε τον ιστοχώρο http://www.archives.gov ο οποίος ανοίγει ενώ είμαστε πλέον καλυμμένοι κατά σειρά πίσω από τέσσερεις διαφορετικές IP διευθύνσεις!

Και τελικά βλέπουμε τη σελίδα περνώντας μέσα από 4 άλλες!
Και τελικά βλέπουμε τη σελίδα περνώντας μέσα από 4 άλλες!

Φυσικά μετά από τόσες αναδρομολογήσεις να περιμένετε αισθητή μείωση στην ταχύτητα όπως και εμφανή διαφορά στο γραφικό περιβάλλον του ιστοχώρου που επιλέξατε, εξ αιτίας των περιορισμών που θέτει κάθε web proxy. Win some – lose some!

upON

 

(Κατατέθηκε στο περιοδικό “total XAKER” αλλά δυστυχώς δεν εκδόθηκε)

Μην καρφώνεστε!

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

Ας δούμε πως μπορούμε και εμείς να κρύψουμε μηνύματα μέσα σε άλλα. Ο αγαπητός κύριος Andrew Tanenbaum μας προτείνει να παίξουμε με το εύχρηστο “S-Tools” του Andy Brown για Windows (http://www.cs.vu.nl/~ast/books/mos2/zebras.html). Θα πάρουμε λοιπόν μια φωτογραφία με ζέβρες και θα κρύψουμε μέσα ολόκληρο τον “Hamlet” του Shakespeare (που υπάρχει στο http://gnutenberg.net).

Μόλις ανοίγουμε το S-Tools βλέπουμε ένα γραφικό περιβάλλον χωρίς καμία επιλογή για Open. Μην πανικοβάλλεστε – είναι πιο εύκολο από όσο νομίζετε. Βρείτε το αρχείο εικόνας στον Windows Explorer και “σύρτε” το πάνω στο ανοιχτό S-Tools. Αυτόματα ανοίγει η εικόνα μας (το πρόγραμμα υποστηρίζει μόνο BMP και GIF, στα οποία GIF κόβει το animation αν υπάρχει).

Θα παρατηρήσετε μόλις ανοίξει η φωτογραφία πως κάτω δεξιά αναγράφεται το μεγαλύτερο δυνατό μέγεθος του αρχείου που μπορούμε να κρύψουμε μέσα της (π.χ. 294,894 bytes). Αυτό είναι πολύ βολικό επειδή ξέρουμε εκ των προτέρων αν μπορεί να χωρέσει το κείμενό μας στην συγκεκριμένη εικόνα. Ο “Hamlet” λοιπόν, που είναι μόνο 201,788 bytes, κάπου μπορεί να στριμωχτεί ανάμεσα στις ζέβρες! ;)

Επιλέγουμε τον τρόπο που θα κρύψουμε το αρχείο στην εικόνα
Επιλέγουμε τον τρόπο που θα κρύψουμε το αρχείο στην εικόνα

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

Μόλις πατήσουμε το OK, μετά από λίγα δευτερόλεπτα υπομονής (ανάλογα με το μέγεθος των αρχείων) θα δούμε μία νέα εικόνα να εμφανίζεται με τον τίτλο “hidden data”. Με δεξί click πάνω της μπορούμε να την κάνουμε Save as.. κάπου στο δίσκο μας (π.χ. με το όνομα hidden-hamlet.bmp). Συγχαρητήρια, μόλις φτιάξατε μια εικόνα με ένα κρυμμένο text file στο εσωτερικό.

Δίνουμε τα ίδια στοιχεία με πριν για να αποκαλυφθεί
Δίνουμε τα ίδια στοιχεία με πριν για να αποκαλυφθεί

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

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

Ιδού το αρχείο που κρύψαμε!
Ιδού το αρχείο που κρύψαμε!

Την ανοίγουμε με τον ίδιο τρόπο που αναφέραμε προηγουμένως, κάνουμε δεξί click πάνω της και αυτή τη φορά επιλέγουμε Reveal. Δίνουμε τα στοιχεία ακριβώς όπως πριν και voilà! βρέθηκε το Hamlet.txt μεγέθους 201,788 bytes, ακέραιο! Με δεξί click και Save as.. το αποθηκεύουμε στο δίσκο μας και μόλις το ανοίξουμε θα διαβάσουμε το “κρυμμένο” μας μήνυμα :)

upON

 

(Εκδόθηκε τον Μάιο του 2007 στο Τεύχος 5 του περιοδικού “total XAKER” με τον τίτλο “Μα πού βρέθηκε αυτό το κείμενο;”)

Κυνηγοί

Άκου φίλε μου καλά, ένα μόνο θα σου πω
η κοπέλα που κοιτάζεις με το ring στον αφαλό
θα σε παίξει, θα σου κάνει άνω-κάτω το μυαλό
και μετά θα σε αφήσει για ένα ακόμη πιο τρελό

Η αιώνια αναζήτηση μιας δυνατής στιγμής
και η θέληση για έρωτα μακριά απ’ τη συνήθεια
όλα πάντα θα σε κάνουνε να θες να σηκωθείς
όλα πάντα θα σου φέρουνε στο τέλος μια απ’ τα ίδια

Τι τα θέλεις κάθε μέρα να τις μπλέκεις στα δικά σου
μείνε μόνος σου λιγάκι, κοίτα λίγο τη δουλειά σου
και αν κάποτε μια μέρα αισθανθείς πως κάτι λείπει
τότε άρχισε να ψάχνεις, να ξεφύγεις απ’ τη λύπη…

Δυστυχώς η κοινωνία έχει κάνει τα παιδιά της
να ξεχνάνε τι ζητάνε, τους θολώνει το άρωμά της
και οι μοντέρνοι μας καιροί, στη χαμένη μας πατρίδα,
τους σκοτώνουν τη ζωή, την ελπίδα – την ελπίδα..

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

Τι τα θέλεις κάθε μέρα και τους μπλέκεις στα δικά σου
μείνε μόνη σου λιγάκι, κοίτα λίγο τη δουλειά σου
και αν κάποτε μια μέρα αισθανθείς πως κάτι λείπει
τότε άρχισε να ψάχνεις, να ξεφύγεις απ’ τη λύπη…

Είμαστε όλοι κυνηγοί.