Тест на проникновение: как найти слабые места в вашей сети

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

Даже когда концепция защиты создана, это еще далеко не все: Регулярные тесты безопасности для проверки защиты сети являются обычной практикой среди крупных компаний и органов власти. Тесты на проникновение (сокращенно — pen tests), могут использоваться для определения вероятности атаки на вашу сеть, включая участвующие системы или даже отдельные приложения. Затем вы можете принять соответствующие меры в зависимости от результатов тестирования. Как именно проводятся эти тесты и что они означают для существующей сети?

Что такое тестирование на проникновение?

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

  • элементы сетевого соединения, такие как маршрутизаторы, коммутаторы или шлюзы.
  • Шлюзы безопасности, такие как брандмауэры, пакетные фильтры, вирусные сканеры, балансировщики нагрузки, IDS и IPS и т.д.
  • Серверы, такие как веб-серверы, серверы баз данных, файловые серверы и т.д.
  • Телекоммуникационные системы
  • Любые типы веб-приложений
  • Инфраструктурные установки, например, механизмы контроля доступа
  • Вовлеченные беспроводные сети, такие как WiFi или Bluetooth

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

Причины и предпосылки для проведения теста на проникновение

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

  • Парализовать ваши веб-проекты или рабочее пространство
  • получить в свои руки ценные пароли пользователей сети
  • внедрить вредоносное программное обеспечение
  • Украсть данные для входа в систему из учетных записей клиентов
  • Использовать компьютерные системы в вашей сети не по назначению.

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

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

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

Тестирование на проникновение: какие инструменты используются?

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

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

Процедура тестирования на проникновение

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

Фактическую процедуру тестирования можно разделить на следующие четыре области: 

  • Рассмотрение концепции сети: Еще на этапе подготовки тестер проникновения может обнаружить несоответствия или конкретные слабые места в дизайне сети или в отдельных компонентах. Например, если настроено несколько приложений, имеющих разные группы доступа, они могут быстро создать сложности и представлять риск безопасности для всей сети, даже если сеть и отдельные размещенные программы защищены должным образом. Некоторые из этих случаев могут быть решены уже в ходе предварительного обсуждения, тогда как другие можно подтвердить только путем проведения практического тестирования.
  • Тестирование мер по усилению защиты: Основным элементом безопасной корпоративной сети является то, что задействованные в ней системы максимально защищены. Во время теста на проникновение также важно проверить, какие меры защиты принимаются. Сюда входит установленное программное обеспечение, такое как операционная система, системные службы или пользовательские приложения, которые всегда должны быть актуальными. Если установлены более старые версии, поскольку они совместимы с другими приложениями, необходимо принять альтернативные меры предосторожности для защиты системы. Кроме того, важную роль играют требования к доступу и аутентификации для отдельных систем и программ. Здесь pen test рассматривает такие вопросы, как права доступа, использование паролей и шифрование, а также вопрос о том, следует ли отказывать в доступе посторонним лицам. Дополнительной задачей является проверка использования существующих интерфейсов и открытых портов, а также определенных правил, например, брандмауэра.
  • Поиск известных уязвимостей: Обычно не требуется много времени, чтобы обнаружить бреши в безопасности программного обеспечения, поэтому тестеры на проникновение обычно знакомы с точками атаки исследуемых тестовых объектов. Благодаря статусу версии и статусу патча, определяемым в ходе исследования степени излеченности сетевых компонентов, тестировщики быстро узнают, какие приложения представляют угрозу безопасности. Если необходимо проанализировать много систем за короткое время, использование сканеров уязвимостей может быть полезным, хотя они не всегда дают точный результат.
  • Целенаправленное использование эксплойтов: Тестировщик может выяснить, можно ли использовать обнаруженные уязвимости или нет, только самостоятельно используя соответствующий эксплойт. Эти последовательности команд обычно представляют собой скрипты, которые предоставляются различными интернет-источниками, но они не всегда безопасно запрограммированы. Если использовать небезопасный эксплойт, существует риск, что тестируемое приложение или система откажет, а в худшем случае важные данные могут быть перезаписаны. В этом случае тестеру проникновения следует быть осторожным и использовать только надежные скрипты из надежных источников или отказаться от тестирования уязвимостей.

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

Плюсы и минусы комплексных тестов безопасности

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

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

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

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

Оцените статью
cdelat.ru
Добавить комментарий