Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Чем авторизация отличается от аутентификации? Как сохранить конфиденциальность и провести тестирование на проникновение? Автор отвечает на все базовые вопросы и на примерах реальных инцидентов рассматривает операционную безопасность, защиту ОС и мобильных устройств, а также проблемы проектирования сетей. Книга подойдет для новичков в области информационной безопасности, сетевых администраторов и всех интересующихся. Она станет отправной точкой для карьеры в области защиты данных. Наиболее актуальные темы: • Принципы современной криптографии, включая симметричные и асимметричные алгоритмы, хеши и сертификаты. • Многофакторная аутентификация и способы использования биометрических систем и аппаратных токенов для ее улучшения. • Урегулирование вопросов защиты компьютерных систем и данных. • Средства защиты от вредоносных программ, брандмауэры и системы обнаружения вторжений. • Переполнение буфера, состояние гонки и другие уязвимости.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 317
Veröffentlichungsjahr: 2024
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Переводчик С. Черников
Джейсон Андресс
Защита данных. От авторизации до аудита. — СПб.: Питер, 2024.
ISBN 978-5-4461-1733-8
© ООО Издательство "Питер", 2024
Лучшее — враг хорошего.
Вольтер
Доктор Джейсон Андресс — опытный специалист по информационной безопасности, исследователь в области ИБ и по совместительству технофил. Пишет на тему ИБ более десяти лет, затрагивая среди прочего безопасность данных, сетевую безопасность, аппаратную безопасность, пентестирование и цифровую криминалистику.
С момента выпуска Commodore PET и VIC-20 технологии стали постоянным спутником (а иногда и навязчивой идеей!) Клиффа Янзена (Cliff Janzen). Свою карьеру он начал строить в 2008 году, когда занялся вопросами информационной безопасности после десяти лет работы в ИТ. С тех пор Клифф счастлив работать и учиться у лучших людей в отрасли, в том числе у Джейсона и прекрасных сотрудников издательства No Starch. Большую часть рабочего времени Клифф занимается управлением и наставничеством отличной команды. При этом он старается быть в курсе происходящего в ИТ-мире и занимается всем — от анализа политик безопасности до пентестирования. Ему повезло с любимой работой и супругой, всячески его поддерживающей.
Хочу поблагодарить свою жену за то, что она терпела меня, пока я занимался очередной книгой. Особенно когда я ныл, прокрастинируя над некоторыми главами <3.
Также хочу поблагодарить команду No Starch Press за потраченное ими время и приложенные усилия, чтобы сделать эту книгу лучше. Без многочисленных раундов редактуры, рецензирования и обратной связи эта книга была бы не такой крутой.
В школе передо мной стал выбор между двумя направлениями: я хотел заняться информационной безопасностью (ИБ) или разработкой программного обеспечения (ПО). У курсов по разработке ПО были ужасно скучные названия, поэтому я остановился на ИБ. Тогда я еще не знал, на какой сложный и извилистый путь встал.
Работа в сфере ИБ может привести к самым разным результатам. За эти годы я работал с крупномасштабными вспышками вредоносных программ, собирал данные для экспертного анализа для судебных дел, ловил хакеров в компьютерных системах, взламывал системы и приложения (все в порядке, мне разрешили!), изучал огромное количество данных логов, внедрял и поддерживал всевозможные инструменты безопасности, писал тысячи строк кода, совмещал несовместимое, работал над проектами с открытым исходным кодом, выступал на конференциях по безопасности, вел курсы и писал об информационной безопасности.
В этой книге мы поговорим о сфере ИБ в целом. Она адресована тем, кому интересно, что вообще значит «информационная безопасность», а также тем, кто не знает, с чего начать. Я приведу четкие и при этом не усложненные техническими подробностями объяснения того, как работает ИБ и как применять ее принципы в своей работе. Вы узнаете основы, и вам не придется читать толстенные учебники. Сначала я расскажу об основных концепциях — аутентификации и авторизации. Это важно для понимания других понятий — принципа наименьших привилегий и различных моделей безопасности.
Мы рассмотрим несколько реальных применений этих концепций в разных системах, а именно: человеческих, физических, сетевых, операционных системах, мобильных, встроенных системах, интернета вещей (IoT) и в приложениях безопасности. А в конце поговорим о том, как оценивать безопасность.
Эта книга будет ценным ресурсом для начинающих специалистов в области безопасности, а также для сетевых и системных администраторов. Информация, которую вы здесь найдете, поможет лучше понять, как защитить информационные активы и спастись от атак, а также как повышать безопасность среды.
Руководители тоже наверняка сочтут эту информацию полезной, поскольку она поможет разработать более эффективные методы общей безопасности для организации. Концепции, обсуждаемые в этой книге, могут использоваться для реализации проектов и политик безопасности, а также для решения определенных проблем безопасности.
Книга знакомит читателя с основами ИБ с нуля, поэтому ее лучше читать от начала до конца. Вам будут встречаться пронумерованные ссылки на примечания в конце книги, где вы можете найти дополнительную информацию по некоторым из этих тем. Вот что вы найдете в каждой главе:
Глава 1. Что такое информационная безопасность? Здесь будут рассмотрены некоторые базовые концепции ИБ, такие как триада конфиденциальности, целостности и доступности (CIA), основные концепции риска, а также средства его снижения.
Глава 2. Идентификация и аутентификация. Охватывает принципы безопасности, связанные с идентификацией и аутентификацией.
Глава 3. Авторизация и контроль доступа. Рассмотрено использование инструментов авторизации и контроля доступа, которые позволяют разграничить, кто или что имеет доступ к тем или иным ресурсам.
Глава 4. Аудит и отчетность. В этой главе рассматривается использование аудита и отчетности, которые позволяют отслеживать деятельность других людей в вашей среде.
Глава 5. Криптография. В этой главе поговорим об использовании криптографии для защиты конфиденциальности ваших данных.
Глава 6. Соответствие, законы и нормативные положения. В этой главе описаны законы и нормативные акты, касающиеся ИБ, и то, как им соответствовать.
Глава 7. Операционная безопасность. В этой главе рассмотрена безопасность операционной деятельности — процесс, необходимый для защиты информации.
Глава 8. Человеческий фактор в безопасности. В этой главе исследуются вопросы, относящиеся к человеческому фактору ИБ, а именно инструменты и методы, которые используют злоумышленники. Рассматриваются способы защиты от них.
Глава 9. Физическая безопасность. В этой главе рассмотрены физические аспекты ИБ.
Глава 10. Сетевая безопасность. Здесь рассмотрим, как защитить сеть на разных уровнях: правильное проектирование сети, устройства безопасности и инструменты безопасности.
Глава 11. Безопасность операционной системы. В этой главе рассмотрены стратегии, которые можно использовать для защиты ОС: усиление защиты, выпуск обновления и то, как эти стратегии реализуются.
Глава 12. Безопасность мобильных устройств, встроенных устройств и интернета вещей. Мы рассмотрим, как обеспечить безопасность мобильных устройств, встроенных устройств, устройств, подключенных к интернету вещей.
Глава 13. Безопасность приложений. Эта глава охватывает различные методы обеспечения безопасности приложений.
Глава 14. Оценка безопасности. В этой главе обсуждаются такие инструменты, как сканирование и тестирование на проникновение, которые можно использовать для поиска проблем безопасности на хосте или в приложении.
Написание книги стало для меня настоящим приключением. Надеюсь, вам понравится, что в итоге вышло, а ваше понимание сферы ИБ расширится. Мир безопасности — это захватывающая, а иногда и просто поразительная область. Добро пожаловать и удачи!
Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.
Сегодня многие люди работают на компьютере, играют в компьютерные игры, учатся онлайн, покупают вещи в интернет-магазинах, сидят с ноутбуками в кофейнях, проверяя почту, заглядывают на свои банковские счета со смартфона или следят за калориями с помощью фитнес-браслетов. Другими словами, компьютеры повсюду.
Технологии по одному щелчку мыши дают нам доступ к огромному объему информации, но эти же технологии представляют собой серьезную угрозу безопасности. Если информация о системах безопасности, используемых работодателями или банками, попадет в руки злоумышленников, последствия могут быть катастрофическими. Например, все деньги с банковского счета могут среди ночи внезапно улететь в другой банк в другой стране. Работодатель может потерять миллионы долларов, оказаться на скамье подсудимых и лишиться репутации из-за проблемы с конфигурацией системы, которая позволила злоумышленнику получить доступ к базе данных с личными данными (ЛД) или конфиденциальной информацией. И такие случаи пугающе часто мелькают в средствах массовой информации.
Тридцать лет назад подобных ситуаций в принципе не было, в основном потому, что технологии тогда находились на относительно низком уровне и мало кто ими пользовался. Сегодня технологии стремительно меняются, а вот большая часть теории защиты информации отстает от этого развития. Но после получения хорошего представления об основах ИБ у вас будет твердый фундамент для борьбы с будущими новыми методами злоумышленников.
В этой главе мы рассмотрим некоторые базовые концепции ИБ: модели безопасности, атаки, угрозы, уязвимости и риски. Также подробнее углубимся в некоторые более сложные концепции при обсуждении риска: управление рисками, реагирование на инциденты и глубокая защита.
В целом под термином «безопасность» следует понимать защиту ваших активов, будь то от злоумышленников, вторгающихся в ваши сети, от стихийных бедствий, вандализма, утраты или неправильного использования. Наша цель — обезопасить себя от наиболее вероятных форм атак, насколько позволяет используемая среда.
У вас может быть множество потенциальных активов, которые надо будет защитить. Например, физические предметы, ценные сами по себе (золото), или предметы, имеющие ценность для вашего бизнеса (вычислительное оборудование). У вас также могут быть нефизические ценности — программное обеспечение, исходный код или данные.
В сегодняшней вычислительной среде вы, вероятно, обнаружите, что ваши логические активы (данные или интеллектуальная собственность) столь же ценны, как физические активы (то есть вещи), а может, даже еще ценнее. И здесь возникает важность информационной безопасности.
Согласно определению законодательства США1, информационная безопасность — это «защита информации и информационных систем от несанкционированного доступа, использования, раскрытия, нарушения, модификации или уничтожения» (Согласно ГОСТ Р 50922–2006 «Защита информации», защита информации — это деятельность, направленная на предотвращение утечки защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию. — Примеч. ред. ). Другими словами, мы хотим защитить свои данные и системы от тех, кто пытается неправомерно их использовать, намеренно или непреднамеренно, и от тех, кто вообще не должен иметь к ним доступ.
Юджин Спаффорд однажды сказал: «Единственная по-настоящему безопасная система — это та, которую отключили от питания, залили в бетон и закрыли в обшитой свинцом комнате с вооруженной охраной. Хотя даже в этом случае у меня есть сомнения»2. Система в таком состоянии, возможно, безопасна, но становится непригодной для использования. Повышая уровень безопасности, мы обычно снижаем уровень производительности.
Кроме того, при защите актива, системы или среды нужно думать о том, как уровень безопасности соотносится с ценностью охраняемого объекта. Если вы готовы приспособиться к снижению производительности, то можете применить очень высокий уровень безопасности к каждому активу, который находится в вашем ведении. Можно построить объект стоимостью в миллиард долларов, окруженный забором из колючей проволоки, патрулируемый вооруженной охраной и злобными бойцовыми собаками, в центре которого будет герметичный сейф, а в нем… рецепт шоколадного печенья вашей мамы. Согласитесь, это перебор. Стоимость системы безопасности, которую вы устанавливаете, никогда не должна превышать стоимости того, что она защищает.
Но в некоторых средах даже таких мер безопасности оказывается мало. В любой среде, где планируется обеспечить повышенный уровень безопасности, необходимо также учитывать стоимость замены ваших активов на случай их потери и убедиться, что уровень защиты соотносится с их стоимостью.
Довольно сложно определить момент, когда можно считать, что безопасность обеспечена. В безопасности ли вы, когда ваши системы правильно пропатчены? В безопасности ли вы, если используете надежные пароли? В безопасности ли вы, если полностью отключены от интернета? Думаю, что на все эти вопросы нет ответа. Панацеи не существует.
Даже если ваши системы в данный момент защищены, всегда найдутся новые атаки, к которым система окажется уязвима. Когда вы используете надежные пароли, злоумышленник воспользуется другим способом. Когда вы отключены от интернета, злоумышленник может получить физический доступ к вашим системам или украсть их. Короче говоря, сложно определить, действительно ли вы в безопасности. А вот определить обратное гораздо проще.
Ниже приведено несколько примеров небезопасных состояний:
• отсутствие исправлений безопасности или обновления приложений в ваших системах;
• использование ненадежных паролей, таких как «qwerty» или «1234»;
• скачивание программ из Сети;
• открытие вложений к электронным письмам от неизвестных отправителей;
• использование беспроводных сетей без шифрования.
Список можно дополнять долго. Важно то, что, если вы знаете, где ваша система небезопасна, вы можете предпринять меры смягчения этой проблемы. Это как бесконечно разрезать что-либо пополам — всегда останется небольшой кусочек, который снова нужно разрезать. Возможно, вы никогда не дойдете до состояния, которое окончательно можно назвать безопасным, но можете предпринимать меры в правильном направлении.
Этот закон — ваш закон...
Законы, определяющие стандарты безопасности, в разных отраслях и разных странах довольно сильно различаются. В качестве примера можно привести различие в законах о конфиденциальности данных США и Европейского союза. Организации, работающие по всему миру, вынуждены отслеживать, чтобы при ведении бизнеса не нарушать такие законы. В случае сомнений следует сначала проконсультироваться с юристом, а потом действовать.
Некоторые законы или нормативные акты прямо определяют, какие средства защиты или меры следует предпринимать, чтобы считать систему достаточно защищенной. Стандарт безопасности данных индустрии платежных карт (PCI DSS) применяется к компаниям, которые обрабатывают платежи по кредитным картам, Закон 1996 года о переносимости и подотчетности медицинского страхования (HIPAA) предназначен для организаций, которые обрабатывают медицинские карты и истории болезни пациентов, Федеральный закон об управлении информационной безопасностью (FISMA) определяет стандарты безопасности для многих федеральных агентств в США, и таких законов множество. Их эффективность – вопрос открытый, но соблюдение стандартов безопасности, определенных для отрасли, в которой вы работаете, рекомендуется, а может, даже требуется.
При обсуждении вопросов безопасности часто бывает полезно иметь модель, которую можно взять за основу. В этом случае у вас будет последовательный набор терминов и концепций, на которые мы как профессионалы в области безопасности можем ссылаться.
Три слона информационной безопасности — это конфиденциальность, целостность и доступность, которые называются триадой CIA (Confidentiality, Integrity, Availability) (рис. 1.1).
Рис. 1.1. Триада CIA
Триада CIA — это модель, с помощью которой можно решать и обсуждать концепции безопасности. Иногда она записывается как CAI или выражается в виде противоположных понятий: раскрытие, изменение и отрицание (DAD — Disclosure, Alteration, Denial).
Конфиденциальность — это способность защитить данные от тех, кто не имеет прав доступа к ним. Можно обеспечить конфиденциальность на разных уровнях процесса.
Например, представьте, что человек снимает деньги в банкомате. Скорее всего, он захочет сохранить в тайне ПИН-код, который позволяет ему снимать средства. Кроме того, владелец банкомата будет сохранять конфиденциальность номера счета, баланса счета и любой другой информации, которая передается банку, из которого выводятся средства. Банк также будет сохранять конфиденциальность транзакции с банкоматом и изменения баланса на счете после снятия средств.
Конфиденциальность может быть нарушена несколькими способами. Например, вы можете потерять ноутбук с данными. Когда вы вводите пароль, другой человек сможет его подсмотреть. Вы можете отправить файл по электронной почте не тому человеку, или в вашу систему может проникнуть злоумышленник.
Целостность — это способность предотвратить несанкционированное или нежелательное изменение ваших данных другими лицами. Чтобы сохранить целостность, нужны не только средства предотвращения несанкционированных изменений ваших данных, но и возможность откатить такие изменения.
Хороший пример механизма, позволяющего контролировать целостность, реализован в файловых системах многих современных операционных систем, таких как Windows и Linux. В целях предотвращения несанкционированных изменений в этих системах введены разрешения, ограничивающие действия, которые неавторизованный пользователь может выполнять с данным файлом. Например, владелец файла может иметь разрешение на чтение и запись в него, а другие могут иметь только разрешение на чтение или вообще не иметь доступа к файлу. Кроме того, некоторые системы и многие приложения, такие как базы данных, позволяют отменить или откатить нежелательные изменения.
Целостность особенно важна, когда речь идет о данных, которые служат основой для принятия других решений. Если злоумышленник изменит данные результатов медицинских тестов, врач может назначить неправильное лечение, которое навредит пациенту.
Последний слон триады CIA — доступность. Доступность — это возможность доступа к нашим данным, когда они нам нужны. Вы можете потерять доступность из-за потери питания, проблем с ОС или приложением, сетевых атак или компрометации системы. Когда внешняя сторона, например злоумышленник, вызывает такие проблемы, мы обычно называем это DoS-атакой (denial-of-service, DoS — отказ обслуживания).
Зная элементы триады CIA, мы можем начать обсуждение вопросов безопасности более подробно, чем без них. Рассмотрим поставку резервных лент, на которых вы сохранили единственную существующую и незашифрованную копию некоторых конфиденциальных данных.
Если вы потеряете груз в пути, у вас возникнут проблемы с безопасностью. Вероятно, это связано с нарушением конфиденциальности, поскольку файлы не были зашифрованы. Отсутствие шифрования также может вызвать проблемы с целостностью. Если вы восстановите ленты в будущем, вам может быть не сразу очевидно, изменил ли злоумышленник незашифрованные файлы, поскольку у вас не будет способа отличить измененные данные от неизмененных. Что касается доступности, у вас возникнет проблема, если ленты не будут восстановлены, поскольку у вас нет резервных копий файлов.
В данном случае триада CIA хорошо подходит, но эта модель слишком ограничительна для описания всей ситуации. Для этих случаев есть более полная модель — паркеровская гексада.
Паркеровская гексада — это менее известная модель, названная в честь Донна Паркера и представленная в его книге «Fighting Computer Crime», представляет собой несколько более сложный вариант классической триады CIA. Триада CIA состоит только из конфиденциальности, целостности и доступности, а в гексаде Паркера добавляются владение, или контроль, подлинность и полезность3, составляя в сумме шесть принципов (рис. 1.2).
Рис. 1.2. Паркеровская гексада
Как я уже говорил, паркеровская гексада включает в себя три принципа триады CIA с теми же определениями, которые обсуждались выше. Паркер несколько иначе описывает целостность, так как он не учитывает авторизованные, но неверные изменения данных. В его определении данные должны быть полностью неизменными по сравнению с предыдущим состоянием.
В паркеровской гексаде владение, или контроль, — это физическое расположение носителя, на котором хранятся данные. Эта концепция позволяет говорить о потере данных на физическом носителе без привлечения других факторов, таких как доступность. Возвращаясь к примеру с потерянной партией лент с резервными копиями, предположим, что некоторые из них были зашифрованы, а некоторые нет. Принцип владения позволит более точно описать масштаб инцидента; зашифрованные ленты в партии вызывают проблемы владения, но не проблемы конфиденциальности, а незашифрованные ленты вызывают проблемы в обоих случаях.
Принцип подлинности позволяет сказать, правильный ли у данных владелец или создатель. Например, если вы отправите сообщение по почте, измененное так, будто оно пришло из другого источника, то нарушите подлинность письма. Подлинность можно обеспечить с помощью цифровых подписей, о которых я расскажу подробнее в главе 5.
Похожая, но обратная концепция: безотказность, которая не позволяет людям совершить какое-либо действие, например отправить письмо, а затем отрицать, что вы это делали. Об этом понятии подробнее в главе 4.
Наконец, полезность — это то, насколько данные полезны нам. Полезность также является единственным принципом гексады Паркера, который необязательно является бинарным по своей природе, так как у данных может быть множество степеней полезности в зависимости от содержания и формата. Это несколько абстрактная концепция, которая, однако, оказывается полезной при обсуждении определенных ситуаций в мире безопасности.
Вернемся к примеру о поставке лент: представьте, что некоторые ленты были зашифрованы, а некоторые нет. Для злоумышленника или другого постороннего лица зашифрованные ленты, вероятно, будут малополезны, поскольку данные нельзя считать. Незашифрованные же будут гораздо полезнее, так как злоумышленник или неуполномоченное лицо смогут получить доступ к данным.
Концепции, которые вводятся в триаде CIA и в гексаде Паркера, дают нам практическую основу для обсуждения того, что и как может пойти не так в сфере информационной безопасности. Эти модели позволяют лучше рассмотреть атаки, с которыми вы можете столкнуться, и типы средств контроля, которые нужны для борьбы с ними.
Ваши данные могут подвергнуться атакам с самых разных сторон и углов. Их можно классифицировать по типу атаки, риску, который атака представляет, и по мерамконтроля, которые можно применить, чтобы смягчить последствия.
Атаки обычно подразделяются на четыре категории: перехват, прерывание, модификация и подделка. Каждая из категорий по-своему влияет на один или несколько принципов триады CIA, как показано на рис. 1.3.
Рис. 1.3. Триада CIA и категории атак
Граница между категориями атак и их последствиями несколько размыта. В зависимости от каждой конкретной атаки вы можете включить ее более чем в одну категорию, и у нее может быть несколько возможных эффектов.
Атаки типа «перехват» позволяют неавторизованным пользователям получать доступ к вашим данным, приложениям или средам, и под угрозой главным образом находится конфиденциальность данных. Перехват может принимать форму несанкционированного просмотра или копирования файлов, подслушивания телефонных разговоров или чтения чужой почты, и происходить он может на данных в движении или данных в состоянии покоя (пояснение ниже). Грамотно выполненный перехват довольно трудно обнаружить.
Данные в движении и в состоянии покоя
В этой книге будут многократно упомянуты данные, находящиеся «в состоянии покоя» или «в движении», поэтому поясню, что это значит. Данные в состоянии покоя – это просто лежащие на носителе данные, которые не перемещаются из одного места в другое. Это могут быть данные на жестком диске, или флеш-накопителе, или в базе данных. Этот тип данных обычно защищен каким-либо шифрованием, часто на уровне файла или всего устройства.
Данные в движении – это данные, которые перемещаются из одного места в другое. Когда вы заходите в свой онлайн-банк, конфиденциальные данные, передаваемые между браузером и банком, находятся в движении. Данные в движении также защищены шифрованием, но в этом случае шифрование защищает сетевой протокол или путь, используемый для перемещения данных из одного места в другое.
Можно также выделить третью категорию: данные, находящиеся «в использовании», или используемые данные. Используемые данные – это данные, к которым приложение или физическое лицо обращается и которые изменяет. Защита используемых данных подразумевает использование разрешений и аутентификацию пользователей. Понятие используемых данных часто ассоциируется с данными в движении. С обеих сторон можно привести аргументы в пользу того, почему эти данные стоит выделить в отдельную категорию.
Атаки типа «прерывание» делают ваши активы непригодными для использования или временно или навсегда недоступными. Эти атаки часто нацелены на доступность, но также могут повлиять на целостность. DoS-атака на почтовый сервер — это атака по доступности.
С другой стороны, если злоумышленник попытался повлиять на процесс работы базы данных, чтобы предотвратить доступ к содержащимся в ней данным, вы можете рассматривать это как атаку по целостности, так как в этом случае возможны потери или повреждение данных. Можно также отнести эту атаку к двум типам сразу, а можно рассматривать такую атаку как атаку модификации, а не прерывания — это мы увидим дальше.
Атаки типа «модификация» подразумевают подделку актива. Это в первую очередь атака на целостность, но также может быть и атака на доступность. Если вы обращаетесь к файлу, не имея на это прав, и изменяете данные, которые он содержит, вы нарушаете целостность данных. Но если рассматриваемый файл является файлом конфигурации, который управляет поведением службы, например работой веб-сервера, изменение содержимого файла может повлиять на доступность этой службы. Если конфигурация, которую вы изменили в файле настроек веб-сервера, изменяет способ работы сервера с зашифрованными данными, вы даже можете назвать это атакой на конфиденциальность.
Подделка — это искусственное создание данных, процессов, связи или других подобных вещей. Подобно двум последним типам атак, атаки типа «подделка» в первую очередь влияют на целостность, но также могут повлиять и на доступность. Создание фальшивой информации в базе данных — это типичная подделка. Вы также можете создать электронное письмо — частый метод распространения вредоносных программ. Если вы сгенерировали достаточно дополнительных процессов, сетевого трафика, писем, веб-трафика или чего-либо еще, что потребляет ресурсы, вы можете проводить атаку доступности, создав сервис, который обрабатывает трафик, недоступный для простых пользователей.
Чтобы более подробно поговорить об атаках, мне нужно ввести несколько новых терминов. Рассматривая вопрос о том, как атака может повлиять на вас, можно ввести понятие угроз, уязвимостей и связанных с ними рисков.
Я уже говорил о типах атак, с которыми вы можете столкнуться, и мы обсудили несколько типов атак, которые могут нанести вред активам, например несанкционированное изменение данных. Угроза — это то, что может причинить вред. Угрозы, как правило, присущи определенным средам, особенно в сфере ИБ. Например, некоторый вирус может наломать дров в Windows, но маловероятно, что тот же вирус как-либо повлияет на Linux.
Уязвимости — это слабости, или дыры, на которые нацелены угрозы, чтобы причинить вред. Уязвимость может быть связана с конкретной операционной системой или приложением, физическим местоположением вашего офиса или центра обработки данных, который, к примеру, производит больше тепла, чем может выдержать его система кондиционирования, отсутствием резервных генераторов или другими факторами.
Риск — это вероятность того, что случится что-то плохое. Чтобы в среде возник риск, должна быть и угроза, и уязвимость, которую угроза может использовать. Например, если есть сделанная из дерева конструкция и поблизости вы разжигаете огонь, у вас есть как угроза (огонь), так и уязвимость (собственно, дерево). В этом случае возникает риск.
Аналогично, если имеется угроза пожара, но конструкция бетонная, реального риска в системе больше нет, потому что нет уязвимости, которую можно было бы использовать. Вы можете возразить, что достаточно сильное пламя может повредить бетон, но это маловероятно.
В вычислительной среде мы часто говорим о потенциальных, но маловероятных атаках. Однако лучше всего потратить свое время на устранение наиболее вероятных атак. Если вы потратите ресурсы на попытки спланировать каждую возможную атаку, какой бы маловероятной она ни была, вам не хватит защиты там, где она действительно нужна.
Такие организации, как Агентство национальной безопасности США (АНБ), добавляют в уравнение «угроза — уязвимость — риск» еще один параметр — воздействие. Этот фактор учитывает стоимость актива, которому угрожает опасность, и стоимость используется для расчета риска. Вернемся к примеру с резервными лентами: если вы считаете, что на этих лентах содержится лишь коллекция рецептов шоколадного печенья, то никакому риску вы не подвергаетесь, потому что такие данные не содержат ничего конфиденциального, и вы сможете сделать еще копии. В этом случае можно смело сказать, что никакого риска нет.
Процессы управления рисками компенсируют риски в вашей среде. На рис. 1.4 показан типичный процесс управления рисками на высоком уровне.
Нужно определить, какие активы для вас важны, выяснить потенциальные угрозы, оценить уязвимости, а затем принять шаги по снижению этих рисков.
Рис. 1.4. Процесс управления рисками
Одна из первых и, возможно, наиболее важных частей процесса управления рисками — это определить, какие активы вы защищаете. Если вы не можете перечислить свои активы и оценить важность каждого из них, то и защитить их будет действительно трудно.
Задача кажется простой, но лишь на первый взгляд, особенно если речь идет о крупных предприятиях. У многих организаций может быть оборудование различных поколений, активы от приобретения других компаний, находящиеся неизвестно где, и множество незарегистрированных виртуальных хостов, которые могут быть критически важны для непрерывной работы предприятия.
Когда вы определите используемые активы, нужно будет решить, какие из них являются критически важными для бизнеса. Обычно для определения того, какие активы действительно важны для бизнеса, нужно понять, для каких вещей он используется, что ему нужно и какие еще стороны вовлечены в работу.
Определив критически важные активы, нужно перейти к выявлению угроз, которые могут на них повлиять. Часто бывает полезно иметь основу для обсуждения природы угрозы — для этого подойдет триада CIA или гексада Паркера.
Используем гексаду Паркера и попробуем изучить угрозы, с которыми вы можете столкнуться, работая с приложением, обрабатывающим платежи по кредитным картам.
Конфиденциальность. Если вы раскрываете данные ненадлежащим образом, возможны нарушения безопасности.
Целостность. Если данные повреждены, возможна неправильная обработка платежа.
Доступность. Если система или приложение выйдет из строя, вы не сможете выполнять обработку платежей.
Владение. Если вы потеряете резервный носитель, возможны нарушения безопасности.
Подлинность. Если у вас нет достоверной информации о клиенте, возможно, вы обработаете транзакцию мошенника.
Полезность. Если вы собираете некорректные данные, их полезность будет невелика.
Это довольно поверхностная оценка угроз системы, но зато уже сейчас мы выделили несколько проблемных областей. Важно подумать о потере контроля над данными, следить за точностью данных и поддерживать систему в рабочем состоянии. Имея эту информацию, вы можете изучить области уязвимости и потенциального риска.
Выполнять оценку уязвимостей нужно в контексте потенциальных угроз. Любой актив может содержать тысячи или миллионы угроз, которые могут повлиять на него, но только небольшая часть из них будет иметь значение. В предыдущем разделе мы поговорили о потенциальных угрозах для системы, обрабатывающей транзакции по кредитным картам.
Давайте посмотрим на выявленные проблемы и попытаемся определить, существуют ли уязвимости в какой-либо из них.
Конфиденциальность. Если вы раскрываете данные ненадлежащим образом, возможны нарушения безопасности.
Ваши конфиденциальные данные в состоянии покоя и в движении зашифрованы. Ваши системы регулярно тестируются сторонней компанией на предмет проникновений. Риска нет.
Целостность. Если данные повреждены, возможна неправильная обработка платежа.
Вы внимательно проверяете правильность платежных данных в рамках рабочего процесса. Неверные данные приводят к отклонению транзакции. Риска нет.
Доступность. Если система или приложение выйдет из строя, вы не сможете выполнять обработку платежей.
Нет резервной базы данных на внутренней стороне системы обработки платежей. Если база данных выйдет из строя, вы не сможете обрабатывать платежи. Риск есть.
Владение. Если вы потеряете резервный носитель, возможны нарушения безопасности.
Ваши резервные копии зашифрованы и доставляются курьером. Риска нет.
Подлинность. Если у вас нет достоверной информации о клиенте, возможно, вы обработаете транзакцию мошенника.
Трудно гарантировать, что информация о платеже действительная и что она принадлежит лицу, проводящему транзакцию. Способа проверить ее нет. Риск есть.
Полезность. Если вы собираете некорректные данные, их полезность будет невелика.
Чтобы защитить полезность ваших данных, мы проверяем контрольную сумму номеров кредитных карт, чтобы убедиться, что адрес для выставления счетов и адрес почты действительны, и предпринимаем другие меры для обеспечения корректности данных. Риска нет.
Эти примеры дают довольно общее представление о процессе, который надо запустить, но зато хорошо иллюстрируют задачи. Мы выделили несколько областей, вызывающих беспокойство, а именно области подлинности и доступности. Теперь можно оценивать риски в этих областях.
Определив угрозы и уязвимости для данного актива, можно оценить общий риск. Как уже говорилось, риск — это сочетание угрозы и уязвимости. Уязвимость без соответствующей угрозы или угроза без соответствующей уязвимости не порождают риска.
Например, следующий элемент был одновременно потенциальной угрозой и уязвимостью:
Доступность. Если система или приложение выйдет из строя, вы не сможете выполнять обработку платежей.
У вас нет резервной базы данных на внутренней стороне системы обработки платежей. Если база данных выйдет из строя, вы не сможете обрабатывать платежи.
В этом случае есть и угроза, и соответствующая уязвимость, а это значит, что вы рискуете потерять возможность обрабатывать платежи по кредитным картам из-за отказа в серверной части вашей базы данных. Проработав таким образом угрозы и уязвимости, вы сможете смягчить риски.
Чтобы снизить риски, вы можете принять меры для учета каждой угрозы. Эти меры называются мерамиконтроля. Меры контроля делятся на три категории: физические, логические и административные.
Физические меры контроля защищают физическую среду, в которой находятся системы или хранятся данные. Эти меры контроля также обеспечивают доступ в такие среды и из них. К физическим мерам контроля относятся заборы, ворота, замки, столбики, ограждения и камеры, а также системы, поддерживающие физическое состояние среды, например системы отопления и кондиционирования, системы пожаротушения и резервные генераторы энергии.
Хотя на первый взгляд может показаться, что физические меры контроля не являются частью ИБ, они относятся к наиболее важным. Если вы не можете физически защитить свои системы и данные, любые другие меры становятся бесполезны. Если злоумышленники способны получить физический доступ к вашим системам, они могут украсть или уничтожить их — и это в лучшем случае. В худшем случае злоумышленники смогут напрямую получить доступ к вашим приложениям и данным, украсть информацию и ресурсы или использовать их для своих целей.
Логические меры контроля иногда называют техническими мерами, и они защищают системы, сети и среды, которые обрабатывают, передают и хранят ваши данные. К логическим мерам управления относятся пароли, шифрование, контроль доступа, брандмауэры и системы обнаружения вторжений.
Логические меры контроля позволяют предотвратить несанкционированные действия. Если ваши логические меры контроля реализованы правильно и успешно, злоумышленник или неавторизованный пользователь не сможет получить доступ к приложениям и данным, не обойдя сначала их.
Административные меры контроля основаны на правилах, законах, политиках, процедурах, инструкциях и других документах, носящих «бумажный» характер. Административные меры контроля диктуют, как должны вести себя пользователи вашей среды. В зависимости от среды административные меры контроля могут разделять уровни полномочий. Простое правило, например «выключайте кофеварку в конце дня», помогает избежать проблем с физической безопасностью (пожар в доме). Меры могут быть и более строгими, например требование о смене пароля каждые 90 дней.
В административных мерах контроля важна возможность их применения. Если у вас нет полномочий или способности гарантировать, что меры контроля соблюдаются, они окажутся бесполезны и будут лишь создавать ложное чувство безопасности. Например, если вы создаете политику, в которой говорится, что сотрудники не могут использовать бизнес-ресурсы в личных целях, должен быть способ ее реализовать. Вне защищенной среды это будет сложно. Потребуется отслеживать использование стационарного и мобильного телефона, доступ в интернет, электронную почту, мессенджеры, установленное ПО и другие потенциальные места для нарушений. Если вы не готовы выделить достаточно ресурсов на мониторинг, то не сможете обеспечить соблюдение политики. Когда аудиторы попросят у вас доказательства соблюдения политики, предъявить будет нечего.
Если меры по управлению рисками окажутся не столь хороши, как вы надеялись, или произойдет что-то совершенно неожиданное, на происшествие нужно будет отреагировать. Следует сконцентрироваться на элементах, которые, по вашему мнению, могут причинить ущерб. Сами эти элементы нужно определить ранее.
По возможности, реакция на инциденты должна быть основана на документированных планах реагирования на инциденты, которые должны регулярно пересматриваться, тестироваться и отрабатываться на практике. Не стоит ждать, пока возникнет действительно чрезвычайная ситуация, чтобы лишь тогда узнать, что документация устарела и относится к процессам или системам, которые сильно изменились или вовсе исчезли.
Процесс реагирования на инциденты на высоком уровне состоит из следующего:
• подготовка;
• обнаружение и анализ;
• сдерживание;
• искоренение;
• восстановление;
• действия после чрезвычайной ситуации.
Далее рассмотрим эти фазы более подробно.
Фаза подготовки реагирования на инцидент включает те действия, которые вы можете выполнить заранее, чтобы лучше справиться с инцидентом. Обычно в нее входит создание политик и процедур, которые регулируют реагирование на инциденты, обучение непосредственно связанных с этим сотрудников и тех, кто должен сообщать об инцидентах, а также разработку и обслуживание документации.
Нельзя недооценивать важность этой фазы реагирования на инциденты. Без надлежащей подготовки реакция на инцидент вряд ли окажется успешной или будет соответствовать планам. Определять, что, кто и как должен делать, нужно задолго до того, как возникла сама ситуация.
На этапе обнаружения и анализа и начинается основная работа. На этом этапе вы обнаруживаете проблему, классифицируете ее как происшествие, а затем соответственно реагируете на нее.
Чаще всего проблема обнаруживается с помощью инструмента или службы безопасности, например системы обнаружения вторжений (intrusion detection system, IDS), антивирусного (AV) программного обеспечения, журналов брандмауэра, журналов прокси, предупреждений от инструмента мониторинга информации и событий безопасности (security information and event monitoring, SIEM) или от поставщика управляемых услуг безопасности (managed security service provider, MSSP).
Анализ на этом этапе часто представляет собой сочетание автоматических действий инструмента или сервиса, обычно инструмента SIEM, и человеческого мнения. Обычно существует некий предел, при котором некоторое количество событий за определенный промежуток времени является нормальным, а какие-то события или их комбинации уже выходят за рамки нормы (например, два неудачных входа в систему, затем успешная смена пароля и создание новой учетной записи), и тогда требуется человеческое вмешательство. Обычно такое вмешательство подразумевает просмотр журналов, выводимых различными устройствами безопасности, сетевыми устройствами и инфраструктурой, контакт со стороной, сообщившей об инциденте, и общую оценку ситуации (по закону подлости, такие ситуации обычно возникают вечером в пятницу или ночью в воскресенье).
Когда обработчик инцидента оценивает ситуацию, он решает, является ли проблема чрезвычайной ситуацией, оценивает ее серьезность и привлекает различные ресурсы, необходимые для перехода к следующему этапу.
Именно на этапе сдерживания, искоренения и восстановления выполняется большая часть работы по устранению инцидента, по крайней мере в краткосрочной перспективе.
Сдерживание — это принятие мер, гарантирующих, что в результате ситуации не возникнет большего ущерба, чем уже возникло, или что долгосрочный ущерб снизится. Если проблема связана с сервером, зараженным вредоносным ПО, и если сервер активно управляется злоумышленником, можно отключить сервер от сети, установить правила брандмауэра для блокировки злоумышленника и обновить сигнатуры или правила в системе предотвращения вторжений (intrusion prevention system, IPS), чтобы остановить трафик от вредоносного ПО.
На этапе искоренения вы пытаетесь устранить последствия проблемы, действуя из своей среды. В примере с зараженным сервером вы уже изолировали систему и отключили ее от сети управления.
Теперь нужно удалить с сервера вредоносное ПО и убедиться, что оно не осталось в другом месте вашей среды. Вы можете выполнить дополнительное сканирование других хостов в среде, чтобы убедиться, что вредоносная программа не размножилась, и, возможно, изучить журналы на сервере и в сети, чтобы определить, с какими другими системами взаимодействовал зараженный сервер. Когда мы имеем дело с вредоносными программами, особенно новыми их вариантами, это может быть сложной задачей. Всякий раз, когда вы сомневаетесь, получилось ли удалить вредоносное ПО или изгнать злоумышленников из своей среды, следует проявлять осторожность.
Наконец, нужно восстановить состояние, которое было до инцидента. Под этим может пониматься восстановление устройств или данных с носителей резервных копий, восстановление систем или перезагрузка приложений. Опять же эта задача может быть труднее, чем кажется на первый взгляд, потому что понимание ситуации может быть неполным или смутным. Вы не сразу можете понять, что носитель резервных копий ничем не заражен, равно как и понять, что он безвозвратно испорчен. Установщики приложения могут отсутствовать, файлы конфигурации могут быть недоступны — и это лишь часть возможных проблем.
Важно не пренебрегать действиями после чрезвычайной ситуации. На этом этапе, который часто называют post-mortem, или вскрытием, мы пытаемся определить, что именно произошло, почему и что можно сделать, чтобы оно не повторилось. Цель этого этапа — не обвинять кого-то во всех грехах (хотя бывает и такое), а устранить или снизить вероятность подобных инцидентов в будущем.
Теперь, когда вы знаете больше о потенциальных последствиях нарушения системы безопасности, о видах атак, с которыми можно столкнуться, и о стратегиях борьбы с этими атаками, я расскажу, как предотвратить атаки. Глубокая защита — это стратегия, применяемая и в военном деле, и в информационной безопасности. Основная идея в том, чтобы сформулировать многоуровневую защиту, которая позволила бы противостоять атаке, даже если одна или несколько ваших защитных мер не сработают.
На рис. 1.5 приведен пример уровней защиты, которые можно применить для защиты своих активов.
Рис. 1.5. Глубокая защита
Как минимум нужна защита на уровне внешней сети, внутренней сети, хоста, приложения и данных. Хорошо реализованная защита на каждом из этих уровней затруднит проникновение злоумышленника в вашу сеть и прямую атаку на ваши активы.
Но глубокая защита не панацея. Независимо от того, сколько уровней вы придумаете или сколько защитных мер разместите на каждом уровне, вы не сможете защищаться от любой атаки вечно. Но и такой цели у глубокой защиты нет. Цель в том, чтобы данного количества мер защиты было достаточно, чтобы вы успели заметить и отразить атаку.
Пример такой тактики сдерживания — требование к сотрудникам менять пароли каждые 60 или 90 дней. Это усложняет задачу быстрого взлома пароля.
Еще одна тактика сдерживания — использование строгих правил создания паролей. Рассмотрим пароль mypassword, который состоит из десяти символов из одного набора (латинские буквы). Использующий относительно медленную стандартную систему злоумышленник взломает такой пароль за пару недель. При наличии специальной системы взлома паролей или ботнета взлом займет всего пару часов.
Если вы используете более жесткие требования к паролю и используете пароль типа MyP@ssword1, который также состоит из десяти символов, но уже из четырех наборов, взлом пароля займет тысячи лет на специальном оборудовании и несколько лет при использовании мощного ботнета.
Если ваши сотрудники будут обязаны часто менять пароли и делать их достаточно сложными, злоумышленник не сможет его взломать и использовать.
Энтропия паролей
В рассмотренном выше примере сложного пароля используется классическая схема построения надежного пароля, состоящего из восьми или более символов и состоящая из нескольких наборов символов (верхний и нижний регистр, числа и знаки препинания).
Некоторые считают, что у такого пароля недостаточно высокая энтропия (непредсказуемость), чтобы считать его безопасным, и что лучше использовать более длинный, более энтропийный и более легко запоминающийся пароль например, «едемедемвсоседнееселонадискотеку»4.
Так или иначе, задача состоит в создании достаточно безопасных паролей и их регулярном изменении.
Уровни глубокой защиты будут различаться в зависимости от ситуации и среды, которую вы защищаете. Как уже говорилось, со строго логической (нефизической) точки зрения на безопасность внешняя сеть, сетевой периметр, внутренняя сеть, хост, приложения и данные — это уровни размещения защиты.
Вы можете усложнить свою защитную модель, включив в нее и другие жизненно важные уровни, например физическую защиту, корпоративную политику, осведомленность и обучение пользователей, но в целях упрощения обойдемся без них.
В табл. 1.1 перечислены меры защиты, которые используются для каждого из названных уровней.
Таблица 1.1. Защита по уровням
Слой
Защитные меры
Внешняя сеть
DMZ
VPN
Ведение журнала
Аудит
Тестирование на проникновение
Анализ уязвимостей
Сетевой периметр
Брандмауэр
Прокси
Ведение журнала
Проверка пакетов с отслеживанием состояния
Аудит
Тестирование на проникновение
Анализ уязвимостей
Внутренняя сеть
IDS
IPS
Ведение журнала
Аудит
Тестирование на проникновение
Анализ уязвимостей
Хост
Аутентификация
Антивирусы
Брандмауэры
IDS
IPS
Пароли
Хеширование
Ведение журнала
Аудит
Тестирование на проникновение
Анализ уязвимостей
Приложение
SSO
Фильтрация контента
Проверка данных
Аудит
Тестирование на проникновение
Анализ уязвимостей
Данные
Шифрование
Контроль доступа
Резервное копирование
Тестирование на проникновение
Анализ уязвимостей
В некоторых случаях защитная мера используется на нескольких уровнях, поскольку применяется более чем к одной области. Пример такой меры: тестирование на проникновение — метод поиска брешей в системе безопасности, где используются те же стратегии, которые злоумышленник использовал бы для взлома на каждом уровне. Мы обсудим это более подробно в главе 14. Использовать тестирование на проникновение можно на каждом уровне вашей защиты. В то же время определенные меры защиты привязаны к определенным уровням, например брандмауэры и прокси на периметре сети. Некоторые или все эти элементы управления могут существовать не только на показанных уровнях — здесь приводится лишь общее руководство. По ходу повествования мы более подробно обсудим каждую этих областей, показанных в табл. 1.1, а также поговорим о конкретных средствах защиты, которые вы, возможно, захотите использовать.