Защита приложений Android ™ с помощью кодесигн сертификатов
Android находится на подъеме. Android Market, теперь известный как Google Play затмил Apple App Store
с точки зрения бесплатных приложений. Исследования также предсказывают что
текущие темпы роста сохранятся
К сожалению, популярность приводит к нежелательному вниманию хаккеров.
Хотя Android имеет сильное и растущее сообщество разработчиков частных лиц и небольших компаний
которые пишут приложения для популярной мобильной операционной системы, некоторые
разработчики недостаточно разбираются в обеспечении безопасности приложений.
В результате атаки вредоносного ПО на рынок приложений Android затрагивает миллионы пользователей.
Эти атаки увеличиваются по количеству и силе и не уменьшаются.
Разработчики обычно сталкиваются с тем что для Android существуют обычные проблемы
Недоверие пользователей к бесплатным продуктам, загруженным из Интернета
Отсутствует формальный процесс проверки подлинности для разработчиков Android-приложений
Нет существующего доверенного корня для приложений Android
Необходимо, чтобы разработчики сохраняли контроль над закрытыми ключами в течение 25 лет,
чтобы обеспечить новые версии приложений
Неправильное управление ключами подписи оставляет их уязвимыми для потери или кражи
Это обычная тактика среди производителей вредоносных программ для Android, чтобы переупаковать законное
приложение с кодом атаки, а затем переиздайте его на рынок в надежде, что
пользователи будут путать поддельное приложение с реальным. Эти вредоносные приложения могут собирать
информацию пользователя, такую как закладки, координаты GPS и информация о телефоне.
Они также могут перемещать нежелательный контент, например, изменять домашнюю страницу браузера,
вставляя рекламу или отправляя премиальные SMS-сообщения, которые могут стоить пользователям
много денег.
Поклонникам Android нравится тот факт, что это открытая платформа разработки, которая предполагает
что разработчики могут создавать чрезвычайно богатые и инновационные приложения.
Разработчики могут свободно использовать аппаратное обеспечение устройства, местоположение доступа
информация, запуск фоновых сервисов, установка предупреждений, добавление уведомлений в статус
бар и многое другое. Однако такая открытость Android-платформы делает ее привлекательной
для создателей вредоносных программ. Когда пользователи загружают приложения, им предоставляется
длинный список разрешений для издателя приложения.
Большинство пользователей просто нажимают «Я согласен», не читая детали, которые
может облегчить загрузку вредоносного ПО вместе с приложением.
Настало время для разработчиков Android повысить осведомленность о подводных камнях
ожидая своих пользователей. В этом техническом документе мы фокусируемся на значении безопасного кода
подписание практики для создания более безопасных приложений для Android. Эти сертификаты
ключевая роль в оказании помощи разработчикам
Особенности Android и ограничения
Android - это широко распространенная программная платформа, представленная в ряде
карманные устройства, такие как Motorola Droid, Samsung Galaxy и LG HTC.
Разработчики Android имеют полный доступ к тем же API по основным приложениям.
Архитектура приложения предназначена для упрощения повторнго использования компонентов;
любое приложение может публиковать свои возможности и любое другое приложение может затем использовать
эти возможности (при условии ограничения безопасности, обеспечиваемые каркасом). Этот же механизм позволяет
использовать компоненты, подлежащие замене пользователем.
Подписание кода позволяет разработчикам идентифицировать автора приложения и
обновлять свои приложения без создания сложных интерфейсов и разрешений.
Каждое приложение, работающее на платформе Android, должно быть подписано разработчиком
в противном случае система откажет в доступе к приложению.
Приложения без подписи будет отклонено либо Google Play, либо установщиком пакета на устройстве Android.
Подпись приложения создает мост доверие между Google и разработчиком.
Разработчики уверены что их разработки переданы Android-устройству без изменений, и
свою очередь, Google подтверждает что разработчики отвечают за поведение своего приложения.
В руководстве для разработчиков представлены некоторые рекомендации по передовым методам
в безопасности приложений. К ним относятся требования для подписания заявки
и получение подходящего закрытого ключа.
Ключ должен оставаться в владение и представлять личный или корпоративный объект,
который должен быть идентифицирован с заявлением.
Ключ должен иметь срок действия, который превышает ожидаемый срок службы приложения или набора приложений.
Срок действия более 25 лет рекомендуется, и если разработчик хочет опубликовать приложение в Google
Play, 25-летний срок действия является требованием.
Процесс подписи кода требует, чтобы разработчик загрузил Android SDK
и получить бесплатную утилиту для подписи кода. Разработчик генерирует собственные
сертификат и ключи подписи хранит их локально. Ответственность за созранность и использование
лежит на разработчике, чтобы гарантировать, что ключи защищены и сохранены в безопасном
месте для 25-летнего хранения.
Важным компонентом 25-летнего требования является то, что разработчик должен
используйте тот же ключ для доступа к приложению, если он планирует делать какие-либо обновления или
обновления. Например, если пользователь загрузил версию 1.1, а разработчик
пересматривает приложение на новую версию, скажем, 1.2, тогда необходимо использовать оригинальный ключ
чтобы сделать обновление. В противном случае существующее приложение не будет перезаписано и
конечный пользователь окажется в двух разных версиях приложения.
Последствия утерянных или украденных ключей
Если ключ потерян или украден, разработчику необходимо будет создать новый ключ.
Как следствие, Android рассматривает новые версии приложений как совершенно новые, отдельные
Приложения. Версия 1.2 приложения, описанная в приведенном выше примере,
не должны быть связаны вообще с версией 1.1, и пользователям нужно будет снова загрузить приложение
чтобы продолжать использовать его.
Ключ может быть потерян многими способами: он может быть поврежден, он может быть потерян при сбое, или он
может потеряться при обновлении системы. В настоящее время единственным решением при утере ключей является
получение нового.
Если ключи украдены, приложение может заразиться вредоносным ПО, а
хакер может загружать программное обеспечение в App Store под ложными предлогами.
Последствия потерянных или украденных ключей выходят за рамки простых неудобств и
ухудшение качества обслуживания пользователей. Долгосрочный ущерб, причиненный в результате потери доверия
клиентов не только воздействует на отдельных разработчиков, но также может иметь серезное
влияние на продажи устройств Android.
Решение: DigiCert Code Signing for Android
Программные системы, приложения и мобильные сети полагаются на корневой сертификат
выдающего центра сертификации (CA) для определения действительности цифровой подпись.
Сторонний ЦС более доверен, чем самозаверенный сертификат, потому что
поставщик запроса на сертификат должен пройти процесс проверки или аутентификации.
DigiCert, мировой лидер в области служб аутентификации, предлагает DigiCert Code
сертификат для Android. Облачное решение DigiCert Code Signing для Android
использует последние достижения в решениях безопасности приложений.
Этот сервис облачный, его можно легко получить с любого устройства.
DigiCert также может безопасно хранить подписанные приложения.
Эта услуга позволяет разработчикам быть спокойным для обеспечения безопасности приложений
DigiCert предлагает безопасный портал для подписания кода для использования на
протяжении всего срока действия сертификата обеспечивая защиту ключей для подписи.
Эти добавленные уровни безопасности предназначены для серьезных разработчиков
для защиты от тех, кто распространяет вредоносное ПО.
Ключи подписи надежно сохранены и разработчики могут вернуться в портал в любое время,
чтобы повторно использовать ключ подписи, создать новый или проверить данные аутентификации существующих ключей.
Сертификат DigiCert Code Signing для Android обеспечивает аутентичность и достоверность
приложений, поскольку можно предположить, что только легальные предприятия будут
использовать сертификат для подписи приложений.
Марка DigiCert связана с брендом разработчика, помогая обеспечить безопасный пользовательский интерфейс.
С открытым исходным кодом платформы разработки Android, призывая к
разработчиков по понятным причинам побуждают дебаты в сфере безопасности о
действительно ли профессионалы перевешивают минусы. Apple iOS менее открыта, требуя
что можно загрузить только программное обеспечение с определенным кодом. Критики Android
указывают на растущие экземпляры вредоносных программ и настоятельно рекомендуют, чтобы платформа
внесла некоторые изменения.
Программное обеспечение, загруженное через мобильные сети - с или без знания - всегда будет представлять опасность.
В традиционных продажах программного обеспечения покупатель может
подтвердить источник заявки и ее целостность, изучив упаковку.
DigiCert Code Signing for Android создает цифровую «термоусадочную пленку», которая показывает
источник кода и подтверждает, что он не был изменен с момента подписания.
DigiCert предоставляет разработчикам Android дополнительную безопасность с фирменной сертификацией,
а также убедить конечных пользователей в том, что их приложения безопасны.