Получить консультацию по Solar appScreener

Если организация работает с данными банковских карт (собирает, обрабатывает, передает), то обязана соблюдать требования стандарта PCI DSS (Payment Card Industry Data Security Standard). Одно из них — регулярный мониторинг безопасности используемого программного обеспечения, проведение тестирований на уязвимости, своевременные обновления, кастомизация под актуальные бизнес-задачи и др. В свою очередь, разработчики также должны следовать требованиям отраслевых регуляторов и стандарта PCI DSS, касающимся повышения уровня надежности продуктов. В статье рассказываем, какие проблемы безопасности ПО угрожают конфиденциальности данных платежных карт, что предпринять для их обнаружения и устранения.

Что такое PCI DSS

PCI DSS (Payment Card Industry Data Security Standard) — стандарт безопасности данных банковских карт, созданный международной организацией, куда вошли крупнейшие платежные системы: MasterCard, Visa, Discover и др. Есть разные версии стандарта, и требования в них могут различаться. Самые актуальные — 4.0 (2022 год) и 4.0.1 (2024 год). Они устанавливают строгие требования к организациям, которые так или иначе взаимодействуют с данными карт. Это платежные сервисы, финансовые учреждения, магазины и компании, принимающие безналичную оплату. Ключевые цели стандарта:

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

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

Влияние требований PCI DSS на безопасность кода ПО

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

Какие меры диктует стандарт безопасности PCI DSS в части повышения надежности ПО:

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

Также стандарт безопасности PCI DSS диктует необходимость регулярного контроля безопасности программных продуктов, которые уже запущены в эксплуатацию.

требования стандарта pci dss

Основные уязвимости ПО, которые затрагивает стандарт безопасности данных платежных карт

Какие уязвимости приложений и систем могут привести к утечке или несанкционированному использованию платежной информации:

  • Ненадлежащее хранение данных карт, слабое шифрование или его отсутствие.
  • Уязвимости, возникающие из-за использования ненадежных open-source-библиотек.
  • Слабая аутентификация в приложениях и системах.
  • Проблемы в части управления доступом к функциям ПО и данным.
  • Некорректно работающие функции ПО, которые могут привести к утечке конфиденциальной информации.

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

Самые распространенные методы анализа кода для обеспечения соответствия стандарту PCI DSS для платежных карт

Для проверки безопасности ПО лучше совмещать несколько методов: статическое тестирование — Static Application Security Testing (SAST), динамический анализ — Dinamic Application Security Testing (DAST), исследование сторонних компонентов — Open Source Analysis (OSA). Рассказываем, как выполняются эти проверки, когда их можно внедрять.

SAST

Статический анализ — один из распространенных методов, который применяется для контроля соответствия Payment Card Industry Data Security Standard. Его можно внедрять с первых этапов разработки, когда другие виды тестирования еще неэффективны.

Особенности SAST:

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

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

Можно ли применять SAST-анализ, если доступа к исходному коду нет, например, когда ПО наследованное и разрабатывалось давно? Да, если использовать анализатор Solar appScreener, который благодаря применению технологии реверс-инжиниринга восстанавливает исходник из исполняемых файлов.

В Solar appScreener также есть технология Fuzzy Logic Engine, позволяющая нивелировать главный минус статического анализа — False Positive (FP). Это ложноположительные срабатывания — в этом случае анализатор принимает истинные условия за уязвимости. FP не несут прямой угрозы, но вынуждают тратить ресурсы на дополнительную проверку участков кода, из-за чего растут риски пропустить реальные проблемы безопасности.

тестирование ПО на соответствие стандарту PCI DSS

DAST

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

Особенности динамического анализа:

  • Тестирование без доступа к исходному коду и глубокого погружения в структуру программы.
  • Проверка готовых программ и ПО на завершающих стадиях разработки.
  • Анализ в тестовой среде, позволяющий избежать рисков компрометации данных.
  • Меньшее количество False Positive, чем при статическом анализе.

DAST можно автоматизировать с помощью анализатора Solar appScreener. В платформе реализованы три сканера для выбора режима имитированной атаки, технология AJAX-запросов для проверки работы кнопок и форм в приложениях, инструменты фаззинга для тестирования ПО на неожиданный вход.

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

OSA

OSA — анализ надежности open-source-компонентов и оценка целесообразности их внедрения в ПО. Какие методы используются:

  • Software Composition Analysis (SCA) — обнаружение заимствованных компонентов в коде приложения, выявление проблем безопасности и закладок в open-source-библиотеках, снижение рисков ИБ из-за использования стороннего кода.
  • Оценка лицензионных рисков Open Source — обнаружение устаревших лицензий, несовместимых лицензий разных компонентов одного программного продукта.
  • Supply Chain Security (SCS) — контроль безопасности open-source-компонентов с момента их выпуска до эксплуатации в разработке. В ходе анализа каждому звену цепочки поставок присваивается оценка доверия на базе таких критериев, как авторский состав библиотеки, дата создания первой версии, популярность, активность сообщества и др.

Все эти виды анализа можно интегрировать уже с первых этапов разработки с помощью платформы Solar appScreener. Для тестирования нужно загрузить в анализатор SBOM-файл или архив с исходным кодом. После проверки Solar appScreener сформирует подробный отчет с перечнем зависимостей и проблем безопасности Open Source, рекомендациями по повышению уровня надежности ПО и обеспечению соответствия требованиям стандарта PCI DSS.

Преимущества Solar appScreener — многофункционального решения для проверки соответствия ПО стандарту безопасности данных платежных карт

Платформа Solar appScreener — лидер среди отечественных решений аналогичного класса благодаря поддержке большого количества языков программирования (36 языков) и форматов исполняемых файлов (10 форматов). В ней реализованы все необходимые инструменты для проведения статического/динамического анализа и контроля безопасности Open Source, поэтому она подходит для всестороннего контроля безопасности ПО.

Особенности, которые делают платформу Solar appScreener удобной для проверки соблюдения требований Payment Card Industry Data Security Standard:

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

В качестве отдельного преимущества стоит отметить, что анализатор Solar appScreener сертифицирован ФСТЭК России, входит в реестр отечественного ПО, подходит для импортозамещения.

соблюдение стандарта PCI DSS

ЗАКЛЮЧЕНИЕ

Учитывать стандарт PCI DSS (Payment Card Industry Data Security Standard) должны все создатели программных продуктов и организации, которые работают с данными банковских карт. Залог соблюдения требований — регулярный комплексный контроль безопасности ПО. Он подразумевает использование различных методов анализа кода — таких как SAST, DAST и OSA. Все инструменты для их интеграции реализованы в отечественном сертифицированном анализаторе Solar appScreener, который можно протестировать бесплатно.

ДРУГИЕ СТАТЬИ ПРОДУКТА

Еще больше о наших возможностях

Анализ безопасности ПО методом черного ящика (Black Box Testing)

Анализ безопасности ПО методом черного ящика (Black Box Testing)

Узнать больше