В начале лета Банк России планирует опубликовать новый стандарт по обеспечению информационной безопасности в банковской системе РФ. Регулятор надеется взять под контроль разношерстную отрасль разработчиков финансовых приложений и радикально снизить риски утечек информации и электронного фрода. Порталу Банки.ру стали известны некоторые детали готовящегося документа.
Эксперты давно бьют тревогу: финансовые приложения защищены непозволительно слабо и содержат множество уязвимостей, позволяющих злоумышленникам творить буквально все, что им заблагорассудится. Банки, по сути, не несут ответственности за низкую защищенность своих сервисов, без особого сожаления списывая неизбежные потери в убыток или перекладывая их на клиентов. Очевидно, что это не способствует оздоровлению банковской системы страны.
Финансовый регулятор собирается навести порядок в этой области, для чего в рамках Технического комитета № 122 разрабатывает документ под названием «Обеспечение информационной безопасности организаций банковской системы Российской Федерации. Обеспечение информационной безопасности на стадиях жизненного цикла автоматизированных банковских систем». Столь громоздкая словесная конструкция озаглавливает стандарт, призванный указать разработчикам четкие рамки, в которые им следует вписать свои процессы производства финансовых приложений.
Стандарт содержит рекомендации по всем этапам разработки и, по мнению авторов, должен оказать положительный эффект на информационную безопасность финансовой отрасли. В соответствии с документом, анализ безопасности продукта должен проводиться на каждом этапе жизненного цикла.
Разработка технического задания
Этап подготовки к разработке — один из самых важных. Какими бы профессионалами ни были разработчики, они не смогут создать продукт без технического задания (ТЗ), в котором описано назначение, функции и характеристики продукта. При этом ТЗ имеет силу юридического документа — как бы оно ни было написано,
По словам директора департамента аудита защищенности компании Digital Security Алексея Тюрина, фатальные ошибки в ТЗ встречаются очень часто, даже при разработке важнейших финансовых систем: «В одном ТЗ для регистрации в системе требовалось предоставить в электронном виде ксерокопию паспорта. Таким образом, вне зависимости от корректности архитектуры и внедрения такой системы, она оставалась бы уязвимой. Другой пример:
Или можно взять типичную проблему — отсутствие проверки электронной подписи при выгрузке данных из системы ДБО (дистанционного банковского обслуживания. — Прим. ред.) в АБС (автоматизированная банковская система. — Прим. ред.). Можно создать платежку от имени любого клиента банка прямо в базе данных ДБО, которая потом автоматически будет выгружена и,
Стандарт говорит о необходимости формирования модели актуальных угроз для каждого конкретного технического задания, тем самым давая возможности уже на ранних этапах отсеять совсем небезопасные решения и добавить механизмы информационной безопаcности для снижения рисков на критичных участках.
Проектирование
На этом этапе также часто встречаются некорректные архитектурные или технические решения. Даже грамотно написанное ТЗ не спасает от сомнительных решений при проектировании.
Как рассказал Александр Тюрин, «плохой пример с точки зрения архитектуры — автоматизированное рабочее место одного из отечественных вендоров АБС. Оператор банка для доступа в СУБД (система управления базой данных. — Прим. ред.) использует специальное программное обеспечение — автоматизированное рабочее место, АРМ. У оператора есть логин и пароль, вот только ограничения проявляются лишь визуально (в интерфейсе), фактически оператор подключается к СУБД с полными правами. Зашифрованный пароль от этой учетной записи (под которой происходит реальное подключение к СУБД) хранится в файле, а ключ зашит в само программное обеспечения АРМ. Но главная проблема в том, что ключ шифрования один для всего ПО компании, в том числе клиентского. Таким образом, любой оператор может расшифровать пароль от привилегированной учетной записи, подключиться в СУБД и проводить напрямую любые операции от имени любого клиента».
На практике, конечно, всех потенциально некорректных решений предугадать не получится. Стандарт говорит о необходимости глубокого анализа проекта, о том, какие действия необходимы на этапе проектирования. Также рекомендуется создание полноценной документации по каждому из решений. В приведенном примере решение, по сути, коробочное, и банк уже не может со своей стороны устранить известную уязвимость.
Создание и тестирование
Банки редко полностью разрабатывают свою АБС «от» и «до», чаще приобретается готовое решение и доделывается под нужды конкретного банка. Это затрудняет проведение корректного тестирования на безопасность. Более того, сами разработчики, не являясь финансовым институтом, зачастую относятся к информационной безопасности еще более халатно. «Дыры» начинаются еще со среды разработки, используемой компанией.
Алексей Тюрин поделился опытом испытаний одной из отечественных систем ДБО: «Ломали ДБО изнутри. С боевой ДБО все было не очень плохо, но в тестовой системе нам удалось получить доступ к СУДБ, а уже из нее получили ряд учетных записей, которые подошли к боевой ДБО.
Или вот еще пример: у нас получилось залить шелл (упрощенно говоря, троянскую программу) на сервер ДБО внутренних разработчиков. Никто не заметил новый файл при обновлении системы. Таким образом, мы полностью скомпрометировали уже боевую ДБО. Конечно, мы сообщили об этом разработчикам».
По словам Тюрина, стандарт ЦБ выдает четкие рекомендации о жесткой сегментации среды тестовой и разработки, о разделении информации на них (например, запрещены общие учетные записи). Кроме того, говорится о контроле за изменениями в файлах и за самими файлами, а также о необходимости ведения подробной документации по всем решениям. Многие рекомендации сделаны для того, чтобы не допустить возможности внедрения «закладки» как разработчиками, так и сторонними людьми или чтобы можно было найти виновного. Ведь атака на разработчика — это растущий тренд в хакерских атаках.
Приемка и внедрение
Как ни странно, вне зависимости от качества проекта, умений программистов и качества анализа кода, есть ряд уязвимостей, которые можно увидеть лишь на созданной системе.
«Для защиты от
По требованиям нового стандарта, на данной стадии должны проводиться приемочные испытания, контроль внедрения мер информационной безопасности, а также выявление уязвимостей посредством теста на проникновение. Важным решением является создание типовой конфигурации системы и сверка ее в определенные периоды времени.
Эксплуатация
В ходе жизни системы в ней часто может
Стандарт требует систематического проведения контроля конфигурации и средств информационной безопасности, а также контроля за обновлениями ПО и уведомлениями об уязвимостях. Ситуация, когда администраторы узнают об уязвимости в своей системе от возмущенных пользователей, должна быть исключена.
Стандарт требует, чтобы у банка имелся четкий перечень используемого ПО, применяемых библиотек, компонентов, настроек, на основе которого администраторы могли бы просто отслеживать публичные источники на предмет информации об уязвимостях и быстро реагировать на них.
Сопровождение и модернизация
При каждом обновлении системы необходимо проходить все предыдущие этапы. Алексей Тюрин рассказал о примере из своей практики, связанной с разработчиками системы ДБО: «Приходим в банк, находим множество уязвимостей. Рассказываем, как их исправить. Разработчик по требованию банка вносит исправления. Мы проверяем — исправления корректны. Через
В соответствии с новым стандартом, банку после обнаружения уязвимостей необходимо написать новое техзадание (проект) к ДБО, в котором должны учитываться найденные уязвимости.
Регулятор и его намерения
Если стандарт утвердят, разработчики будут вынуждены тщательно документировать не только готовый продукт, но и каждую подсистему на каждой стадии разработки. По замыслу авторов стандарта, это позволит отследить источник каждой встретившейся проблемы и уязвимости. Также нельзя допустить внесения несанкционированных изменений в функционал продукта — теперь это придется тщательно контролировать. И наконец, просто «установить и забыть» тоже уже не выйдет: от банка требуется тщательный контроль и систематическое тестирование продукта на безопасность.
Стандарт, заметим, адресован не разработчикам, а их заказчикам — банкам, которые, в свою очередь, обязаны требовать его соблюдения от своих подрядчиков. По всей видимости, эта схема должна быть вполне рабочей, ведь кто платит, тот и заказывает музыку. А тому, кто платит, совсем не захочется отвечать перед регулятором за незамеченные вовремя «дыры» в системе информационной безопасности. Если все пойдет, как задумано, через несколько лет изменения должны позитивно сказаться на безопасности наших с вами финансов. И, в определенной степени, на финансовой системе страны.
Михаил ДЬЯКОВ, Banki.ru
Комментарии
Насчет надежности, надежней не будет, самое слабо звено это пользователь системы, самый популярный "взлом" это разводка клиента.
Взять тот же пресловутый OpenSSL. Сколько данных через него утекло? Судя по тому, что нет всплеска по фроду, то нисколько. Зато ежедневно и монотонно данные клиентов воруют трояны, кишащие в их компьютерах. Глупо ставить ворота в поле, даже закрытые на сотню замков и проверяемые охраной.