5.2к
0
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

Как компании провести успешный аудит безопасности

Время чтения 2 минуты
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
5.2к
0
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

Если не закрывать уязвимости в IT-продукте, хакеры могут получить доступ к внутренним системам. Чтобы не допустить этого, нужно проводить регулярные аудиты безопасности. Они помогут избежать внезапных трат на восстановление инфраструктуры и потенциальные судебные иски.

Меня зовут Юрий Шабалин. Я генеральный директор «Стингрей Технолоджиз» и ведущий архитектор Swordfish Security. Моя специальность — это безопасность мобильных приложений. Поэтому в этой статье расскажу вам, почему IT-компаниям нужно проводить аудит безопасности.

Как компании провести успешный аудит безопасности

Что такое аудит безопасности

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

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

Если не проверять приложения на уязвимости, можно оказаться в неприятной ситуации — например, данные пользователей окажутся в открытом доступе. Такая ситуация произошла в начале июня с 12 крупными российскими компаниями. Хакер получил доступ к внутренним системам и начал выкладывать в интернет личные данные пользователей компаний «Ашан», «ТВОЕ», «Леруа Мерлен» и девяти других. 

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

Как понять, что компании нужен аудит безопасности

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

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

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

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

Не будьте как эта компания, проводите аудиты вовремя. А вот в каких ещё ситуациях нужно проводить аудиты, узнаем дальше.

👉 Компания никогда не проводила аудит. 

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

👉 У компании уже случались инциденты с безопасностью. 

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

👉 Компания заказывает разработку у подрядчика. 

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

Например, если компания получает уже собранные приложения или готовые сервисы, я рекомендую предусмотреть в договоре пункт об анализе защищенности сервисов. Подрядчик должен провести такой анализ самостоятельно и предоставить отчет. Другой вариант — проверить приложение лично с командой экспертов. А лучше — и то и другое.

👉 Бизнес компании — это онлайн-сервис. 

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

👉 Компания хранит персональные данные. 

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

👉 Компания попадает под требования регуляторов. 

Иногда в договорах с ними может присутствовать необходимость проведения аудитов безопасности. Примеры регуляторов — Роскомнадзор и Центробанк.

Не стоит выполнять требования формально. За это могут наложить штрафы или вообще приостановить деятельность компании.

👉 Сервисы компании часто обновляются. 

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

Например, если вы выпускаете два крупных обновления в год, то проводите аудиты как раз перед каждым релизом. Можно больше, но не меньше.

👉 Сервисы компании редко обновляются. 

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

👉 Компания проводит акции и розыгрыши призов.

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

Общее правило: проводить аудит стоит всем компаниям вне зависимости от размера и используемых технологий. Аудиты безопасности — это гарантия, что с данными пользователей ничего не случится, и залог вашего здорового сна 🙂

Какие есть виды аудитов безопасности

Аудиты безопасности могут быть специализированными для разных частей инфраструктуры компании:

  • Аудит сетевой инфраструктуры компании. Специалисты анализируют защиту периметра, настройки маршрутизаторов и коммутаторов, а также изучают системы на уязвимости и ищут несанкционированные устройства.
  • Аудит всех систем — операционных, серверов, рабочих станций и других. В них ищут уязвимости и выставляют оптимальные настройки безопасности.
  • Аудит безопасности приложений. Специалисты сканируют разрабатываемые и используемые приложения и ищут уязвимости, анализируют безопасность кода, аутентификацию и авторизацию, а также общую защиту данных. Я обычно занимаюсь этим видом аудита.
  • Аудит физической безопасности. Специалисты проверяют доступ к помещениям, системы видеонаблюдения и контроля доступа, а также защиту серверных комнат.
  • Аудит соответствия нормативным требованиям. Специалисты проверяют компанию на соответствие законодательству и стандартам безопасности — например, GDPR, PCI DSS и HIPAA.

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

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

Вернемся к типам аудитов безопасности. Еще их можно разделить по количеству предоставляемых данных. Это будут методы черного и белого ящика. 

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

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

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

👉 Внутренний аудит проводит отдел безопасности компании без сторонних экспертов. 

Внутренний отдел безопасности еще могут называть Red Team. Эти специалисты проверяют сервисы компании на защищенность. Задача Red Team — проверить настройки безопасности и найти уязвимости в сервисах и инфраструктуре компании.

👉 Внешний аудит выполняет команда приглашенных специалистов. Компания и эксперты договариваются о передаваемых данных и методах тестирования.

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

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

Как подготовиться к аудиту безопасности

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

Если не подготовиться к аудиту, он может сильно затянуться. На каждом этапе тестирования аудиторы будут обращаться к вам с дополнительными вопросами. Поэтому и вы, и специалисты по безопасности будете терять время и деньги.

Этапы подготовки простые, а главный совет — предоставьте аудиторам данные от всего, с чем они будут работать. Вот примерный план подготовки:

  1. Определите цели и требования. Разберитесь, зачем нужен аудит безопасности и какие результаты планируете получить. Это поможет специалистам выбрать подходящий тип аудита.
  2. Подготовьте доступы и данные. Заранее подумайте, как будет проходить тестирование и какие данные понадобятся. Если нужно подключить аудиторов к внутренним системам — подготовьте эти доступы. Создайте тестовые учетные записи и выдайте их специалистам.
  3. Предупредите бизнес и разработчиков. Сообщите всем подразделениям, что в компании будет проводиться тестирование безопасности. Также расскажите, что потребуется сделать сотрудникам. Убедитесь, что все понимают важность этого процесса.
  4. Не затягивайте реальное начало проекта. Помните, что аудиторы выделяют время и ресурсы, а также не планируют другие проекты, чтобы не мешать вашему. Если аудит затягивается, а проблемы не решаются, команда специалистов по безопасности несет денежные убытки. Поэтому по возможности подготовьте все заранее.

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

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

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

Как проходит аудит безопасности

Все зависит от типа аудита и его масштаба. Рассмотрим, как проходит тестирование методом белого ящика.

Процесс аудита безопасности можно разделить на шесть этапов:

  1. Сбор данных и проверка доступов. Аудиторы собирают с заказчика данные, которые необходимы для тестирования. Это может быть документация к системам, детальные условия и ограничения для аудита, конфигурации для доступов и учетные записи. Специалисты проверяют, что всё работает и что функционал системы доступен.
  2. Предварительная разведка и оценка. Перед тестированием аудиторы проводят первоначальный анализ систем: исходного кода, зависимостей и других применяемых технологий. Это поможет специалистам сформировать возможные сценарии для атак и воздействия на систему.
  3. Тестирование. Это основной этап аудита. Здесь проводится анализ защищенности систем на основе предоставленных данных. Специалисты изучают код, зависимости с открытым исходным кодом, проводят автоматизированное и ручное тестирование приложения, анализируют бизнес-логику и многое другое.
  4. Анализ результатов и подготовка отчета. После тестов аудиторы проверяют собранные данные, результаты тестирования и оценки безопасности. По итогам составляют подробный отчет, где описывают обнаруженные уязвимости, рекомендации по улучшению безопасности и другую информацию.
  5. Передача результатов и рекомендаций. Теперь специалисты по безопасности показывают отчет компании. Они объясняют, как работают уязвимости, дают рекомендации по устранению проблем и обсуждают меры безопасности, чтобы защитить системы.
  6. Перепроверка уязвимостей после исправления. Некоторые компании проводят еще один тест после того, как компания исправила уязвимости. Но это уже не полное тестирование, а проверка только отдельных мест, чтобы подтвердить корректность их устранения.

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

Как часто проводить аудит безопасности

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

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

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

Главное в вопросе аудитов безопасности — не забыть, что приложение должно быть безопасным для пользователей. Если не соблюдать это правило, можно потерять часть из них.

Что запомнить

Короткая памятка об аудитах безопасности:

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

Чек-лист для подготовки к аудиту:

  1. определите цели и требования; 
  2. подготовьте доступы и данные;
  3. предупредите бизнес и разработчиков;
  4. не затягивайте реальное начало проекта.

И не забывайте, что безопасность пользователей в руках компании!

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники