Алексей Бабенко, старший аудитор компании «Информзащита»

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

Что примечательно, под влиянием требований клиентов, стремящихся выполнить требования PCI DSS, многие компании-разработчики вносили доработки в существующее обеспечение, либо предоставляли дополнительный инструментарий для удаления хранимых данных. Но как показала практика проверки хранения данных платежных карт, зачастую данные «переделки» лишь лечили симптомы, при этом данные все равно продолжали храниться в неучтенных источниках, а после удаления были легко восстановимы.

Осознавая вышеперечисленные сложности, совет по безопасности в индустрии платежных карт разработал и выпустил в апреле 2008 года стандарт PA-DSS (Payment Application Data Security Standard, Стандарт безопасности данных платежных приложений). В стандарт PA-DSS перешли все требования стандарта PCI DSS, применимые к платежным приложениям, и положения VISA PABP (Payment Application Best Practices, Лучшие практики для платежных приложений). Основной идеей выпуска стандарта является то, что сертификация приложения по PA-DSS гарантирует полное соответствие приложения стандарту PCI DSS, a также работу в среде, в которой выполняются все требования стандарта.

Стандарт PA-DSS применим ко всему тиражируемому программному обеспечению, которое обрабатывает, передает или хранит данные платежных карт. К таким приложениям можно отнести: программное обеспечение процессинга, программное обеспечение для банкоматов и POS-терминалов, программное обеспечение электронной и мобильной коммерции, а также прочие виды программ. Обеспечение, разработанное для собственных нужд или индивидуально под конкретного заказчика, не попадает под действие стандарта PA-DSS и проверяется непосредственно в рамках проведения сертификации по стандарту PCI DSS.

В связи с тем, что платежные системы не могут прямо влиять на компании-разработчиков, два крупнейших игрока рынка Visa и MasterCard выпустили требования для своих членов по использованию только PA-DSS сертифицированного программного обеспечения. Таким образом, все новые торгово-сервисные предприятия должны использовать только сертифицированное обеспечение с июля 2010 года, а агенты и оставшиеся торгово-сервисные предприятия – с июля 2012 года. Данные ограничения, в свою очередь, логично переросли в требования к компаниям-разработчикам сертифицировать свое программное обеспечение, при этом сертификация уже становится не столько конкурентным преимуществом, сколько ключевым фактором при выборе поставщика решения.

Учитывая большой опыт компании «Информзащита» в проведении на российском рынке аудитов PCI DSS и знание основных «болячек» платежных приложений, компания первой в России получила статус PA-DSS QSA (Qualified Security Assessor), позволяющий осуществлять проведение работ по сертификации программного обеспечения и процессов разработки на соответствие требованиям стандарта PA-DSS.

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

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

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

Еще одной частой проблемой приложений является недостаточный уровень логирования действий пользователя. Стандарт PA-DSS достаточно жестко регламентирует минимальный перечень событий, подлежащий протоколированию, и разработчикам иногда не удается однозначно определить достаточность журналируемых событий своими силами. В данном случае решается задача – с одной стороны, обеспечить соответствие требованиям стандарта, а с другой стороны избежать полного протоколирования, который затрудняет процесс анализа и реагирования на события информационной безопасности.

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

Одним из шагов к соответствию стандарту PA-DSS является разработка и предоставление клиентам руководства по применению стандарта PA-DSS (PA-DSS Implementation Guide). Данный документ представляет полный набор инструкций по настройке платежного приложения, выполнение которых позволяет гарантировать клиенту полную совместимость внедряемого обеспечения со стандартом PCI DSS. Разработка руководства по применению PA-DSS является еще одним проблемным вопросом у компаний при подготовке к сертификации. Зачастую роль данного руководства неверно трактуется. Документ содержит не все требуемые пункты или не в полной мере отражает информацию по выполнению требований стандарта. С сожалением стоит отметить, что на практике проведения аудитов PCI DSS встречались случаи, когда даже к программному обеспечению, прошедшему сертификацию, прилагалось руководство, не отражающее всех требований PA-DSS и не позволяющее определить степень соответствия текущих настроек требованиям стандарта.

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