Опубликовано 13 марта 2013
По итогам 2012 года операционная система Android стала лидером среди мобильных платформ: её доля на мировом рынке превысила 53 процента. Для сравнения: доля ОС компании Apple — 36 процентов (данные аналитической компании СomScore). Даже на европейском рынке, где долгое время фаворитом была iOS, Android вытеснил своих конкурентов. Ещё одно достижение — более 25 миллиардов загруженных приложений в Google Plaу.
Эта статистика демонстрирует огромный потенциал операционной системы компании Google на рынке мобильных приложений. С одной стороны, разработчики программ для Android получают большие возможности для роста, с другой — сталкиваются с жёсткой конкуренцией и высокими требованиями к качеству со стороны пользователей. В таких условиях особое значение приобретает всестороннее тестирование продуктов для магазина приложений Google Play.
Смартфоны и планшеты под управлением Android имеют значительные отличия в программной и аппаратной части. Они могут иметь разный форм-фактор и разрешение экрана, использовать свою версию ОС и систему команд процессора, обеспечивать поддержку фронтальной камеры, NFC, внешней клавиатуры и других модулей. Всё это нужно учесть при разработке приложений.
Не все издатели продуктов для Google Play могут позволить себе большой парк тестовых гаджетов для проверки корректной работы своих приложений. Также практика показывает, что разработчикам сложно объективно оценивать свой проект, смотреть на него со стороны пользователя. По этой причине издатели привлекают сторонние команды тестировщиков для сопровождения проекта на протяжении всего его жизненного цикла.
Ошибки допускают все — и начинающие программисты, и опытные команды известных компаний. Например, недавно в сообществе «Хабрахабр» была опубликована статья с целым списком багов и недоработок в приложении «Яндекс.Метро» для смартфонов на ОС Android.
Конечно, никто не может гарантировать корректной работы приложения в ста процентах случаев, это просто нереально. Однако специалисты в области тестирования и юзабилити могут свести количество ошибок к минимуму. Результатом станет высокое качество программного продукта, которое существенно влияет на его рейтинг и ТОП-позиции в магазине Google Play.
Разработчики программных продуктов для ОС Android могут выполнять комплексную проверку качества или концентрироваться на отдельных задачах: функциональном, автоматизированном, нагрузочном, стрессовом или на юзабилити-тестировании. Остановимся на этом вопросе подробнее.
Функциональное тестирование позволяет проверить приложение на соответствие требованиям в спецификации. В рамках этой задачи можно проводить полное тестирование или проверить только базовые функции. Один из самых распространённых способов функционального тестирования — это метод чёрного ящика. В этом случае приложение исследуется с точки зрения внешнего мира, то есть специалист не использует информацию о внутреннем устройстве программы.
После исправления ошибок в продукте или реализации новых функциональных возможностей в продукте может проводиться регрессионное тестирование. Оно позволяет обнаружить ошибки в уже протестированных участках исходного кода, это так называемые регрессионные баги (они появляются в тех функциях приложения, которые стабильно работали до внесения изменений).
Ещё один интересный тип тестирования — интеграционное. Именно оно гарантирует корректную работу программы на устройствах с различными параметрами. Команда тестировщиков использует различные модели планшетов и смартфонов под управлением ОС Android. Важно понимать, что программные эмуляторы не могут полностью заменить работу настоящих устройств, поэтому без своего парка тестовых гаджетов реализовать такой проект будет довольно сложно.
Все виды тестирования приложений, которые выполняются при помощи специальных программно-аппаратных инструментов, относят к автоматизированному тестированию. Очевидное достоинство этого метода — сравнительно низкие затраты. Например, проверку очередной сборки программы можно запустить на ночь на всех доступных устройствах, а утром проанализировать результаты и исправить ошибки.
Автоматизированные тесты позволяют проверить многие параметры приложения: инсталляцию и удаление приложения, реакцию на команды пользователя и системные события, элементы интерфейса и вид приложения в зависимости от положения датчиков. Для проверки всей этой функциональности используются следующие популярные инструменты автоматизированного тестирования:
Monkey для стресс-тестирования;
Adb для быстрого управления;
Monkeyrunner для тестирования с реализацией скриптов на Jython (Python на языке Java);
тестовые проекты на языке java.
Также весьма полезными могут оказаться нагрузочное и стрессовое тестирование. Первое позволяет исследовать запас производительности системы, а второе тестирует работу приложения в режиме перегрузки и сбоев, то есть определяет производительность при заведомо ограниченных ресурсах.
И последний распространённый тип проверки Android-приложений — юзабилити-тестирование. Это анализ интерфейса и выявление узких мест в дизайне с точки зрения конечного пользователя и целей, которые были поставлены при разработке. По результатам составляется список рекомендаций по улучшению интерфейса, а после внесения изменений проводится новый этап тестирования.
В некоторых случаях команды разработчиков пытаются сокращать бюджет всего проекта по разработке программного продукта за счёт тестирования. Насколько это обоснованно? На этот вопрос помогает ответить исследовательское тестирование — первичное изучение функциональности и качества Android-приложений. Бюджет такой задачи может составлять от 200 до 400 долларов. По её результатам можно будет понять, нужно ли проводить более углублённое тестирование.
В любом случае, разработчики и владельцы Android-приложений должны быть уверены в том, что их программа будет корректно работать на любых типах смартфонов и планшетов под управлением этой ОС. Это одна из составляющих успеха на рынке Google Play.
Об авторе: Дмитрий Куриленко — руководитель отдела тестирования и обеспечения качества инновационной компании Promwad.
Опубликовано 13 марта 2013
Управлять своими деньгами с помощью компьютера и смартфона достаточно просто — из экзотической новинки такие сервисы превратились в стандартный сервис большинства крупных финансово-кредитных учреждений РФ. Все проблемы пользователей таких систем, связанные с потерей денег, возникают в результате целенаправленных атак весьма просвещённых компьютерных бандитов. Полностью от них защититься нельзя, но снизить угрозу «вскрытия» своего банковского счёта — реально.
Несмотря на то что смартфонов и «мобильных» пользователей интернет-банками больше, чем тех, кто осуществляет доступ с компьютера, чаще всего атакам подвергаются именно версии систем дистанционного банковского обслуживания, которые установлены на обычных компьютерах. Дело в том, что эти системы базируются на распространённых операционных системах, для которых существует огромное число специально «заточенных» компьютерных вирусов. Со смартфонами ситуация другая. Несмотря на то что смартфон всё-таки можно потерять, приложение «мобильного банка» ничего особенно не скажет злоумышленнику — пара логин/пароль там не хранится, никаких логов активности не ведётся, а шифрования передаваемых данных в целом достаточно для того, чтобы клонировать такие системы с пользовательскими данными было нереально. Так что «карта угроз» здесь совсем другая. Корпоративных счетов здесь обычно нет, чаще всего таким доступом пользуются только частники, и уровень общей безопасности (как, впрочем, и величина среднего остатка по счёту) не особенно велик.
Кейлоггеры
Если нельзя взломать, то можно подсмотреть — именно такой принцип используют компьютерные взломщики достаточно часто. Самое ценное в любом смартфоне — это информация, введённая пользователем. В отличие от компьютера, много текстовых данных со смартфона утащить не получится — достаточно сложно что-то набивать пальцем даже на большом сенсорном экране. Поэтому кейлоггеры — специальные программы, которые записывают в память устройства все нажатия клавиш для последующей передачи злоумышленникам, здесь используются часто. Поступают они на устройства чаще всего как «добавка» к какому-либо вполне респектабельному приложению, которое было взято из сомнительного источника. А данные отправляют по беспроводной сети, к которой пользователь и так подключён круглые сутки. Достаточно определить запуск программы-клиента для мобильного банка, и можно начинать сканирование и передачу данных. Из-за их небольшого объёма отправку таких пакетов на удалённый веб-сервер злоумышленников никто и не заметит.
Подмена SIM-карты
Конечно, только логин-пароль для большинства банков не подходит: нужны дополнительные коды подтверждения операций. Особенной любовью у злоумышленников пользуются те системы, где одноразовые коды для подтверждения операций приходят вам прямо на SMS. Получить копию вашей SIM-карты вполне реально — достаточно сдать «левую» нотариальную доверенность для смены идентификационного модуля (оператор связи обычно нотариусу для проверки не звонит) или нарисовать нужный паспорт (но это будет дорого). А чаще — просто подкупить сотрудника фирменной розничной сети оператора связи. И вуаля, можно работать — логин-пароль известны, SIM-карта есть. Обычно все подобные операции проводятся стремительно — получили дубликат симки и сразу начинаем «потрошить» интернет-банк конкретного пользователя с выводом средств на другие счета. И ведь ему даже SMS-уведомления не будут приходить: некуда. В таком случае может спасти, конечно, автоматическое уведомление по электронной почте и привычка регулярно звонить по своему мобильнику. Если «сеть не найдена», то впору поменять SIM-карту самому как можно скорее или хотя бы заблокировать её до вашего персонального обращения в офис оператора связи.
Программы-перехватчики
В последнее время для владельцев устройств, которые работают на ОС Android, подмена симки не обязательна. С помощью кейлоггера злоумышленники узнают пароль и логин для входа в интернет-банк, а потом перехватывают SMS-сообщения с кодами, которые банковский сервис отправляет на телефон жертвы для подтверждения операций. То есть на смартфоне пользователя стоит специальное вирусное ПО, которое получает SMSки от банка, скрывает их от владельца терминала и мгновенно пересылает злоумышленникам. Получается «волшебно» — можно в режиме реального времени грабить банковский счёт пользователя, причём так, что он ничего не заметит. Чтобы заставить пользователя установить программу-перехватчик, его заражённый смартик направляют на подложную страничку банка, где и предлагается установить «обновление системы безопасности».
Пароли
С паролями в системах ДБО, конечно, полегче, чем в любом интернет-сервисе, с той точки зрения, что его пользователю (чаще всего!) выдают для запоминания без возможности скорректировать. Поэтому набор символов гарантированно будет абракадаброй для любого постороннего взгляда. Проблема будет только в том, чтобы её запомнить. И вот в этом случае проявляются самые разные проблемы: самое опасное для мобильного банка — это запись пароля в виде текстового файла в смартфон. Да ещё с названием файла «Пароль!». Или использование банковского пароля для «запирания» устройства (ну чтобы не забыть его напрочь) — такие комбинации «ломаются» очень быстро, поскольку файлы с паролями на мобильном устройстве, необходимые для активации профиля, весьма слабо защищены. В общем, лучше их запомнить и нигде не записывать, а если можно выбирать, то сделать пароль посложнее.
Лимиты на операции
Если нельзя вред полностью исключить, то его можно минимизировать. В значительном числе систем есть возможность поставить лимиты на ежедневные операции. Наиболее фродовыми являются платёж рублёвый и валютный в свободной форме, а также переводы на банковские карты или на счета другим пользователям внутри одного банка (получатель ворованных денег, скорее всего, будет дропом). Если в вашем банке есть ограничения на такие переводы по умолчанию (обычно 3-5 тыс. долл. в день) — это отлично. Совершить переводы на бОльшие суммы обычно можно в отделении банка, и бывает это нечасто. Если возможно установить лимит самостоятельно, сделайте это обязательно. Как минимум это необходимо организовать для карты, которая привязана к вашему интернет-банку.
Безопасный доступ к мобильной версии
Доступ в мобильный банк обычно можно организовать либо через специально оптимизированный для небольших экранов смартфонов веб-сайт, или с помощью приложения (программа-клиент), которое можно скачать в официальных виртуальных торговых моллах. Так вот в случае с сайтом заражённый вирусом смартик может завести вас совсем на другой веб-ресурс (имя веб-сайта будет похожим с именем вашего банка), где мошенники уже приготовили полноценную копию-эмулятор системы ДБО вашего банка. Основная цель таких манипуляций — выманить пару логин-пароль, а также как можно больше кодов подтверждения операций (переменных кодов), с помощью которых можно подтвердить от вашего лица те или иные денежные переводы. Чаще всего для минимальной атаки хватит пяти таких кодов — один на вход, пара на обнуление депозитов и «перегон» всей суммы в банке на один счёт (чаще рублёвый), а остальные — на подтверждение транзакций на «левые» данные. Быстрее всего реализуются схема перевода внутри банка (да-да, мошенники готовятся заранее) и оперативный обнал всей полученной суммы через банкомат. В случае с работой через приложение сделать это сложнее — никакой перехват или подстановка там невозможны. Но для того, чтобы быть в этом уверенным, надо загружать программу-клиент из совершенно доверенного места (Apple App Store, Google Play, Windows Phone Store, BlackBerry App World и т.д.). Для их загрузки пройдите по ссылкам с сайтов финансово-кредитных учреждений. В немодерируемых магазинах приложений можно найти вредоносные приложения, которые сами будут одним большим вирусом.
SMS-уведомления об операциях
Сервис «последнего шанса» — это уведомление обо всех операциях в интернет-банке с помощью коротких текстовых сообщений. Очень внимательно надо присматривать за входом в систему дистанционного интернет-обслуживания. Обычно SMSки приходят с указанием IP, но не будем наивными: его легко можно подделать с помощь самого простого VPN-тоннеля. Поэтому самое главное — сам факт наличия входа в систему от вашего имени. Если вы этого точно не делали, немедленно звоните в службу поддержки своего банка и блокируйте свой доступ: лучше «перебдеть», чем потерять деньги. Кроме того, SMSки будут нужны и для уведомления о транзакциях — в этом случае лучше получать полную информацию с суммами переводов, а не просто информацию о самом факте совершённых операций. Да, подобные варианты информирования требуют подключения дополнительных услуг за абонентскую плату, но 2-3 долл. в месяц — небольшая плата за возможность оперативно заблокировать переводы. Кстати, забейте в память телефона номер call-центра своего банка, чтобы в экстренной ситуации не терять времени.
Не надо верить «службам поддержки»
Социальная инженерия — основное оружие телефонных мошенников, которые работают по системам ДБО. Если ваши данные «уходят налево» (особенно это касается пары логин-ароль), то при недостатке информации мошенники попробуют вам позвонить, прикинувшись службой поддержки банка. Обычно они будут сразу рассказывать вам байки про технический сбой и необходимость подтвердить свою личность. Или, если у них есть данные по вашим транзакциям, вам расскажут о блоке операций и предложат «разблокировать карту» с помощью кодов подтверждения для интернет-банка. В общем, вариантов может быть много, и мошенники будут крайне убедительны. Совет здесь только один: перезвоните в call-центр своего банка самостоятельно по тому номеру, который есть у него на веб-сайте, и уточните всю необходимую информацию. Иначе есть шанс добровольно отдать мошенникам все свои деньги. С весьма призрачной надеждой их когда-то увидеть вновь.
Опубликовано 15 марта 2013
Информацию о том, что у спецслужб (в том числе российских) есть возможность отслеживать разговоры в Skype, можно считать новостью только для очень далёких от ИТ-реальности пользователей. После того как Microsoft приобрела Skype за 8,5 млрд. долларов, стало понятно, что «тесное сотрудничество» с государственными органами власти станет ещё лучше. Ведь все крупные коммуникационные проекты и соцсети имеют специальные возможности для контроля своих абонентов. Skype не исключение.
Наверное, не надо напоминать, что после резкого старта и набора большой абонентской базы к владельцу того или иного интернет-сервиса приходят вежливые люди в дорогих костюмах и очень уважительно рассказывают о том, что необходимо сотрудничать с правоохранительными органами для укрепления национальной безопасности. При этом страна проживания владельца такого сервиса и его политические предпочтения никакой роли не играют. Поскольку такие «товарищи» готовятся заранее, то сбоев не бывает: соглашаются все и сразу. С первого раза.
«Проблема» того же Skype, или Gmail, или Facebook/Twitter для российских пользователей — иллюзия безопасности «от своих». Все мы прекрасно знаем, что прослушками телефонов российских операторов связи можно торговать достаточно просто (в том числе и сотовых, и совсем без ведома операторов связи), поэтому даже благонадёжные граждане, у которых есть, к примеру, секреты по своему бизнесу, опасаются того, что когда-нибудь и их «поставят на карандаш» просто потому, что они занимаются делом. А большинству граждан, у которых никаких секретных тайн и вовсе нет, просто неприятен сам факт, что в их личной жизни будет копаться какой-то товарищ в погонах просто потому, что ему скучно в данный конкретный момент. Они немного знают об организации различных «прослушек», но опасаются, что всё так и будет.
Поэтому в случае с Microsoft, где такое «сотрудничество» развивается давным-давно, не надо делать из неё «корпорацию зла». Минимум пару лет в СОРМ, образно говоря, встроена панель с кнопкой «Желаете прослушать Skype?», а «товарищи в погонах» с удовольствием и ударными темпами разыскивают в этой системе вольнодумцев и террористов всех мастей. Понятно, что, в отличие от сотовой связи, поиск в Skype — не такая уж и простая задача (всё-таки это изначально задумывалось как P2P система без центрального элемента, которая использует нестандартное кодирование и качественное шифрование голосового трафика), однако технически это вполне реально.
Думаю, что решение для «прослушки» в Skype найдено более изящное, чем просто тупо пустить трафик через сервер спецслужб. Поскольку устроить «сплошное прослушивание» и поиск по ключевым словам здесь сложновато (хотя, если подключить возможности «Эшелона»…), то на первый уровень выходит агентурная работа — поиск нужных сетевых имён пользователей. Как только у нас есть список имен или IPшников, с которых выходят в сеть интересующие нас «пассажиры», идёт постановка их на контроль, выделение группы их корреспондентов. Далее ставим на контроль всю их текстовую переписку и отправку друг другу файлов. Кроме того, начинаем «слушать» голос и снимать видеосигнал от встроенных камер. Уверен, что функциональные возможности системы позволяют гибко настраивать путь трафика в скрытом от пользователя режиме и получать нужный поток данных. Причём всё делается чисто: не каждый пользователь Skype — суперхакер, который может просчитать такие возможности. Да и за последнее время Microsoft могла легко собрать все «хотелки» правоохранительных органов для того, чтобы внедрить их в реальность — ну чтобы «коллегам» было удобно. Так что несмотря на все заявления Skype о том, что у спецслужб РФ «нет возможности читать зашифрованные сообщения или получать данные частных пользователей», мы им не верим — если есть сомнения, то сомнений нет. Могут. Делают. Регулярно.
Надо отметить, что «прослушка» Skype — далеко не единственный вариант узнать что-то об объекте разработки. Если уж спецслужбы захотят «поставить на карандаш» какого-нибудь человека, постоянно присутствующего в киберпространстве, то они это, конечно, сделают, вне всякого сомнения. Вычислят места его пребывания, сервисы и расставят там «ловушки» — это будет сделано с согласия администрации таких систем или с помощью своих «кибердружинников». Тихо вскроют веб-почту фигуранта и аккуратно её прочитают, поставят возможность пересылки поступающей корреспонденции на другие ящики в виде скрытой копии. Чтобы перехватить VoIP, надёжнее всего поставить ПО, которое пишет разговор на выходе — прямо с динамика и микрофона. И тихо закачивает эти файлы на удалённый FTP. Постараются загнать на смартфон или компьютер «объекта» вирусы-трояны с целью загрузки информации и её просмотра в режиме online (особую ценность представляют списки контактов, SMSки, логи звонков и т.д.). Так что если информация от какого-либо человека нужна, то её, скорее всего, обязательно найдут, извлекут и будут использовать. А Skype — только один из вариантов. Часто пользователей никто не хочет серьёзно разрабатывать — идёт просто сбор информации по ключевым словам. К слову, все подобные технологии давно отработаны на той же ICQ, которую купила Mail.ru Group: вот где программистам пришлось попотеть с фильтрами, чтобы «товарищи в погонах» имели полный расклад по диалогам пользователей.
Есть ли основания для такого мнения, или это профессиональная паранойя? Ну, полноте, у Microsoft большой бизнес в России, и контакт с правоохранительными органами самых разных величин у них плотный. Вспомним хотя бы проект по поставке «просмотренных» копий Windows для госструктур: всех надо было убедить и со всеми установить практически личный контакт. И вот теперь, когда у Microsoft давным-давно есть Skype, самый популярный VoIP-сервис в мире, неужели они будут говорить всем этим сотрудникам «органов» что-то о демократии, приверженности свободе слова и о том, что спецслужбам надо получить разрешение суда? Официально, может быть, так оно и произойдёт, а на практике всё будет решаться «в рабочем порядке». Как, к примеру работают все отечественные операторы связи и интернет-компании. Можно по-хорошему, а можно по-плохому — нужный ордер и решение всегда будут. Проще помочь, когда вежливо просят. Неформально и «по-человечески» (любимая фраза коллег «в погонах»). Причём, как я отметил выше, происходит не только в России: выдохните. Везде операторы связи и производители ПО идут навстречу своим спецслужбам. И далеко не всегда полученные таким образом данные будут использованы в суде: часто до суда просто не дойдёт.
Что можно сделать с таким «вниманием»? Попробуем составить небольшой список по этой теме. А именно: 1. Для более-менее защищённого общения полностью быть уверенным в том, что ваш компьютер не снабжён дополнительной коллекцией «закладок» и скрытого ПО. В идеале его надо самостоятельно покупать за наличные и настраивать с помощью, может быть, не самых современных, но проверенных версий ПО. 2. Использовать лучше массовые сервисы коммуникаций, но файлы шифровать — банально тем же True Crypt. 3. В Сеть выходить с помощью прикрывающего VPN-сервиса, лучше платного, и регулярно менять логины. Не забывать про Tor-сети и программу-клиент для прикрытия реального IP. 4. Заводить отдельные учётные записи в том же Skype для разных типов собеседников. 5. Никогда не пользоваться теми сервисами, владельцами которых являются российские операторы связи, — там поток «слива» информации поставлен весьма качественно. 6. Чаще менять учётные записи почты и VoIP-сервисов. Стараться в соцсетях в личных сообщениях не высказываться слишком полноценно и откровенно по широкому кругу бизнес-вопросов. Не передавать по одному доминирующему каналу информации данные о ваших учётных записях. 7. Временами тестировать все новые сервисы общения и передачи голоса: до тех пор, пока они ещё находятся в стадии стартапов, внимание правоохранительных органов к ним минимально.
Правила вроде бы простые, но вполне выполнимые. Кстати, не надо только думать, что Microsoft поступила как-то аморально или предала свободу слова. Все эти тезисы к реальной ситуации слабо применимы: компания просто соблюдает законы тех стран, на территории которых ей позволяют зарабатывать деньги. Так что «прослушка» — это совершенная реальность. Ничего личного, только бизнес.