Бывший вице-президент Symantec Брайан Берч говорит, что стартапы чрезвычайно уязвимы перед кибератаками в первые 18 месяцев. Молодые компании все чаще становятся мишенью для кибератак, и думать, что вы еще слишком малы, чтобы беспокоиться об этом — значит «обманывать себя ложным чувством безопасности», говорит Берч CNN.

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

Изучаем правила игры: Украина vs Запад

Начнем с формальных норм и правил, определяемых законодательством. Де-юре компания обязана придерживаться законов тех стран, в которых у нее есть пользователи. Де-факто обязательно беспокоиться только о тех, где у компании есть физическое имущество. Дело не в нежелании следовать букве закона. Просто отслеживать актуальные нормативно-правовые акты всех стран физически нереально. Например, у нас пользователи из 130 стран, а в штате — всего 100 человек, и не все — технические специалисты. Мы стараемся узнать максимум законодательных требований о всех регионах работы, но приоритетными остаются законы Украины, Евросоюза и США.

Работу с персональными данными в Украине регулирует закон «Про захист персональних даних». Еще следим за обновлениями раздела «Захист персональних даних» на сайте омбудсмена.

Для работы на европейских рынках ориентируемся на GDPR — The General Data Protection Regulation, Общий регламент по защите данных, изложенный в Постановлении Европейского Союза 2016/679. Документ вступает в силу в мае 2018-го, а сейчас еще действует директива 95/46/EC, она же The Data Protection Directive. На одном из митапов CTO Preply познакомился с коллегами из Европы. У них есть Slack-канал, где мы спрашивали, кто как готовится к GDPR. Собираемся перенять опыт FreeAgent, которым поделился CTO компании Олли Хиди.

Также стоит ознакомиться с существующей в ЕС регуляцией по работе с cookies. Мы в Preply на уровне CDN серверов определяем страну пользователя и в зависимости от региона показываем соответствующие уведомления. 

Поскольку сервис работает и на территории США, нужно было изучить понятие personally identifiable information и ряд связанных с ним законов. Много полезных ссылок на регулирующие документы ЕС и США можно найти и в статье Cyber-security regulation.

Устраняем главные уязвимости: «чеклист» OWASP

Количество угроз растет пропорционально росту бизнеса, однако большинство атак происходит из-за десятка стандартных ошибок. В первую очередь обращаем внимание на рекомендации OWASP (Open Web Application Security Project) — международной некоммерческой организации, сфокусированной на анализе и улучшении безопасности ПО.

Организация выпустила список главных уязвимостей web-приложений, OWASP Top 10 Web Application Security Risks. В обновленном списке 2017 года — внедрение кода (SQL, NoSQL, OS, LDAP), некорректная аутентификация и управление сессией, утечка чувствительных данных, внедрение внешних XML-сущностей (XXE), ошибки контроля доступа, небезопасная конфигурация, межсайтовый скриптинг (XSS), небезопасная десериализация, использование компонентов с известными уязвимостями, а также отсутствие журналирования и мониторинга.

Мы следим за обновлениями библиотек и фреймворков которыми пользуемся. Используем JumpCloud как службу управления правами доступа к ресурсами через единый облачный каталог пользователя. Для логирования и мониторинга используем Sentry и New Relic, также в CloudWatch и ELK стеке настроены уведомления о подозрительной активности.

Упомянутый топ-10 — это наиболее опасные векторы атак. Мы изучаем и другие документы OWASP, устраняя названные уязвимости. Бездействие в данном случае может стоить больших денег или деловой репутации, вплоть до потери бизнеса. И обязательно используем пентестинг инструменты для проверки безопасности сервиса — не только в теории, но и на практике: как статические анализаторы кода, так и сканеры безопасности (Nessus, Nmap, w3af).

Защищаем платежи в сервисе

Согласно отчету Verizon’s 2017 Data Breach Investigations Report, 73% атак имеют финансовые цели. Поскольку в сервисе предусмотрена оплата услуг, мы тоже в зоне риска, и должны заботиться о том, чтобы защитить данные пользователей.

Придерживаемся PCI DSS — стандарта безопасности данных индустрии платежных карт. Это документация со списком из 12 требований, которой должен соответствовать сервис, если он взаимодействует с такими понятиями как номер карты и срок ее действия, CVV2/CVC2/CID коды.

Есть разные способы подтверждения, что сервис соответствует требованиям PCI DSS. Выбор зависит от того, как именно вы работаете с данными платежных карт. Может потребоваться внешний аудит (QSA), внутренний аудит (ISA) или проведение самооценки в рамках организации (SAQ). В нашем случае используется ежегодное заполнение SAQ-A и контроль его исполнения. Мы используем Braintree в качестве платежного провайдера. Для шифрования номера карты и CVV на клиентской стороне он использует собственную JavaScript-библиотеку, которая вызывается в iframe. Платежные данные пользователей при этом не проходят через наши сервера, а вся обработка идет через Braintree.

Заботимся о безопасном хранении данных

Выбор системы хранения данных зависит от законодательства стран, в которых работает компания. Облачные решения — AWS, Azure, DigitalOcean etc. — конечно, выгоднее с финансовой точки зрения. Платите по тарифу провайдера, а он беспокоится об обслуживании. Есть определенные гарантии на доступность, есть поддержка. С облачными решениями намного проще масштабировать сервис.

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

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

Наш выбор пал на AWS как наиболее оптимальный вариант. Безопасность индивидуального и группового доступа обеспечивается с помощью AWS IAM, для построения сетевой конфигурации используется Amazon VPC.

Изучаем новые технологии и тренды

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

Примером использования машинного обучения в сфере информбезопасности может быть обнаружение фрода. Сейчас у нас используется rule-based система обнаружения фрода, но мы движемся в сторону machine learning. На внутреннем хакатоне пробовали использовать методы машинного обучения для этой задачи. Также это могут быть системы выявления вторжений (Intrusion Detection Systems, IDS). Например, с недавних пор X-Pack от elastic имеет ML модуль, который можно использовать для обнаружения аномалий во временных рядах. 

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

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

Обучаем и просвещаем коллег

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

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

Обучение может включать в себя не только внутренние лекции, но и отраслевые мероприятия. Как пишет BitSight, в Штатах 82% компаний, демонстрирующих высокий уровень безопасности, сотрудничают с другими проектами, чтобы повышать свою осведомленность и следить за трендами. Украинским стартапам тоже стоит делиться друг с другом подобной информацией. Это не только поможет снизить риски в каждом отдельно взятом проекте, но и укрепит репутацию IT-решений из Украины на мировом рынке.

Автор: Дмитрий Вдовичинский, Security expert в Preply