[Семинар] [Защита Позади устройства: мобильных приложений безопасности] [Крис Wysopal] [Гарвардский университет] [Это CS50.] [CS50.TV] Добрый день. Меня зовут Крис Wysopal. Я технический директор и соучредитель Veracode. Veracode является компания безопасности приложений. Мы проверяем все виды различных приложений, и что я собираюсь поговорить сегодня является безопасность мобильных приложений. Мой фон я делал исследования безопасности в течение очень долгого времени, вероятно, о тех пор, пока никому. Я начал в середине 90-х годов, и это было время, что было довольно интересно, потому что у нас была замена парадигмы в середине 90-х. Все компьютере внезапно каждого был подключен к Интернету, и тогда мы должны были зачатки веб-приложений, и вот что я сосредоточился на много тогда. Это интересно. Теперь у нас есть еще одно изменение парадигмы происходит с компьютеров, который является сдвиг в мобильных приложениях. Я чувствую, что это своего рода такое же время, то это было в конце 90-х когда мы расследовали веб-приложений и обнаружения дефектов, как Ошибки управления сессия и инъекции SQL который действительно раньше не было, и вдруг они были всюду в веб-приложениях, и теперь много времени я провожу смотрит на мобильных приложений и, глядя на то, что происходит там, в дикой природе. Мобильные приложения действительно будет доминирующим вычислительная платформа, так что мы действительно нужно тратить много времени, если вы находитесь в индустрии безопасности упором на веб-приложений. Были 29 млрд. мобильных приложений, загруженных в 2011 году. Это по прогнозам, будет 76 миллиардов приложений к 2014 году. Там в 686 миллионов устройств, которые собираются приобрести в этом году, так что это, где люди собираются делать  большинство их клиента вычислений в будущем. Я разговаривал с вице-президентом в Fidelity Investments пару месяцев назад, и он сказал, что они только что видели больше трафика делать финансовые операции с их клиентской базы на их мобильном приложении, чем на их сайте, так общее использование Интернета в прошлом был проверяя котировки акций, управляющий портфелем, и мы на самом деле видим, что в 2012 году переключателя над быть более доминирующим на мобильной платформе. Конечно, если там собирается быть любой преступной деятельности, любую вредоносную активность, он собирается начать быть сосредоточены на мобильной платформе с течением времени, как люди переключиться на что. Если вы посмотрите на мобильной платформе, смотреть на рисках платформе полезно разбить его на разных слоях, так же, как вы могли бы сделать его на настольном компьютере, и вы думаете о различных слоях, программного обеспечения, операционной системы, Сетевой уровень, метизы слой, и, конечно, есть уязвимости на всех тех слоев. То же самое происходит на мобильный. Но мобильный, кажется, что некоторые из этих слоев находятся в худшем положении. С одной стороны, сетевой уровень является более проблематичным на мобильный потому что много людей имеют в своем офисе или дома проводной связи или у них есть безопасные соединения Wi-Fi, и с большим количеством мобильных устройств вы, очевидно, за пределами дома или за пределами офиса много, и если вы используете Wi-Fi есть вы могли бы использовать небезопасный Wi-Fi соединение, что-то, что это общественная Wi-Fi соединение, поэтому, когда мы думаем о мобильных приложений мы должны принять во внимание что сетевая среда является более рискованным для тех приложений, когда Wi-Fi используется. И когда я вхожу в более мобильных рисков приложений вы увидите, почему это важнее. Существуют риски на аппаратном уровне на мобильных устройствах. Это та область, из текущих исследований. Люди называют эти широкополосные нападения или основной полосы атаки где вы атакуете прошивки, который слушает по радио. Это действительно страшно атаки, потому что пользователь не нужно ничего делать. Вы можете нажать много устройств в зоне РФ сразу, и кажется, что всякий раз, когда это исследование пузыри он быстро получает классифицированы, где люди напасть в вокруг и сказать: "Вот, говорят нам о том, что, и, пожалуйста, перестать говорить об этом." Там какая-то исследования происходит в широкополосного области, но это, кажется, очень Hush Hush. Я думаю, что это больше национальное государство типа исследования, что происходит. Площадь активного исследования, тем не менее, операционная система слой, и опять же, это иная, чем в настольном вычислительном мире потому что в мобильном пространстве у вас есть эти команды людей, называемых джейлбрейкеры, и джейлбрейкеры отличаются от обычных исследователей уязвимости. Они пытаются найти уязвимости в операционной системе, но причина, что они пытаются найти уязвимости заключается не в ворваться в машине чужой и скомпрометировать его. Это ворваться в их собственном компьютере. Они хотят, чтобы ворваться в их собственном мобильном телефоне, изменить операционную систему собственных мобильных автора так что они могут запускать приложения по своему выбору и изменить положение вещей с полными правами администратора, и они не хотят, чтобы рассказать поставщика об этом. Они не похожи на исследователь безопасности, который является белый исследователь шляпа безопасности которая будет делать из достоверных источников и рассказать поставщика об этом. Они хотят сделать это исследование, и они хотят на самом деле опубликовать его в эксплойт или руткит или код джейлбрейк, и они хотят сделать это стратегически, как сразу после корабли поставщиков новой операционной системы. У вас есть эта враждебные отношения с уязвимостей в ОС, на мобильный, который я думаю, является довольно интересным, и одно место, мы видим его это делает его таким образом, что есть хорошая опубликован вредоносный код там на наличие уязвимостей на уровне ядра, и мы видели те, на самом деле использоваться вирусописателей. Это немного по-другому, чем мир ПК. А потом окончательный слой верхний слой, слой приложений. Это то, что я собираюсь говорить о сегодня. Существуют другие слои, и другие слои играть в нее, но я в основном буду говорить о том, что происходит на уровне приложений где код выполняется в песочнице. Он не имеет права администратора. Он должен использовать API-интерфейсы устройства, но все же, много вредоносной активности и много риска может произойти в этом слое потому что это слой, где вся информация. Приложения могут получить доступ всю информацию на устройстве если у них есть права доступа, и они могут получить доступ к различным датчики на устройстве, Датчик GPS, микрофон, камера, что там у вас. Даже если мы говорим только о на уровне приложений у нас есть много рисков там. Другое дело, что по-другому о мобильной среде будет все операционная система игроки, будь то BlackBerry или Android или IOS или Windows Mobile, все они имеют мелкозернистого модель разрешений, и это один из способов, который они построили в операционную систему идея, что это не так рискованно, как вы думаете. Даже если вы все свои контакты на есть, все ваши личные данные, у вас есть ваши фотографии, у вас есть свое местоположение на есть, вы храните ваш банковский штифт для автоматического входа на там, что это безопасно, потому что приложения должны иметь определенные разрешения, чтобы добраться до некоторых частей информации на устройстве, и пользователем должен быть представлен эти разрешения и сказать хорошо. Проблема с ним в том пользователь всегда говорит все в порядке. Как человек, безопасности, я знаю, вы можете предложить пользователю, сказать что-то действительно плохое случится, вы хотите, чтобы это произошло? И если они в спешке или есть что-то действительно заманчиво, с другой стороны, что, как игра будет установлен, что они так долго ждали, они собираются нажмите порядке. Вот почему я говорю о моем слайде здесь просто дайте мне бросить птиц на свиней уже, и вы можете увидеть на слайде здесь есть примеры коробке BlackBerry разрешения. Он говорит: "Пожалуйста, установите права доступа BlackBerry Travel приложений после нажатия кнопки внизу ", и в основном пользователь просто будет сказать установить разрешения и сохранить. Вот Android подскажите где он показывает вещи, и это на самом деле ставит то, что выглядит почти как предупреждение. У этого есть своего рода выход знак там, говоря, сеть связи, телефонного звонка, но пользователь собирается нажмите установить, правильно? И тогда один Яблоко полностью безвредны. Это не дает какой-либо предупреждения. Это просто Apple, хотели бы использовать ваше текущее местоположение. Конечно, вы будете нажмите порядке. Существует этот мелкозернистый модель доступа, и приложения должны иметь файл манифеста, где они объявить разрешений им нужно, и которые будут получать отображаться для пользователя, и пользователь должен будет сказать, что я эти права. Но давайте будем честными. Пользователи, просто хочу, чтобы всегда говорю все в порядке. Давайте бросим быстрый взгляд на разрешениях, эти приложения, просящих и некоторые из разрешений, которые существуют. Эта компания преторианской провели опрос в прошлом году из 53000 приложений, проанализированных в Android Market и 3 участника рынках, так что это все Android-. А средний приложение просили 3 разрешения. Некоторые приложения просил 117 разрешений, так что, очевидно это очень мелкозернистый и слишком сложным для пользователя, чтобы понять если они представлены с этим приложением, которая должна эти 117 разрешений. Это как пользователя лицензионного соглашения конечного, это долго 45 страниц. Может быть, скоро они будут иметь возможность, где это, как распечатать разрешения и напишите мне письмо. Но если вы посмотрите на некоторые из лучших интересных разрешений 24% из приложений, которые они скачали из 53000 запрашиваемая информация GPS из устройства. 8% читают контактов. 4% отправлено SMS и 3% получили SMS. 2% записан звук. 1% обрабатываются исходящие звонки. Я не знаю. Я не думаю, 4% из приложений в магазине приложений действительно нужно отправить СМС сообщения, так что я думаю, что это намек, что что-то неблагоприятное происходит. 8% из приложений нужно читать ваш список контактов. Это, наверное, не надо. Один из других интересных вещей о разрешений является если вы ссылку в разделяемых библиотек в приложение тех, наследуют разрешения приложения, так что если ваше приложение нуждается в список контактов или нуждается расположение GPS функционировать и вы связываете в рекламной библиотеке, например, что объявление Библиотека также смогут получить доступ к контактам а также иметь доступ к местоположение GPS, и разработчик приложения ничего не знает о коде, который работает в рекламном библиотеки. Они просто связывая, что, потому что они хотят превратить в деньги свои приложения. Это где-и я буду говорить о некоторых примерах это с приложение под названием Пандора, где разработчик приложения может невольно быть утечки информации от своих пользователей, поскольку библиотек они связаны дюйма Геодезия ландшафт там, глядя на всех различных приложений , которые были сообщали в новостях, как вредоносные или делать что-то пользователи не хотел а затем проверять много приложений-мы делаем много статического бинарного анализа на мобильных приложений, поэтому мы осмотрели их и посмотрел на код самой- мы придумали, что мы называем наш список 10 опасных форм поведения в приложениях. И это разбита на 2 секции, вредоносного кода, так что эти плохие вещи, что приложения могут делать, что , скорее всего, будет то, что злоумышленнику конкретно поставить в применении, но это немного размыто. Это может быть что-то, что разработчик считает это хорошо, но это заканчивает тем, что воспринимается как вредоносный пользователем. А потом во втором разделе, что мы называем кодирование уязвимости, и это вещи, где разработчик основном делает ошибки или просто не понимает, как безопасно написать приложение,  и это положить пользователю приложения в опасности. Я собираюсь пройти через это подробно и привести несколько примеров. Для справки, я хотел мириться OWASP 10 мобильных лучших список. Речь идет о 10 вопросов, которые группа в OWASP, Проект Open Web Application Security, они имеют рабочую группу работает на мобильном 10 лучших списке. У них есть очень знаменитый 10 веб лучших список, которые являются топ-10 рискованные вещи, которые вы можете иметь в веб-приложении. Они делают то же самое для мобильного, и их список выглядит немного иначе, чем у нас. 6 из 10 являются одинаковыми. У них есть 4, которые отличаются. Я думаю, что у них есть немного другой взять на Риск в мобильных приложениях, где много их вопросам действительно, как приложение взаимодействует с внутреннего сервера или то, что происходит на внутреннем сервере, не столько приложений, которые имеют рискованное поведение, которые только прямые клиентские приложения. Те в красный здесь различия между 2 списков. И некоторые из моих исследовательской группы фактически участие в этом проекте, таким образом, мы увидим, что произойдет в течение долгого времени, но я думаю, что вынос здесь мы действительно не знаем, что лучшие 10 списков в мобильных приложениях, потому что они действительно только вокруг на 2 или 3 лет, и не было достаточно времени, чтобы действительно исследовать операционные системы и то, что они способны, и не было достаточно времени для вредоносного сообщества, если хотите, чтобы провели достаточно времени пытаются атаковать пользователей через мобильные приложения, так что я ожидаю эти списки, чтобы изменить немного. Но сейчас, это топ-10 вещей, чтобы волноваться о. Вы можете спросить, на мобильном стороне, где делает вредоносного мобильного кода как это получить на устройство? Штата Северная Каролина имеет проект под названием Генный Мобильная вирусология где они собирают столько мобильного вредоносного как они могут и анализа его, и они разбиты векторы инъекций, которые использует мобильные вирусы, и 86% используют технику, называемую переупаковка, и это только на Android платформе вы можете реально сделать это переупаковки. Причина Android-код построен с байт-код Java называется Dalvik, которая легко decompilable. Что плохой парень может сделать, это принять Android приложение, декомпилировать его, вставить вредоносный код, перекомпилировать его, , а затем положить его в магазине приложений, представляемая в качестве новой версии данного приложения, или просто, может быть, изменение названия приложения. Если бы это было своего рода игру, изменить имя немного, и таким образом это переупаковка, как 86% вредоносных программ для мобильных получает распределены. Там другая техника называется обновление, которое является очень похож на переупаковки, но вы на самом деле не ставят вредоносный код дюйма Что вы делаете это вы положили в небольшой механизм обновления. Вы декомпилировать, вы положили в механизм обновления, и вы перекомпилировать его, а затем, когда приложение работает, оно тянет вниз вредоносного ПО на устройстве. Безусловно большинство это те 2 методы. Существует не очень много Скачать Drive площадках или попутных загрузок на мобильные телефоны, которые могут быть как фишинга. Эй, проверить этот действительно классный сайт, или вам нужно зайти на этот сайт и заполните эту форму держать продолжая делать что-то. Те фишинг-атак. То же самое может произойти на мобильной платформе, где они указывают на мобильное приложение для загрузки, сказать "Привет, это Банк Америки». "Мы видим, что вы с помощью этого приложения." "Вы должны скачать этот другое приложение." Теоретически, это может сработать. Может быть, это просто не используется достаточно, чтобы определить, является ли это успешным или нет, но они обнаружили, что менее 1% времени, что техника используется. Большую часть времени это действительно упаковать код. Там другая категория называется автономный где кто-то просто строит новое программное. Они создать приложение, которое направлено на то, чтобы быть чем-то. Это не переупаковка что-то еще, и что имеет вредоносный код. Это используется 14% времени. Теперь я хочу поговорить о том, что вредоносный код делаешь? Одним из первых вредоносных программ там вы могли бы рассмотреть шпионов. Это в основном шпионит за пользователем. Он собирает электронные письма, SMS сообщения. Оказывается на микрофоне. Это собирает контактную книгу, и он посылает его кому-то еще. Этот тип программ-шпионов существует на ПК, так что имеет смысл для людей, чтобы попытаться сделать это на мобильных устройствах. Одним из первых примеров этого была программа под названием Secret SMS Replicator. Это было в Android Marketplace пару лет назад, и идея была, если вы имели доступ к чьей-то Android телефон что вы хотели, чтобы шпионить за, так что, возможно, это ваш супруг или Ваша вторая половинка, и вы хотите, чтобы шпионить за их текстовыми сообщениями, вы могли бы скачать это приложение и установить его и настроить его отправить текстовое сообщение SMS к вам с копией каждого SMS текстовых сообщений они получили. Это, очевидно, в нарушениях App Store с точки зрения обслуживания, и это было удалено из Android Marketplace в течение 18 часов она быть там, таким образом, очень небольшое количество людей находятся в группе риска из-за этого. Теперь, я думаю, что если программа называлась что-то, может быть, немного меньше провокационным как Secret SMS Replicator он, вероятно, работал бы намного лучше. Но это было отчасти очевидно. Одна из вещей, которые мы можем сделать, чтобы определить, приложения имеют такое поведение, что мы не хотим заключается в проверке кода. На самом деле это очень легко сделать на Android, потому что мы можем декомпилировать приложений. На прошивкой можно использовать дизассемблер как IDA Pro смотреть на то, APIs приложение звонит и что он делает. Мы написали наш собственный двоичный статический анализатор для нашего кода и мы делаем это, и так, что вы можете сделать, это, можно сказать, делает устройство делать ничего, что в основном шпионит за мной или отслеживания меня? И у меня есть некоторые примеры здесь, на мобильный. Это первый пример в том, как получить доступ к UUID по телефону. На самом деле это то, что Apple, только что запретили для новых приложений, но старые приложения, которые вы, возможно, работает на вашем телефоне еще можете сделать это, и так, что уникальный идентификатор может быть использован, чтобы отслеживать вас во многих различных приложений. На Android, У меня есть пример здесь получить координаты устройства. Вы можете видеть, что если что API вызов есть, что приложение отслеживает, и вы можете убедиться в том, что становится прекрасным расположением или приблизительное местонахождение. А потом на дне здесь, у меня есть пример того, как на BlackBerry приложение может получить доступ к сообщений электронной почты в почтовом ящике. Это вид вещей, которые вы можете проверить, чтобы увидеть если приложение делает эти вещи. Вторая большая категория вредоносного поведения, и это, пожалуй, самая большая категория сейчас, является несанкционированным набор, несанкционированное Премиум SMS текстовые сообщения или несанкционированных платежей. Другое дело, что уникально о телефоне является устройство подключается к биллинговой внимание, и когда мероприятия осуществляются по телефону это может создать обвинения. Вы можете приобрести вещи по телефону, и при отправке Премиум SMS текстовое сообщение на самом деле вы давать деньги владельцу счета телефонного номера на другой стороне. Они были созданы, чтобы получить котировки акций или получить ежедневный гороскоп или другие вещи, но они могут быть созданы заказать товар, отправив SMS текст. Люди дают деньги в Красный Крест, отправив текстовое сообщение. Вы можете дать $ 10, что путь. Нападавшие, что они сделали это они создали счета в зарубежных странах, и они вставлять в вредоносных программ что телефон будет отправить текстовое сообщение премиум SMS, говорят, несколько раз в день, и в конце месяца вы понимаете, что вы потратили десятки или, возможно, даже сотни долларов, и они уходят с деньгами. Это стало настолько плохим, что это было самое первое, что Android Торговая площадка или Google место-это был Android Marketplace в то время, и это теперь Google Play-первое, что Google начал проверки. Когда Google начал распространение приложений Android в их магазин приложений они сказали, что не собирались проверить ни за что. Мы будем тянуть приложения, как только мы были уведомлены, они сломали наши условия предоставления услуг, но мы не собираемся, чтобы проверить на что угодно. Ну, примерно год назад это стало настолько плохим с этим премиум SMS текстовых сообщений вредоносных программ что это самое первое, что они начали проверки. Если приложение может отправлять СМС сообщения они дополнительно вручную тщательно, что применение. Они ищут API, которые требуют этого, и теперь с тех пор Google расширила, но это было первое, что они начали искать. Некоторые другие приложения, которые сделали некоторые текстовых сообщений, это Android-Qicsomos, я предполагаю, что это называется. Был этот текущее событие на мобильный, где это CarrierIQ вышел как шпионское поставить на устройстве перевозчиками, так что люди хотели бы знать, если их телефон был уязвим к этому, и это было бесплатное приложение, которое испытывали что. Ну, конечно, то, что это приложение действительно был он послал Премиум SMS текстовые сообщения, так, проверяя, чтобы увидеть, если вы заражены шпионским ПО Вы загрузили вредоносного ПО на вашем устройстве. Мы видели то же самое произойдет в последний Super Bowl. Был фиктивный версия футбольный матч Madden что послал Премиум SMS текстовых сообщений. Это на самом деле пытались создать сеть бот слишком на устройстве. Здесь у меня есть несколько примеров. Интересно, что Apple, был очень умный, и они не позволяют приложениям отправить СМС сообщения на всех. Нет приложение не может сделать это. Это отличный способ избавиться от целого класса уязвимости, а на Android вы можете сделать это, и, конечно, на BlackBerry вы тоже можете это сделать. Интересно, что на BlackBerry все, что вам нужно, это разрешения интернет отправить текстовое сообщение SMS. Другая вещь действительно, что мы ищем когда мы смотрим, чтобы увидеть, если что-то является вредоносным является, для любого типа несанкционированное сетевой активности, как смотреть на сетевой активности приложение, как предполагается, должны иметь свою функциональность, и смотреть на этого другого сетевой активности. Возможно, приложение, чтобы работать, должен получить данные по HTTP, но если он делает вещи по электронной почте или SMS или Bluetooth или что-то вроде этого теперь, когда приложение потенциально может быть вредоносной, так что это еще одна вещь, вы можете проверить на. И на этом слайде здесь у меня есть некоторые примеры этого. Еще одна интересная вещь, которую мы видели с вредоносными произошло еще в 2009 году, и это произошло в большой путь. Я не знаю, если это произошло так много с тех пор, но это было приложение что олицетворение другого приложения. Был набор приложений, и это было названо нападение 09Droid, и кто-то решил, что там было много мелких, региональных, среднего банков что не имеют он-лайн банковских приложений, так, что они сделали именно они построили около 50 онлайн-банкинга приложений что все они сделали, было взять имя пользователя и пароль и перенаправить вас на сайте. И поэтому, они разместили эти все вверх в Google Marketplace, в Android Marketplace, и когда кто-то искал, чтобы увидеть, если их банк было приложение они найдут фиктивные приложение, в котором собраны свои полномочия, а затем перенаправляется их на свой сайт. Таким образом, что это на самом деле стал-Приложения были там в течение нескольких недель, и было тысячи и тысячи загрузок. Как это появилось на свет был кто-то возникли проблемы с одним из приложений, и они называли свой банк, и они назвали поддержки клиентов линию своего банка и сказал, "У меня возникли проблемы с мобильной банковского приложения." "Можете ли вы мне помочь?" И они сказали: "У нас нет мобильного банковского приложения." Это началось расследование. Этот банк называется Google, а затем Google посмотрел и сказал, "Ничего себе, тот же автор написал 50 банковских приложений», и взял их всех. Но, конечно, это может произойти снова. Там в список всех различных банков здесь что были частью этой афере. Другая вещь, приложение может сделать присутствует пользовательский интерфейс из другого приложения. В то время как он работает она может выскочить Facebook UI. Это говорит, что вы должны поставить на ваше имя пользователя и пароль, чтобы продолжить или положить любое имя пользователя и интерфейс пароль для сайта что, возможно, пользователь использует только, чтобы попытаться обмануть пользователя в положить свои полномочия дюйма Это действительно прямо параллельно из электронной почты фишинг-атак где кто-то посылает вам сообщение по электронной почте и дает вам в основном поддельные пользовательский интерфейс для веб-сайта что у вас есть доступ. Другая вещь мы ищем в вредоносного кода является модификация системы. Вы можете посмотреть на всех API вызовов, которые требуют полномочий администратора правильно выполнять. Изменение веб-прокси устройства будет то, что приложение не должны быть в состоянии сделать. Но если приложение имеет код в там, чтобы сделать это Вы знаете, что это, вероятно, вредоносное приложение или очень высоко вероятно, будет вредоносное приложение, и так, что произойдет то, что приложение будет иметь какой-то способ эскалации привилегий. Это должно было бы некоторые привилегий эксплуатировать в приложении, а затем, как только это привилегии он будет делать эти модификации системы. Вы можете найти вредоносные программы, которые имеет привилегий в нем даже не зная, как работает привилегий эксплуатировать произойдет, и это хороший и простой способ смотреть на наличие вредоносных программ. DroidDream был, вероятно, самый известный кусок Android вредоносных программ. Я думаю, что пострадало около 250 000 пользователей в течение нескольких дней , прежде чем он был найден. Они упаковать 50 фиктивных приложений, поместить их в Android магазин приложений, и, по сути это было раньше Android код джейлбрейка повысить привилегии а затем установить команду и управлять и превратить всех жертв в бот сети, но вы могли бы обнаружить это если вы сканировали приложение и просто ищете API вызовы, что искомый корень разрешение правильно выполнить. А есть пример здесь у меня есть, которые меняет прокси, и это на самом деле доступен только на Android. Вы можете видеть, я даю вам много примеров на Android потому что именно здесь наиболее активным вредоносным кодом экосистема потому что это очень легко для злоумышленника, чтобы получить вредоносный код в Android Marketplace. Это не так легко сделать, что в Apple App Store потому что Яблоко требует от разработчиков, чтобы идентифицировать себя и подписать код. Они на самом деле проверить, кто вы есть, и Apple, на самом деле всматриваться приложений. Мы не видим много истинного вредоносных программ, когда устройство становится скомпрометированной. Я буду говорить о некоторых примерах, где это действительно конфиденциальности, что становится под угрозу, и вот что на самом деле происходит на устройстве Apple. Другая вещь, чтобы посмотреть на наличие вредоносного кода, рискованно код в устройствах является логические или бомбы с часовым механизмом, и бомбы с часовым механизмом, вероятно, гораздо проще искать, чем логические бомбы. Но со временем бомб, что вы можете сделать, это вы можете посмотреть на мест в коде, где тестируется время или абсолютное время ищется до определенная функциональность в приложении происходит. И это может быть сделано, чтобы скрыть, что активность от пользователя, так это происходит поздно вечером. DroidDream сделал всю свою деятельность в период с 11 часов вечера до 8 утра по местному времени чтобы попытаться сделать это в то время как пользователь может не использовать свои устройства. Другая причина сделать это, если люди используют поведенческий анализ приложения, запуске приложения в изолированной среде, чтобы видеть то, что поведение приложения является, они могут использовать логику повременной сделать деятельность когда приложение не в песочнице. Например, магазин приложений, как Apple, запускает приложение, но они, вероятно, не запускать все приложения, скажем, 30 дней прежде чем одобрить его, так что вы можете поместить Логика в вашем приложении, который сказал, ладно, только делать плохо после 30 дней прошло, или через 30 дней после даты публикации заявки, и что может помочь вредоносный код шкуру от людей проверяющих для него. Если антивирусные компании работают вещи в песочницах или приложение сами магазины это может помочь скрыть это от этой инспекции. Теперь, оборотная сторона, что это легко найти при помощи статического анализа, так на самом деле проверки код, который вы можете посмотреть на всех местах, где приложение проверяет время и проверить, что путь. А вот у меня есть несколько примеров на этих 3-х различных платформ как раз могут быть проверены на на приложение производителя так что вы знаете, что искать, если вы осмотра приложение статически. Я только что прошел через целую кучу различных вредоносных действий что мы видели в дикой природе, но какие из них являются наиболее распространенными? В том же исследовании от штата Северная Каролина Мобильная Genome Project опубликовал некоторые данные, и были в основном 4 зоны что они видели там, где было много активности. 37% из приложений сделал привилегий, поэтому им пришлось некоторый тип джейлбрейка кода там где они пытались повысить привилегии так, чтобы они могли у команды API работает в качестве операционной системы. 45% из приложений там сделал премиум SMS, так что это огромный процент, который пытается напрямую монетизировать. 93% сделали пульт дистанционного управления, так что они пытались создать бот сеть, мобильный бот сеть. И 45% собирают информацию идентификации как номера телефонов, UUID,, GPS местоположение, учетные записи пользователей, и это добавляет до более чем 100, потому что большинство вредоносных программ пытается сделать некоторые из этих вещей. Я собираюсь переключиться на вторую половину и говорить о уязвимостей кода. Это вторая половина рискованными видами деятельности. Это где существенно разработчик делает ошибки. Законным разработчик, пишущий законную приложение делает ошибки или не знает о рисках, связанных с мобильной платформы. Они просто не знают, как сделать безопасное мобильное приложение, а иногда разработчик не заботится о помещении пользователя риску. Иногда часть их бизнес-модели может быть сбора личной информации пользователя. Это своего рода другой категории, и именно поэтому некоторые из этот вредоносный против законных начинает кровоточить над потому что есть разница мнений между тем, что пользователь хочет и что пользователь считает рискованным и то, что разработчик приложения считает рискованным. Конечно, это не данные разработчик приложения в большинстве случаев. И, наконец, еще один способ это происходит, разработчик может связать в разделяемая библиотека, которая имеет уязвимости или этот рискованного поведения в нем незаметно для них. Первая категория чувствителен утечки данных, и это, когда приложение собирает информацию местоположение, информацию адресной книги, информации владельца, как и посылает, что выключение устройства. И как только это от устройства, мы не знаем, что происходит с этой информацией. Это можно было бы хранить небезопасно разработчиком приложения. Мы видели разработчики приложений получить под угрозу, и данные, которые они хранения получает приняты. Это произошло несколько месяцев назад, чтобы разработчик вниз во Флориде где огромное количество-это было Ipad UUID, и имена устройств просочились потому, что кто-то, я думаю, что это было анонимным, утверждал, сделать это, ворвались в серверах этого разработчика и украл миллионы Ipad UUID, и имена компьютеров. Не самый рискованный информация, но то, что если бы это было хранение имен пользователей и паролей и домашние адреса? Там много приложений, которые хранят такую ​​информацию. Риск есть. Другая вещь, которая может произойти, это если разработчик не заботится для обеспечения канала передачи данных, и это еще один большой уязвимости Я собираюсь говорить о, что данные отправляются в открытом виде. Если пользователь находится в сети общего пользования Wi-Fi или кто-то нюхает Интернет где-то по пути, что данные разоблачения. Один очень известный случай этого утечки информации произошло с Pandora, и это то, что мы исследовали в Veracode. Мы слышали, что была-Я думаю, что это был Федеральная торговая комиссия Расследование происходит с Пандоры. Мы сказали: «Что там происходит? Давайте начнем копаться в приложении Pandora." И то, что мы определили было применение Пандора собраны Ваш пол и возраст и это также доступны ваше местоположение GPS, а также применение Pandora сделал это для того, что они сказали, были законные основания. Музыка, которую они играли-Pandora является потоковой музыки приложение- музыка, которую они играли лишь лицензирована в Соединенных Штатах, таким образом, они должны были проверить, чтобы выполнять свои лицензионные соглашения, которые они имели за музыку, что пользователь был в Соединенных Штатах. Они также хотели соблюдать Parental Advisory вокруг языка для взрослых в музыке, и так что это добровольная программа, но они хотели, чтобы соответствовать, что а не играть явные лирику детей 13 лет и младше. У них были законные основания для сбора этих данных. Их приложение было разрешения, чтобы сделать это. Пользователи думал, что это было законно. Но что случилось? Они связаны в 3 или 4 разных библиотеках объявлений. Теперь все вдруг всех этих рекламных библиотек получают доступ к этой же информации. Библиотеки объявление, если вы посмотрите на код в рекламных библиотек что они делают, в каждом объявлении библиотека говорит "Разве мое приложение разрешение на получение GPS местоположение?" "О, это? Хорошо, скажите мне расположение GPS." Каждый библиотека объявление делает это, и если приложение не имеет разрешения GPS он не будет иметь возможность получить его, но если это произойдет, это будет получить его. Это где бизнес-модель из рекламы библиотек выступает против частной жизни пользователя. И там было исследования, что там будет говорить, если вы знаете, возраст человека, и вы знаете их расположение где они спят по ночам, потому что у вас есть их координаты GPS в то время как они, возможно, спите, вы точно знаете, кто этот человек потому что вы можете определить, какие членом этой семьи является то, что человек. Действительно это определение для рекламодателей точно, кто вы есть, и, похоже, это было законно. Я просто хочу, чтобы мой потоковой музыки, и это единственный способ получить его. Ну, мы подвержены этого. Мы написали это в нескольких сообщений в блоге, и оказалось, что кто-то из журнала Rolling Stone прочитать одну из наших блогах и написал свой собственный блог в Rolling Stone об этом, и уже на следующий день Пандора думал, что это была хорошая идея для удаления рекламных библиотеки из их применения. Насколько я знаю, что они-они только должны рекомендоваться. Я думаю, что они только Freemium тип приложение, которое сделал это. Все остальные Freemium приложения имеют такое же поведение, так что вы должны думать о том, какие данные вы даете эти Freemium приложения, потому что это все собирается рекламодателей. Преторианской также провел исследование о разделяемых библиотек и сказал: "Давайте посмотрим на то, что динамические библиотеки топ разделяемые библиотеки," и это было данные. Они проанализировали 53 000 приложений, а число 1 общая библиотека была Admob. Это было на самом деле в 38% приложений там, так 38% заявок, которые вы используете , вероятно, собирая вашу личную информацию и отправив его на рекламных сетей. Apache и Android были 8% и 6%, а потом эти остальные вниз, на дно, Объявления Google, Flurry, Моб Город и тысячелетнего СМИ, все эти рекламные компании, а затем, что интересно, 4% связано в библиотеке Facebook вероятно, сделать аутентификацию через Facebook так что приложение может идентифицировать Facebook. Но это также означает корпорацию Facebook контролирует код который работает в 4% Android мобильных приложений там, и они имеют доступ ко всем данным, что, что приложение имеет разрешение на получение в. Facebook существу пытается продать место для рекламы. Это их бизнес-модель. Если вы посмотрите на всю эту экосистему с этих разрешений и разделяемые библиотеки вы начинаете видеть, что у вас есть много рисков в якобы легитимного приложения. То же похожи, что случилось с Пандоры произошло с приложением под названием Путь, и Путь думали, что они будучи предупредительные, доброжелательные разработчики. Они просто пытались дать вам большое удобство для пользователей, и оказалось, что без запроса пользователя или информацию пользователю, ничего- и это произошло на мобильный и на Android, Пандора приложение было на мобильный и Android- что применение Путь схватил всю вашу адресную книгу и загружать его на пути, когда вы просто устанавливается и запуске приложения, и они не рассказать вам об этом. Они думали, что это было действительно полезно для вас , чтобы иметь возможность поделиться со всеми людьми в вашей адресной книге что вы используете приложение Path. Ну, очевидно Путь думал, что это было отличным для своей компании. Не настолько отличный для пользователя. Вы должны думать, что это одно дело, если возможно, подросток использует это приложение и их десятки друзей находятся там, но что, если это генеральный директор компании, которая устанавливает путь а затем вдруг их всей адресной книги там? Вы собираетесь получить много потенциально ценного контактную информацию для многих людей. Репортер из New York Times, вы можете быть в состоянии получить номер телефона для бывших президентов с их адресной книги, так очевидно, много конфиденциальной информации получает передаются что-то вроде этого. Был такой большой лоскут об этом, что путь извинился. Они изменили свое приложение, и это даже повлияло Apple. Яблоко сказал: "Мы собираемся, чтобы заставить продавцов приложение запрашивать пользователей если они собираются собрать всю свою адресную книгу ". Похоже, что происходит здесь когда есть одна большая нарушение конфиденциальности, и это делает прессу мы видим изменения там. Но, конечно, есть другие вещи там. Приложение LinkedIn собирает записей календаря, Но Apple не делает пользователь будет предложено об этом. Записи календаря может иметь конфиденциальную информацию в них тоже. Где вы собираетесь провести черту? Это действительно отчасти развивается место где на самом деле нет достаточно высокого уровня там для пользователей, чтобы понять, когда их информация будет в опасности и когда они собираются знаю, что это везут. Мы написали приложение на Veracode названием Прощайте, и, по сути это позволило вам указать приложение в каталоге ITunes и смотреть на всех приложений, которые были на сборе свой полный адресную книгу. И как вы можете видеть в этом списке здесь, Angry Birds, AIM, AroundMe. Почему Angry Birds чтобы адресная книга? Я не знаю, но это делает как-то. Это то, что многие, многие приложения сделать. Вы можете проверить код для этого. Там в четко определенные API-интерфейсы для IPhone, Android и BlackBerry чтобы получить в адресной книге. Вы действительно можете легко проверить для этого, и это то, что мы сделали в нашем приложении Прощайте. Следующая категория, небезопасный Чувствительная хранение данных, это то, где разработчики взять что-то вроде штифта или номер счета или пароль и храните его в открытом виде на устройстве. Что еще хуже, они могут хранить это в районе, по телефону которые глобально доступен, как и SD-карты. Вы видите это чаще на Android, потому что Android позволяет для SD-карты. Устройства IPhone нет. Но мы даже видели это произошло в приложении Citigroup. Их онлайн-банкинга приложение хранится номера счетов небезопасным, просто в открытом виде, так что если вы потеряли ваш прибор, по существу вы потеряли ваш банковский счет. Вот почему я лично не делать ставку на мой мобильный. Я думаю, что это слишком рискованно прямо сейчас, чтобы сделать эти виды деятельности. Skype сделал то же самое. Skype, конечно, имеет остаток на счету, имя пользователя и пароль что доступ к этой баланс. Они хранили всю эту информацию в открытом виде на мобильном устройстве. У меня есть несколько примеров здесь создания файлов , которые не имеют права доступа или записи на диск а не имеющие любую шифрования случиться за это. Следующий область, небезопасный Чувствительная Передача данных, Я намекнул на это несколько раз, и из-за общественного Wi-Fi это то, что приложения абсолютно необходимо сделать, и это, вероятно, что мы видим пойти не так больше всего. Я бы сказал,-на самом деле, я думаю, у меня есть фактические данные, но это близко к половине мобильных приложений завинтить делает SSL. Они просто не использовать API-интерфейсы правильно. Я имею в виду, все, что вам надо сделать, это следовать инструкциям и использовать API-интерфейсы, но они такие вещи, как не проверить, есть ли недействительным свидетельство на другом конце, не проверить, если другой конец пытается сделать протокол атак на устаревшие версии. Разработчики, они хотят, чтобы их флажок, не так ли? Их требование использовать это, чтобы продать. Они использовали это, чтобы продать. Требование не использовать это, чтобы продать надежно, и вот почему все приложения, использующие SSL для защиты данных как это передается выключить устройство действительно должны быть проверены чтобы убедиться, что был реализован правильно. А вот у меня есть несколько примеров, где можно увидеть приложение Возможно, используется HTTP вместо HTTPS. В некоторых случаях приложения вернется к HTTP если HTTPS не работает. У меня есть еще один вызов здесь, на Android, где они отключена проверку сертификата, так атака человек-в-середине может случиться. Недействительный сертификат будет принят. Все эти случаи, когда злоумышленники собираются, чтобы иметь возможность попасть на то же самое Wi-Fi соединение, как пользователя и доступ ко всем данным который отправляется через Интернет. И, наконец, последняя категория у меня есть вот жестко пароль и ключи. Мы фактически видим много разработчиков использовать тот же стиль кодирования что они сделали, когда они строили приложений веб-сервера, так они строят серверное приложение Java, и они кодируются ключ. Ну, когда вы создаете серверное приложение, да, кодируются ключ является не очень хорошая идея. Это делает его трудно изменить. Но это не так уж плохо на стороне сервера, потому что, кто имеет доступ к стороне сервера? Только администраторы. Но если взять тот же код, и вы вылил его на мобильном приложении Теперь каждый, кто имеет, что мобильное приложение имеет доступ к этому жестко ключа, и мы действительно видим это много раз, и у меня есть некоторые статистические данные о том, как часто мы видим это произошло. Это на самом деле было в примере кода, MasterCard, опубликованной о том, как использовать свои услуги. В примере кода показал, как вы бы просто взять пароль и положить его в жестко строку прямо там, и мы знаем, как разработчики любят копировать и вставлять фрагменты кода когда они пытаются что-то сделать, так что вы скопировать и вставить фрагмент кода что они дали как пример кода, и у вас есть небезопасный приложения. А здесь у нас есть несколько примеров. Это первый является одним мы видим много, где они жестко право данных в URL, который получает отправлены. Иногда мы видим строку пароль = пароль. Это довольно легко обнаружить, или строка пароля на BlackBerry и Android. Это на самом деле довольно легко проверить, потому что почти всегда имена разработчиков переменной, держит пароль некоторое изменение пароля. Я упомянул, что мы делаем статический анализ в Veracode, поэтому мы проанализировали несколько сотен Android и IOS приложений. Мы создали полные модели них, и мы в состоянии сканировать их для различных уязвимостей, особенно уязвимостей которых я говорил, и у меня есть некоторые данные здесь. 68,5% из программы, мы смотрели на нарушил криптографический код, что для нас, мы не можем обнаружить, если вы сделали свой собственный процедуру шифрования, не то что это хорошая идея, но это на самом деле использует опубликованные API, что на платформе, но делает их таким образом что крипто будут уязвимы, 68.5. И это для людей, которые посылают нам свои заявки фактически, потому что они думают, что это хорошая идея, чтобы сделать тестирование безопасности. Это уже люди, которые, вероятно, думал надежно, так что, вероятно, даже хуже. Я не говорил о контрольной линии ввода сырья. Это то, что мы проверяем, но это не так рискованно проблемой. Утечка информации, это где конфиденциальные данные отправкой устройство. Мы обнаружили, что в 40% приложений. Время и государство, те вопросы, типа состояние гонки, как правило, довольно жесткие, чтобы эксплуатировать, так что я не говорил об этом, но мы смотрели на него. 23% были проблемы SQL Injection. Много людей не знают, что много приложений использовать небольшую мало данных SQL на их задней части для хранения данных. Ну, если данные, которые вы захвата по сети имеет строки атаки инъекции SQL в нем кто-то может поставить под угрозу устройство через это, и поэтому я думаю, что мы находим около 40% веб-приложений имеют этой проблемы, которая является огромной проблемой эпидемии. Мы находим его 23% времени в мобильных приложениях и это, вероятно, потому, что многие другие веб-приложения используют SQL, чем с мобильного. А потом мы все еще видим некоторые межсайтовый скриптинг, вопросы авторизации, а затем Управление учетными данными, вот где у вас есть свой жестко пароль. В 5% приложений мы видим, что. А потом у нас есть некоторые данные о прошивкой. 81% были проблемы обработки ошибок. Это более серьезная проблема качества кода, но 67% из них криптографические проблемы, поэтому не так плохо, как Android. Может быть, API-интерфейсы являются немного легче, названия коды немного лучше на МО. Но все равно очень высокий процент. У нас было 54% ​​с утечки информации, около 30% с ошибками управления буфером. Это места, где есть потенциально может быть повреждение памяти. Оказывается, это не так уж большая проблема для эксплуатации на прошивкой потому весь код должен быть подписан, так что трудно злоумышленнику выполнить произвольный код на МО. Качество код, прохождения каталогов, но потом полномочия управления здесь, в 14,6%, так хуже, чем на Android. У нас есть люди, правильно не с помощью пароля. А потом цифровые ошибки и переполнение буфера, те более будет вопросы качества кода на IOS. Что это было для моей презентации. Я не знаю, если мы вне времени или нет. Я не знаю, есть ли какие-либо вопросы. [Мужчина] быстрый вопрос вокруг фрагментации и Android Market. Яблоко, по крайней мере владеет исправлений. Они делают хорошую работу по получению его там в то время как в меньшей степени, в Android пространстве. Вы почти должны сделать джейлбрейк вашего телефона чтобы быть в курсе с текущей версией Android. Да, это огромная проблема и поэтому, если вы думаете о- [Мужчина] Почему вы не можете повторить? О, точно, так что вопрос был насчет фрагментации операционной системы на платформе Андроид? Как это влияет на рискованность этих устройств? И на самом деле это огромная проблема, потому что то, что происходит, старшие устройства, когда кто-то приходит с джейлбрейком для этого устройства, по существу, это повышение привилегий, и, пока что операционная система не обновляется любая вредоносная программа может использовать эту уязвимость, чтобы полностью скомпрометировать устройство, и что мы видим на Android является, чтобы получить новую операционную систему Google имеет потушить операционную систему, а затем к производителю оборудования должен настроить его, а затем перевозчик должен настроить его и доставить его. У вас есть в основном 3 движущихся частей здесь, и это, оказывается, что носители не волнует, и производители оборудования не волнует, и Google не подталкивая их достаточно ничего делать, поэтому по существу более половины устройств там есть операционные системы, которые имеют эти привилегий уязвимости в них, и поэтому, если вы получаете вредоносных программ на вашем Android устройстве это гораздо более серьезная проблема. Хорошо, спасибо вам большое. [Аплодисменты] [CS50.TV]