PDA

Επιστροφή στο Forum : GPU Cracking



anon
07-06-11, 12:46
Επεσα τυχαία σε αυτό (http://mytechencounters.wordpress.com/2011/04/03/gpu-password-cracking-crack-a-windows-password-using-a-graphic-card/)το άρθρο που δείχνει πόσο εύκολο είναι πλέον να σπάσουν passwords με την χρήση του επεξεργαστή της κάρτας γραφικών, με πολλαπλάσια ταχύτητα απο τους κανονικούς επεξεργαστές. Εχοντας έναν απλό φθηνό 5770, σπάει οποιοδήποτε password 8 χαρακτήρων με γράμματα και αριθμούς σε μόλις 18 ώρες έναντι ενός χρόνου που απαιτείται με χρήση CPU. Χρησιμοποιώντας εκτός γραμμάτων και αριθμών και σύμβολα, με χρήση του GPU σπάει το password σε 26 μέρες έναντι 19 ετών!!! Οχι και άσχημα, για σπάσιμο κωδικού.

Και όλα αυτα με τον 5770, σκεφτείτε πιο high end κάρτες και σε SLI/Crossfire που θα πολλαπλασιάσουν την ταχύτητα σπασίματος κωδικών...

Το δια ταύτα; Οι κωδικοί είναι πλέον ευκολότερο να σπάσουν απο παλαιότερα, οπότε εαν συντρέχει λόγος, καλό ειναι να χρησιμοποιείτε δύσκολα passwords, και μεγάλα σε μήκος, πάνω απο 8-10 χαρακτήρες, και με συνδιασμούς γραμμάτων (πεζά - κεφαλαία) αριθμούς και σύμβολα.

Να σημειώσω ότι το σπάσιμο κωδικών αυτό γίνεται με την χρήση του hash, δηλαδή του κωδικοποιημένου μονοσήμαντα παραγώμενου απο το password, άρα μην φοβάστε πχ σε περιπτώσεις του κωδικού σε web sites ότι μπορεί να σπάσει με τέτοια ταχύτητα, εκτός και εαν με κάποιο τρόπο "κλέψουν" το αρχείο password hash απο το site...

MichaelSE
07-06-11, 14:09
Λογικό μου φαίνεται. Οι GPU είναι βελτιστοποιημένες για μαθηματικές διεργασίες και αλγορίθμους που χρειάζονται τόσο για το 3D rendering όσο και για διαδικασίες από/κρυπτογράφησης. Οι GPU της nVidia μάλιστα έχουν εδώ και μερικά χρόνια τη PhysX engine που υλοποιεί πολύ περίπλοκους μαθηματικούς αλγορίθμους που πιστεύω ότι βοηθάνε και σε αυτές τις διαδικασίες.

EvilHawk
07-06-11, 14:23
Ξέχασε να αναφέρει ότι αν ρίξουμε λίγο αλάτι (salt) :p στα password hashes τα δεδομένα αλλάζουν δραματικά ...

Seitman
07-06-11, 14:29
Salt???? :what:

EvilHawk
07-06-11, 14:30
http://en.wikipedia.org/wiki/Salt_%28cryptography%29

Seitman
07-06-11, 14:31
Άρχοντας. Ευχαριστώ :oneup:

MichaelSE
07-06-11, 14:35
Ξέχασε να αναφέρει ότι αν ρίξουμε λίγο αλάτι (salt) :p στα password hashes τα δεδομένα αλλάζουν δραματικά ...

Πράγματι, αν δεν ξέρεις το salt, είναι σχεδόν αδύνατο να βρεις τα passwords ακόμα και με brute force. Άρα σε πραγματικές συνθήκες πρέπει να έχεις τα εξής:

1. Τα hashes
2. Το salt που δεν αποθηκεύεται πουθενά (βρίσκεται στον κώδικα)
3. Να κάνεις brute force attacks για να βρεις τα passwords με μικρό μέγεθος.

Νομίζω ότι σε πραγματικές συνθήκες είναι έως και αδύνατο να συμβούν αυτά.

Απλά το άρθρο δείχνει τις μεγαλύτερες δυνατότητες που έχουν οι GPU σε αυτόν τον τομέα σε σχέση με τις CPU.

FSHOPAXD
09-06-11, 16:42
H ισχύ της GPU και της CUDA σε NVIDIA σε υπολογισμούς εχει χρησιμοποιηθεί και εδώ
http://norma.mbg.duth.gr/index.php?id=about:intro
όπου έχει δημιουργηθεί ένα καταπληκτικό Computing Cluster για την έρευνα στον χώρο της Μοριακής Βιολογίας .
http://utopia.duth.gr/~glykos/index.html

MichaelSE
09-06-11, 16:48
Και μην ξεχνάμε τις εκδόσεις του Folding @ home για GPU.

ownagE_
09-06-11, 17:18
1. Τα hashes
2. Το salt που δεν αποθηκεύεται πουθενά (βρίσκεται στον κώδικα)

Νομίζω (τουλάχιστον στο vBulletin) τα salt (είναι διαφορετικά ανά χρήστη) αποθηκεύονται κανονικά στη βάση.
Οπότε αν έχεις πρόσβαση στη βάση (είτε ως admin, είτε με injection :p) έχεις το password (αν δεν κάνω λάθος, σε md5(md5(password)+salt)) και έχεις και το salt.

+ Μερικές εφαρμογές που χρησιμοποιούν το GPU για hash cracking, υποστηρίζουν και salt ;)

psyxakias
09-06-11, 17:28
Νομίζω (τουλάχιστον στο vBulletin) τα salt (είναι διαφορετικά ανά χρήστη) αποθηκεύονται κανονικά στη βάση.
Οπότε αν έχεις πρόσβαση στη βάση (είτε ως admin, είτε με injection :p) έχεις το password (αν δεν κάνω λάθος, σε md5(md5(password)+salt)) και έχεις και το salt.Ακριβώς έτσι είναι, και ακόμα και ο john patchαρισμένος τα υποστηρίζει κανονικότατα. ;)

MichaelSE
09-06-11, 17:36
Νομίζω (τουλάχιστον στο vBulletin) τα salt (είναι διαφορετικά ανά χρήστη) αποθηκεύονται κανονικά στη βάση.
Οπότε αν έχεις πρόσβαση στη βάση (είτε ως admin, είτε με injection :p) έχεις το password (αν δεν κάνω λάθος, σε md5(md5(password)+salt)) και έχεις και το salt.

+ Μερικές εφαρμογές που χρησιμοποιούν το GPU για hash cracking, υποστηρίζουν και salt ;)

Πράγματι, στο link που έδωσε ο EvilHawk παραπάνω, γράφει ότι το salt αποθηκεύεται μαζί με το hash. Και στην περίπτωση που χρησιμοποιείται ένα salt ανά χρήστη δεν θα μπορούσε να γίνει διαφορετικά.

Αν όμως χρησιμοποιείς ένα salt για όλους τους χρήστες, αυτό θα μπορούσε απλά να βρίσκεται στον κώδικα ως τυχαίο (σταθερό) string.

MichaelSE
09-06-11, 20:13
(συνέχεια από το προηγούμενο μήνυμα)

Στην πραγματικότητα, αυτό που χρειάζεται για ισχυρή ασφάλεια είναι και τα δύο. Ένα salt ανά χρήστη που μπορεί είτε να αποθηκεύεται στη db αν είναι τυχαίο είτε να μην αποθηκεύεται και να παράγεται από το password με ένα διαφορετικό αλγόριθμο από το hashing του password (π.χ. sha1 για το password και md5 για το generated salt) και ένα per site (ή per application) salt που είναι hard coded στον κώδικα.

Πρέπει να λάβουμε υπόψη μας ότι οι επιθέσεις μπορεί να γίνουν όχι μόνο από έξω, αλλά και από μέσα από την εταιρεία. Αν λοιπόν το salt (και ο αλγόριθμος) βρίσκεται στον κώδικα το ξέρουν οι developers οι οποίοι δεν έχουν συνήθως access στη βάση των πελατών. Αντίθετα, αυτοί που έχουν access στη βάση των πελατών ξέρουν το hash και το per user salt, αλλά δεν έχουν το hard coded salt και βέβαια τον αλγόριθμο.

Με τον παραπάνω τρόπο, η πληροφορία είναι εξασφαλισμένη τόσο από έξω, όσο και από μέσα (όσο το δυνατό βέβαια) από brute force attacks.

blade_
09-06-11, 20:35
νομιζω αυτο εχει αρκετο καιρο που ανακαλυφθηκε ,απο εκεινη τη ρωσικη εταιρια αν θυμαμαι καλα

deniSun
29-06-11, 10:46
Προφανώς και το αρχικό άρθρο είχε ως σκοπό να συγκρίνει τις επιδώσεις της GPU έναντι της CPU.
Δεν είπε κανείς ότι τώρα πλέον θα σου σπάσουν τους κωδικούς στο yahoo ή facebook γιατί φυσικά πρέπει πρώτα με κάποιο τρόπο να κλέψουν το αρχείο ή την βάση με τους κωδικούς με όποια κωδικοποίηση έχουν.
Για να καταλάβετε την δύναμη της GPU απλά δοκιμάστε ένα πρόγραμμα επεξεργασίας video με υποστήριξη GPU encoding.
Απλά είναι μέρα με την νύχτα.
Και στο πιο επιστημονικό (http://pressroom.nvidia.com/easyir/customrel.do?easyirid=A0D622CE9F579F09&version=live&releasejsp=release_157&xhtml=true&prid=757066)...
Και εδώ λίγα ακόμα (http://developer.nvidia.com/cuda-action-research-apps)...

blade_
29-06-11, 12:11
εννοειται.ο χρονος μειωνεται κατα πολυ

murray
30-06-11, 03:01
Έχω φτιάξει κώδικα για computational fluid dynamics (καμία σχέση με κρυπτογράφηση) που τρέχει σε Tesla C2050 και με double precision arithmetic 150 φορές γρηγορότερα απ' ότι ο ίδιος κώδικας σε Nahalem-based Xeon. Σε single precision φαντάζομαι η επιτάχυνση μπορεί να είναι έως και 3πλάσια.

Οι GPUs σίγουρα είναι πολύ μπροστά όσον αφορά σε εφαρμογές γεμάτες με πράξεις κινητής υποδιαστολής. Αυτό, βέβαια, δεν σημαίνει ότι είναι καθολικά γρηγορότερες, π.χ. είναι πιο αργές στο να τρέξουν έναν compiler (που δεν έχει καθόλου πράξεις).

dkarko
30-06-11, 03:52
Murray στον C2050 περίπου διπλάσια (όμως θα πρέπει να υπολογίσεις και την αύξηση της επίδοσης στομ επεξεργαστή). Οι Tesla Fermi δίνουν λίγο πιο πάνω από 1 ΤFLOP σε FP32 και ~600GFLOP σε double (peak FLOPS πάντα), γενικά είναι πολύ ριγμένες σε απόδοση σε σχέση με τις workstation καρτες σε FP32 και ταχύτητα μνήμης. Με GTX 580 πας πολύ πιο ψηλά σε FP32 αλλά είναι πετσοκομμένες επίτηδες σε FP64.

Είναι full optimized για συγκεκριμένα ήδη προβλημάτων. Όσο ξεφεύγεις από το ιδανικό η απόδοση πέφτει αρκετά. Το καλό με τις Fermi είναι ότι η μείωση της απόδοσης σε μη ιδανικά προβλήματα είναι πολύ λιγότερη από παλιότερες αρχιτεκτονικές, προβλήματα δλδ που δεν μπορούν να τηρήσουν 100% το μοντέλο προγραμματισμού. Επίσης τα πάνε πλέον πάρα πολύ καλά και με integers. Όσο πας πιο πίσω σε αρχιτεκτονικές τα πράγματα γίνονται αρκετά πιο δύσκολα.

Πλέον το GPU Computing είναι αρκετά διαδέδομένο σε επιστημονικές εφαρμογές, αφού έτσι και αλλιώς εκεί υπάρχουν οι τρελές απαιτήσεις σε ισχύ. Γενικά, το θέμα ταχύτητας είναι αρκετά πολύπλοκο. Οι αριθμητικές πράξεις είναι απλά πρωινό για τις GPU. Ένας compiler θα είναι τραγικά αργός γιατι απλά δεν κολλάει στην φιλοσοφία, δεν μπορείς να χωρίσεις τον κώδικα σε 100.000 ανεξάρτητα μέρη, χωρίς divergence (if..else) και πολλά άλλα καλούδια.

deniSun
30-06-11, 19:41
Έχω μια φτωχή GeForce 8400GS που πείρα πριν κάτι χρόνια.
Άρχισα να ασχολούμαι εδώ και κάτι εβδομάδες με GPU Programming και σκέφτομαι να τσιμπήσω μια GTS-450.
Είχα διαβάσει κάπου ότι και η intel ετοιμάζεται να μπει στον χώρο με κάρτες με δικές της GPU.
Φυσικά και αυτά τα πράγματα δεν είναι για να γράφεις κείμενα σε word ή να βλέπεις facebook κλπ.
Μιλάμε πάντα για scientific computing σε parallel systems.
Οι τιμές είναι ασύγκριτα χαμηλές σε σχέση με τον εξοπλισμό σε CPU που απαιτείται για να φτάσεις σε τέτοιες επιδόσεις.
Πιστεύω ότι θα είναι το μέλλον στα Super Computers (http://www.top500.org/)

tsigarid
30-06-11, 20:38
Πιστεύω ότι θα είναι το μέλλον στα Super Computers (http://www.top500.org/)
Πιθανόν. Στον super computer που δουλεύω μας έχουν ήδη κάνει GPU's διαθέσιμες για χρήση. Το ποιοι και πόσο τις χρησιμοποιούν ήδη δεν το γνωρίζω, αλλά σίγουρα είναι θέμα χρόνου.

odd
30-06-11, 20:51
Νομίζω (τουλάχιστον στο vBulletin) τα salt (είναι διαφορετικά ανά χρήστη) αποθηκεύονται κανονικά στη βάση.
Οπότε αν έχεις πρόσβαση στη βάση (είτε ως admin, είτε με injection :p) έχεις το password (αν δεν κάνω λάθος, σε md5(md5(password)+salt)) και έχεις και το salt.

+ Μερικές εφαρμογές που χρησιμοποιούν το GPU για hash cracking, υποστηρίζουν και salt ;)

Αν έχεις καταφέρει να έχεις πρόσβαση στη βάση τότε μικρή σημασία έχει κατά τη γνώμη μου να μάθεις τα password των χρηστών.

Επιπλέον το salt δεν μπαίνει αναγκαστικά στο τέλος του password αλλά οπουδήποτε και με οποιοδήποτε τρόπο.

deniSun
30-06-11, 22:24
Πιθανόν. Στον super computer που δουλεύω μας έχουν ήδη κάνει GPU's διαθέσιμες για χρήση. Το ποιοι και πόσο τις χρησιμοποιούν ήδη δεν το γνωρίζω, αλλά σίγουρα είναι θέμα χρόνου.

Κάτι παρόμοιο ετοιμάζουμε σε ακαδημαϊκό στάδιο σε μικρότερη κλίμακα 15-20 ΗΥ με GPU αρχικά.

dkarko
01-07-11, 03:08
Κάτι παρόμοιο ετοιμάζουμε σε ακαδημαϊκό στάδιο σε μικρότερη κλίμακα 15-20 ΗΥ με GPU αρχικά.

Και είναι υπεραρκετά συνήθως. Ποια σχολή/εργαστήριο αν επιτρέπεται; Εμείς καταφέραμε για μία θεόβαρη εφαρμογή imaging να κάνουμε τελείως offload έναν cluster με μόλις 2 nodes me 4 Tesla συνολικα.. Για την επιστήμη είναι πραγματικά εργαλείο. Δείτε και δω ένα κειμενάκι σχτικάhttp://mag.digitalpc.co.uk/fvx/iop/esrf/1103/, σελ 14.
Μόνο το πως ξεκινάει: "Before last year everyone knew when the paleontologists were in town". Και όντως, από τον cluster να σέρνεται και όλοι να βλασφημάμε πήγαμε στον σχεδόν άδειο cluster :lol:

deniSun
01-07-11, 13:38
Περισσότερα σε λίγο...

@ ADSLgr.com All rights reserved.