1 00:00:00,000 --> 00:00:02,610 >> [Семінар] [Захист Позаду пристрої: мобільних додатків безпеки] 2 00:00:02,610 --> 00:00:04,380 [Кріс Wysopal] [Гарвардський університет] 3 00:00:04,380 --> 00:00:07,830 [Це CS50.] [CS50.TV] 4 00:00:07,830 --> 00:00:10,360 >> Добрий день. Мене звуть Кріс 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 Я почав в середині 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 який є зрушення в мобільних додатках. 20 00:00:58,710 --> 00:01:03,680 >> Я відчуваю, що це свого роду такий же час, то це було наприкінці 90-х 21 00:01:03,680 --> 00:01:07,650 коли ми розслідували веб-додатків і виявлення дефектів, як 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 у веб-додатках, і тепер багато часу я проводжу 25 00:01:19,360 --> 00:01:27,950 дивиться на мобільних додатків і, дивлячись на те, що відбувається там, у дикій природі. 26 00:01:27,950 --> 00:01:32,060 Мобільні додатки дійсно буде домінуючим обчислювальна платформа, 27 00:01:32,060 --> 00:01:35,060 так що ми дійсно потрібно витрачати багато часу, якщо ви перебуваєте в індустрії безпеки 28 00:01:35,060 --> 00:01:39,280 упором на веб-додатків. 29 00:01:39,280 --> 00:01:43,420 Були 29 млрд. мобільних додатків, завантажених в 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 так загальне використання Інтернету в минулому був 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 Існують ризики на апаратному рівні на мобільних пристроях. 65 00:04:09,710 --> 00:04:11,670 Це та область, з поточних досліджень. 66 00:04:11,670 --> 00:04:15,910 Люди називають ці широкосмугові нападу або основної смуги атаки 67 00:04:15,910 --> 00:04:21,870 де ви атакуєте прошивки, який слухає по радіо. 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 Ви можете натиснути багато пристроїв у зоні РФ 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 але це, здається, дуже Hush Hush. 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 і знову ж, це інша, ніж в настільному обчислювальному світі 79 00:05:08,910 --> 00:05:14,840 тому що в мобільному просторі у вас є ці команди людей, званих джейлбрейкери, 80 00:05:14,840 --> 00:05:18,670 і джейлбрейкери відрізняються від звичайних дослідників уразливості. 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 в експлойт або руткит або код джейлбрейк, 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 на наявність вразливостей на рівні ядра, 100 00:06:31,750 --> 00:06:35,040 і ми бачили ті, насправді використовуватися вирусописателей. 101 00:06:35,040 --> 00:06:38,450 Це трохи по-іншому, ніж світ ПК. 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 де код виконується в пісочниці. 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 Ось Android підкажіть де він показує речі, 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 І тоді один Яблуко повністю нешкідливі. 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 Ця компанія преторіанською провели опитування в минулому році 156 00:10:09,950 --> 00:10:14,170 з 53000 додатків, проаналізованих в Android Market і 3 учасники ринках, 157 00:10:14,170 --> 00:10:16,770 так що це все Android-. 158 00:10:16,770 --> 00:10:19,670 А середній додаток просили 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 якщо вони подані з цим додатком, яка повинна ці 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 роздрукувати дозволу і напишіть мені листа. 165 00:10:43,100 --> 00:10:45,480 >> Але якщо ви подивитеся на деякі з кращих цікавих дозволів 166 00:10:45,480 --> 00:10:50,840 24% з додатків, які вони скачали з 53000 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% з додатків в магазині додатків дійсно потрібно відправити СМС повідомлення, 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 і розробник програми нічого не знає про код, який працює в рекламному бібліотеки. 185 00:12:01,990 --> 00:12:05,370 Вони просто пов'язуючи, що, тому що вони хочуть перетворити в гроші свої додатки. 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 а потім перевіряти багато додатків-ми робимо багато статичного бінарного аналізу на мобільних додатків, 193 00:12:39,360 --> 00:12:42,010 тому ми оглянули їх і подивився на код самої- 194 00:12:42,010 --> 00:12:49,640 ми придумали, що ми називаємо наш список 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 або просто не розуміє, як безпечно написати додаток, 204 00:13:27,200 --> 00:13:30,260  і це покласти користувачеві додатки в небезпеці. 205 00:13:30,260 --> 00:13:34,060 Я збираюся пройти через це докладно і навести кілька прикладів. 206 00:13:34,060 --> 00:13:39,620 Для довідки, я хотів миритися OWASP 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 працює на мобільному 10 кращих списку. 210 00:13:50,620 --> 00:13:54,600 У них є дуже знаменитий 10 веб кращих список, які є топ-10 211 00:13:54,600 --> 00:13:57,180 ризиковані речі, які ви можете мати на веб-додатку. 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 дійсно, як додаток взаємодіє з внутрішнього сервера 219 00:14:20,490 --> 00:14:23,100 або те, що відбувається на внутрішньому сервері, 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 ми дійсно не знаємо, що кращі 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 Але зараз, це топ-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 Штату Північна Кароліна має проект під назвою Генний Мобільна вірусологія 234 00:15:35,210 --> 00:15:39,520 де вони збирають стільки мобільного шкідливого як вони можуть і аналізу його, 235 00:15:39,520 --> 00:15:45,270 і вони розбиті вектори ін'єкцій, які використовує мобільні віруси, 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 байт-код 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 вставити шкідливий код, перекомпілювати його, 244 00:16:20,120 --> 00:16:28,070 , А потім покласти його в магазині додатків, яка надається в якості нова версія програми, 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% шкідливих програм для мобільних отримує розподілені. 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 а потім, коли додаток працює, воно тягне вниз шкідливого ПЗ на пристрої. 253 00:17:02,360 --> 00:17:06,300 >> Безумовно більшість це ті 2 методи. 254 00:17:06,300 --> 00:17:12,710 Існує не дуже багато Завантажити Drive майданчиках або попутних завантажень мобільні телефони, 255 00:17:12,710 --> 00:17:15,890 які можуть бути як фішингу. 256 00:17:15,890 --> 00:17:18,200 Ей, перевірити цей дійсно класний сайт, 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 Ті фішинг-атак. 260 00:17:26,230 --> 00:17:28,160 Те ж саме може відбутися на мобільній платформі, де вони 261 00:17:28,160 --> 00:17:33,830 вказують на мобільний додаток для завантаження, сказати "Привіт, це Банк Америки». 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 Одним з перших шкідливих програм там 275 00:18:23,070 --> 00:18:25,490 ви могли б розглянути шпигунів. 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 Цей тип програм-шпигунів існує на ПК, 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 ви могли б завантажити цю програму і встановити його і налаштувати його 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 Store з точки зору обслуговування, 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 На прошивкою можна використовувати дізассемблер як 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 І у мене є деякі приклади тут, на мобільний. 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 якщо додаток робить ці речі. 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 текстове повідомлення насправді ви давати гроші 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 рахунки в закордонних країнах, і вони вставляти в шкідливих програм 333 00:22:38,750 --> 00:22:42,840 що телефон буде відправити текстове повідомлення преміум SMS, 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 Торговий майданчик або 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 в їх магазин додатків 340 00:23:08,700 --> 00:23:11,350 вони сказали, що не збиралися перевірити ні за що. 341 00:23:11,350 --> 00:23:15,630 Ми будемо тягти додатки, як тільки ми були повідомлені, вони зламали наші умови надання послуг, 342 00:23:15,630 --> 00:23:17,520 але ми не збираємося, щоб перевірити на що завгодно. 343 00:23:17,520 --> 00:23:24,350 Ну, приблизно рік тому це стало настільки поганим з цим преміум SMS текстових повідомлень шкідливих програм 344 00:23:24,350 --> 00:23:28,030 що це найперше, що вони почали перевірки. 345 00:23:28,030 --> 00:23:31,770 Якщо додаток може відправляти СМС повідомлення 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 >> Деякі інші програми, які зробили деякі текстових повідомлень, 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 як шпигунське поставити на пристрої перевізниками, 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 Ну, звичайно, те, що цей додаток дійсно був він послав Преміум SMS текстові повідомлення, 357 00:24:17,520 --> 00:24:20,090 так, перевіряючи, щоб побачити, якщо ви заражені шпигунським ПО 358 00:24:20,090 --> 00:24:24,930 Ви завантажили шкідливого ПЗ на вашому пристрої. 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 текстових повідомлень. 362 00:24:38,320 --> 00:24:45,750 Це насправді намагалися створити мережу бот занадто на пристрої. 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 і вони не дозволяють додаткам відправити СМС повідомлення на всіх. 366 00:24:58,470 --> 00:25:00,350 Ні додаток не може зробити це. 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 але якщо він робить речі по електронній пошті або 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 Я не знаю, якщо це сталося так багато з тих пір, але це було додаток 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 і було тисячі і тисячі завантажень. 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 "У мене виникли проблеми з мобільним банківського додатки." 400 00:27:21,180 --> 00:27:23,460 "Чи можете ви мені допомогти?" 401 00:27:23,460 --> 00:27:26,540 І вони сказали: "У нас немає мобільного банківського додатки." 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 Інша річ, додаток може зробити присутній користувальницький інтерфейс з іншої програми. 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 або покласти будь-яке ім'я користувача і інтерфейс пароль для сайту 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 Це дійсно прямо паралельно з електронної пошти фішинг-атак 415 00:28:25,590 --> 00:28:28,210 де хтось посилає вам повідомлення по електронній пошті 416 00:28:28,210 --> 00:28:33,050 і дає вам в основному підроблені користувальницький інтерфейс для веб-сайту 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 викликів, які вимагають повноважень адміністратора 420 00:28:48,160 --> 00:28:50,870 правильно виконувати. 421 00:28:50,870 --> 00:28:56,160 Зміна веб-проксі пристрою буде те, що додаток 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 шкідливих програм. 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 магазин додатків, 439 00:30:00,370 --> 00:30:10,940 і, по суті це було раніше Android код джейлбрейка підвищити привілеї 440 00:30:10,940 --> 00:30:16,380 а потім встановити команду і управляти і перетворити всіх жертв 441 00:30:16,380 --> 00:30:20,690 в бот мережі, але ви могли б виявити це 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 бо саме тут найбільш активним шкідливим кодом екосистема 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 тому що Яблуко вимагає від розробників, щоб ідентифікувати себе 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 Ми не бачимо багато істинного шкідливих програм, коли пристрій стає скомпрометованої. 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 до певна функціональність в додатку відбувається. 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 зробив всю свою діяльність в період з 11 години вечора до 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 запуску програми в ізольованому середовищі, щоб бачити те, що поведінка додатка є, 469 00:32:43,430 --> 00:32:51,090 вони можуть використовувати логіку погодинної зробити діяльність 470 00:32:51,090 --> 00:32:54,640 коли додаток не в пісочниці. 471 00:32:54,640 --> 00:33:01,520 Наприклад, магазин додатків, як 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 Якщо антивірусні компанії працюють речі в пісочницях 478 00:33:30,050 --> 00:33:36,370 або додаток самі магазини це може допомогти 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 якраз можуть бути перевірені на на додаток виробника 485 00:34:05,640 --> 00:34:10,520 так що ви знаєте, що шукати, якщо ви огляду додаток статично. 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 У тому ж дослідженні від штату Північна Кароліна Мобільна 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% з додатків зробив привілеїв, 492 00:34:35,370 --> 00:34:38,429 тому їм довелося деякий тип джейлбрейка коду там 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% з додатків там зробив преміум SMS, 496 00:34:52,520 --> 00:34:57,260 так що це величезний відсоток, який намагається безпосередньо монетизувати. 497 00:34:57,260 --> 00:35:02,640 93% зробили пульт дистанційного керування, так що вони намагалися створити бот мережа, мобільний бот мережу. 498 00:35:02,640 --> 00:35:08,990 І 45% збирають інформацію ідентифікації 499 00:35:08,990 --> 00:35:16,230 як номери телефонів, UUID,, GPS місце розташування, облікові записи користувачів, 500 00:35:16,230 --> 00:35:22,870 і це додає до більш ніж 100, тому що більшість шкідливих програм намагається зробити деякі з цих речей. 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 Законним розробник, який пише законну додаток 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 UUID, і імена пристроїв 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 UUID, 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 Один дуже відомий випадок цього витоку інформації відбулося з Pandora, 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 Ми сказали: «Що там відбувається? Давайте почнемо копирсатися в додатку Pandora." 548 00:38:39,830 --> 00:38:46,690 І те, що ми визначили було застосування Пандора зібрані 549 00:38:46,690 --> 00:38:51,270 Ваш стать і вік 550 00:38:51,270 --> 00:38:56,660 і це також доступні ваше місце розташування GPS, а також застосування Pandora 551 00:38:56,660 --> 00:39:00,200 зробив це для того, що вони сказали, були законні підстави. 552 00:39:00,200 --> 00:39:05,360 Музика, яку вони грали-Pandora є потокової музики додаток- 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 Вони також хотіли дотримуватися Parental Advisory 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 "Хіба моє додаток дозвіл на отримання GPS місце розташування?" 569 00:40:11,340 --> 00:40:14,890 "О, це? Добре, скажіть мені розташування GPS." 570 00:40:14,890 --> 00:40:16,620 Кожен бібліотека оголошення робить це, 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 Я просто хочу, щоб мій потокової музики, і це єдиний спосіб отримати його. 583 00:41:02,800 --> 00:41:05,370 >> Ну, ми схильні цього. 584 00:41:05,370 --> 00:41:08,030 Ми написали це в декількох повідомлень в блозі, 585 00:41:08,030 --> 00:41:13,280 і виявилося, що хтось із журналу Rolling Stone 586 00:41:13,280 --> 00:41:18,810 прочитати одну з наших блогах і написав свій власний блог в 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 Преторіанською також провів дослідження про поділюваних бібліотек і сказав: 595 00:41:53,390 --> 00:41:57,100 "Давайте подивимося на те, що динамічні бібліотеки топ колективні бібліотеки," і це було дані. 596 00:41:57,100 --> 00:41:59,420 >> Вони проаналізували 53 000 додатків, 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, Flurry, 604 00:42:22,960 --> 00:42:26,600 Моб Місто і тисячолітнього ЗМІ, 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 і вони мають доступ до всіх даних, що, що програма має дозвіл на отримання в. 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 сталося з додатком під назвою Шлях, 619 00:43:22,340 --> 00:43:27,660 і Шлях думали, що вони будучи попереджувальні, доброзичливі розробники. 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 і це сталося на мобільний і на Android, 623 00:43:40,400 --> 00:43:44,420 Пандора додаток було на мобільний і Android- 624 00:43:44,420 --> 00:43:48,890 що застосування Шлях схопив всю вашу адресну книгу 625 00:43:48,890 --> 00:43:52,830 і завантажувати його на дорозі, коли ви просто встановлюється і запуску програми, 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 >> Ну, очевидно Шлях думав, що це було відмінним для своєї компанії. 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 але що, якщо це генеральний директор компанії, яка встановлює шлях 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 Був такий великий клапоть про це, що шлях вибачився. 642 00:44:58,090 --> 00:45:01,610 Вони змінили свій додаток, і це навіть вплинуло Apple. 643 00:45:01,610 --> 00:45:06,950 Яблуко сказав: "Ми збираємося, щоб змусити продавців додаток запитувати користувачів 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 Ми написали додаток на Veracode назвою Прощайте, 658 00:46:03,040 --> 00:46:08,350 і, по суті це дозволило вам вказати додаток в каталозі 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 Там у чітко визначені API-інтерфейси для IPhone, Android і BlackBerry 667 00:46:38,660 --> 00:46:42,120 щоб отримати в адресній книзі. 668 00:46:42,120 --> 00:46:48,520 Ви дійсно можете легко перевірити для цього, і це те, що ми зробили в нашому додатку Прощайте. 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 Ось чому я особисто не робити ставку на мій мобільний. 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 це те, що додатки абсолютно необхідно зробити, 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 Вони просто не використовувати API-інтерфейси правильно. 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 так атака людина-в-середині може трапитися. 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 що вони зробили, коли вони будували додатків веб-сервера, 719 00:50:25,900 --> 00:50:29,700 так вони будують серверний додаток Java, і вони кодуються ключ. 720 00:50:29,700 --> 00:50:31,940 Ну, коли ви створюєте серверний додаток, так, 721 00:50:31,940 --> 00:50:34,240 кодуються ключ є не дуже хороша ідея. 722 00:50:34,240 --> 00:50:36,290 Це робить його важко змінити. 723 00:50:36,290 --> 00:50:40,700 Але це не так погано на стороні сервера, тому що, хто має доступ до стороні сервера? 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 Це перший є одним ми бачимо багато, де вони жорстко 738 00:51:35,840 --> 00:51:40,510 право даних в URL, який отримує відправлені. 739 00:51:40,510 --> 00:51:45,120 Іноді ми бачимо рядок пароль = пароль. 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% з програми, ми дивилися на 750 00:52:24,320 --> 00:52:28,590 порушив криптографічний код, 751 00:52:28,590 --> 00:52:33,240 що для нас, ми не можемо виявити, якщо ви зробили свій власний процедуру шифрування, 752 00:52:33,240 --> 00:52:38,980 не те що це гарна ідея, але це насправді використовує опубліковані API, 753 00:52:38,980 --> 00:52:42,530 що на платформі, але робить їх таким чином 754 00:52:42,530 --> 00:52:46,680 що крипто будуть уразливі, 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 Injection. 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% веб-додатків мають цієї проблеми, 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 і це, ймовірно, тому, що багато інших веб-додатки використовують SQL, ніж з мобільного. 775 00:54:02,030 --> 00:54:05,580 >> А потім ми все ще бачимо деякі міжсайтовий скриптинг, питання авторизації, 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 А потім у нас є деякі дані про прошивкою. 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 Може бути, API-інтерфейси є трохи легше, назви коди трохи краще на МО. 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% з помилками управління буфером. 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 так що важко зловмисникові виконати довільний код на МО. 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 Market. 798 00:55:33,220 --> 00:55:36,240 Яблуко, принаймні володіє виправлень. 799 00:55:36,240 --> 00:55:40,780 Вони роблять хорошу роботу з отримання його там в той час як в меншій мірі, в Android просторі. 800 00:55:40,780 --> 00:55:44,280 Ви майже повинні зробити джейлбрейк вашого телефону щоб бути в курсі 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 операційної системи на платформі Андроїд? 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 старші пристрої, коли хтось приходить з джейлбрейком для цього пристрою, 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 і виробники обладнання не хвилює, і 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 і тому, якщо ви отримуєте шкідливих програм на вашому 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]