LIVE

Срок исправления уязвимостей в приложениях: что на него влияет

Срок исправления уязвимостей мобильных приложений нельзя вывести из единой отраслевой таблицы. Универсального обязательного дедлайна для всех приложений найденные источники не устанавливают.

Обновлено11 ноября 2026 г.
Чтение9 мин
Срок исправления уязвимостей в приложениях: что на него влияет

Конкретные сроки задаёт политика организации, а приоритет зависит от серьёзности проблемы и риска для пользователей.

Это оставляет разработчикам свободу, а пользователям и заказчикам — повод не верить обещаниям в духе «исправим оперативно». Без шкалы приоритетов, назначенного ответственного и контроля сроков такая оперативность обычно существует только в презентации. Технически исправление проходит несколько этапов: уязвимость нужно подтвердить, оценить, устранить или временно снизить риск, проверить изменение и довести его до пользователей. На каждом этапе возможна задержка.

Почему у приложений нет общего дедлайна

Уязвимость — не готовый тикет с заранее напечатанным сроком. Сначала нужно понять, что именно она позволяет сделать, какие данные затрагивает и насколько реалистична атака. Одинаковая ошибка в разных контекстах может иметь разную серьёзность. Например, доступ к чувствительным данным или функциям способен поднять риск; в качестве примера высокой серьёзности в политике Google приводится возможность украсть средства другого пользователя.

Решение зависит и от обстоятельств эксплуатации. Android Open Source Project указывает, что оценка серьёзности может меняться с учётом привилегий, необходимых атакующему, ограничений воздействия и защит платформы или компилятора. Это не формальная скидка за наличие защитных механизмов: команда должна установить, насколько они действительно мешают атаке в конкретной конфигурации.

Дальше включается внутренняя политика. Организация определяет уровни серьёзности, максимальные сроки исправления для каждого уровня и порядок эскалации. AWS рекомендует задавать такие максимальные сроки по уровням и отслеживать соблюдение SLA. Само наличие документа ещё ничего не гарантирует. Если у критической находки нет владельца, может быть нарушен отдельный срок его назначения. Но это само по себе не доказывает, что истёк срок исправления: его оценивают отдельно, по правилам организации.

На время устранения уязвимости в приложении влияют несколько практических факторов:

  • Масштаб воздействия. Ошибка, открывающая доступ к чувствительным пользовательским данным или критичной функции, требует более высокого приоритета, чем проблема с ограниченным эффектом.
  • Условия атаки. Значение имеют привилегии, которые нужны атакующему, и ограничения, мешающие использовать дефект.
  • Архитектура продукта. Команде нужно определить, где находится причина: в мобильном клиенте, серверной части, библиотеке или настройках. Без этого легко выпустить патч не туда.
  • Возможность снизить риск до полноценного исправления. Иногда политика допускает временные меры, если они действительно ограничивают воздействие. Это не равнозначно устранению первопричины.
  • Процесс выпуска. Исправление нужно подготовить и проверить. Для мобильного продукта выпуск версии и её установка на устройства — разные события; сам факт опубликованного патча не доказывает, что все пользователи уже получили защиту.
Срок зависит от того, как организация оценивает риск и разделяет этапы работы: назначение владельца, исправление, проверку и выпуск.

Что показывают сроки Google

Политика Google даёт конкретный пример внутренней модели, но не устанавливает нормы для всей отрасли. В ней сроки зависят от серьёзности проблемы, а назначение владельца учитывается отдельно от срока исправления.

Уровень проблемыСрок исправления или снижения рискаСрок назначения владельца
КритическийКак можно скорее, максимум 3 рабочих дняВ течение 8 часов
Высокий10 рабочих днейВ течение 1 рабочего дня
Средний20–40 рабочих днейВ течение 5 рабочих дней

Разница между критическим и средним уровнем — не бюрократическая прихоть. Она отражает ожидаемый риск и допустимое время реакции в конкретной системе управления уязвимостями. В случае критической проблемы политика требует сначала максимально быстро исправить её или снизить риск. Для средней отводится более длинный диапазон. Из этих значений нельзя заключить, что любое мобильное приложение обязано выпускать критический патч за три дня, а средний — за месяц. Это ориентир одной организации, не универсальный SLA.

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

Критично и то, как политика трактует «исправление». Если риск временно снижен, это может закрыть срочную часть задачи, но не обязательно устраняет дефект в коде. Без ясного статуса легко получить удобную для отчёта формулировку: проблема «обработана», хотя уязвимый компонент всё ещё требует полноценного изменения. Поэтому трекер должен различать как минимум подтверждение проблемы, временное снижение риска, готовность исправления и выпуск патча.

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

Ответственный и SLA: две отдельные задачи

Назначение владельца — самостоятельный срок, а не административная мелочь. Пока никто персонально не отвечает за уязвимость, размываются решение о приоритете, сроки и коммуникация между командами. Разработчики ждут подтверждения от безопасности, безопасность ждёт владельца сервиса, а тикет перемещается между очередями. Уязвимость от этого не становится менее пригодной для эксплуатации.

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

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

Контроль SLA нужен не ради отчёта о дисциплине. Он показывает, где застревают исправления. Например, компания может укладываться в срок разработки патча, но затягивать его проверку или выпуск. Если измерять только время от создания тикета до отметки «закрыто», задержки на отдельных этапах останутся невидимыми.

Практичная политика обычно отвечает на несколько вопросов:

1. Кто определяет серьёзность? Нужны критерии оценки и понятный способ пересмотра, если появляются новые сведения о влиянии проблемы.

2. Кто владелец задачи? Ответственный должен появиться быстро; для критических проблем в примере Google на это отводится 8 часов.

3. Что считается временным снижением риска? Мера должна ограничивать воздействие и иметь срок действия, иначе «временно» станет постоянным состоянием.

4. Как отслеживаются дедлайны? Для каждого уровня серьёзности задают максимальный срок и контролируют его соблюдение, как рекомендует AWS.

5. Что происходит при срыве? Нужна эскалация, а не тихий перенос даты в трекере.

Нельзя сводить оценку работы команды к одной цифре «среднее время исправления». Среднее может скрыть критические задачи, которые зависли, и показать благополучную картину за счёт большого числа закрытых проблем с низким риском. Для управления безопасностью важны распределение по серьёзности, просрочки и видимые этапы жизненного цикла каждой находки. Отдельный показатель по назначению ответственного помогает понять, не теряются ли уязвимости ещё до начала ремонта.

Раскрытие уязвимости — не срок выпуска патча

В разговорах о дедлайнах часто смешивают внутренний SLA исправления и срок публичного раскрытия. Это разные процессы. Google Project Zero описывает 90-дневный период до раскрытия уязвимости. Если до его окончания поставщик сообщает о выпуске патча в следующие 14 дней, раскрытие может быть отложено до доступности патча.

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

Путаница опасна в обе стороны. Команда может ошибочно воспринимать период раскрытия как разрешённую отсрочку. Пользователь, наоборот, может принять дату публичного сообщения за дату, когда все устройства защищены. Между выпуском исправления и его фактическим попаданием на устройство есть отдельный процесс обновления.

Выпущенный патч ещё не означает защищённое устройство

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

Страница Apple Security Releases перечисляет опубликованные обновления безопасности и поддерживаемые устройства. Она помогает проверить фактический график выпусков Apple, но не задаёт единый срок исправления уязвимостей в сторонних приложениях. По ней нельзя вывести гарантию, когда конкретный разработчик выпустит патч или когда его получат все пользователи.

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

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

Графики Apple полезны как пример того, что даже крупный поставщик отдельно публикует сведения об обновлениях и поддерживаемых устройствах. Но стороннему разработчику этого недостаточно: ему нужно видеть путь своего обновления от готовности до установки. Если продукт зависит от сервера, часть риска может снижаться изменениями на серверной стороне. Если исправление находится в клиенте, обновление должно пройти путь до устройства. В обоих случаях дата завершения разработки не равна дате, когда пользователи перестали подвергаться риску.

Как задавать сроки без самообмана

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

Затем нужно проверять, что команда считает закрытием задачи. Временное снижение риска, исправленный код и установленный пользователями патч — разные состояния. Если они сведены к одной отметке, SLA выглядит лучше, чем защищённость продукта.

У модели Google есть полезный практический урок: дедлайн на исправление и срок назначения владельца заданы отдельно. У AWS — другой важный акцент: максимальные сроки устанавливают для каждого уровня и отслеживают. Но конкретные значения остаются выбором организации. Их нужно соотносить с риском, архитектурой и возможностями выпуска, а не копировать из чужой таблицы.

Для политик безопасности это означает следующее:

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

Срок исправления уязвимости — показатель качества процесса, а не обещание, что приложение станет безопасным к заданной дате. Если владелец не назначен, это повод проверить отдельный срок назначения и порядок эскалации. Сам дедлайн на исправление при этом оценивают отдельно. Без прозрачных этапов и контроля установки патча цифра в SLA остаётся строкой в документе, а строка в документе эксплойту не мешает.

Частые вопросы

Есть ли единый срок исправления уязвимостей в мобильных приложениях?
Нет. Универсального обязательного дедлайна для всех приложений нет: конкретные сроки устанавливает организация, учитывая серьёзность проблемы и риск для пользователей.
Какие сроки исправления уязвимостей использует Google?
В приведённой политике Google для критических проблем указано исправление или снижение риска как можно скорее, максимум за 3 рабочих дня; для высоких — за 10 рабочих дней, для средних — за 20–40 рабочих дней. Это пример политики одной организации, а не отраслевой стандарт.
Отличается ли срок назначения ответственного от срока исправления уязвимости?
Да. Это отдельные сроки: например, в политике Google владельца критической проблемы назначают в течение 8 часов, а срок исправления или снижения риска учитывают отдельно.
Означают ли 90 дней на раскрытие уязвимости, что патч можно выпускать через три месяца?
Нет. Описанный Google Project Zero 90-дневный период относится к публичному раскрытию, а не к внутреннему сроку исправления. Если поставщик сообщает о выпуске патча в следующие 14 дней, раскрытие может быть отложено до его доступности.
Когда выпущенный патч защищает пользователей мобильного приложения?
Сам факт публикации патча не означает, что его установили все пользователи. Нужно учитывать отдельные этапы: подготовку и проверку исправления, выпуск версии и её установку на устройства.