→ Часть 1. Kali Linux: политика безопасности, защита компьютеров и сетевых служб
→ Часть 2. Kali Linux: фильтрация трафика с помощью netfilter
→ Часть 3. Kali Linux: мониторинг и логирование
→ Часть 4. Kali Linux: упражнения по защите и мониторингу системы
Сегодня мы продолжаем публиковать перевод избранных глав книги «Kali Linux Revealed». Перед вами — первый раздел главы 11: «Применение Kali Linux для оценки защищённости информационных систем».
Глава 11. Применение Kali Linux для оценки защищённости информационных систем
К этому моменту мы рассмотрели немало возможностей Kali Linux, поэтому вы уже должны хорошо понимать особенности системы и то, как решать с её помощью множество сложных задач.
Однако, прежде чем приступать к практическому использованию Kali, стоит разобраться с некоторыми концепциями, связанными с оценкой защищённости информационных систем. В этой главе мы расскажем об этих концепциях, благодаря чему вы получите базовые знания по данному вопросу. Здесь же мы и дадим ссылки на дополнительные материалы, которые пригодятся в том случае, если вам понадобится использовать Kali для выполнения оценки защищённости систем.
Для начала стоит уделить время самому понятию «безопасность» в применении к информационным системам. Пытаясь защитить информационную систему, обращают внимание на три её основных атрибута:
- Конфиденциальность (confidentiality): могут ли лица, у которых не должно быть доступа к системе или информации, получить к ним доступ?
- Целостность (integrity): можно ли несанкционированно модифицировать систему или данные?
- Доступность (availability): можно ли нормально, учитывая время и способ доступа, пользоваться системой или данными?
Все вместе эти концепции формируют так называемую модель CIA (Confidentiality, Integrity, Availability), и, во многом, это — основные аспекты, которым уделяют внимание при защите систем в ходе стандартных процессов развёртывания, поддержки, или оценки защищённости.
Кроме того, полезно отметить, что в некоторых случаях отдельные аспекты CIA будут заботить вас больше, чем другие.
Например, у вас есть личный дневник, который содержит ваши самые заветные мысли. Конфиденциальность этой информации может быть гораздо важнее, чем её целостность или доступность. Другими словами, главное — чтобы никто не мог прочесть то, что написано в дневнике. Если кто-то что-то в него напишет, не читая — это не так уж и страшно. Точно так же, вам не нужно, чтобы дневник был абсолютно всегда под рукой.
С другой стороны, если вы защищаете систему, которая хранит сведения о медицинских рецептах, целостность данных выходит на первый план. Важно не дать посторонним читать эти записи, то есть — получать сведения о том, кто какими лекарствами пользуется. Важно, чтобы к спискам рецептов можно было получить беспрепятственный доступ. Однако, самое важное — чтобы никто не смог изменить содержимое системы (то есть — повлиять на её целостность), так как это может привести к опасным для жизни последствиям.
Когда вы занимаетесь безопасностью системы и обнаруживаете проблему, вам нужно понять, какие части CIA имеют отношение к этой проблеме. Это может быть что-то одно из списка «конфиденциальность, целостность, доступность», либо — комбинация частей модели. Подобный подход помогает более полно понять проблему, позволяет разбивать инциденты по категориям и принимать соответствующие меры. Понимая сущность модели CIA, несложно классифицировать с её помощью уязвимости разного масштаба. Вот, например, как можно рассмотреть сквозь призму CIA взломанное методом внедрения SQL-кода веб-приложение:
- Конфиденциальность: приложение взломано с помощью разновидности SQL-инъекции, которая позволяет атакующему извлечь содержимое веб-приложения, открывает полный доступ на чтение всех данных, но не даёт возможности изменять информацию или нарушать работоспособность базы данных.
- Целостность: приложение взломали с помощью SQL-инъекции, которая позволяет атакующему изменять информацию, которая уже имеется в базе данных. Злоумышленник не может читать данные или блокировать доступ к базе данных.
- Доступность: приложение атаковали, используя SQL-инъекцию, которая позволяет инициировать тяжёлый запрос, потребляющий большой объём серверных ресурсов. Несколько таких запросов приводят к отказу сервиса (реализуя DoS-атаку). У злоумышленника нет возможности читать или изменять данные, но он может помешать обычным пользователям работать с веб-приложением.
- Множественные угрозы: SQL-инъекция даёт полный доступ к операционной системе сервера, на котором выполняется веб-приложение. Обладая таким доступом, атакующий может нарушить конфиденциальность системы, получив доступ к любым нужным ему данным, скомпрометировать целостность системы, изменяя данные, и, если захочет, может нарушить работоспособность веб-приложения, что приведёт к недоступности системы для обычных пользователей.
Концепции модели CIA довольно просты, и, если реально смотреть на вещи, вы, даже не зная об этой модели, интуитивно пользуетесь ей. Однако, важно осмысленно применять модель CIA, так как она может помочь вам понять, в какую сторону стоит направить усилия в каждом конкретном случае. Эта концептуальная база поможет вам в деле идентификации критически важных компонентов систем. Она позволит определить объём усилий и ресурсов, которые стоит вложить в исправление обнаруженных проблем.
Ещё одна концепция, которой мы уделим внимание — это риск. Понятие «риск» складывается из понятий «угроза» и «уязвимость». Эти концепции не слишком сложны, но применяя их легко ошибиться. Подробнее мы рассмотрим их позже, но если сказать об этом в двух словах, можно отметить, что лучше всего воспринимать риск как то, что вы пытаетесь предотвратить, угрозу — как того, кто может это, нежелательное, совершить, и уязвимость — как нечто, способное позволить сделать то, что вы хотите предотвратить. Соответствующие усилия могут быть приложены к тому, чтобы снизить уровень угрозы или устранить уязвимость. Цель этих действий — снижение риска.
Например, посещая некоторые страны, вы можете быть подвержены существенному риску заражения малярией. Это так по двум причинам. Во-первых — в некоторых местностях высока угроза быть укушенным малярийным комаром. Во-вторых — у вас, почти наверняка, нет иммунитета к малярии. Риск — это заражение. Угроза — это комары. Уязвимость — это отсутствие иммунитета к болезни. Для того, чтобы снизить вероятность реализации угрозы, можно контролировать уязвимость с помощью медикаментов. Кроме того, можно попытаться контролировать угрозу, используя репелленты и противомоскитные сетки.
11.1. Применение Kali Linux для оценки защищённости информационных систем
Если вы готовитесь использовать Kali Linux в боевых условиях, сначала необходимо удостовериться в том, что у вас установлена чистая ОС, которая нормально работает. Обычная ошибка, которую совершают многие начинающие пентестеры, заключается в том, что они используют один и тот же экземпляр Kali в ходе выполнения анализа защищённости разных систем. Такой подход может привести к проблемам по двум основным причинам:
- В ходе исследования часто выполняют ручную установку пакетов, их настройку, или какие-то другие модификации ОС. Эти единичные изменения могут помочь быстрее привести Kali в рабочее состояние или решить конкретную проблему. Однако, их тяжело контролировать. Они усложняют поддержку ОС и её будущую настройку.
- Каждая задача по оценке безопасности системы уникальна. Поэтому, если вы, например, используете ОС, в которой остались заметки, код и другие изменения после анализа системы одного клиента, у другого клиента, это может привести к путанице, и к тому, что данные клиентов окажутся перемешанными.
Именно поэтому настоятельно рекомендуется начинать работу с чистой установки Kali, и именно поэтому усилия на подготовку предварительно настроенной версиеи Kali Linux, которая готова к автоматической установке, быстро окупаются.
Для того, чтобы обзавестись подобной версией системы, обратитесь к разделам 9.3. «Сборка собственных Live-ISO образов»и 4.3. «Автоматическая установка». Чем серьёзнее вы подойдёте к автоматизации своего труда сегодня — тем меньше времени потратите завтра.
У каждого пентестера свои требования к рабочей конфигурации Kali, но имеются некоторые универсальные рекомендации, на которые стоит обратить внимание всем.
Для начала — рассмотрите возможность зашифрованной установки, как показано в разделе 4.2.2. «Установка на полностью зашифрованную файловую систему». Это позволит защитить ваши данные, хранящиеся на компьютере, обычно — на ноутбуке. Если его когда-нибудь украдут, вы по достоинству оцените эту меру предосторожности.
Для обеспечения дополнительной безопасности во время путешествий имеет смысл рассмотреть настройку функции самоуничтожения (подробности — в разделе «Установка пароля самоуничтожения для повышения уровня безопасности системы») после отправки (зашифрованной) копии ключа сослуживцу в офисе. Таким образом ваши данные будут защищены до тех пор, пока вы не вернётесь в офис, где вы сможете восстановить работоспособность компьютера с помощью ключа дешифрования.
Кроме того, стоит внимательно относиться к тому, какие именно пакеты установлены в ОС. Готовясь к выполнению очередного задания, обратите внимание на то, какие инструменты вам могут понадобиться. Например, собираясь приняться за поиск дыр в беспроводной сети, вы можете рассмотреть возможность установки метапакета kali-linux-wireless
, который содержит все доступные в Kali Linux средства исследования беспроводных сетей. Готовясь к испытаниям веб-приложения, вы можете подготовить все инструменты, предназначенные для подобных задач, установив метапакет kali-linux-web
. Готовя систему к работе, лучше всего исходить из предположения о том, что во время сеанса тестирования нормального доступа в интернет у вас не будет. Поэтому нужно как можно лучше подготовиться заранее.
По той же причине вам, возможно, следует перепроверить сетевые настройки (подробнее — в разделе 5.1. «Настройка сети», и в разделе 7.3. «Защита сетевых служб»). Дважды проверьте настройки DHCP и просмотрите службы, которые слушают ваш IP-адрес. Эти установки могут оказать серьёзнейшее воздействие на успешность работы. Вы не можете анализировать то, что не видите, а излишние службы могут выдать вашу систему и привести к её отключению от сети ещё до того, как вы начнёте исследование.
Особую важность внимание к сетевым настройкам играет в том случае, если вы занимаетесь расследованием сетевых вторжений. В ходе таких расследований необходимо избежать любого воздействия на системы, которые подверглись атаке. Специально настроенная версия Kali с метапакетом kali-linux-forensic
загружается в режиме криминалистической экспертизы (forensic mode). В таком режиме ОС не монтирует диски автоматически и не использует раздел подкачки. В результате, при использовании инструментов цифровой криминалистики, доступных в Kali, вы сможете сохранить целостность анализируемой системы.
В заключение можно сказать, что правильная подготовка Kali Linux к работе, использование чистой, вдумчиво настроенной системы — залог успеха.
Итоги
Сегодня мы рассказали о модели CIA, и о том, как применять её при классификации уязвимостей и при планировании мер по защите систем. Мы рассмотрели понятия рисков, угроз и уязвимостей, поговорили о том, как готовить Kali Linux к выполнению практических задач пентестера. В следующий раз мы расскажем о различных видах мероприятий, направленных на оценку защищённости информационных систем.
Уважаемые читатели! Применяете ли вы на практике модель CIA?
Автор: ru_vds