1 00:00:00,000 --> 00:00:02,610 >> [Σεμινάριο] [Υπερασπίζοντας πίσω από τη συσκευή: Ασφάλεια Mobile Application] 2 00:00:02,610 --> 00:00:04,380 [Chris Wysopal] [Πανεπιστήμιο Χάρβαρντ] 3 00:00:04,380 --> 00:00:07,830 [Αυτό είναι CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Καλησπέρα. Το όνομά μου είναι Chris Wysopal. 5 00:00:10,360 --> 00:00:13,360 Είμαι ο ΚΟΤ και συνιδρυτής του Veracode. 6 00:00:13,360 --> 00:00:15,880 Veracode είναι μια εταιρεία ασφάλειας των εφαρμογών. 7 00:00:15,880 --> 00:00:18,230 Δοκιμάζουμε όλα τα είδη των διαφορετικών εφαρμογών, 8 00:00:18,230 --> 00:00:25,060 και τι Πάω να μιλήσω για σήμερα είναι η ασφάλεια εφαρμογή για κινητά. 9 00:00:25,060 --> 00:00:28,630 Φόντο μου έχω κάνει έρευνα για την ασφάλεια 10 00:00:28,630 --> 00:00:31,970 για πολύ μεγάλο χρονικό διάστημα, πιθανότατα για όσο χρονικό διάστημα ο καθένας. 11 00:00:31,970 --> 00:00:35,000 I ξεκίνησε στα μέσα της δεκαετίας του '90, 12 00:00:35,000 --> 00:00:37,370 και ήταν μια εποχή που ήταν αρκετά ενδιαφέρουσα, διότι 13 00:00:37,370 --> 00:00:39,220 είχαμε μια αλλαγή παραδείγματος στα μέσα της δεκαετίας του '90. 14 00:00:39,220 --> 00:00:43,520 Όλα υπολογιστή ενός ξαφνική του καθενός ήταν συνδεδεμένο με το διαδίκτυο, 15 00:00:43,520 --> 00:00:46,550 και, στη συνέχεια, είχαμε τις απαρχές των διαδικτυακών εφαρμογών, 16 00:00:46,550 --> 00:00:49,330 και αυτό είναι που επικεντρώνεται σε ένα πολύ τότε. 17 00:00:49,330 --> 00:00:51,160 Είναι ενδιαφέρον. 18 00:00:51,160 --> 00:00:53,930 Τώρα έχουμε μια άλλη αλλαγή παραδείγματος συμβαίνει με πληροφορική, 19 00:00:53,930 --> 00:00:58,710 που είναι η στροφή προς το mobile εφαρμογές. 20 00:00:58,710 --> 00:01:03,680 >> Αισθάνομαι ότι είναι είδος παρόμοιο χρόνο τότε ήταν στα τέλη της δεκαετίας του '90 21 00:01:03,680 --> 00:01:07,650 όταν ερευνούσαν εφαρμογές web και την εξεύρεση ελαττώματα, όπως 22 00:01:07,650 --> 00:01:11,800 σφάλματα διαχείρισης συνεδρία και SQL ένεση 23 00:01:11,800 --> 00:01:14,940 που πραγματικά δεν υπήρχε πριν, και ξαφνικά ήταν παντού 24 00:01:14,940 --> 00:01:19,360 σε εφαρμογές web, και τώρα πολλά από τη στιγμή που θα περάσουν 25 00:01:19,360 --> 00:01:27,950 ψάχνει σε κινητές εφαρμογές και κοιτάζοντας τι συμβαίνει εκεί έξω στην άγρια ​​φύση. 26 00:01:27,950 --> 00:01:32,060 Mobile εφαρμογές είναι πραγματικά πρόκειται να είναι η κυρίαρχη πλατφόρμα πληροφορικής, 27 00:01:32,060 --> 00:01:35,060 έτσι πρέπει πραγματικά να δαπανήσει πολύ χρόνο, αν είστε στον κλάδο της ασφάλειας 28 00:01:35,060 --> 00:01:39,280 με επικέντρωση σε εφαρμογές web. 29 00:01:39,280 --> 00:01:43,420 Υπήρξαν 29 δισεκατομμύρια κινητά apps κατεβάσει το 2011. 30 00:01:43,420 --> 00:01:47,920 Είναι προβλέπεται να είναι 76 δισ. εφαρμογές από το 2014. 31 00:01:47,920 --> 00:01:54,040 Υπάρχουν 686 εκατομμύρια συσκευές που πρόκειται να αγοραστεί αυτό το έτος, 32 00:01:54,040 --> 00:01:57,060 έτσι αυτό είναι όπου οι άνθρωποι πρόκειται να κάνουν 33 00:01:57,060 --> 00:01:59,600  η πλειοψηφία των υπολογιστών των πελατών τους να πάμε μπροστά. 34 00:01:59,600 --> 00:02:04,220 >> Μιλούσα με έναν αντιπρόεδρος της Fidelity Investments 35 00:02:04,220 --> 00:02:08,780 πριν από μερικούς μήνες, και είπε ότι μόλις είδε περισσότερη κίνηση 36 00:02:08,780 --> 00:02:12,610 κάνουν οικονομικές συναλλαγές από την πελατειακή βάση τους 37 00:02:12,610 --> 00:02:16,230 στο κινητό εφαρμογή τους από ό, τι στην ιστοσελίδα τους, 38 00:02:16,230 --> 00:02:20,610 έτσι μια κοινή χρήση για το Web στο παρελθόν έχει 39 00:02:20,610 --> 00:02:23,800 ελέγχοντας τις τιμές των μετοχών σας, τη διαχείριση του χαρτοφυλακίου σας, 40 00:02:23,800 --> 00:02:28,060 και είμαστε πραγματικά βλέπουμε ότι το 2012 πάνω από το διακόπτη 41 00:02:28,060 --> 00:02:30,960 να είναι πιο κυρίαρχη στην κινητή πλατφόρμα. 42 00:02:30,960 --> 00:02:34,530 Σίγουρα αν υπάρχει πρόκειται να είναι οποιαδήποτε εγκληματική δραστηριότητα, 43 00:02:34,530 --> 00:02:38,900 οποιαδήποτε κακόβουλη δραστηριότητα, πρόκειται να αρχίσει να επικεντρωθεί στην κινητή πλατφόρμα 44 00:02:38,900 --> 00:02:44,210 πάροδο του χρόνου καθώς οι άνθρωποι να στραφούν πάνω σε αυτό. 45 00:02:44,210 --> 00:02:48,320 Αν κοιτάξετε την κινητή πλατφόρμα, 46 00:02:48,320 --> 00:02:54,380 να εξετάσουμε τους κινδύνους της πλατφόρμας είναι χρήσιμο να το σπάσει στα διάφορα στρώματα, 47 00:02:54,380 --> 00:02:59,010 ακριβώς όπως θα το κάνατε σε έναν επιτραπέζιο υπολογιστή, 48 00:02:59,010 --> 00:03:02,860 και η γνώμη σας σχετικά με τα διάφορα στρώματα, το λογισμικό, το λειτουργικό σύστημα, 49 00:03:02,860 --> 00:03:07,730 επίπεδο δικτύου, στρώμα υλικού, και φυσικά, υπάρχουν τρωτά σημεία σε όλα αυτά τα στρώματα. 50 00:03:07,730 --> 00:03:10,510 >> Το ίδιο συμβαίνει και στο κινητό. 51 00:03:10,510 --> 00:03:14,880 Αλλά τα κινητά, φαίνεται ότι ορισμένα από αυτά τα στρώματα είναι σε χειρότερη κατάσταση. 52 00:03:14,880 --> 00:03:19,840 Για το ένα, το στρώμα δικτύου είναι πιο προβληματική στο κινητό 53 00:03:19,840 --> 00:03:25,650 επειδή πολλοί άνθρωποι έχουν στο γραφείο τους ή στο σπίτι 54 00:03:25,650 --> 00:03:30,780 ενσύρματες συνδέσεις ή έχουν ασφαλείς συνδέσεις Wi-Fi, 55 00:03:30,780 --> 00:03:36,530 και με πολλές φορητές συσκευές είστε προφανώς έξω από το σπίτι 56 00:03:36,530 --> 00:03:40,520 ή έξω από το γραφείο πολύ, και αν είστε με τη χρήση Wi-Fi εκεί 57 00:03:40,520 --> 00:03:42,820 μπορεί να χρησιμοποιείτε μια ασφαλή σύνδεση Wi-Fi, 58 00:03:42,820 --> 00:03:45,570 κάτι που είναι μια δημόσια Wi-Fi σύνδεση, 59 00:03:45,570 --> 00:03:48,840 έτσι ώστε όταν σκεφτόμαστε για το κινητό εφαρμογές θα πρέπει να λαμβάνουν υπόψη 60 00:03:48,840 --> 00:03:53,770 ότι το περιβάλλον του δικτύου είναι πιο επικίνδυνες για τις εφαρμογές 61 00:03:53,770 --> 00:03:57,640 όταν το Wi-Fi που χρησιμοποιείται. 62 00:03:57,640 --> 00:04:02,410 Και όταν παίρνω σε περισσότερους από τους κινδύνους εφαρμογή για κινητά 63 00:04:02,410 --> 00:04:04,910 θα δείτε γιατί αυτό είναι πιο σημαντικό. 64 00:04:04,910 --> 00:04:09,710 Υπάρχουν κίνδυνοι σε επίπεδο hardware για κινητές συσκευές. 65 00:04:09,710 --> 00:04:11,670 Αυτός είναι ένας τομέας της εν εξελίξει έρευνας. 66 00:04:11,670 --> 00:04:15,910 Οι άνθρωποι αποκαλούν αυτές τις ευρυζωνικές επιθέσεις ή επιθέσεις baseband 67 00:04:15,910 --> 00:04:21,870 Όπου και αν επιτεθεί το firmware που ακούει στο ραδιόφωνο. 68 00:04:21,870 --> 00:04:25,430 >> Αυτά είναι πραγματικά τρομακτικό επιθέσεις επειδή 69 00:04:25,430 --> 00:04:27,280 ο χρήστης δεν χρειάζεται να κάνει τίποτα. 70 00:04:27,280 --> 00:04:30,760 Μπορείτε να χτυπήσει πολλές συσκευές εντός εμβέλειας RF 71 00:04:30,760 --> 00:04:36,690 ταυτόχρονα, και φαίνεται σαν κάθε φορά που αυτή η έρευνα φυσαλίδες επάνω 72 00:04:36,690 --> 00:04:40,750 γρήγορα παίρνει κατατάσσονται όπου 73 00:04:40,750 --> 00:04:46,600 άνθρωποι ορμούν γύρω και λένε, "Εδώ, πείτε μας γι 'αυτό, και σας παρακαλώ να σταματήσουμε να μιλάμε για αυτό." 74 00:04:46,600 --> 00:04:49,460 Υπάρχει κάποια έρευνα που διεξάγεται στον τομέα της ευρυζωνικότητας, 75 00:04:49,460 --> 00:04:51,980 αλλά φαίνεται να είναι πολύ παύσης παύσης. 76 00:04:51,980 --> 00:04:56,910 Νομίζω ότι είναι κάτι περισσότερο από ένα τύπο κράτους-έθνους της έρευνας που είναι σε εξέλιξη. 77 00:04:56,910 --> 00:05:02,140 Μια περιοχή της ενεργού έρευνας, όμως, είναι το στρώμα του λειτουργικού συστήματος, 78 00:05:02,140 --> 00:05:08,910 και πάλι, αυτό είναι διαφορετικό από ό, τι στον κόσμο desktop υπολογιστών 79 00:05:08,910 --> 00:05:14,840 γιατί στον χώρο των κινητών έχετε αυτές τις ομάδες ανθρώπων που ονομάζεται jailbreakers, 80 00:05:14,840 --> 00:05:18,670 και jailbreakers είναι διαφορετικά από τα κανονικά ερευνητές ευπάθεια. 81 00:05:18,670 --> 00:05:21,970 Προσπαθούν να βρουν τα τρωτά σημεία στο λειτουργικό σύστημα, 82 00:05:21,970 --> 00:05:27,000 αλλά ο λόγος που προσπαθείτε να βρείτε τα τρωτά σημεία που δεν είναι σε 83 00:05:27,000 --> 00:05:31,810 σπάσει σε μηχάνημα κάποιου άλλου και να θέσει σε κίνδυνο αυτό. 84 00:05:31,810 --> 00:05:34,280 Είναι για να σπάσει το δικό τους υπολογιστή. 85 00:05:34,280 --> 00:05:38,820 >> Θέλουν να σπάσει σε δικό τους κινητό, να τροποποιήσει το λειτουργικό σύστημα το δικό τους κινητό του 86 00:05:38,820 --> 00:05:41,050 έτσι ώστε να μπορεί να τρέξει τις εφαρμογές της επιλογής τους 87 00:05:41,050 --> 00:05:44,510 και να αλλάξει τα πράγματα, με πλήρη δικαιώματα διαχειριστή, 88 00:05:44,510 --> 00:05:49,050 και δεν θέλουν να πουν τον πωλητή σχετικά με αυτό. 89 00:05:49,050 --> 00:05:52,960 Δεν είμαστε σαν ένας ερευνητής ασφάλειας το οποίο είναι ένα λευκό καπέλο ερευνητής ασφαλείας 90 00:05:52,960 --> 00:05:56,600 το οποίο πρόκειται να κάνει υπεύθυνη αποκάλυψη και πείτε τον πωλητή σχετικά με αυτό. 91 00:05:56,600 --> 00:06:01,270 Θέλουν να κάνουν αυτή την έρευνα, και θέλουν να το δημοσιεύσει στην πραγματικότητα 92 00:06:01,270 --> 00:06:06,400 σε ένα exploit ή ένα rootkit ή κωδικό jailbreak, 93 00:06:06,400 --> 00:06:10,010 και θέλουν να το κάνετε αυτό στρατηγικά, όπως αμέσως μετά 94 00:06:10,010 --> 00:06:13,570 Ο πωλητής πλοία το νέο λειτουργικό σύστημα. 95 00:06:13,570 --> 00:06:16,350 Έχετε αυτή την εχθρική σχέση 96 00:06:16,350 --> 00:06:19,000 με τρωτά σημεία σε επίπεδο λειτουργικού συστήματος για το κινητό, 97 00:06:19,000 --> 00:06:23,150 που νομίζω ότι είναι αρκετά ενδιαφέρον, και ένα μέρος το βλέπουμε 98 00:06:23,150 --> 00:06:29,210 είναι αυτό που κάνει, ώστε να υπάρχει καλή δημοσιεύονται εκμεταλλεύονται τον κωδικό εκεί έξω 99 00:06:29,210 --> 00:06:31,750 για τρωτά σημεία kernel-επίπεδο, 100 00:06:31,750 --> 00:06:35,040 και έχουμε δει αυτά πραγματικά να χρησιμοποιηθεί από κακόβουλο λογισμικό συγγραφείς. 101 00:06:35,040 --> 00:06:38,450 Είναι λίγο διαφορετικό από τον κόσμο των PC. 102 00:06:38,450 --> 00:06:42,530 Και στη συνέχεια το τελικό στρώμα είναι το άνω στρώμα, το στρώμα εφαρμογής. 103 00:06:42,530 --> 00:06:45,250 Αυτό είναι ό, τι Πάω να μιλήσω σήμερα. 104 00:06:45,250 --> 00:06:48,970 >> Υφίστανται Τα άλλα στρώματα, και τα άλλα στρώματα παίζουν σε αυτό, 105 00:06:48,970 --> 00:06:53,310 αλλά είμαι ως επί το πλείστον πρόκειται να μιλήσουμε για το τι συμβαίνει σε επίπεδο εφαρμογών 106 00:06:53,310 --> 00:06:55,560 όπου ο κώδικας τρέχει στο sandbox. 107 00:06:55,560 --> 00:06:58,670 Δεν έχετε δικαιώματα διαχειριστή. 108 00:06:58,670 --> 00:07:02,170 Πρέπει να χρησιμοποιήσετε τα API της συσκευής, 109 00:07:02,170 --> 00:07:06,970 αλλά και πάλι, πολλά από κακόβουλη δραστηριότητα και πολλά κινδύνου μπορεί να συμβεί σε αυτό το στρώμα 110 00:07:06,970 --> 00:07:09,220 γιατί αυτό είναι το στρώμα όπου όλες οι πληροφορίες είναι. 111 00:07:09,220 --> 00:07:12,330 Εφαρμογές μπορούν να έχουν πρόσβαση σε όλες τις πληροφορίες σχετικά με τη συσκευή 112 00:07:12,330 --> 00:07:15,390 αν έχουν τα σωστά δικαιώματα, 113 00:07:15,390 --> 00:07:17,540 και μπορούν να έχουν πρόσβαση τα διάφορα αισθητήρες στη συσκευή, 114 00:07:17,540 --> 00:07:23,950 Αισθητήρα GPS, μικρόφωνο, κάμερα, τι έχετε. 115 00:07:23,950 --> 00:07:27,380 Ακόμα κι αν είμαστε μόνο να μιλάμε για το επίπεδο εφαρμογής 116 00:07:27,380 --> 00:07:33,700 έχουμε πολλά κίνδυνο εκεί. 117 00:07:33,700 --> 00:07:38,450 Το άλλο πράγμα που είναι διαφορετικό για το κινητό περιβάλλον 118 00:07:38,450 --> 00:07:45,060 είναι όλοι οι παίκτες του λειτουργικού συστήματος, είτε πρόκειται για BlackBerry ή Android 119 00:07:45,060 --> 00:07:53,410 ή iOS ή Windows Mobile, όλα έχουν ένα λεπτόκοκκο μοντέλο άδεια, 120 00:07:53,410 --> 00:07:56,990 και αυτό είναι ένας από τους τρόπους που ενσωματωμένο στο λειτουργικό σύστημα 121 00:07:56,990 --> 00:08:01,230 η ιδέα ότι δεν είναι τόσο επικίνδυνη όσο νομίζετε. 122 00:08:01,230 --> 00:08:04,550 Ακόμα κι αν έχετε όλες τις επαφές σας εκεί, όλα τα προσωπικά σας στοιχεία, 123 00:08:04,550 --> 00:08:09,080 έχετε τις φωτογραφίες σας, έχετε τη θέση σας εκεί, 124 00:08:09,080 --> 00:08:14,820 είστε αποθήκευση τράπεζά σας καρφίτσα για αυτόματη σύνδεση εκεί, είναι ασφαλές, επειδή 125 00:08:14,820 --> 00:08:19,430 εφαρμογές πρέπει να έχουν ορισμένα δικαιώματα για να πάρει σε ορισμένα τμήματα 126 00:08:19,430 --> 00:08:25,080 των πληροφοριών σχετικά με τη συσκευή και ο χρήστης θα πρέπει να παρουσιάζονται με 127 00:08:25,080 --> 00:08:29,230 αυτά τα δικαιώματα και να πω εντάξει. 128 00:08:29,230 --> 00:08:32,590 >> Το πρόβλημα με αυτό είναι ο χρήστης λέει πάντα εντάξει. 129 00:08:32,590 --> 00:08:35,240 Ως ένα άτομο της ασφάλειας, ξέρω ότι μπορείτε να ζητήσει από το χρήστη, 130 00:08:35,240 --> 00:08:40,100 να πω κάτι κακό πρόκειται να συμβεί, δεν θέλετε να συμβεί; 131 00:08:40,100 --> 00:08:44,680 Και αν είστε σε μια βιασύνη ή υπάρχει κάτι πολύ δελεαστικό από την άλλη πλευρά του ότι, 132 00:08:44,680 --> 00:08:47,760 σαν ένα παιχνίδι πρόκειται να εγκατασταθεί ότι περιμένατε, 133 00:08:47,760 --> 00:08:50,860 από όπου και αν πρόκειται να κάνετε κλικ εντάξει. 134 00:08:50,860 --> 00:08:56,630 Γι 'αυτό λέω στη διαφάνειά μου εδώ απλά επιτρέψτε μου να πετάξει πτηνών σε χοίρους που έχουν ήδη, 135 00:08:56,630 --> 00:09:03,150 και μπορείτε να δείτε στη διαφάνεια εδώ υπάρχουν παραδείγματα BlackBerry κουτί άδεια. 136 00:09:03,150 --> 00:09:05,990 Λέει "Παρακαλώ ορίστε τα δικαιώματα εφαρμογή BlackBerry Travel 137 00:09:05,990 --> 00:09:09,720 πατώντας το κουμπί κάτω ", και ουσιαστικά ο χρήστης είναι ακριβώς πρόκειται να πω 138 00:09:09,720 --> 00:09:12,240 ορίσετε τα δικαιώματα και να σώσει. 139 00:09:12,240 --> 00:09:18,010 Εδώ είναι ένα ανδροειδές προτροπή, όπου παρουσιάζει τα πράγματα, 140 00:09:18,010 --> 00:09:20,260 και θέτει πραγματικά κάτι που μοιάζει σχεδόν σαν μια προειδοποίηση. 141 00:09:20,260 --> 00:09:25,090 Είναι πήρε ένα είδος απόδοσης σημάδι εκεί λέγοντας επικοινωνίας του δικτύου, τηλεφώνημα, 142 00:09:25,090 --> 00:09:28,120 αλλά ο χρήστης θα κλικ για να εγκαταστήσετε, έτσι δεν είναι; 143 00:09:28,120 --> 00:09:32,940 Και τότε το ένα της Apple είναι τελείως αβλαβές. 144 00:09:32,940 --> 00:09:34,300 Αυτό δεν δίνει κανενός είδους προειδοποίηση. 145 00:09:34,300 --> 00:09:37,380 Είναι απλά η Apple θα ήθελε να χρησιμοποιήσει την τρέχουσα τοποθεσία σας. 146 00:09:37,380 --> 00:09:39,670 Φυσικά θα πάμε να κάνετε κλικ εντάξει. 147 00:09:39,670 --> 00:09:42,260 >> Υπάρχει αυτό το λεπτόκοκκο μοντέλο άδεια, 148 00:09:42,260 --> 00:09:45,890 και εφαρμογές πρέπει να έχουν ένα αρχείο δήλωσης, όπου δηλώνουν 149 00:09:45,890 --> 00:09:49,410 τα δικαιώματα που χρειάζονται, και ότι θα πάρει εμφανίζεται στο χρήστη, 150 00:09:49,410 --> 00:09:53,480 και ο χρήστης θα πρέπει να πω ότι χορηγούν αυτά τα δικαιώματα. 151 00:09:53,480 --> 00:09:55,080 Αλλά ας είμαστε ειλικρινείς. 152 00:09:55,080 --> 00:09:58,400 Οι χρήστες είναι ακριβώς πρόκειται να πει πάντα εντάξει. 153 00:09:58,400 --> 00:10:04,460 Ας ρίξουμε μια γρήγορη ματιά στα δικαιώματα που αυτές οι εφαρμογές ζητούν 154 00:10:04,460 --> 00:10:06,850 και μερικά από τα δικαιώματα που υπάρχουν. 155 00:10:06,850 --> 00:10:09,950 Η εταιρεία Praetorian έκανε μια έρευνα το περασμένο έτος 156 00:10:09,950 --> 00:10:14,170 53.000 αιτήσεις που αναλύονται στα Android αγορά και 3ο κόμμα αγορές, 157 00:10:14,170 --> 00:10:16,770 έτσι αυτό είναι Android. 158 00:10:16,770 --> 00:10:19,670 Και ο μέσος όρος app ζήτησε 3 άδειες. 159 00:10:19,670 --> 00:10:23,370 Μερικές εφαρμογές ζήτησε 117 άδειες, 160 00:10:23,370 --> 00:10:27,480 οπότε προφανώς αυτές είναι πολύ λεπτόκοκκο και πάρα πολύ περίπλοκη για ένα χρήστη να κατανοήσει 161 00:10:27,480 --> 00:10:31,600 αν είστε παρουσιάζονται με αυτό το app που χρειάζεται αυτές τις 117 άδειες. 162 00:10:31,600 --> 00:10:37,270 Είναι σαν την άδεια χρήσης τελικού χρήστη που είναι μήκους 45 σελίδες. 163 00:10:37,270 --> 00:10:40,240 Ίσως σύντομα θα έχουν τη δυνατότητα, όπου αυτό είναι σαν 164 00:10:40,240 --> 00:10:43,100 εκτυπώσετε τα δικαιώματα και να μου στείλει ένα email. 165 00:10:43,100 --> 00:10:45,480 >> Αλλά αν δούμε μερικά από τα κορυφαία ενδιαφέροντα δικαιώματα 166 00:10:45,480 --> 00:10:50,840 24% από τις εφαρμογές που αγόρασαν από το 53.000 167 00:10:50,840 --> 00:10:57,230 ζητούμενες πληροφορίες GPS από τη συσκευή. 168 00:10:57,230 --> 00:10:59,810 8% διαβάστε τις επαφές. 169 00:10:59,810 --> 00:11:03,770 4% στείλει SMS, και 3% έλαβαν SMS. 170 00:11:03,770 --> 00:11:07,730 2% που είχε καταγραφεί ήχου. 171 00:11:07,730 --> 00:11:11,210 1% σε επεξεργασία εξερχόμενων κλήσεων. 172 00:11:11,210 --> 00:11:13,140 Δεν ξέρω. 173 00:11:13,140 --> 00:11:17,520 Δεν νομίζω ότι το 4% των εφαρμογών στο App Store πραγματικά χρειάζεται να στείλετε μηνύματα κειμένου SMS, 174 00:11:17,520 --> 00:11:21,410 έτσι νομίζω ότι είναι ένας υπαινιγμός ότι κάτι δυσάρεστο συμβαίνει. 175 00:11:21,410 --> 00:11:24,350 8% από τις εφαρμογές πρέπει να διαβάσετε τη λίστα επαφών σας. 176 00:11:24,350 --> 00:11:26,510 Είναι πιθανόν να μην είναι απαραίτητη. 177 00:11:26,510 --> 00:11:30,990 Ένα από τα άλλα ενδιαφέροντα πράγματα σχετικά με τα δικαιώματα είναι 178 00:11:30,990 --> 00:11:36,740 αν έχετε σύνδεση σε κοινές βιβλιοθήκες στην εφαρμογή σας 179 00:11:36,740 --> 00:11:39,780 εκείνες κληρονομούν τα δικαιώματα της εφαρμογής, 180 00:11:39,780 --> 00:11:46,570 οπότε αν η εφαρμογή σας χρειάζεται τη λίστα επαφών ή χρειάζεται τη θέση GPS για να λειτουργήσει 181 00:11:46,570 --> 00:11:49,940 και να σας συνδέσει σε μια βιβλιοθήκη διαφήμιση, για παράδειγμα, 182 00:11:49,940 --> 00:11:53,170 ότι η βιβλιοθήκη διαφημίσεων θα είναι επίσης σε θέση να έχουν πρόσβαση στις επαφές 183 00:11:53,170 --> 00:11:57,630 και επίσης να είναι σε θέση να αποκτήσετε πρόσβαση στη θέση GPS, 184 00:11:57,630 --> 00:12:01,990 και ο δημιουργός της app δεν ξέρει τίποτα για τον κώδικα που τρέχει στη βιβλιοθήκη διαφημίσεων. 185 00:12:01,990 --> 00:12:05,370 Είναι απλά συνδέοντας ότι επειδή θέλουν να έχει κέρδος το app τους. 186 00:12:05,370 --> 00:12:09,820 >> Αυτό είναι όπου και θα μιλήσω για κάποια παραδείγματα με 187 00:12:09,820 --> 00:12:13,930 μια εφαρμογή που ονομάζεται Πανδώρα, όπου προγραμματιστές εφαρμογών 188 00:12:13,930 --> 00:12:18,910 ίσως άθελά του να διαρροή πληροφοριών 189 00:12:18,910 --> 00:12:24,580 από τους χρήστες τους, λόγω των βιβλιοθηκών που έχετε συνδέσει μέσα 190 00:12:24,580 --> 00:12:30,110 Τοπογράφων το τοπίο εκεί έξω, εξετάζοντας όλες τις διαφορετικές εφαρμογές 191 00:12:30,110 --> 00:12:34,310 που έχουν αναφερθεί στα δελτία ειδήσεων ως κακόβουλο ή να κάνει κάτι που οι χρήστες δεν θέλουν 192 00:12:34,310 --> 00:12:39,360 και στη συνέχεια επιθεώρηση πολλά apps-κάνουμε πολλά στατική δυαδική ανάλυση σε εφαρμογές για κινητά, 193 00:12:39,360 --> 00:12:42,010 έτσι έχουμε τους έλεγξαν και κοίταξε τον κώδικα ίδια- 194 00:12:42,010 --> 00:12:49,640 καταλήξαμε σε αυτό που λέμε top 10 λίστα των επικίνδυνων συμπεριφορών σε εφαρμογές. 195 00:12:49,640 --> 00:12:54,180 Και αυτό είναι κατανεμημένες σε 2 τμήματα, κακόβουλο κώδικα, 196 00:12:54,180 --> 00:12:57,600 έτσι αυτά είναι κακά πράγματα ότι οι εφαρμογές θα μπορούσε να κάνει ότι 197 00:12:57,600 --> 00:13:06,520 είναι πιθανό να είναι κάτι που ένα κακόβουλο άτομο 198 00:13:06,520 --> 00:13:10,060 έχει θέσει συγκεκριμένα στην εφαρμογή, αλλά είναι λίγο ασαφής. 199 00:13:10,060 --> 00:13:13,300 Θα μπορούσε να είναι κάτι που ένας προγραμματιστής πιστεύει ότι είναι μια χαρά, 200 00:13:13,300 --> 00:13:16,350 αλλά καταλήγει να θεωρείται ως κακόβουλο από τον χρήστη. 201 00:13:16,350 --> 00:13:19,830 >> Και τότε το δεύτερο τμήμα είναι αυτό που λέμε κωδικοποίησης των τρωτών σημείων, 202 00:13:19,830 --> 00:13:24,600 και αυτά είναι τα πράγματα που ο κύριος του έργου ουσιαστικά κάνει λάθη 203 00:13:24,600 --> 00:13:27,200 ή απλά δεν καταλαβαίνουν πώς να γράψει το app ασφάλεια, 204 00:13:27,200 --> 00:13:30,260  και ότι βάζει ο χρήστης app σε κίνδυνο. 205 00:13:30,260 --> 00:13:34,060 Πάω να περάσει μέσα από αυτά λεπτομερώς και να δώσει μερικά παραδείγματα. 206 00:13:34,060 --> 00:13:39,620 Για αναφορά, ήθελα να βάλω το OWASP κινητό top 10 λίστα. 207 00:13:39,620 --> 00:13:43,590 Αυτά είναι τα 10 ζητήματα που μια ομάδα στο OWASP, 208 00:13:43,590 --> 00:13:48,900 το Έργο Open Web Application Security, έχουν μια ομάδα εργασίας 209 00:13:48,900 --> 00:13:50,620 εργάζεται πάνω σε ένα κινητό top 10 λίστα. 210 00:13:50,620 --> 00:13:54,600 Έχουν ένα πολύ γνωστό web top 10 λίστα, η οποία είναι το top 10 211 00:13:54,600 --> 00:13:57,180 πιο επικίνδυνα πράγματα που μπορείτε να έχετε σε μια εφαρμογή web. 212 00:13:57,180 --> 00:13:59,090 Κάνουν το ίδιο πράγμα για κινητά, 213 00:13:59,090 --> 00:14:01,750 και η λίστα τους είναι λίγο διαφορετική από τη δική μας. 214 00:14:01,750 --> 00:14:03,670 6 από το 10 είναι τα ίδια. 215 00:14:03,670 --> 00:14:06,020 Έχουν 4 που είναι διαφορετικά. 216 00:14:06,020 --> 00:14:10,550 Νομίζω ότι έχουν ένα μικρό κομμάτι από μια διαφορετική λύση για 217 00:14:10,550 --> 00:14:14,490 κινδύνου στον τομέα των κινητών εφαρμογών, όπου πολλά θέματα τους 218 00:14:14,490 --> 00:14:20,490 είναι πραγματικά πώς η εφαρμογή επικοινωνεί με το back-end server 219 00:14:20,490 --> 00:14:23,100 ή ό, τι συμβαίνει στο back-end server του, 220 00:14:23,100 --> 00:14:29,220 όχι τόσο εφαρμογές που έχουν επικίνδυνη συμπεριφορά που είναι ακριβώς απλή εφαρμογές πελάτη. 221 00:14:29,220 --> 00:14:36,640 >> Οι αυτοί με κόκκινο χρώμα εδώ είναι οι διαφορές μεταξύ των 2 λιστών. 222 00:14:36,640 --> 00:14:40,740 Και κάποια από τα ερευνητικά μου ομάδα έχει πράγματι συμβάλει σε αυτό το έργο, 223 00:14:40,740 --> 00:14:44,570 έτσι θα δούμε τι θα συμβεί την πάροδο του χρόνου, αλλά νομίζω ότι το πακέτο είναι εδώ 224 00:14:44,570 --> 00:14:47,550 δεν ξέρει πραγματικά τι το top 10 λίστα είναι σε εφαρμογές για κινητά, επειδή 225 00:14:47,550 --> 00:14:50,510 που έχουν πραγματικά μόνο ήταν γύρω για 2 ή 3 χρόνια τώρα, 226 00:14:50,510 --> 00:14:57,750 και δεν υπήρξε αρκετός χρόνος πραγματικά να διερευνηθούν τα λειτουργικά συστήματα 227 00:14:57,750 --> 00:15:00,450 και τι είναι ικανοί να κάνουν, και δεν υπήρξε αρκετός χρόνος 228 00:15:00,450 --> 00:15:06,870 για το κακόβουλο κοινότητα, αν θέλετε, να έχει περάσει αρκετός χρόνος 229 00:15:06,870 --> 00:15:12,910 προσπαθούν να επιτεθούν στους χρήστες μέσω των κινητών εφαρμογών, οπότε περιμένω αυτές τις λίστες για να αλλάξει λίγο. 230 00:15:12,910 --> 00:15:18,720 Αλλά για τώρα, αυτά είναι τα top 10 πράγματα που πρέπει να ανησυχούν. 231 00:15:18,720 --> 00:15:24,150 Ίσως να αναρωτιούνται σχετικά με το κινητό πλευρά όταν κάνει το κακόβουλο κωδικό κινητού- 232 00:15:24,150 --> 00:15:28,880 πώς να το πάρει για να το συσκευή; 233 00:15:28,880 --> 00:15:35,210 North Carolina State έχει ένα σχέδιο που ονομάζεται Mobile Malware Genome Project 234 00:15:35,210 --> 00:15:39,520 όπου συλλογή όσο κινητό malware όπως μπορούν και να τις αναλύουν, 235 00:15:39,520 --> 00:15:45,270 και έχουν διασπάσει τα διανύσματα ένεση που χρησιμοποιεί το κινητό malware, 236 00:15:45,270 --> 00:15:51,490 και το 86% χρησιμοποιούν μια τεχνική που ονομάζεται επανασυσκευασία, 237 00:15:51,490 --> 00:15:54,160 και αυτό είναι μόνο για την πλατφόρμα Android 238 00:15:54,160 --> 00:15:56,720 μπορείτε να κάνετε πραγματικά αυτό ανασυσκευασία. 239 00:15:56,720 --> 00:16:03,100 >> Ο λόγος είναι το Android κώδικας είναι χτισμένο με 240 00:16:03,100 --> 00:16:08,130 ένα byte κώδικα Java που ονομάζεται Dalvik οποία είναι εύκολα decompilable. 241 00:16:08,130 --> 00:16:12,460 Τι το κακό μπορεί να κάνει είναι 242 00:16:12,460 --> 00:16:16,590 λάβει μια Android εφαρμογή, αποσυμπίληση, 243 00:16:16,590 --> 00:16:20,120 εισάγετε τους κακόβουλο κώδικα, recompile, 244 00:16:20,120 --> 00:16:28,070 και στη συνέχεια να το βάλετε επάνω στο κατάστημα app που υποτίθεται ότι είναι μια νέα έκδοση της εν λόγω αίτησης, 245 00:16:28,070 --> 00:16:30,330 ή απλά ίσως αλλάζει το όνομα της εφαρμογής. 246 00:16:30,330 --> 00:16:35,140 Αν ήταν κάποιο είδος του παιχνιδιού, αλλάξτε το όνομα ελαφρώς, 247 00:16:35,140 --> 00:16:42,860 και έτσι αυτή η ανασυσκευασία είναι πως το 86% των κινητών malware παίρνει διανεμηθεί. 248 00:16:42,860 --> 00:16:45,810 Υπάρχει μια άλλη τεχνική που ονομάζεται ενημέρωση η οποία είναι 249 00:16:45,810 --> 00:16:50,030 πολύ παρόμοια με την επανασυσκευασία, αλλά στην πραγματικότητα δεν βάζουν τον κακόβουλο κώδικα μέσα 250 00:16:50,030 --> 00:16:52,870 Αυτό που κάνουμε είναι να βάλετε σε μια μικρή μηχανισμός ενημέρωσης. 251 00:16:52,870 --> 00:16:56,660 Μπορείτε να αποσυνθέσει, βάζετε σε ένα μηχανισμό ενημέρωσης, και μπορείτε να το μεταγλωττίσετε 252 00:16:56,660 --> 00:17:02,360 και στη συνέχεια, όταν η εφαρμογή τρέχει τραβά κάτω από το malware επάνω στη συσκευή. 253 00:17:02,360 --> 00:17:06,300 >> Μέχρι στιγμής η πλειοψηφία είναι εκείνες 2 τεχνικές. 254 00:17:06,300 --> 00:17:12,710 Δεν υπάρχει πραγματικά πολύ λήψη δίσκο στάσης ή drive-by downloads για κινητά τηλέφωνα, 255 00:17:12,710 --> 00:17:15,890 η οποία θα μπορούσε να είναι σαν μια επίθεση phishing. 256 00:17:15,890 --> 00:17:18,200 Hey, ελέγξτε έξω αυτό το πραγματικά δροσερό ιστοσελίδα, 257 00:17:18,200 --> 00:17:21,020 ή θα πρέπει να πάτε σε αυτή την ιστοσελίδα και να συμπληρώσετε την παρακάτω φόρμα 258 00:17:21,020 --> 00:17:24,420 να κρατήσει τη συνέχιση κάνει κάτι. 259 00:17:24,420 --> 00:17:26,230 Αυτοί οι επιθέσεις phishing. 260 00:17:26,230 --> 00:17:28,160 Το ίδιο πράγμα μπορεί να συμβεί για την κινητή πλατφόρμα, όπου 261 00:17:28,160 --> 00:17:33,830 σημείο σε ένα κινητό app για να κατεβάσετε, να πω "Γεια, αυτό είναι η Bank of America." 262 00:17:33,830 --> 00:17:36,070 "Βλέπουμε είστε με τη χρήση αυτής της εφαρμογής." 263 00:17:36,070 --> 00:17:38,540 "Θα πρέπει να κατεβάσετε αυτό άλλη εφαρμογή." 264 00:17:38,540 --> 00:17:41,170 Θεωρητικά, αυτό θα μπορούσε να λειτουργήσει. 265 00:17:41,170 --> 00:17:48,610 Ίσως απλά δεν χρησιμοποιείται αρκετά για να διαπιστώσει αν είναι επιτυχημένη ή όχι, 266 00:17:48,610 --> 00:17:51,680 αλλά βρήκαν ότι λιγότερο από το 1% του χρόνου ότι η τεχνική που χρησιμοποιείται. 267 00:17:51,680 --> 00:17:56,130 Το μεγαλύτερο μέρος του χρόνου είναι πραγματικά μια επανασυσκευασμένου κώδικα. 268 00:17:56,130 --> 00:17:58,710 >> Υπάρχει και μια άλλη κατηγορία που ονομάζεται αυτόνομο 269 00:17:58,710 --> 00:18:01,420 όταν κάποιος χτίζει μόνο ένα ολοκαίνουργιο εφαρμογή. 270 00:18:01,420 --> 00:18:04,020 Χτίζουν μια εφαρμογή που φιλοδοξεί να είναι κάτι. 271 00:18:04,020 --> 00:18:07,360 Δεν είναι ένα ανασυσκευασία κάτι άλλο, και ότι έχει τον κακόβουλο κώδικα. 272 00:18:07,360 --> 00:18:11,230 Ότι χρησιμοποιείται 14% του χρόνου. 273 00:18:11,230 --> 00:18:17,880 Τώρα θέλω να μιλήσω για το τι είναι ο κακόβουλος κώδικας κάνει; 274 00:18:17,880 --> 00:18:23,070 Ένα από τα πρώτα malware εκεί έξω 275 00:18:23,070 --> 00:18:25,490 θα μπορούσε να εξετάσει ένα spyware. 276 00:18:25,490 --> 00:18:27,620 Είναι κατάσκοποι βασικά από τον χρήστη. 277 00:18:27,620 --> 00:18:30,470 Συλλέγει τα μηνύματα ηλεκτρονικού ταχυδρομείου, τα μηνύματα SMS. 278 00:18:30,470 --> 00:18:32,340 Αποδεικνύεται στο μικρόφωνο. 279 00:18:32,340 --> 00:18:37,330 Η συγκομιδή το βιβλίο επαφών, και το στέλνει μακριά σε κάποιον άλλο. 280 00:18:37,330 --> 00:18:40,870 Αυτός ο τύπος του spyware υπάρχει στον υπολογιστή, 281 00:18:40,870 --> 00:18:46,200 έτσι είναι απόλυτα λογικό για τους ανθρώπους να προσπαθήσουμε να κάνουμε αυτό σε κινητές συσκευές. 282 00:18:46,200 --> 00:18:53,230 >> Ένα από τα πρώτα παραδείγματα αυτού ήταν ένα πρόγραμμα που ονομάζεται Secret SMS Replicator. 283 00:18:53,230 --> 00:18:56,250 Ήταν στο Android Marketplace μερικά χρόνια πριν, 284 00:18:56,250 --> 00:18:59,960 και η ιδέα ήταν αν είχε πρόσβαση σε κάποιου τηλέφωνο Android 285 00:18:59,960 --> 00:19:03,450 ότι θα ήθελε να κατασκοπεύει τους, οπότε ίσως είναι ο σύζυγός σας 286 00:19:03,450 --> 00:19:07,600 ή σημαντικό άλλο και θέλετε να κατασκοπεύσει για τα μηνύματα κειμένου τους σας, 287 00:19:07,600 --> 00:19:11,200 μπορείτε να κατεβάσετε αυτό το app και να το εγκαταστήσετε και να ρυθμίσετε το 288 00:19:11,200 --> 00:19:16,540 να στείλετε ένα μήνυμα κειμένου SMS για να σας με ένα αντίγραφο 289 00:19:16,540 --> 00:19:21,710 κάθε μηνύματος κειμένου SMS πήραν. 290 00:19:21,710 --> 00:19:27,220 Αυτό προφανώς είναι σε παραβιάσεις των όρων app κατάστημα της υπηρεσίας, 291 00:19:27,220 --> 00:19:32,040 και αυτό απομακρύνθηκε από το Android Marketplace εντός 18 ωρών από το που είναι εκεί, 292 00:19:32,040 --> 00:19:36,760 έτσι ένας πολύ μικρός αριθμός των ανθρώπων που ήταν σε κίνδυνο εξαιτίας αυτού. 293 00:19:36,760 --> 00:19:42,510 Τώρα, νομίζω ότι αν το πρόγραμμα ονομαζόταν κάτι ίσως λίγο λιγότερο προκλητική 294 00:19:42,510 --> 00:19:48,690 όπως Secret SMS Replicator κατά πάσα πιθανότητα θα έχουν εργαστεί πολύ καλύτερα. 295 00:19:48,690 --> 00:19:52,870 Αλλά ήταν αρκετά φανερό. 296 00:19:52,870 --> 00:19:58,680 >> Ένα από τα πράγματα που μπορούμε να κάνουμε για να καθορίσει εάν οι εφαρμογές έχουν αυτή τη συμπεριφορά που δεν θέλουμε 297 00:19:58,680 --> 00:20:01,410 είναι να επιθεωρήσει τον κωδικό. 298 00:20:01,410 --> 00:20:06,250 Αυτό είναι πραγματικά πολύ εύκολο να το κάνουμε για το Android, γιατί μπορούμε να αποσυνθέσει τις εφαρμογές. 299 00:20:06,250 --> 00:20:11,050 Στο iOS, μπορείτε να χρησιμοποιήσετε ένα disassembler όπως IDA Pro 300 00:20:11,050 --> 00:20:17,190 για να δούμε τι APIs η εφαρμογή ζητά και τι κάνει. 301 00:20:17,190 --> 00:20:20,680 Γράψαμε το δικό μας δυαδική στατική αναλυτή για τον κωδικό μας 302 00:20:20,680 --> 00:20:24,940 και το κάνουμε αυτό, και έτσι ό, τι θα μπορούσατε να κάνετε είναι θα μπορούσαμε να πούμε 303 00:20:24,940 --> 00:20:30,490 η συσκευή δεν κάνει τίποτα που είναι βασικά κατασκοπεία σε μένα ή εντοπισμού μου; 304 00:20:30,490 --> 00:20:33,360 Και έχω μερικά παραδείγματα εδώ για το iPhone. 305 00:20:33,360 --> 00:20:41,440 Αυτό το πρώτο παράδειγμα είναι το πώς να έχουν πρόσβαση στο UUID στο τηλέφωνο. 306 00:20:41,440 --> 00:20:47,060 Αυτό είναι πραγματικά κάτι που η Apple έχει μόλις απαγορευτεί για νέες εφαρμογές, 307 00:20:47,060 --> 00:20:52,540 αλλά οι παλιές εφαρμογές που μπορεί να έχετε σε λειτουργία στο τηλέφωνό σας μπορεί ακόμα να το κάνετε αυτό, 308 00:20:52,540 --> 00:20:56,500 και έτσι ώστε το μοναδικό αναγνωριστικό μπορεί να χρησιμοποιηθεί για να παρακολουθείτε 309 00:20:56,500 --> 00:21:00,440 σε πολλές διαφορετικές εφαρμογές. 310 00:21:00,440 --> 00:21:07,180 >> Στο Android, έχω εδώ ένα παράδειγμα του να πάρει θέση της συσκευής. 311 00:21:07,180 --> 00:21:10,310 Μπορείτε να δείτε ότι, αν η κλήση API είναι ότι η εφαρμογή είναι η παρακολούθηση, 312 00:21:10,310 --> 00:21:15,000 και μπορείτε να δείτε αν είναι να πάρει ωραία τοποθεσία ή χονδροειδείς θέση. 313 00:21:15,000 --> 00:21:18,860 Και στη συνέχεια, στο κάτω μέρος εδώ, έχω ένα παράδειγμα του τρόπου για το BlackBerry 314 00:21:18,860 --> 00:21:25,130 μια εφαρμογή ενδέχεται να έχουν πρόσβαση στα μηνύματα ηλεκτρονικού ταχυδρομείου στα εισερχόμενά σας. 315 00:21:25,130 --> 00:21:27,660 Αυτοί είναι το είδος των πραγμάτων που μπορείτε να επιθεωρήσει να δείτε 316 00:21:27,660 --> 00:21:32,360 αν το app κάνει αυτά τα πράγματα. 317 00:21:32,360 --> 00:21:38,320 Η δεύτερη μεγάλη κατηγορία της κακόβουλης συμπεριφοράς, και αυτή είναι ίσως η μεγαλύτερη κατηγορία τώρα, 318 00:21:38,320 --> 00:21:43,950 είναι μη εξουσιοδοτημένη κλήση, μηνύματα κειμένου SMS πριμοδότηση μη εξουσιοδοτημένη 319 00:21:43,950 --> 00:21:46,080 ή μη εξουσιοδοτημένες πληρωμές. 320 00:21:46,080 --> 00:21:48,930 Ένα άλλο πράγμα που είναι μοναδικό για το τηλέφωνο 321 00:21:48,930 --> 00:21:52,700 είναι η συσκευή είναι συνδεδεμένο με ένα λογαριασμό χρέωσης, 322 00:21:52,700 --> 00:21:55,960 και όταν οι δραστηριότητες συμβαίνουν στο τηλέφωνο 323 00:21:55,960 --> 00:21:58,510 μπορεί να δημιουργήσει έξοδα. 324 00:21:58,510 --> 00:22:00,700 Μπορείτε να αγοράσετε τα πράγματα πέρα ​​από το τηλέφωνο, 325 00:22:00,700 --> 00:22:04,390 και όταν στέλνετε ένα μήνυμα κειμένου SMS premium είστε πραγματικά δίνουν χρήματα 326 00:22:04,390 --> 00:22:11,590 στον κάτοχο του λογαριασμού του αριθμού τηλεφώνου από την άλλη πλευρά. 327 00:22:11,590 --> 00:22:17,420 Αυτά που έχει συσταθεί για να πάρει τις τιμές των μετοχών ή να πάρετε καθημερινά ωροσκόπιο σας ή άλλα πράγματα, 328 00:22:17,420 --> 00:22:21,680 αλλά μπορεί να συσταθεί για να παραγγείλετε ένα προϊόν με την αποστολή ενός SMS. 329 00:22:21,680 --> 00:22:26,970 Οι άνθρωποι δίνουν χρήματα για τον Ερυθρό Σταυρό με την αποστολή ενός μηνύματος κειμένου. 330 00:22:26,970 --> 00:22:30,650 Μπορείτε να δώσετε $ 10 με αυτόν τον τρόπο. 331 00:22:30,650 --> 00:22:34,190 >> Οι επιτιθέμενοι, τι έχουν κάνει είναι έστησαν 332 00:22:34,190 --> 00:22:38,750 λογαριασμούς σε ξένες χώρες, και να ενσωματώσετε στο malware 333 00:22:38,750 --> 00:22:42,840 ότι το τηλέφωνο θα στείλει ένα μήνυμα κειμένου SMS premium, 334 00:22:42,840 --> 00:22:47,700 πω, μερικές φορές την ημέρα, και στο τέλος του μήνα, θα διαπιστώσετε ότι έχετε περάσει 335 00:22:47,700 --> 00:22:52,090 δεκάδες ή ίσως και εκατοντάδες δολάρια, και τα πόδια με τα χρήματα. 336 00:22:52,090 --> 00:22:57,280 Αυτό ήταν τόσο άσχημα ότι αυτό ήταν το πρώτο πράγμα που το Android 337 00:22:57,280 --> 00:23:00,760 Marketplace ή το Google τόπο ήταν το Android Marketplace εκείνη την εποχή, 338 00:23:00,760 --> 00:23:04,430 και είναι τώρα το Google Play-το πρώτο πράγμα που η Google ξεκίνησε έλεγχο για. 339 00:23:04,430 --> 00:23:08,700 Όταν η Google ξεκίνησε τη διανομή των Android apps στο κατάστημα app τους 340 00:23:08,700 --> 00:23:11,350 είπαν ότι δεν επρόκειτο να ελέγξει τίποτα. 341 00:23:11,350 --> 00:23:15,630 Θα τραβήξει apps φορά έχουμε ήδη κοινοποιηθεί που έχουν σπάσει τους όρους της υπηρεσίας μας, 342 00:23:15,630 --> 00:23:17,520 αλλά δεν πρόκειται να ελέγξετε για τίποτα. 343 00:23:17,520 --> 00:23:24,350 Λοιπόν, πριν από περίπου ένα χρόνο πήρε τόσο κακό με αυτό το premium SMS μηνυμάτων κειμένου malware 344 00:23:24,350 --> 00:23:28,030 ότι αυτό είναι το πρώτο πράγμα που άρχισε τον έλεγχο για. 345 00:23:28,030 --> 00:23:31,770 Εάν μια εφαρμογή μπορεί να στείλει μηνύματα κειμένου SMS 346 00:23:31,770 --> 00:23:34,750 να διερευνήσει περαιτέρω το χέρι την αίτηση. 347 00:23:34,750 --> 00:23:38,770 Ψάχνουν για τα API που απαιτούν αυτό, 348 00:23:38,770 --> 00:23:40,580 και τώρα από τότε η Google έχει επεκταθεί, 349 00:23:40,580 --> 00:23:46,900 αλλά αυτό ήταν το πρώτο πράγμα που άρχισε να ψάχνει για. 350 00:23:46,900 --> 00:23:50,690 >> Κάποιες άλλες εφαρμογές που έκαναν ορισμένα μηνύματα κειμένου SMS, 351 00:23:50,690 --> 00:23:56,980 Αυτό Android Qicsomos, υποθέτω ότι λέγεται. 352 00:23:56,980 --> 00:24:02,670 Υπήρχε αυτή η σημερινή εκδήλωση στο κινητό όταν αυτό βγήκε CarrierIQ 353 00:24:02,670 --> 00:24:07,720 όπως spyware τεθεί στη συσκευή από τους αερομεταφορείς, 354 00:24:07,720 --> 00:24:10,820 έτσι οι άνθρωποι ήθελαν να γνωρίζουν αν το τηλέφωνό τους ήταν ευάλωτη σε αυτό, 355 00:24:10,820 --> 00:24:13,890 και αυτό ήταν μια δωρεάν εφαρμογή που δοκιμάζονται αυτό. 356 00:24:13,890 --> 00:24:17,520 Λοιπόν, φυσικά, ό, τι αυτό το app έκανε ήταν να στείλει μηνύματα κειμένου SMS premium, 357 00:24:17,520 --> 00:24:20,090 τόσο με τη δοκιμή για να δείτε αν έχετε μολυνθεί με λογισμικό υποκλοπής spyware 358 00:24:20,090 --> 00:24:24,930 έχετε τοποθετήσει malware στη συσκευή σας. 359 00:24:24,930 --> 00:24:27,310 Είδαμε το ίδιο πράγμα να συμβεί στο τελευταίο Super Bowl. 360 00:24:27,310 --> 00:24:33,180 Υπήρξε μια παραποιημένη έκδοση του Madden παιχνίδι ποδοσφαίρου 361 00:24:33,180 --> 00:24:38,320 που έστειλε μηνύματα κειμένου SMS premium. 362 00:24:38,320 --> 00:24:45,750 Στην πραγματικότητα, προσπάθησε να δημιουργήσει ένα δίκτυο bot πάρα πολύ στη συσκευή. 363 00:24:45,750 --> 00:24:48,090 Εδώ έχω μερικά παραδείγματα. 364 00:24:48,090 --> 00:24:52,640 Το ενδιαφέρον είναι ότι η Apple ήταν αρκετά έξυπνος, 365 00:24:52,640 --> 00:24:58,470 και δεν επιτρέπουν στις εφαρμογές να στέλνουν μηνύματα κειμένου SMS σε όλους. 366 00:24:58,470 --> 00:25:00,350 Δεν app μπορεί να το κάνει. 367 00:25:00,350 --> 00:25:03,530 Αυτός είναι ένας πολύ καλός τρόπος για να απαλλαγούμε από μια ολόκληρη κατηγορία τρωτότητας, 368 00:25:03,530 --> 00:25:09,040 αλλά στο Android μπορείτε να το κάνετε, και φυσικά, στο BlackBerry μπορείτε να το κάνετε πάρα πολύ. 369 00:25:09,040 --> 00:25:13,060 Είναι ενδιαφέρον το γεγονός ότι για το BlackBerry μόνο που χρειάζεστε είναι τα δικαιώματα στο διαδίκτυο 370 00:25:13,060 --> 00:25:18,370 να στείλετε ένα μήνυμα κειμένου SMS. 371 00:25:18,370 --> 00:25:21,580 >> Το άλλο πράγμα πραγματικά ότι ψάχνουμε για 372 00:25:21,580 --> 00:25:24,780 όταν ψάχνουμε να δούμε αν κάτι είναι κακόβουλο είναι μόνο κάθε είδους 373 00:25:24,780 --> 00:25:28,100 μη εξουσιοδοτημένη δραστηριότητα του δικτύου, όπως και να δούμε τη δραστηριότητα του δικτύου 374 00:25:28,100 --> 00:25:31,570 η εφαρμογή υποτίθεται ότι πρέπει να έχουν τη λειτουργικότητά του, 375 00:25:31,570 --> 00:25:35,380 και να εξετάσουμε σε αυτό άλλη δραστηριότητα του δικτύου. 376 00:25:35,380 --> 00:25:43,380 Ίσως μια εφαρμογή, για να λειτουργήσει, πρέπει να πάρετε τα δεδομένα μέσω HTTP, 377 00:25:43,380 --> 00:25:47,500 αλλά αν είναι να κάνει τα πράγματα μέσω e-mail ή SMS ή Bluetooth ή κάτι τέτοιο 378 00:25:47,500 --> 00:25:52,890 τώρα που η εφαρμογή θα μπορούσε δυνητικά να είναι κακόβουλο, έτσι αυτό είναι ένα άλλο πράγμα που μπορείτε να επιθεωρήσει για. 379 00:25:52,890 --> 00:26:00,430 Και σε αυτή τη διαφάνεια εδώ έχω μερικά παραδείγματα γι 'αυτό. 380 00:26:00,430 --> 00:26:05,950 Ένα άλλο ενδιαφέρον πράγμα που είδαμε με κακόβουλο λογισμικό που συνέβη πίσω στο 2009, 381 00:26:05,950 --> 00:26:07,600 και αυτό συνέβη σε ένα μεγάλο δρόμο. 382 00:26:07,600 --> 00:26:11,390 Δεν ξέρω αν έχει συμβεί τόσο πολύ από τότε, αλλά ήταν ένα app 383 00:26:11,390 --> 00:26:15,140 ότι υποδυόταν μια άλλη εφαρμογή. 384 00:26:15,140 --> 00:26:21,700 Υπήρξε μια σειρά από εφαρμογές, και ονομάστηκε η επίθεση 09Droid, 385 00:26:21,700 --> 00:26:29,770 και κάποιος αποφάσισε ότι υπήρχαν πολλά μικρά, περιφερειακά, μεσαίου μεγέθους τράπεζες 386 00:26:29,770 --> 00:26:32,260 που δεν έχουν απευθείας σύνδεση τραπεζικές εφαρμογές, 387 00:26:32,260 --> 00:26:36,870 έτσι αυτό που έκαναν ήταν ότι χτίστηκε περίπου 50 σε απευθείας σύνδεση τραπεζικές εφαρμογές 388 00:26:36,870 --> 00:26:39,410 ότι το μόνο που έκανε ήταν να λάβει το όνομα χρήστη και τον κωδικό πρόσβασης 389 00:26:39,410 --> 00:26:42,190 και να σας ανακατευθύνει στην ιστοσελίδα. 390 00:26:42,190 --> 00:26:47,470 Και έτσι βάζουν αυτά όλα επάνω στο Google Marketplace, 391 00:26:47,470 --> 00:26:51,530 στο Android Marketplace, και όταν κάποιος έψαξε να δει αν η τράπεζά τους 392 00:26:51,530 --> 00:26:56,000 είχε μια εφαρμογή που θα βρείτε το ψεύτικο εφαρμογή, 393 00:26:56,000 --> 00:27:01,230 τα οποία συλλέγονται τα διαπιστευτήριά τους και στη συνέχεια να κατευθυνθούν προς την ιστοσελίδα τους. 394 00:27:01,230 --> 00:27:06,640 Ο τρόπος που αυτό πράγματι έγινε-οι εφαρμογές ήταν εκεί για μερικές εβδομάδες, 395 00:27:06,640 --> 00:27:09,050 και υπήρχαν χιλιάδες και χιλιάδες downloads. 396 00:27:09,050 --> 00:27:12,910 >> Ο τρόπος με τον οποίο ήρθε στο φως ήταν κάποιος έχει ένα πρόβλημα 397 00:27:12,910 --> 00:27:15,740 με μία από τις εφαρμογές, και κάλεσαν την τράπεζά τους, 398 00:27:15,740 --> 00:27:18,390 και ονομάζεται γραμμή υποστήριξης πελατών της τράπεζάς τους και είπε, 399 00:27:18,390 --> 00:27:21,180 "Είμαι έχοντας ένα πρόβλημα με το mobile banking της αίτησής σας." 400 00:27:21,180 --> 00:27:23,460 «Μπορείς να με βοηθήσεις;" 401 00:27:23,460 --> 00:27:26,540 Και είπαν, «Δεν έχουμε μια mobile banking εφαρμογής." 402 00:27:26,540 --> 00:27:28,120 Αυτό που ξεκίνησε την έρευνα. 403 00:27:28,120 --> 00:27:31,200 Αυτό τράπεζα που ονομάζεται Google, και τότε η Google κοίταξε και είπε, 404 00:27:31,200 --> 00:27:37,220 "Πω πω, ο ίδιος συγγραφέας έχει γράψει 50 τραπεζικών εφαρμογών," και τα πήρε όλα κάτω. 405 00:27:37,220 --> 00:27:43,410 Σίγουρα, όμως, αυτό θα μπορούσε να συμβεί και πάλι. 406 00:27:43,410 --> 00:27:51,790 Υπάρχει η λίστα με όλες τις διαφορετικές τράπεζες εδώ 407 00:27:51,790 --> 00:27:55,870 ότι ήταν μέρος αυτής της απάτης. 408 00:27:55,870 --> 00:28:02,050 Το άλλο πράγμα που μια εφαρμογή μπορεί να κάνει είναι παρούσα η UI μιας άλλης εφαρμογής. 409 00:28:02,050 --> 00:28:06,430 Ενώ τρέχει θα μπορούσε να αναδυθεί το Facebook UI. 410 00:28:06,430 --> 00:28:09,540 Λέει ότι πρέπει να βάλετε το όνομα χρήστη και τον κωδικό πρόσβασής σας για να συνεχίσετε 411 00:28:09,540 --> 00:28:15,090 ή να θέσει οποιοδήποτε όνομα χρήστη και τον κωδικό πρόσβασης UI για μια ιστοσελίδα 412 00:28:15,090 --> 00:28:18,420 ότι ίσως ο χρήστης χρησιμοποιεί μόνο για να προσπαθήσουν να ξεγελάσουν τον χρήστη 413 00:28:18,420 --> 00:28:21,340 σε βάζοντας τα διαπιστευτήριά τους μέσα 414 00:28:21,340 --> 00:28:25,590 Αυτό είναι πραγματικά μια ευθεία παράλληλη των επιθέσεων phishing e-mail 415 00:28:25,590 --> 00:28:28,210 όταν κάποιος σας στέλνει ένα μήνυμα ηλεκτρονικού ταχυδρομείου 416 00:28:28,210 --> 00:28:33,050 και σας δίνει ουσιαστικά ένα ψεύτικο UI για μια ιστοσελίδα 417 00:28:33,050 --> 00:28:37,320 ότι έχετε πρόσβαση. 418 00:28:37,320 --> 00:28:41,590 >> Το άλλο πράγμα που ψάχνουν σε κακόβουλο κώδικα είναι η τροποποίηση του συστήματος. 419 00:28:41,590 --> 00:28:48,160 Μπορείτε να ψάξετε για όλες τις κλήσεις API που απαιτούν δικαιώματα root 420 00:28:48,160 --> 00:28:50,870 να εκτελέσει σωστά. 421 00:28:50,870 --> 00:28:56,160 Αλλαγή web proxy της συσκευής θα ήταν κάτι που η αίτηση 422 00:28:56,160 --> 00:28:59,530 δεν θα πρέπει να είναι σε θέση να κάνει. 423 00:28:59,530 --> 00:29:03,030 Όμως, εάν η αίτηση έχει κωδικό εκεί για να το κάνουμε αυτό 424 00:29:03,030 --> 00:29:05,960 ξέρετε ότι είναι πιθανώς μια κακόβουλη εφαρμογή 425 00:29:05,960 --> 00:29:09,620 ή πολύ μεγάλη πιθανότητα να είναι μια κακόβουλη εφαρμογή, 426 00:29:09,620 --> 00:29:13,910 και έτσι αυτό που θα συμβεί είναι ότι η εφαρμογή θα έχει κάποιο τρόπο για την κλιμάκωση της προνόμιο. 427 00:29:13,910 --> 00:29:17,200 Θα έχει κάποια κλιμάκωση προνόμιο εκμεταλλεύονται 428 00:29:17,200 --> 00:29:20,730 στην εφαρμογή, και στη συνέχεια μία φορά κλιμακώθηκε προνόμια 429 00:29:20,730 --> 00:29:23,800 θα κάνετε αυτές τις τροποποιήσεις του συστήματος. 430 00:29:23,800 --> 00:29:28,010 Μπορείτε να βρείτε το κακόβουλο λογισμικό που έχει κλιμάκωση προνομίων 431 00:29:28,010 --> 00:29:32,550 σε αυτό, ακόμη και χωρίς να γνωρίζει πώς την κλιμάκωση προνόμιο 432 00:29:32,550 --> 00:29:37,960 εκμεταλλεύονται πρόκειται να συμβεί, και αυτό είναι ένα ωραίο, εύκολο τρόπο 433 00:29:37,960 --> 00:29:41,220 να ψάξουν για κακόβουλο λογισμικό. 434 00:29:41,220 --> 00:29:46,030 DroidDream ήταν ίσως το πιο διάσημο κομμάτι του Android malware. 435 00:29:46,030 --> 00:29:50,530 Νομίζω ότι επηρεάζονται περίπου 250.000 χρήστες σε διάστημα μερικών ημερών 436 00:29:50,530 --> 00:29:52,810 πριν βρέθηκε. 437 00:29:52,810 --> 00:29:56,890 Οι ανασυσκευασθεί 50 ψεύτικες εφαρμογές, 438 00:29:56,890 --> 00:30:00,370 βάζουμε στο Android App Store, 439 00:30:00,370 --> 00:30:10,940 και ουσιαστικά χρησιμοποίησε κώδικα Android jailbreak να κλιμακωθεί προνόμια 440 00:30:10,940 --> 00:30:16,380 και στη συνέχεια να εγκαταστήσετε μια εντολή και τον έλεγχο και να μετατρέψει όλα τα θύματα 441 00:30:16,380 --> 00:30:20,690 σε ένα καθαρό bot, αλλά θα μπορούσε να διαγνώσει αυτό 442 00:30:20,690 --> 00:30:24,170 αν ήταν σάρωση της εφαρμογής και απλά ψάχνουν για 443 00:30:24,170 --> 00:30:32,230 API κλήσεις που απαιτούνται δικαιώματα διαχειριστή για να εκτελέσει σωστά. 444 00:30:32,230 --> 00:30:40,150 >> Και υπάρχει ένα παράδειγμα εδώ έχω το οποίο αλλάζει το πληρεξούσιο, 445 00:30:40,150 --> 00:30:46,380 και αυτό πραγματικά είναι διαθέσιμο μόνο για το Android. 446 00:30:46,380 --> 00:30:49,070 Μπορείτε να δείτε σου δίνω πολλά παραδείγματα για το Android 447 00:30:49,070 --> 00:30:53,990 επειδή αυτό είναι όπου το πιο ενεργό malware οικοσύστημα είναι 448 00:30:53,990 --> 00:30:58,690 γιατί είναι πολύ εύκολο για έναν εισβολέα να πάρει κακόβουλο κώδικα 449 00:30:58,690 --> 00:31:01,470 στο Android Marketplace. 450 00:31:01,470 --> 00:31:06,480 Δεν είναι τόσο εύκολο να το κάνουμε αυτό στο Apple App Store 451 00:31:06,480 --> 00:31:10,250 γιατί η Apple απαιτεί από τους προγραμματιστές να ταυτιστούν 452 00:31:10,250 --> 00:31:12,790 και να υπογράψει τον κώδικα. 453 00:31:12,790 --> 00:31:20,340 Μπορούν πραγματικά να ελέγξετε ποιος είσαι, και η Apple είναι στην πραγματικότητα την εξέταση των αιτήσεων. 454 00:31:20,340 --> 00:31:27,450 Δεν βλέπουμε πολλά πραγματική malware, όπου η συσκευή είναι να πάρει σε κίνδυνο. 455 00:31:27,450 --> 00:31:32,250 Θα μιλήσω για μερικά παραδείγματα όπου είναι πραγματικά προστασία της ιδιωτικής ζωής που είναι να πάρει σε κίνδυνο, 456 00:31:32,250 --> 00:31:38,460 και αυτό είναι που πραγματικά συμβαίνει στη συσκευή της Apple. 457 00:31:38,460 --> 00:31:44,090 Ένα άλλο πράγμα που πρέπει να κοιτάξουμε για κακόβουλο κώδικα, επικίνδυνο κώδικα σε συσκευές 458 00:31:44,090 --> 00:31:50,300 είναι λογική ή ωρολογιακές βόμβες και βόμβες είναι πιθανώς 459 00:31:50,300 --> 00:31:53,370 πολύ πιο εύκολο να ψάξουν για ό, τι λογικές βόμβες. 460 00:31:53,370 --> 00:31:57,030 Αλλά με ωρολογιακές βόμβες, τι μπορείτε να κάνετε είναι να μπορείτε να ψάξετε για 461 00:31:57,030 --> 00:32:04,760 μέρη του κώδικα, όπου δοκιμάζεται η ώρα ή ενός απόλυτου χρόνου αναζητείται 462 00:32:04,760 --> 00:32:08,190 πριν από ορισμένες λειτουργίες του app θα συμβεί. 463 00:32:08,190 --> 00:32:14,200 Και αυτό θα μπορούσε να γίνει για να κρύψει τη δραστηριότητα από τον χρήστη, 464 00:32:14,200 --> 00:32:17,510 έτσι συμβαίνει αργά το βράδυ. 465 00:32:17,510 --> 00:32:24,350 DroidDream έκανε όλη τη δράση μεταξύ 23:00 και 8 π.μ. τοπική ώρα 466 00:32:24,350 --> 00:32:30,650 να προσπαθήσει να το κάνει, ενώ ο χρήστης δεν θα μπορούσαν να χρησιμοποιούν τη συσκευή τους. 467 00:32:30,650 --> 00:32:38,680 >> Ένας άλλος λόγος για να γίνει αυτό είναι αν οι άνθρωποι χρησιμοποιούν ανάλυση της συμπεριφοράς της αίτησης, 468 00:32:38,680 --> 00:32:43,430 τρέχει το app σε ένα sandbox για να δούμε ποια είναι η συμπεριφορά της εφαρμογής είναι, 469 00:32:43,430 --> 00:32:51,090 μπορούν να χρησιμοποιήσουν τη λογική με βάση το χρόνο να κάνει τη δραστηριότητα 470 00:32:51,090 --> 00:32:54,640 όταν η εφαρμογή δεν είναι στο sandbox. 471 00:32:54,640 --> 00:33:01,520 Για παράδειγμα, ένα κατάστημα app όπως η Apple 472 00:33:01,520 --> 00:33:07,940 εκτελεί την εφαρμογή, αλλά μάλλον δεν τρέχει κάθε αίτηση για, ας πούμε, 30 ημέρες 473 00:33:07,940 --> 00:33:10,550 πριν από την έγκριση αυτή, έτσι μπορείτε να βάλετε 474 00:33:10,550 --> 00:33:14,120 λογική στην εφαρμογή σας, που είπε, εντάξει, κάνει μόνο το κακό 475 00:33:14,120 --> 00:33:20,490 μετά από 30 ημέρες έχει περάσει ή 30 ημέρες μετά την ημερομηνία δημοσίευσης της αίτησης, 476 00:33:20,490 --> 00:33:27,020 και ότι μπορεί να βοηθήσει τον κακόβουλο κώδικα κρύβεται από τους ανθρώπους επιθεώρηση για αυτό. 477 00:33:27,020 --> 00:33:30,050 Εάν οι εταιρείες anti-virus που τρέχουν τα πράγματα σε παιδικές χαρές 478 00:33:30,050 --> 00:33:36,370 ή τα ίδια τα καταστήματα app είναι αυτό μπορεί να βοηθήσει 479 00:33:36,370 --> 00:33:39,260 το κρύψει από τον εν λόγω έλεγχο. 480 00:33:39,260 --> 00:33:43,020 Τώρα, η άλλη πλευρά του ότι είναι ότι είναι εύκολο να βρεθεί με στατική ανάλυση, 481 00:33:43,020 --> 00:33:46,170 έτσι στην πραγματικότητα την επιθεώρηση του κώδικα, μπορείτε να ψάξετε για όλες τις θέσεις 482 00:33:46,170 --> 00:33:54,010 όπου η εφαρμογή ελέγχει το χρόνο και ελέγξτε με αυτόν τον τρόπο. 483 00:33:54,010 --> 00:33:58,850 Και εδώ έχω μερικά παραδείγματα σε αυτές τις 3 διαφορετικές πλατφόρμες 484 00:33:58,850 --> 00:34:05,640 πώς ο χρόνος μπορεί να ελεγχθεί από τον κατασκευαστή app 485 00:34:05,640 --> 00:34:10,520 ώστε να γνωρίζετε τι πρέπει να αναζητήσουμε αν είστε επιθεώρηση του app στατικά. 486 00:34:10,520 --> 00:34:14,570 >> Πήγα με ένα σωρό από διάφορες κακόβουλες δραστηριότητες 487 00:34:14,570 --> 00:34:18,969 ότι έχουμε δει στην άγρια ​​φύση, αλλά ποιες είναι οι πιο διαδεδομένες; 488 00:34:18,969 --> 00:34:23,940 Η ίδια μελέτη από το North Carolina State Mobile Genome Project 489 00:34:23,940 --> 00:34:28,560 δημοσίευσε κάποια δεδομένα, και υπήρχαν βασικά 4 περιοχές 490 00:34:28,560 --> 00:34:32,850 που έβλεπαν όπου υπήρχε μεγάλη δραστηριότητα. 491 00:34:32,850 --> 00:34:35,370 37% των apps έκανε κλιμάκωση προνομίων, 492 00:34:35,370 --> 00:34:38,429 έτσι είχαν κάποιο είδος κώδικα jailbreak εκεί 493 00:34:38,429 --> 00:34:42,070 όπου προσπάθησαν να κλιμακωθεί προνόμια, έτσι ώστε θα μπορούσαν 494 00:34:42,070 --> 00:34:48,360 Δεν εντολές API τρέχει το λειτουργικό σύστημα. 495 00:34:48,360 --> 00:34:52,520 45% από τις εφαρμογές εκεί έξω έκανε premium SMS, 496 00:34:52,520 --> 00:34:57,260 έτσι ώστε να είναι ένα τεράστιο ποσοστό που προσπαθεί να έχει κέρδος άμεσα. 497 00:34:57,260 --> 00:35:02,640 93% έκανε τηλεχειριστήριο, έτσι ώστε να προσπαθήσει να δημιουργήσει ένα δίχτυ bot, ένα δίχτυ κινητό bot. 498 00:35:02,640 --> 00:35:08,990 Και το 45% που συγκομίζονται τον προσδιορισμό των πληροφοριών 499 00:35:08,990 --> 00:35:16,230 όπως αριθμούς τηλεφώνου, UUIDs, θέση GPS, οι λογαριασμοί χρηστών, 500 00:35:16,230 --> 00:35:22,870 και αυτό προσθέτει μέχρι και πάνω από 100, επειδή τα περισσότερα malware προσπαθεί να κάνει μερικά από αυτά τα πράγματα. 501 00:35:22,870 --> 00:35:27,070 >> Πάω να μεταβείτε στο δεύτερο ημίχρονο και να μιλήσουμε για τα σημεία κωδικό. 502 00:35:27,070 --> 00:35:29,480 Αυτό είναι το δεύτερο εξάμηνο του επικίνδυνη δραστηριότητα. 503 00:35:29,480 --> 00:35:33,450 Αυτό είναι όπου ουσιαστικά ο κύριος του έργου έχει κάνει λάθη. 504 00:35:33,450 --> 00:35:37,210 Μια νόμιμη προγραμματιστής γράφει ένα νόμιμο app 505 00:35:37,210 --> 00:35:41,830 κάνει λάθη ή άγνοια των κινδύνων από την κινητή πλατφόρμα. 506 00:35:41,830 --> 00:35:44,780 Απλά δεν ξέρουν πώς να κάνουν μια ασφαλή εφαρμογή για κινητά, 507 00:35:44,780 --> 00:35:47,700 ή μερικές φορές ο κύριος του έργου δεν ενδιαφέρεται για τη θέση του χρήστη σε κίνδυνο. 508 00:35:47,700 --> 00:35:50,850 Μερικές φορές μέρος του επιχειρηματικού μοντέλου τους θα μπορούσε να είναι 509 00:35:50,850 --> 00:35:54,610 συγκομιδή προσωπικά στοιχεία του χρήστη. 510 00:35:54,610 --> 00:35:58,090 Αυτό είναι το είδος της άλλης κατηγορίας, και γι 'αυτό κάποιοι από αυτό το κακόβουλο 511 00:35:58,090 --> 00:36:03,200 έναντι νόμιμων αρχίζει να αιμορραγεί πάνω, επειδή υπάρχει διχογνωμία 512 00:36:03,200 --> 00:36:10,440 μεταξύ του τι θέλει ο χρήστης και τι ο χρήστης θεωρεί επικίνδυνη 513 00:36:10,440 --> 00:36:13,050 και ποια είναι η ανάπτυξη εφαρμογών θεωρεί επικίνδυνη. 514 00:36:13,050 --> 00:36:18,380 Φυσικά, δεν είναι τα στοιχεία του προγραμματιστή εφαρμογής, στις περισσότερες περιπτώσεις. 515 00:36:18,380 --> 00:36:22,030 >> Και τέλος, ένας άλλος τρόπος που συμβαίνει αυτό είναι ένας προγραμματιστής μπορεί να συνδεθεί σε 516 00:36:22,030 --> 00:36:28,600 μια κοινή βιβλιοθήκη που έχει τρωτά σημεία ή αυτό επικίνδυνη συμπεριφορά σε αυτό 517 00:36:28,600 --> 00:36:32,480 εν αγνοία τους. 518 00:36:32,480 --> 00:36:37,060 Η πρώτη κατηγορία είναι ευαίσθητο διαρροής δεδομένων, 519 00:36:37,060 --> 00:36:40,030 και αυτό είναι όταν η εφαρμογή συλλέγει πληροφορίες 520 00:36:40,030 --> 00:36:44,980 όπως η τοποθεσία, οι πληροφορίες του βιβλίου διευθύνσεων, τα στοιχεία του κατόχου 521 00:36:44,980 --> 00:36:48,000 και στέλνει ότι η συσκευή απενεργοποιείται. 522 00:36:48,000 --> 00:36:53,050 Και τη στιγμή που θα είναι από τη συσκευή, δεν γνωρίζουμε τι συμβαίνει με αυτές τις πληροφορίες. 523 00:36:53,050 --> 00:36:57,170 Θα μπορούσε να αποθηκευτεί ανασφαλώς από την ανάπτυξη εφαρμογών. 524 00:36:57,170 --> 00:37:02,070 Έχουμε δει προγραμματιστές εφαρμογών να τεθεί σε κίνδυνο, 525 00:37:02,070 --> 00:37:05,820 και τα δεδομένα που είστε αποθήκευση παίρνει λαμβάνονται. 526 00:37:05,820 --> 00:37:10,970 Αυτό συνέβη πριν από λίγους μήνες σε έναν προγραμματιστή στη Φλόριντα 527 00:37:10,970 --> 00:37:21,660 όπου ένας τεράστιος αριθμός των-ήταν iPad UUIDs και ονόματα συσκευών 528 00:37:21,660 --> 00:37:25,270 διέρρευσαν επειδή κάποιος, νομίζω ότι ήταν ανώνυμη, 529 00:37:25,270 --> 00:37:29,460 ισχυριζόταν ότι κάνουμε αυτό, έσπασε σε εξυπηρετητές αυτού του προγραμματιστή 530 00:37:29,460 --> 00:37:34,920 και έκλεψε εκατομμύρια iPad UUIDs 531 00:37:34,920 --> 00:37:37,390 και ονόματα υπολογιστών. 532 00:37:37,390 --> 00:37:40,260 Δεν είναι η πιο επικίνδυνη πληροφορίες, 533 00:37:40,260 --> 00:37:46,820 αλλά τι γίνεται αν αυτή ήταν η αποθήκευση των ονομάτων χρηστών και κωδικών πρόσβασης 534 00:37:46,820 --> 00:37:48,170 και διευθύνσεις κατοικίας; 535 00:37:48,170 --> 00:37:51,100 Υπάρχουν πολλές εφαρμογές που αποθηκεύουν αυτό το είδος των πληροφοριών. 536 00:37:51,100 --> 00:37:53,230 Ο κίνδυνος αυτός είναι υπαρκτός. 537 00:37:53,230 --> 00:37:56,620 >> Το άλλο πράγμα που μπορεί να συμβεί είναι αν ο κύριος του έργου δεν λαμβάνει μέριμνα 538 00:37:56,620 --> 00:38:01,370 να εξασφαλίσει το κανάλι δεδομένων, και αυτό είναι ένα άλλο μεγάλο θέμα ευπάθειας Πάω να μιλήσω για, 539 00:38:01,370 --> 00:38:05,160 ότι τα δεδομένα που στέλνονται στο σαφή. 540 00:38:05,160 --> 00:38:09,040 Αν ο χρήστης βρίσκεται σε ένα δημόσιο δίκτυο Wi-Fi 541 00:38:09,040 --> 00:38:12,330 ή κάποιος μυρίζει το διαδίκτυο κάπου 542 00:38:12,330 --> 00:38:19,260 κατά μήκος της διαδρομής ότι τα δεδομένα είναι να εκτεθούν. 543 00:38:19,260 --> 00:38:23,790 Ένα πολύ γνωστό περίπτωση αυτής της διαρροής πληροφοριών που συνέβη με την Πανδώρα, 544 00:38:23,790 --> 00:38:27,250 και αυτό είναι κάτι που ερευνήσαμε στο Veracode. 545 00:38:27,250 --> 00:38:33,200 Έχουμε ακούσει ότι υπήρχε μια-νομίζω ότι ήταν μια Ομοσπονδιακή Επιτροπή Εμπορίου 546 00:38:33,200 --> 00:38:35,310 έρευνα συνεχίζεται με την Πανδώρα. 547 00:38:35,310 --> 00:38:39,830 Είπαμε, "Τι συμβαίνει εκεί; Ας αρχίσει το σκάψιμο στην εφαρμογή της Πανδώρας». 548 00:38:39,830 --> 00:38:46,690 Και αυτό που καθορίζεται είναι η εφαρμογή Pandora συλλέγονται 549 00:38:46,690 --> 00:38:51,270 το φύλο και η ηλικία σου, 550 00:38:51,270 --> 00:38:56,660 και, επίσης, πρόσβαση σε GPS θέση σας, και την εφαρμογή της Πανδώρας 551 00:38:56,660 --> 00:39:00,200 έκανε αυτό για ό, τι είπε ήταν νόμιμους λόγους. 552 00:39:00,200 --> 00:39:05,360 Η μουσική που έπαιζαν-Pandora είναι ένα streaming μουσικής app- 553 00:39:05,360 --> 00:39:07,530 η μουσική που έπαιζαν ήταν άδεια μόνο στις Ηνωμένες Πολιτείες, 554 00:39:07,530 --> 00:39:13,020 οπότε έπρεπε να ελέγχει τη συμμόρφωση με τις συμβάσεις άδειας χρήσης τους, που είχαν 555 00:39:13,020 --> 00:39:17,240 για τη μουσική που ο χρήστης ήταν στις Ηνωμένες Πολιτείες. 556 00:39:17,240 --> 00:39:25,070 Ήθελαν επίσης να συμμορφωθεί με την γονική συμβουλευτική 557 00:39:25,070 --> 00:39:33,790 περίπου των ενηλίκων γλώσσας στη μουσική, 558 00:39:33,790 --> 00:39:37,500 και γι 'αυτό είναι ένα εθελοντικό πρόγραμμα, αλλά ήθελαν να συμμορφωθούν με αυτό 559 00:39:37,500 --> 00:39:43,010 και να μην παίζουν ρητή στίχους για παιδιά 13 και κάτω. 560 00:39:43,010 --> 00:39:46,280 >> Είχαν νόμιμους λόγους για τη συλλογή αυτών των δεδομένων. 561 00:39:46,280 --> 00:39:49,160 Εφαρμογή τους είχε τα δικαιώματα να το κάνει. 562 00:39:49,160 --> 00:39:52,000 Οι χρήστες ότι αυτό ήταν νόμιμο. Αλλά τι συνέβη; 563 00:39:52,000 --> 00:39:55,810 Θα συνδέεται σε 3 ή 4 διαφορετικές βιβλιοθήκες διαφημίσεων. 564 00:39:55,810 --> 00:39:59,140 Τώρα ξαφνικά όλα αυτά βιβλιοθήκες διαφημίσεων 565 00:39:59,140 --> 00:40:02,970 παίρνουν την πρόσβαση με τις ίδιες πληροφορίες. 566 00:40:02,970 --> 00:40:05,830 Οι βιβλιοθήκες διαφημίσεων, αν κοιτάξετε τον κώδικα στις βιβλιοθήκες αγγελία 567 00:40:05,830 --> 00:40:08,430 αυτό που κάνουν είναι κάθε βιβλιοθήκη διαφήμιση λέει 568 00:40:08,430 --> 00:40:11,340 "Μήπως app μου έχουν την άδεια να λάβει τη θέση GPS;" 569 00:40:11,340 --> 00:40:14,890 "Ω, δεν; Εντάξει, πες μου τη θέση GPS." 570 00:40:14,890 --> 00:40:16,620 Κάθε βιβλιοθήκη ad κάνει αυτό, 571 00:40:16,620 --> 00:40:19,740 και αν η εφαρμογή δεν έχει άδεια GPS 572 00:40:19,740 --> 00:40:23,460 δεν θα είναι σε θέση να το πάρει, αλλά αν το κάνει, θα το πάρει. 573 00:40:23,460 --> 00:40:26,240 Αυτό είναι όπου το επιχειρηματικό μοντέλο των βιβλιοθηκών διαφημίσεων 574 00:40:26,240 --> 00:40:31,160 είναι σε αντίθεση με την προστασία της ιδιωτικής ζωής του χρήστη. 575 00:40:31,160 --> 00:40:34,980 Και έχει υπάρξει μελέτες εκεί έξω που θα πω αν γνωρίζετε την ηλικία 576 00:40:34,980 --> 00:40:38,430 από ένα άτομο και να γνωρίζουν τη θέση τους 577 00:40:38,430 --> 00:40:42,530 όπου κοιμούνται τη νύχτα, επειδή έχετε συντεταγμένες GPS τους 578 00:40:42,530 --> 00:40:46,030 ενώ ίσως κοιμούνται, ξέρετε ακριβώς ποιος το πρόσωπο αυτό 579 00:40:46,030 --> 00:40:50,230 επειδή μπορείτε να προσδιορίσετε ποια μέλη αυτού του νοικοκυριού είναι το άτομο. 580 00:40:50,230 --> 00:40:54,780 Πραγματικά αυτό είναι η αναγνώριση για τους διαφημιστές 581 00:40:54,780 --> 00:40:59,530 ακριβώς ποιος είσαι, και φαίνεται σαν να ήταν νόμιμη. 582 00:40:59,530 --> 00:41:02,800 Απλά θέλω streaming μουσικής μου, και αυτός είναι ο μόνος τρόπος για να το πάρει. 583 00:41:02,800 --> 00:41:05,370 >> Λοιπόν, εκθέσαμε αυτό. 584 00:41:05,370 --> 00:41:08,030 Γράψαμε αυτό σε διάφορες θέσεις blog, 585 00:41:08,030 --> 00:41:13,280 και αποδείχθηκε ότι κάποιος από το περιοδικό Rolling Stone 586 00:41:13,280 --> 00:41:18,810 διαβάστε μία από τις θέσεις blog μας και έγραψε το δικό τους blog στο Rolling Stone γι 'αυτό, 587 00:41:18,810 --> 00:41:22,120 και την επόμενη κιόλας ημέρα της Πανδώρας σκέφτηκε ότι ήταν μια καλή ιδέα 588 00:41:22,120 --> 00:41:27,600 για να αφαιρέσετε τις βιβλιοθήκες διαφημίσεων από την εφαρμογή τους. 589 00:41:27,600 --> 00:41:31,270 Σε ό, τι ξέρω ότι είσαι ο μόνος-που θα πρέπει να επαινεθεί. 590 00:41:31,270 --> 00:41:35,770 Νομίζω ότι είναι η μόνη freemium τον τύπο της εφαρμογής που έχει κάνει αυτό. 591 00:41:35,770 --> 00:41:38,660 Όλα τα άλλα freemium εφαρμογές έχουν την ίδια συμπεριφορά, 592 00:41:38,660 --> 00:41:41,780 έτσι έχετε να σκεφτείτε τι είδους δεδομένα δίνετε 593 00:41:41,780 --> 00:41:48,330 αυτά freemium εφαρμογές επειδή όλα πηγαίνουν στους διαφημιστές. 594 00:41:48,330 --> 00:41:53,390 Praetorian έκανε επίσης μια μελέτη σχετικά με τις κοινόχρηστες βιβλιοθήκες και είπε, 595 00:41:53,390 --> 00:41:57,100 "Ας δούμε τι κοινόχρηστες βιβλιοθήκες είναι τα κορυφαία κοινές βιβλιοθήκες," και αυτό ήταν τα δεδομένα. 596 00:41:57,100 --> 00:41:59,420 >> Ανέλυσαν 53.000 apps, 597 00:41:59,420 --> 00:42:01,900 και ο αριθμός 1 κοινή βιβλιοθήκη ήταν AdMob. 598 00:42:01,900 --> 00:42:06,060 Ήταν πραγματικά το 38% των αιτήσεων εκεί έξω, 599 00:42:06,060 --> 00:42:08,800 έτσι ώστε το 38% των εφαρμογών που χρησιμοποιείτε 600 00:42:08,800 --> 00:42:11,250 είναι πιθανό συγκομιδή τα προσωπικά σας στοιχεία 601 00:42:11,250 --> 00:42:16,650 και να το στείλει σε δίκτυα διαφημίσεων. 602 00:42:16,650 --> 00:42:19,350 Apache και Android ήταν 8% και 6%, 603 00:42:19,350 --> 00:42:22,960 και, στη συνέχεια, αυτά τα άλλα αυτά κάτω στο κάτω μέρος, Google Ads, Flurry, 604 00:42:22,960 --> 00:42:26,600 Κιν Πόλη και Χιλιετή Media, 605 00:42:26,600 --> 00:42:30,500 όλα αυτά είναι διαφημιστικές εταιρείες, και, στη συνέχεια, αρκετά κατά τρόπο ενδιαφέροντα, 606 00:42:30,500 --> 00:42:33,500 4% που συνδέεται στη βιβλιοθήκη του Facebook 607 00:42:33,500 --> 00:42:38,870 πιθανόν να κάνουν έλεγχο ταυτότητας μέσω του Facebook 608 00:42:38,870 --> 00:42:40,810 έτσι ώστε η εφαρμογή θα μπορούσε να την ταυτότητα του Facebook. 609 00:42:40,810 --> 00:42:44,660 Αυτό όμως σημαίνει ότι η εταιρεία του Facebook ελέγχει κώδικα 610 00:42:44,660 --> 00:42:49,010 που τρέχει σε 4% των Android κινητών εφαρμογών εκεί έξω, 611 00:42:49,010 --> 00:42:53,490 και έχουν πρόσβαση σε όλα τα δεδομένα ότι η app έχει την άδεια για να πάρει στο. 612 00:42:53,490 --> 00:42:57,170 Facebook προσπαθεί ουσιαστικά να πωλούν διαφημιστικό χώρο. 613 00:42:57,170 --> 00:43:00,120 Αυτό είναι το επιχειρηματικό τους μοντέλο. 614 00:43:00,120 --> 00:43:02,920 >> Αν κοιτάξετε όλη αυτή οικοσύστημα με αυτά τα δικαιώματα 615 00:43:02,920 --> 00:43:07,740 και κοινόχρηστες βιβλιοθήκες θα αρχίσετε να βλέπετε ότι 616 00:43:07,740 --> 00:43:13,850 έχετε πολλά κίνδυνο σε μια δήθεν νόμιμη εφαρμογή. 617 00:43:13,850 --> 00:43:19,360 Το ίδιο παρόμοιο πράγμα που συνέβη με την Πανδώρα 618 00:43:19,360 --> 00:43:22,340 συνέβη με μια εφαρμογή που ονομάζεται Path, 619 00:43:22,340 --> 00:43:27,660 και Path νόμιζαν ότι είναι εξυπηρετικό, φιλικό προγραμματιστές. 620 00:43:27,660 --> 00:43:32,160 Είχαν απλώς προσπαθεί να σας δώσει μια μεγάλη εμπειρία για το χρήστη, 621 00:43:32,160 --> 00:43:37,810 και αποδείχθηκε ότι δεν προτρέπει το χρήστη ή λέει το χρήστη τίποτα- 622 00:43:37,810 --> 00:43:40,400 και αυτό συνέβη για το iPhone και το Android, 623 00:43:40,400 --> 00:43:44,420 η Πανδώρα app ήταν σε iPhone και Android- 624 00:43:44,420 --> 00:43:48,890 ότι η εφαρμογή Path είχε αρπάξει ολόκληρο το βιβλίο διευθύνσεών σας 625 00:43:48,890 --> 00:43:52,830 και να την αναρτήσουν στο Path μόνο όταν εγκατασταθεί σε εσάς και έτρεξε την αίτηση, 626 00:43:52,830 --> 00:43:55,840 και δεν σας πω γι 'αυτό. 627 00:43:55,840 --> 00:43:58,750 Νόμιζαν ότι ήταν πραγματικά χρήσιμο για σας 628 00:43:58,750 --> 00:44:04,040 να είναι σε θέση να μοιραστώ με όλους τους ανθρώπους στο βιβλίο διευθύνσεών σας 629 00:44:04,040 --> 00:44:06,920 ότι είστε χρησιμοποιώντας την εφαρμογή Path. 630 00:44:06,920 --> 00:44:09,490 >> Λοιπόν, προφανώς Path ότι αυτό ήταν μεγάλη για την εταιρία τους. 631 00:44:09,490 --> 00:44:13,510 Δεν είναι τόσο μεγάλη για τον χρήστη. 632 00:44:13,510 --> 00:44:19,020 Θα πρέπει να σκεφτούμε ότι είναι ένα πράγμα, αν ίσως ένας έφηβος 633 00:44:19,020 --> 00:44:23,700 χρησιμοποιεί αυτή την εφαρμογή και τους δεκάδες φίλους είναι εκεί, 634 00:44:23,700 --> 00:44:29,360 αλλά τι γίνεται αν είναι ο Διευθύνων Σύμβουλος της εταιρείας που εγκαθιστά Path 635 00:44:29,360 --> 00:44:33,170 και, στη συνέχεια, ξαφνικά ολόκληρο το βιβλίο διευθύνσεών τους είναι εκεί πάνω; 636 00:44:33,170 --> 00:44:38,310 Θα πάμε για να πάρετε μια πολύ πιθανό να αποδειχθούν πολύτιμες πληροφορίες επικοινωνίας 637 00:44:38,310 --> 00:44:40,920 για πολλούς ανθρώπους. 638 00:44:40,920 --> 00:44:44,500 Ένας δημοσιογράφος από την εφημερίδα New York Times, ίσως να είναι σε θέση να πάρει τον αριθμό τηλεφώνου 639 00:44:44,500 --> 00:44:47,380 για την πρώην πρόεδροι από το βιβλίο διευθύνσεών τους, 640 00:44:47,380 --> 00:44:54,780 οπότε προφανώς πολύ ευαίσθητων πληροφοριών που παίρνει μεταφέρονται με κάτι σαν αυτό. 641 00:44:54,780 --> 00:44:58,090 Υπήρχε ένα τέτοιο μεγάλο πτερύγιο για αυτό που Path συγγνώμη. 642 00:44:58,090 --> 00:45:01,610 Άλλαξαν app τους, και ακόμη και επηρέασαν την Apple. 643 00:45:01,610 --> 00:45:06,950 Η Apple είπε, "Εμείς πάμε για να αναγκάσει τους πωλητές app να ζητά από τους χρήστες 644 00:45:06,950 --> 00:45:12,650 αν πρόκειται να εισπράξει ολόκληρο το βιβλίο διευθύνσεών τους. " 645 00:45:12,650 --> 00:45:15,360 >> Μοιάζει με αυτό που συμβαίνει εδώ είναι 646 00:45:15,360 --> 00:45:19,430 όταν υπάρχει μια μεγάλη παραβίαση της ιδιωτικής ζωής και καθιστά τον Τύπο 647 00:45:19,430 --> 00:45:21,680 βλέπουμε μια αλλαγή εκεί έξω. 648 00:45:21,680 --> 00:45:23,230 Αλλά φυσικά, υπάρχουν και άλλα πράγματα εκεί έξω. 649 00:45:23,230 --> 00:45:27,440 Η εφαρμογή LinkedIn συλλέγει τις καταχωρήσεις ημερολογίου σας, 650 00:45:27,440 --> 00:45:34,530 αλλά η Apple δεν κάνει ο χρήστης να ζητηθεί γι 'αυτό. 651 00:45:34,530 --> 00:45:38,030 Οι καταχωρήσεις ημερολογίου μπορεί να έχει ευαίσθητες πληροφορίες σε αυτά πάρα πολύ. 652 00:45:38,030 --> 00:45:40,000 Πού θα πας να τραβήξουμε τη γραμμή; 653 00:45:40,000 --> 00:45:43,960 Αυτό είναι πραγματικά το είδος της μια εξελισσόμενη χώρα 654 00:45:43,960 --> 00:45:47,640 όπου πραγματικά δεν υπάρχει καλό επίπεδο εκεί έξω 655 00:45:47,640 --> 00:45:51,990 για τους χρήστες να κατανοήσουν τις πληροφορίες τους, όταν πρόκειται να είναι σε κίνδυνο 656 00:45:51,990 --> 00:45:57,820 και όταν πάμε να ξέρεις ότι λαμβάνονται. 657 00:45:57,820 --> 00:46:03,040 Γράψαμε ένα app στο Veracode ονομάζεται Adios, 658 00:46:03,040 --> 00:46:08,350 και ουσιαστικά επέτρεψε να επισημάνω το app στο κατάλογο σας iTunes 659 00:46:08,350 --> 00:46:12,550 και να εξετάσουμε όλες τις αιτήσεις που είχαν συγκομιδή πλήρη βιβλίο διευθύνσεών σας. 660 00:46:12,550 --> 00:46:19,760 Και όπως μπορείτε να δείτε σε αυτή τη λίστα εδώ, Angry Birds, 661 00:46:19,760 --> 00:46:21,590 AIM, AroundMe. 662 00:46:21,590 --> 00:46:24,050 Γιατί δεν Angry Birds χρειάζονται το βιβλίο διευθύνσεών σας; 663 00:46:24,050 --> 00:46:29,160 Δεν ξέρω, αλλά το κάνει με κάποιο τρόπο. 664 00:46:29,160 --> 00:46:32,310 >> Αυτό είναι κάτι που κάνουν πολλοί, πολλές εφαρμογές. 665 00:46:32,310 --> 00:46:34,780 Μπορείτε να επιθεωρήσει τον κώδικα για αυτό. 666 00:46:34,780 --> 00:46:38,660 Υπάρχει σαφώς καθορισμένες APIs για το iPhone, Android και BlackBerry 667 00:46:38,660 --> 00:46:42,120 για να πάρω το βιβλίο διευθύνσεων. 668 00:46:42,120 --> 00:46:48,520 Μπορείτε πολύ εύκολα να επιθεωρήσει για αυτό, και αυτό είναι ό, τι κάναμε και στην εφαρμογή μας Adios. 669 00:46:48,520 --> 00:46:52,320 Η επόμενη κατηγορία, Επισφαλής Ευαίσθητα αποθήκευσης δεδομένων, 670 00:46:52,320 --> 00:46:55,670 Είναι κάτι για το οποίο οι προγραμματιστές να λάβει κάτι σαν μια καρφίτσα ή ένα αριθμό λογαριασμού 671 00:46:55,670 --> 00:46:58,530 ή έναν κωδικό πρόσβασης και να το αποθηκεύσετε στο σαφές στη συσκευή. 672 00:46:58,530 --> 00:47:02,310 Ακόμα χειρότερα, θα μπορούσαν να το αποθηκεύσετε σε μια περιοχή στο τηλέφωνο 673 00:47:02,310 --> 00:47:06,820 η οποία είναι παγκοσμίως προσβάσιμο, όπως και η κάρτα SD. 674 00:47:06,820 --> 00:47:11,320 Μπορείτε να δείτε αυτό πιο συχνά στο Android Android επειδή επιτρέπει μια κάρτα SD. 675 00:47:11,320 --> 00:47:13,200 Συσκευές IPhone δεν το κάνουν. 676 00:47:13,200 --> 00:47:17,900 Αλλά είδαμε ακόμα και αυτό να συμβεί σε μια εφαρμογή Citigroup. 677 00:47:17,900 --> 00:47:25,450 Εφαρμογή των διαδικτυακών τραπεζικών τους που είναι αποθηκευμένα στους αριθμούς λογαριασμού με μη ασφαλή, 678 00:47:25,450 --> 00:47:28,120 ακριβώς στα καθαρά, οπότε αν έχετε χάσει τη συσκευή σας, 679 00:47:28,120 --> 00:47:30,670 ουσιαστικά θα χάσει τον τραπεζικό σας λογαριασμό. 680 00:47:30,670 --> 00:47:36,000 Αυτός είναι ο λόγος που εγώ προσωπικά δεν κάνετε τραπεζικές συναλλαγές στο iPhone μου. 681 00:47:36,000 --> 00:47:43,710 Νομίζω ότι είναι πολύ επικίνδυνο αυτή τη στιγμή να κάνουμε τέτοιου είδους δραστηριότητες. 682 00:47:43,710 --> 00:47:45,950 >> Skype έκανε το ίδιο πράγμα. 683 00:47:45,950 --> 00:47:49,870 Skype, βέβαια, έχει ένα υπόλοιπο λογαριασμού, ένα όνομα χρήστη και έναν κωδικό πρόσβασης 684 00:47:49,870 --> 00:47:51,030 που έχουν πρόσβαση σε αυτή την ισορροπία. 685 00:47:51,030 --> 00:48:00,080 Είχαν την αποθήκευση όλες αυτές τις πληροφορίες στα καθαρά στην κινητή συσκευή. 686 00:48:00,080 --> 00:48:05,760 Έχω μερικά παραδείγματα εδώ δημιουργίας αρχείων 687 00:48:05,760 --> 00:48:10,310 ότι δεν έχουν τα κατάλληλα δικαιώματα ή την εγγραφή σε δίσκο 688 00:48:10,310 --> 00:48:17,260 και δεν έχουν καμία κρυπτογράφηση συμβεί γι 'αυτό. 689 00:48:17,260 --> 00:48:20,190 Αυτή η επόμενη περιοχή, Επισφαλής Ευαίσθητα μετάδοση δεδομένων, 690 00:48:20,190 --> 00:48:24,450 Έχω αναφέρθηκε σε αυτό μερικές φορές, και λόγω του δημόσιου Wi-Fi 691 00:48:24,450 --> 00:48:27,770 αυτό είναι κάτι που apps πρέπει οπωσδήποτε να κάνουμε, 692 00:48:27,770 --> 00:48:31,250 και αυτό είναι ίσως ό, τι βλέπουμε να πάει στραβά το πολύ. 693 00:48:31,250 --> 00:48:34,920 Θα έλεγα-στην πραγματικότητα, νομίζω ότι έχω τα πραγματικά δεδομένα, 694 00:48:34,920 --> 00:48:38,120 αλλά είναι κοντά στο μισό τις κινητές εφαρμογές 695 00:48:38,120 --> 00:48:41,780 βίδα μέχρι να κάνει SSL. 696 00:48:41,780 --> 00:48:43,910 Απλώς δεν χρησιμοποιούν τα APIs σωστά. 697 00:48:43,910 --> 00:48:47,970 Θέλω να πω, το μόνο που έχετε να κάνετε είναι να ακολουθήσετε τις οδηγίες και να χρησιμοποιήσετε τα API, 698 00:48:47,970 --> 00:48:54,720 αλλά κάνουν τα πράγματα όπως δεν ελέγχει αν υπάρχει ένα έγκυρο πιστοποιητικό στο άλλο άκρο, 699 00:48:54,720 --> 00:49:02,120 δεν ελέγχει εάν το άλλο άκρο είναι που προσπαθεί να κάνει μια επίθεση πρωτόκολλο υποβάθμιση. 700 00:49:02,120 --> 00:49:07,200 >> Οι προγραμματιστές, θέλουν να πάρουν το πλαίσιο ελέγχου τους, έτσι δεν είναι; 701 00:49:07,200 --> 00:49:11,910 Απαίτηση τους είναι να χρησιμοποιήσετε αυτό για να πουλήσουν. Έχουν χρησιμοποιηθεί αυτό για να πουλήσουν. 702 00:49:11,910 --> 00:49:14,800 Η απαίτηση δεν είναι να χρησιμοποιήσετε αυτό για να πουλήσει καλά, 703 00:49:14,800 --> 00:49:19,680 και γι'αυτό το λόγο όλες οι εφαρμογές που χρησιμοποιούν το SSL για την ασφάλεια των δεδομένων 704 00:49:19,680 --> 00:49:23,470 όπως είναι να μεταδίδονται από τη συσκευή πραγματικά πρέπει να επιθεωρούνται 705 00:49:23,470 --> 00:49:28,950 για να βεβαιωθείτε ότι εφαρμόστηκε σωστά. 706 00:49:28,950 --> 00:49:32,850 Και εδώ έχω μερικά παραδείγματα όπου μπορείτε να δείτε μια εφαρμογή 707 00:49:32,850 --> 00:49:37,400 ενδέχεται να χρησιμοποιούν HTTP αντί HTTPS. 708 00:49:37,400 --> 00:49:40,510 Σε ορισμένες περιπτώσεις, οι εφαρμογές θα πέσει πίσω στο HTTP 709 00:49:40,510 --> 00:49:44,250 εάν η HTTPS δεν λειτουργεί. 710 00:49:44,250 --> 00:49:49,070 Έχω μια άλλη κλήση εδώ στο Android όπου έχουν απενεργοποιηθεί ο έλεγχος του πιστοποιητικού, 711 00:49:49,070 --> 00:49:51,700 έτσι μια επίθεση man-in-the-middle μπορεί να συμβεί. 712 00:49:51,700 --> 00:49:56,370 Ένα έγκυρο πιστοποιητικό θα γίνονται δεκτές. 713 00:49:56,370 --> 00:50:01,920 Αυτές είναι όλες οι περιπτώσεις όπου οι επιτιθέμενοι θα είναι σε θέση να πάρει για 714 00:50:01,920 --> 00:50:07,150 η ίδια σύνδεση Wi-Fi, καθώς ο χρήστης και πρόσβαση σε όλα τα δεδομένα 715 00:50:07,150 --> 00:50:11,650 αυτό είναι που αποστέλλονται μέσω του διαδικτύου. 716 00:50:11,650 --> 00:50:15,970 >> Και τέλος, η τελευταία κατηγορία που έχω εδώ είναι μια μόνιμη κωδικό πρόσβασης και τα κλειδιά. 717 00:50:15,970 --> 00:50:21,470 Μπορούμε πραγματικά να δείτε πολλά προγραμματιστές να χρησιμοποιούν το ίδιο στυλ κωδικοποίησης 718 00:50:21,470 --> 00:50:25,900 ότι έκαναν όταν έκτιζαν εφαρμογές web server, 719 00:50:25,900 --> 00:50:29,700 έτσι χτίζουν μια εφαρμογή διακομιστή Java, και από όπου και αν hardcoding το κλειδί. 720 00:50:29,700 --> 00:50:31,940 Λοιπόν, όταν είστε οικοδόμηση μια εφαρμογή διακομιστή, ναι, 721 00:50:31,940 --> 00:50:34,240 hardcoding το κλειδί δεν είναι μια καλή ιδέα. 722 00:50:34,240 --> 00:50:36,290 Καθιστά δύσκολο να αλλάξει. 723 00:50:36,290 --> 00:50:40,700 Αλλά δεν είναι τόσο άσχημα στην πλευρά του server, διότι ποιος έχει πρόσβαση στο διακομιστή; 724 00:50:40,700 --> 00:50:43,140 Μόνο οι διαχειριστές. 725 00:50:43,140 --> 00:50:48,100 Αλλά αν πάρετε τον ίδιο κώδικα και το έχυσε πάνω σε μια εφαρμογή για κινητά 726 00:50:48,100 --> 00:50:52,550 τώρα ο καθένας που έχει αυτό το κινητό εφαρμογή έχει πρόσβαση σε αυτό το κωδικοποιημένο κλειδί, 727 00:50:52,550 --> 00:50:56,380 και βλέπουμε πραγματικά αυτό πολλές φορές, και έχω κάποια στατιστικά στοιχεία 728 00:50:56,380 --> 00:51:00,920 σχετικά με το πόσο συχνά βλέπουμε αυτό να συμβεί. 729 00:51:00,920 --> 00:51:04,940 Στην πραγματικότητα, ήταν στο παράδειγμα κώδικα που δημοσιεύθηκε MasterCard 730 00:51:04,940 --> 00:51:06,850 σχετικά με το πώς να χρησιμοποιήσετε την υπηρεσία τους. 731 00:51:06,850 --> 00:51:11,860 Το παράδειγμα κώδικα έδειξε πως θα λάβει μόνο τον κωδικό πρόσβασης 732 00:51:11,860 --> 00:51:14,850 και το βάζουμε σε ένα κωδικοποιημένο σειρά εκεί, 733 00:51:14,850 --> 00:51:19,380 και γνωρίζουμε πως οι προγραμματιστές αγαπούν να αντιγράψετε και να επικολλήσετε της δημιουργίας ενός κώδικα 734 00:51:19,380 --> 00:51:22,360 όταν προσπαθούμε να κάνουμε κάτι, ώστε να αντιγράψετε και να επικολλήσετε το απόσπασμα κώδικα 735 00:51:22,360 --> 00:51:28,450 ότι έδωσε ως παράδειγμα κώδικα, και έχετε μια ανασφαλής εφαρμογή. 736 00:51:28,450 --> 00:51:31,490 >> Και εδώ έχουμε μερικά παραδείγματα. 737 00:51:31,490 --> 00:51:35,840 Αυτή η πρώτη είναι αυτή που βλέπουμε πολλά, όπου hardcode 738 00:51:35,840 --> 00:51:40,510 το δικαίωμα των δεδομένων σε ένα URL που αποστέλλεται. 739 00:51:40,510 --> 00:51:45,120 Μερικές φορές βλέπουμε τον κωδικό String = τον κωδικό πρόσβασης. 740 00:51:45,120 --> 00:51:49,060 Αυτό είναι πολύ εύκολο να ανιχνευθούν, ή τον κωδικό πρόσβασης κορδόνι για BlackBerry και Android. 741 00:51:49,060 --> 00:51:53,680 Είναι πραγματικά αρκετά εύκολο να ελέγξετε επειδή σχεδόν πάντα 742 00:51:53,680 --> 00:51:57,030 τα ονόματα του έργου η μεταβλητή που κρατάει τον κωδικό πρόσβασης 743 00:51:57,030 --> 00:52:02,290 κάποια παραλλαγή του κωδικού πρόσβασης. 744 00:52:02,290 --> 00:52:05,200 Ανέφερα ότι κάνουμε στατική ανάλυση σε Veracode, 745 00:52:05,200 --> 00:52:11,790 έτσι έχουμε αναλυθεί αρκετές εκατοντάδες Android και iOS εφαρμογές. 746 00:52:11,790 --> 00:52:15,160 Έχουμε χτίσει πλήρη μοντέλα τους, και είμαστε σε θέση να τους σαρώσει 747 00:52:15,160 --> 00:52:19,280 για διαφορετικά τρωτά σημεία, ιδιαίτερα τα τρωτά μιλούσα, 748 00:52:19,280 --> 00:52:21,050 και έχω κάποια στοιχεία εδώ. 749 00:52:21,050 --> 00:52:24,320 68,5% των Android apps κοιτάξαμε 750 00:52:24,320 --> 00:52:28,590 είχε σπάσει κώδικα κρυπτογράφησης, 751 00:52:28,590 --> 00:52:33,240 το οποίο για εμάς, δεν μπορούμε να ανιχνεύσει αν έχετε κάνει τη δική σας ρουτίνα crypto, 752 00:52:33,240 --> 00:52:38,980 όχι ότι είναι μια καλή ιδέα, αλλά αυτό είναι στην πραγματικότητα χρησιμοποιώντας τις δημοσιευμένες APIs 753 00:52:38,980 --> 00:52:42,530 που βρίσκονται στην πλατφόρμα, αλλά να κάνει τους κατά τέτοιο τρόπο 754 00:52:42,530 --> 00:52:46,680 ότι η crypto θα είναι ευάλωτο, 68.5. 755 00:52:46,680 --> 00:52:49,870 Και αυτό είναι για τους ανθρώπους που μας στέλνουν τις αιτήσεις τους, διότι στην πραγματικότητα 756 00:52:49,870 --> 00:52:53,730 νομίζουν ότι είναι μια καλή ιδέα να κάνει τις δοκιμές ασφάλειας. 757 00:52:53,730 --> 00:52:56,960 Αυτά είναι ήδη άνθρωποι που είναι πιθανόν να σκέφτεται με ασφάλεια, 758 00:52:56,960 --> 00:52:59,540 έτσι είναι πιθανώς ακόμη χειρότερα. 759 00:52:59,540 --> 00:53:02,690 >> Εγώ δεν μιλάμε για γραμμή έγχυσης τροφή ελέγχου. 760 00:53:02,690 --> 00:53:07,640 Είναι κάτι που έχουμε ελέγξει για, αλλά δεν είναι τόσο επικίνδυνο θέμα. 761 00:53:07,640 --> 00:53:15,390 Διαρροή πληροφοριών, αυτό είναι όπου τα ευαίσθητα δεδομένα που αποστέλλονται από τη συσκευή. 762 00:53:15,390 --> 00:53:19,270 Βρήκαμε ότι σε 40% των αιτήσεων. 763 00:53:19,270 --> 00:53:23,540 Χρόνος και το κράτος, αυτά είναι θέματα τύπου κατάσταση κούρσας, συνήθως αρκετά δύσκολο να εκμεταλλευτούν, 764 00:53:23,540 --> 00:53:26,170 γι 'αυτό δεν μιλάμε γι' αυτό, αλλά κοιτάξαμε. 765 00:53:26,170 --> 00:53:28,750 23% είχε προβλήματα SQL ένεση. 766 00:53:28,750 --> 00:53:32,020 Πολλοί άνθρωποι δεν γνωρίζουν ότι πολλές εφαρμογές 767 00:53:32,020 --> 00:53:35,880 χρησιμοποιήστε μια μικρή μικρή βάση δεδομένων SQL πίσω άκρο τους για την αποθήκευση δεδομένων. 768 00:53:35,880 --> 00:53:40,430 Λοιπόν, αν τα δεδομένα που είστε αρπάζοντας από το δίκτυο 769 00:53:40,430 --> 00:53:43,800 έχει χορδές SQL επίθεση ένεση σε αυτό 770 00:53:43,800 --> 00:53:45,970 κάποιος μπορεί να θέσει σε κίνδυνο τη συσκευή μέσω αυτού, 771 00:53:45,970 --> 00:53:49,800 και έτσι νομίζω ότι θα βρούμε περίπου το 40% των web εφαρμογών έχουν αυτό το πρόβλημα, 772 00:53:49,800 --> 00:53:52,840 το οποίο είναι ένα τεράστιο πρόβλημα επιδημία. 773 00:53:52,840 --> 00:53:55,740 Μπορούμε να βρούμε το 23% του χρόνου σε εφαρμογές για κινητά 774 00:53:55,740 --> 00:54:02,030 και αυτό είναι πιθανώς επειδή πολλές άλλες εφαρμογές web χρήση SQL από το κινητό. 775 00:54:02,030 --> 00:54:05,580 >> Και τότε βλέπουμε ακόμα κάποια cross-site scripting, θέματα αδειοδότησης, 776 00:54:05,580 --> 00:54:09,400 και στη συνέχεια τη διαχείριση των διαπιστευτηρίων, αυτό είναι όπου μπορείτε να έχετε μια μόνιμη κωδικό πρόσβασής σας. 777 00:54:09,400 --> 00:54:14,540 Στο 5% των αιτήσεων βλέπουμε ότι. 778 00:54:14,540 --> 00:54:17,970 Και τότε έχουμε κάποια στοιχεία για iOS. 779 00:54:17,970 --> 00:54:20,180 81% είχε προβλήματα λάθος χειρισμό. 780 00:54:20,180 --> 00:54:23,130 Αυτό είναι περισσότερο από ένα πρόβλημα ποιότητας κώδικα, 781 00:54:23,130 --> 00:54:28,010 αλλά το 67% είχαν κρυπτογραφικά θέματα, έτσι δεν είναι τόσο άσχημα όσο Android. 782 00:54:28,010 --> 00:54:32,440 Ίσως τα APIs είναι λίγο πιο εύκολο, οι κωδικούς παράδειγμα λίγο καλύτερα για iOS. 783 00:54:32,440 --> 00:54:35,420 Αλλά ακόμα ένα πολύ υψηλό ποσοστό. 784 00:54:35,420 --> 00:54:39,040 Είχαμε 54% με διαρροή πληροφοριών, 785 00:54:39,040 --> 00:54:42,080 περίπου 30% με διαχειριστικά λάθη buffer. 786 00:54:42,080 --> 00:54:45,930 Αυτό είναι μέρη όπου θα μπορούσε ενδεχομένως να υπάρχει πρόβλημα διαφθοράς μνήμης. 787 00:54:45,930 --> 00:54:50,350 Αποδεικνύεται ότι αυτό δεν είναι τόσο μεγάλο πρόβλημα για την εκμετάλλευση 788 00:54:50,350 --> 00:54:56,450 στην Ίο γιατί όλος ο κώδικας θα πρέπει να υπογραφεί, 789 00:54:56,450 --> 00:55:02,210 έτσι είναι δύσκολο για έναν εισβολέα να εκτελέσει αυθαίρετο κώδικα για iOS. 790 00:55:02,210 --> 00:55:07,880 Ποιότητα του κώδικα, διάσχιση κατάλογο, αλλά τότε η διαχείριση διαπιστευτήρια εδώ στο 14,6%, 791 00:55:07,880 --> 00:55:09,250 τόσο χειρότερη από ό, τι για το Android. 792 00:55:09,250 --> 00:55:13,240 Έχουμε ανθρώπους που δεν χειρίζονται σωστά τους κωδικούς πρόσβασης. 793 00:55:13,240 --> 00:55:15,790 Και τότε τα αριθμητικά λάθη και υπερχείλιση, 794 00:55:15,790 --> 00:55:22,680 αυτά είναι περισσότερο θα είναι τα θέματα της ποιότητας κώδικα για iOS. 795 00:55:22,680 --> 00:55:26,110 >> Αυτό ήταν για την παρουσίασή μου. Δεν ξέρω αν είμαστε έξω από το χρόνο ή όχι. 796 00:55:26,110 --> 00:55:29,540 Δεν ξέρω αν υπάρχει οποιεσδήποτε ερωτήσεις. 797 00:55:29,540 --> 00:55:33,220 [Αντρας] Μια γρήγορη ερώτηση γύρω από τον κατακερματισμό και την αγορά Android. 798 00:55:33,220 --> 00:55:36,240 Η Apple κατέχει τουλάχιστον επιδιόρθωση. 799 00:55:36,240 --> 00:55:40,780 Κάνουν καλή δουλειά του να πάρει εκεί έξω, ενώ σε μικρότερο βαθμό στο Android χώρο. 800 00:55:40,780 --> 00:55:44,280 Μπορείτε σχεδόν πρέπει να jailbreak το τηλέφωνό σας για να παραμείνεις επίκαιρος 801 00:55:44,280 --> 00:55:46,660 με την τρέχουσα έκδοση του Android. 802 00:55:46,660 --> 00:55:50,960 Ναι, αυτό είναι ένα τεράστιο πρόβλημα και έτσι, αν σκεφτούμε- 803 00:55:50,960 --> 00:55:52,280 [Αντρας] Γιατί δεν μπορείς να το επαναλάβετε; 804 00:55:52,280 --> 00:55:55,610 >> Ναι, σωστά, οπότε το ερώτημα ήταν τι θα γίνει με τον κατακερματισμό 805 00:55:55,610 --> 00:56:00,410 του λειτουργικού συστήματος για την πλατφόρμα Android; 806 00:56:00,410 --> 00:56:05,890 Πώς αυτό επηρεάζει την επικινδυνότητα αυτών των συσκευών; 807 00:56:05,890 --> 00:56:09,700 Και αυτό είναι πραγματικά ένα τεράστιο πρόβλημα, διότι αυτό που συμβαίνει είναι 808 00:56:09,700 --> 00:56:15,110 οι παλαιότερες συσκευές, όταν κάποιος έρχεται με ένα jailbreak για τη συγκεκριμένη συσκευή, 809 00:56:15,110 --> 00:56:19,960 κατ 'ουσίαν ότι η κλιμάκωση προνομίων, και έως ότου το λειτουργικό σύστημα είναι ενημερωμένο 810 00:56:19,960 --> 00:56:25,350 οποιοδήποτε κακόβουλο λογισμικό μπορεί στη συνέχεια να χρησιμοποιήσετε το συγκεκριμένο θέμα ευπάθειας να συμβιβαστεί πλήρως τη συσκευή, 811 00:56:25,350 --> 00:56:30,200 και αυτό που βλέπουμε για το Android είναι για να πάρετε ένα νέο λειτουργικό σύστημα 812 00:56:30,200 --> 00:56:34,690 Google έχει να θέσει το λειτουργικό σύστημα, και στη συνέχεια στον κατασκευαστή του υλικού 813 00:56:34,690 --> 00:56:39,390 πρέπει να το προσαρμόσετε, και, στη συνέχεια, ο μεταφορέας πρέπει να το προσαρμόσετε και να το παραδώσουμε. 814 00:56:39,390 --> 00:56:43,070 Έχετε βασικά 3 κινούμενα μέρη εδώ, 815 00:56:43,070 --> 00:56:47,210 και είναι φαίνεται ότι οι μεταφορείς δεν με νοιάζει, 816 00:56:47,210 --> 00:56:50,400 και οι κατασκευαστές hardware δεν με νοιάζει, και η Google δεν είναι να τους σπρώχνουν αρκετά 817 00:56:50,400 --> 00:56:54,430 να κάνει τίποτα, οπότε ουσιαστικά πάνω από τις μισές από τις συσκευές εκεί έξω 818 00:56:54,430 --> 00:57:00,590 έχουν τα λειτουργικά συστήματα που έχουν αυτά τα τρωτά σημεία προνόμιο κλιμάκωση σε αυτά, 819 00:57:00,590 --> 00:57:08,440 και έτσι αν έχετε malware στο Android συσκευή σας είναι πολύ περισσότερο από ένα πρόβλημα. 820 00:57:08,440 --> 00:57:10,350 >> Εντάξει, σας ευχαριστώ πολύ. 821 00:57:10,350 --> 00:57:12,310 [Χειροκροτήματα] 822 00:57:12,310 --> 00:57:14,310 [CS50.TV]