Как стать автором
Обновить
127.29
Swordfish Security
Информационная безопасность, DevSecOps, SSDL

Защита персональных данных в мобильных приложениях: как не нарушить закон

Время на прочтение12 мин
Количество просмотров2.8K

Всем привет! На связи снова Юрий Шабалин, генеральный директор «Стингрей Технолоджиз». В предыдущей статье я рассказывал о влиянии Профиля защиты ЦБ РФ на мобильные приложения. В продолжение темы российского законодательства сегодня разберем, под какие еще требования попадают приложения, насколько законно хранить персональные данные на смартфоне в открытом виде и попадает ли мобильное ПО под действие Федерального закона "О персональных данных" (152-ФЗ) и подзаконных актов по теме защиты ПДн? Постараюсь разъяснить всё максимально понятно.

Как обычно, для начала разберемся в терминологии, используемой в нормативных документах:

  • Что такое персональные данные (ПДн)?

  • Что такое обработка ПДн?

  • Как и где осуществляется обработка? 

  • И, наконец, каково участие мобильных приложений в этом процессе?

Затем приведем пару примеров из практики и подведем итоги. Ну и, раз мы говорим про законодательство, отдельно поговорим об ответственности компаний по защите цифровых продуктов.

Поехали!

Введение

Все эти вопросы появились совсем не просто так. Занимаясь аудитом мобилок, мы каждый день анализируем множество самых разных приложений. И очень часто встречаем в них хранение персональных данных пользователя в открытом виде. Конечно, формально эти данные содержатся во внутреннем хранилище и защищаются средствами операционной системы, только это не является панацеей. Да и более того, несмотря на призрачную «защищенность», эти сведения всё равно хранятся в открытом виде. Хочется понять, считается ли это обстоятельство нарушением с точки зрения законодательства? Или все-таки мобильные приложения в вопросах безопасности обходят стороной? 

Я не претендую на истину в последней инстанции, и у меня не так много опыта в этом вопросе. Поэтому, если у вас есть информация и материалы, которыми можно дополнить размышления из этой статьи, пожалуйста, не стесняйтесь писать комментарии, ведь истина рождается в споре.

Законодательство и требования

Для начала вспомним, что же из себя представляют персональные данные и зачем мы на каждом шагу соглашаемся с их обработкой. Конечно, эта тема уже много где обсуждалась, поэтому пройдемся кратко:

«Персональные данные — это любая информация, относящаяся прямо или косвенно к определенному или определяемому физическому лицу (субъекту персональных данных)» (152-ФЗ)

Грубо говоря, любая информация, которая позволяет однозначно идентифицировать человека, является ПДн. На примере ФИО: ФИО и номер телефона, ФИО и адрес электронной почты и другие сочетания имени и уникального идентификатора.

Второй важный момент — это понятие «работа с ПДн» или «обработка ПДн». Это такие операции, как сбор, запись, систематизация, накопление, хранение, уточнение, использование, передача, обезличивание, блокирование, удаление и уничтожение. По сути, обработкой ПДн являются любые действия с набором данных, которые подпадают под определение персональных. Как следствие, согласно закону 152-ФЗ части 1 статьи 1, любой процесс обработки ПДн должен осуществляться в соответствии с законодательством. Это относится и к юридическим, и к физическим лицам. А также к любой обработке, хоть полностью автоматизированной, хоть ручной, хоть вам только спросить. Отмечу первый важный момент: оговорок и уточнений об исключении норм закона для мобильных приложениях в 152-ФЗ нет. 

Едем дальше.

Согласно 152-ФЗ, есть два способа обработки ПДн:

  • Без использования средств автоматизации (или «неавтоматизированная обработка») — при непосредственном участии человека;

  • Автоматизированная обработка — с помощью СВТ (средств вычислительной техники). Это компьютеры, телефоны и другие электронные устройства, базы данных, криптографические средства защиты, программы, скрипты. 

В приказе Роскомнадзора от 30.05.2017 № 94 указан еще один вид обработки – смешанная. Официального термина у нее нет – по сути, это что-то между автоматизированной и неавтоматизированной обработкой.

В общем, обрабатываем ПДн мы в электронном виде или на бумаге. Если в электронном виде, то либо с участием человека, либо без его непосредственного участия.

Мобильные приложения с точки зрения закона

С персональными данными и видами их обработки разобрались. Теперь давайте узнаем, что есть мобильное приложение с точки зрения законодательства РФ? 

К моему большому сожалению, такого термина, как «мобильное приложение», в основном Федеральном законе от 27.07.2006 N 149-ФЗ "Об информации, информационных технологиях и о защите информации" нет (да и других тоже). Но по смыслу, мобильные приложения вполне попадают под имеющийся в этом законе термин «информационная система» (совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств).

Что еще есть в 149-ФЗ? Рядом с упоминанием информационной системы по тексту везде встречается «программа для электронных вычислительных машин». Термина в законе нет, но из ГОСТ Р ИСО/МЭК ТО 12182-2002. «Информационная технология. Классификация программных средств» можно сделать вывод, что программные средства – это любое системное, прикладное, инструментальное ПО, в том числе и мобильное приложение.

Ну и еще немного из российского законодательства. Есть у нас в Гражданском кодексе статья «1261. Программы для ЭВМ». Из нее следует, что «программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения».

Ну что, кажется, на этом можно завершать поиск термина «мобильное приложение» и приближаться к выводам. Мобильное приложение в рамках нашего законодательства ничем не отличается от обычного «приложения», будь то Web, десктоп, серверная часть или любое другое ПО. А значит, на него распространяются все регуляторные документы и требования, которым обязаны соответствовать привычные сердцу безопасника продукты. И если в «мобилке» присутствуют персональные данные пользователя, то она должна соответствовать требованиям регулятора по их обработке. 

Мобильное приложение может собирать данные пользователя. Например, они автоматически передаются на серверную сторону во время регистрации и могут быть закэшированы/сохранены на клиенте. Также они собираются, если после регистрации на устройстве сохраняются сведения о пользователе в открытом виде. Тут не участвует человек – это автоматизированная обработка. А если, например, пользователь в чате передает оператору свои данные, и тот вводит их в систему для проверки или регистрации заявки –  это уже неавтоматизированная или смешанная обработка, так как помимо программной составляющей присутствует еще и человек. Таким образом, при любом виде обработки ПДн в «мобилке» нужно соответствовать требованиям регулятора по защите этих данных.

Какие требования применяются к приложениям?

Плавно перейдем к более сложной (по крайней мере для меня) теме. Посмотрим, какие именно требования применяются к программам для ЭВМ, которые работают с персональными данными граждан РФ. Нормативных документов с условиями по защите ПДн больше сотни. Отметим ключевые:

  • Основа, регулирующая главные аспекты персональных данных – знакомый всем «Федеральный закон №152-ФЗ О персональных данных», который распространяется на любые организации, обрабатывающие ПДн;

  • Постановление Правительства РФ от 01.11.2012 N 1119 «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных», объясняющее, как определить и реализовать необходимые меры защиты данных;

  • Конкретные меры по защите ПДн установлены в «Приказе ФСТЭК России от 18.02.2013 N 21». В основном эти меры выполняются за счет реализации конкретной функциональности в приложении или посредством применения средств защиты информации (сертифицированных ФСТЭК России);

  • Приказ ФСБ России от 10.07.2014 N 378, в котором устанавливается необходимость применения сертифицированной ФСБ России криптографии;

  • В случае, если мобильное приложение является подсистемой ГИС (Государственная Информационная Система), то дополнительно применяются меры приказа ФСТЭК №17. Они практически такие же, как в вышеупомянутом приказе ФСТЭК № 21.

Согласно этим документам, при создании приложений (и мобильных, в том числе), разработчики должны соблюдать следующие принципы защиты информации:

  1. Сбор и хранение персональных данных только с согласия субъекта;

  2. Ограничение обработки ПДн целями, для которых они были собраны;

  3. Обеспечение безопасности персональных данных от несанкционированного доступа, уничтожения, изменения, блокирования и распространения;

  4. Соблюдение политики конфиденциальности при передаче персональных данных третьим лицам;

  5. Регулирование трансграничной передачи ПДн законом 152-ФЗ (ст.12);

  6. При использовании внешних сервисов аналитики: обеспечение гарантии того, что ПДн не передаются в иностранные государства и пользователи уведомлены (и согласны) о такой цели обработки данных.

Также в конец статьи я добавлю несколько ГОСТ-ов, в которых есть отсылка к мобильным приложениям. Возможно, кому-нибудь они станут интересны для дальнейшего изучения.

Какая ответственность?

Сейчас есть административная и уголовная ответственность за нарушения при обработке и защите ПДн. В нашем случае – статья 13.11 КоАП РФ (обработка ПДн без основания, в зарубежных базах данных, отсутствие опубликованной политики обработки и защиты ПДн), ч. 2,6 ст. 13.12 КоАП РФ (нарушение требований о защите), ст. 137 УК РФ (собирание и распространение сведений о частной жизни ФЛ без его согласия). Сейчас разброс штрафов и ответственности варьируется от пары тысяч до 6 миллионов рублей (с рецидивом и того больше). Однако скоро законодатели планируют принять оборотные штрафы за утечки ПДн – там штрафы будут составлять до нескольких сотен миллионов рублей.

Поправки к ст. 13.11 КоАП («Нарушение персональных данных») повышают действующие сейчас штрафы. Если произошла утечка данных от 1000 до 10 000 субъектов ПДн, штраф для юрлиц составляет от 3 до 5 млн рублей, за утечку данных 10 000–100 000 субъектов — от 5 до 10 млн, более 100 000 граждан — от 10 до 15 млн рублей. За повторные утечки бизнесу могут грозить оборотные штрафы: от 0,1 до 3% выручки за календарный год или за часть текущего года, но не менее 15 млн и не более 500 млн рублей. Получается, чем меньше данных, тем спокойнее. Но есть вариант лучше и безопаснее – выстроить защиту обрабатываемых данных.

Основные проблемы хранения данных в приложениях

В рамках статьи я рассмотрю три сценария, которые в нашей практике встречаются чаще всего:

  • Хранение персональных данных пользователя приложения в открытом виде;

  • Хранение персональных данных разработчиков в открытом виде;

  • Передача персональных данных в сторонние сервисы (сервисы аналитики).

Эти три пункта напрямую относятся к перечисленным выше правилам работы с ПДн, и я попробую показать, насколько иногда в мобильных приложениях они не соблюдаются.

Персональные данные пользователя мобильного приложения

Первое, с чего мы начнем, это данные, которые мобильное приложение собирает во время регистрации или получает с сервера в момент аутентификации пользователя. Эта информация хранится в дальнейшем на устройстве.

Анализируем первое установленное приложение. Проходим процедуру аутентификации и наблюдаем, что же происходило с нашими персональными данными на устройстве. Для начала, мы видим их в сетевом трафике приложения, когда оно получает информацию о нашем аккаунте:

Далее ищем во всех данных программы, где же еще встречаются наши ПДн. А вот и они – в приложении не реализована очистка кэша сетевых запросов: 

Но из названия видно, что этот дефект был найден на основе ранее выявленных проблем. Первая из них, как мы уже знаем, это передача ПДн по сети, а что же со вторым срабатыванием? А это перехват запросов в SQL выявил несколько крайне интересных строк, которые попадают в базу данных в открытом виде:

И, на самом деле, в этой базе содержится еще очень много интересного: серия и номер паспорта, ФИО, дата рождения и другие данные. И да, они никак не скрыты, что в сетевом cache, что внутри БД. Получается, что приложение загрузило с сервера наши ПДн и сохранило их локально себе без какого-либо шифрования или маскирования. 

Но, может быть, это единичный случай и не всё так страшно? Хорошо. Возьмем приложение из другой категории, пусть это будет iOS. Заглянем во внутреннюю директорию, что же там хранится? 

И снова ФИО, но теперь уже почта в качестве второго фактора. Персональные данные также в открытом виде, сохранены и используются приложением. 

А что, если заглянуть в SharedPreferences приложения на Android или в NSUserDefaults в iOS, стандартные механизмы хранения данных для приложений на этих операционных системах. Может там найдется что-нибудь интересное? Конечно, да, многие приложения хранят информацию, используя именно этот механизм, предоставляемый системой:

Если чуть более подробно посмотреть на этот файл, то становится немного не по себе (часть данных намеренно замаскирована, в приложении они все были в открытом виде):

<?xml version="1.0" encoding="utf-8"?>
<map>
  <string name="client_id">6***90</string>
  <string name="pin_code">7**1</string>
  <string name="user_login">yshabalin</string>
  <string name="user_middle_name">Д*******ч</string>
  <string name="user_email">yshabalin@stingray-mobile.ru</string>
  <string name="user_id">128**74</string>
  <string name="pref_token">c6e1b82d49f41d647*******7e944c829e2c2533065ff6c7b8f2f0aa</string>
  <string name="user_last_name">Ша***ин</string>
  <string name="user_first_name">Юрий</string>
  <string name="user_phone">916*****78</string>
</map>

Существует мнение, что данные, которые хранятся во внутренней директории приложения (в песочнице) недоступны другим программам. К большому сожалению, это не всегда так. Получить приватные файлы в общем случае действительно нельзя, но если в приложении допущена ошибка (как минимум одна из семи), то файлы уже не настолько недоступны. В дополнение к этому в самой операционной системе присутствуют ошибки, которые позволяют получать данные из песочницы. Особенно сильно этому способствует фрагментация Android. Взять хотя бы Samsung и Xiaomi: в их приложениях обнаружилось огромное количество ИБ-проблем, часть из которых позволяла читать внутренние файлы. И, конечно, не стоит забывать о различных резервных копиях, локальных и облачных – из них тоже можно достать данные. Так что не стоит считать защиту средствами самой ОС серебряной пулей.  Никто и ничто не может обеспечить безопасность хранения данных лучше самих разработчиков. 

И это всего лишь несколько примеров приложений из разных категорий, которые оперируют нашими персональными данными и никак их не защищают. 

Данные разработчиков мобильного приложения

Следующая интересная тема – попадание данных разработчиков приложения в релизную сборку. Это немного пограничная зона для законодательства, так как, с одной стороны, при поступлении на работу сотрудник давал согласие на обработку (в данном случае «распространение», а давал ли?) своих ПДн. А с другой стороны, эти данные становятся известны широкому кругу лиц. И «утекают» эти сведения именно из приложения компании. Особую пикантность представляют случаи, когда программы разрабатываются компанией-подрядчиком, и данные фирмы-аутсорсера в итоге оказываются в релизной сборке. Тут уже вопросов чуть больше. 

Даже не являясь юристом или адским профи в вопросах ПДн, после прочтения многих документов и законов я убежден, что так делать не очень хорошо. Подобное отношение к данным сотрудников может привести к штрафам, судебным разбирательствам, сбору законодательной базы и другим не очень приятным последствиям. А это отнимает много времени, которое компания могла бы потратить на выпуск нового функционала.

Или другой пример – оставленные в коде файлы сборки приложения (Pod файл для iOS-сборки), в которых указаны (помимо всех используемых библиотек), телеграм-аккаунты нескольких сеньор-разработчиков с просьбой не менять этот файл сборки без их согласования. В этом случае информация, конечно, не является частью ПДн, но все равно достаточно чувствительная. К очень большому сожалению, визуального примера у меня не осталось, а проблему коллеги уже исправили, за что им большое спасибо.

Персональные данные в сервисах аналитики

Достаточно часто мобильные приложения используют сервисы аналитики для отслеживания состояния приложений, сбора информации о действиях пользователя, падениях ПО и др. И часто в передаваемых данных содержится информация о пользователе, его ФИО, номер телефона, уникальный идентификатор в системе и т.д. А ведь это передача ПДн третьей стороне, и компания обязана уведомлять пользователя о том, что его данные передаются не только в приложение, но еще и в сторонние сервисы. 

А вот и другой вопрос: какая из систем аналитики распространена больше всего? По моим наблюдениям, сейчас лидирует две компании: Яндекс-метрика и сервис аналитики Firebase. Если с первым всё понятно, то второй вызывает вопросы. Я честно искал, где Firebase хранит данные российских пользователей, но однозначного ответа пока что так и не нашел. Если у вас есть информация, что Firebase хранит данные российских пользователей внутри страны, напишите об этом, пожалуйста, в комментариях. В противном случае – это уже трансграничная передача персональной информации, и нужны более строгие правила, которым компания обязана соответствовать. 

Приведу несколько примеров, чтобы не быть голословным. Возьму сервис Firebase и файлик keys, используемый в библиотеке Crashlytics для хранения ключей пользовательских данных, которые могут быть полезны при анализе сбоев и ошибок приложения. В контексте Crashlytics, "ключи" (или "custom keys") представляют собой пары "ключ-значение", которые разработчики могут добавлять к отчетам о сбоях для предоставления дополнительной информации. Эти ключи помогают разработчикам понять контекст, в котором произошла ошибка. Они включают такие данные, как статус приложения, информация о пользователе или любые другие релевантные сведения. То есть, эти данные отправляются вместе с аналитикой:

Конечно, это не полное ФИО, но всё равно вызывает вопросы. 

Теперь посмотрим на библиотеку com.github.kean.logger, которая является частью набора инструментов для логирования, включающего такие библиотеки, как Pulse, Logger и другие. Они предоставляют средства для логирования и анализа данных во время разработки и отладки мобильных приложений. Как правило, совместно с этой библиотекой используется и аналитика от того же автора:

В данном случае собранными оказались мои логин (в виде номера телефона) и email-адрес. Эти сведения также являются частью персональных данных и не должны храниться в открытом виде. Тут, конечно, можно поспорить, но тем не менее, факт остается фактом.

Вывод

Сфера регулирования обработки и защиты персональных данных пользователя очень обширна, требований огромное количество, регуляторов тоже достаточно (Федеральные законы, постановления Правительства, Роскомнадзор, ФСТЭК, ФСБ, отраслевые требования у ЦБ РФ, Минздрава и пр.). И в ключевом вопросе “быть или не быть защите ПДн в мобилках”, сомнений оставаться не должно. 

На мой взгляд, компаниям следует уделять большее внимание тому, что происходит в приложениях, которые они разрабатывают, даже если не в разрезе безопасности (хотя и ей обязательно нужно заниматься), то хотя бы с точки зрения хранения данных пользователя и их передачи в сторонние сервисы. Ведь мы не знаем, как скоро регуляторы обратят пристальное внимание на мобильные приложения. И к этому моменту нужно быть готовым и уверенным в том, что ваш продукт точно не хранит ПДн в открытом виде и уж точно никуда их не передает. Ну а наша платформа с радостью поможет в этом!

Будьте в безопасности и до новых встреч!

Теги:
Хабы:
Всего голосов 2: ↑2 и ↓0+2
Комментарии9

Публикации

Информация

Сайт
swordfish-security.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
Andrey Krasovskiy