Мобильный банкинг на подъеме. Согласно июльскому отчету аналитической компании IDC, за год популярность этого сервиса выросла вдвое, чего, по-видимому, нельзя сказать о защищенности мобильных приложений. На это указывают сообщения о проблемах в таких приложениях, недавно поступившие от ведущих финансовых компаний, в частности Wells Fargo и PayPal. Эти проблемы, связанные с невозможностью безопасного хранения паролей и логинов, по некоторым мнениям, свидетельствуют о плачевном состоянии защиты мобильных приложений.
“На безопасность мобильных устройств нельзя полагаться, их постоянно теряют и крадут, — сказал Ричард Ванг, менеджер исследовательского отделения SophosLabs компании Sophos, которая специализируется на средствах защиты. — По-моему, эти инциденты указывают на отсутствие опыта у мобильных разработчиков в вопросах безопасности. В мире ПК угрозы существовали задолго до распространения онлайнового банкинга, поэтому разработчикам приходилось встраивать средства защиты с самого начала. Хранение логинов и паролей в виде простого текста на устройстве — это ошибка новичка”.
Между мобильными и веб-приложениями существует огромная разница, поскольку последние хранят данные и коды программ на сервере, а первые — на самом устройстве, сказал Дэн Корнелл, технический директор компании Denim Group: “В случае мобильных приложений основная часть кода и данных находится на самих устройствах, которые и становятся мишенью для атаки. Когда вы разворачиваете мобильное приложение для своей организации, вам нужно иметь в виду, что злоумышленник может подключить устройство к телефону или взломать телефон и тем самым получить доступ к приложению. С помощью онлайновой презентации и некоторых кодов я могу продемонстрировать, как это делается. Во многих случаях это позволяет злоумышленнику считать код, на котором работает приложение”.
По словам Рутула Дейва, менеджера по маркетингу компании Coverity и бывшего разработчика, чтобы ускорить создание ПО, многие разработчики приложений и провайдеры программ для телефонов используют софт, предназначенный для традиционных компьютерных систем, и настраивают его для мобильных устройств. Хотя такой подход довольно эффективен, он чреват проблемами с безопасностью.
“Защиту надо предусматривать в ходе разработки, в самом программном коде, — считает он. — В связи с дефицитом разработчиков, имеющих опыт создания мобильных приложений, очень трудно найти программистов, которые понимают, как следует обеспечить безопасность на этой новой вычислительной платформе. Распространенная угроза безопасности для мобильных и веб-приложений связана с тем, что они подключены к сети и поэтому доступны для хакеров. Однако у мобильных приложений есть дополнительная уязвимость, вызванная тем, что они работают на мобильных устройствах и являются новым видом софта, предназначенного для компьютерных платформ, сильно отличающихся от традиционных”.
Ситуацию осложняет и то, что у мобильных приложений нет дополнительного защитного буфера в виде сетевого экрана или средств безопасности, который имеется на традиционных компьютерных системах, добавил Дейв. Существует ряд платформ, каждая со своими средствами защиты.
К счастью уже появились передовые методы, которыми могут воспользоваться разработчики мобильных приложений. Один подход, по словам Корнелла, заключается в хранении ответственных данных на сервере и создании серверной части приложения со встроенными средствами проверки любой информации, передаваемой со смартфона.
Другой подход, который должен стать правилом, заключается в моделировании угроз на ранней стадии разработки софта и тестировании приложений с точки зрения безопасности. “Конечно, все разработчики не могут быть экспертами, однако им нужно иметь некоторые базовые знания, а в составе большинства команд должен быть специалист по защите, имеющий углубленные знания и подготовку, — сказал Корнелл. — Члены коллектива разработчиков должны пройти обучение по средствам безопасности для выбранных ими мобильных платформ, а также понимать специфические особенности защиты в такой среде”.