Что такое бэкпорт (backporting)?

Бэкпорт (Backporting) — это когда исправление или обновление программного обеспечения берется из последней версии программного обеспечения и применяется к более старой версии того же программного обеспечения.

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

Как работает бэкпорт?

Backporting — это общий термин для любого действия, которое применяет обновления или исправления из более новой версии программного обеспечения к более старой версии.

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

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

Процесс бэкпортирования

Бэкпортирование — это многоэтапный процесс. Здесь мы приведем основные шаги по разработке и развертыванию бэкпорта:

1. Определите недостаток безопасности в версии программного обеспечения, для которого требуется исправление или обновление.

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

3. Адаптируйте модификацию, чтобы она была совместима со старой версией кода.

4. Проведите надежное тестирование, чтобы убедиться, что бэкпортированный код или пакет бэкпорта поддерживает полную функциональность в рамках ИТ-архитектуры, а также устраняет основную уязвимость безопасности.

5. Устраните любые нежелательные побочные эффекты, выявленные на предыдущем шаге.

6. Разверните портированный патч.

Кто отвечает за бэкпортирование?

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

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

Подходит ли бэкпортирование для управления уязвимостями?

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

Ниже мы рассмотрим распространенные проблемы и соображения по бэкпортированию.

Долгосрочные расходы на поддержку и техническое обслуживание

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

Например, Python 2.7.18 был последним официальным выпуском Python 2. Чтобы оставаться в курсе обновлений безопасности и продолжать пользоваться всеми новыми разработками, которые может предложить Python, организациям необходимо было перейти на Python 3 или начать замораживать требования и переходить к долгосрочной поддержке. Многие команды по обработке данных столкнулись именно с этой дилеммой.

Побочные эффекты бэкпортирования

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

Дополнительные последствия для безопасности и уязвимости

Backporting — это распространенный метод устранения известной ошибки в ИТ-среде. В то же время использование устаревшей кодовой базы создает другие потенциально важные последствия для безопасности организаций. Использование старого или устаревшего кода может привести к появлению слабых мест или уязвимостей в вашей среде.

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

Путаница в нумерации

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

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

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

Компания Mainton - разработка и тестирование программного обеспечения под заказ, SEO и реклама в интернете с 2004 года.

ПЕНТЕСТ БЕЗОПАСНОСТЬ ВАС ВЗЛОМАЛИ? ВАКАНСИИ