Академический Документы
Профессиональный Документы
Культура Документы
Оглавление
Аудит информационной безопасности ........................................................................ 2
1
оценить возможность осуществления атак на целевую систему и
спрогнозировать экономические потери в результате успешного
осуществления атаки. Пентест является неотъемлемой частью аудита
безопасности.
Виды аудитов
Внешний аудит проводится независимой компанией, которая
предоставляет консалтинговые услуги в области информационной
безопасности. Внутренний аудит осуществляется силами службы
внутреннего контроля компании, отделом информационной
безопасности или ИТ.
Внутренний аудит представляет собой непрерывную деятельность,
которая осуществляется на основании документа, обычно носящего
название «Положение о внутреннем аудите», и в соответствии с
планом, подготовка которого осуществляется подразделением
внутреннего аудита и утверждается руководством организации.
2
Этапы аудита безопасности
Работы по аудиту безопасности включают в себя ряд последовательных
этапов, включающие в себя:
инициирование процедуры аудита;
сбор информации о цели;
анализ данных аудита;
выработку рекомендаций;
подготовку аудиторского отчета.
На этапе инициирования процедуры аудита должны быть решены
следующие организационные вопросы:
права и обязанности аудитора должны быть четко определены и
документально закреплены в его должностных инструкциях, а
также в положении о внутреннем (внешнем) аудите;
аудитором должен быть подготовлен и согласован с
руководством план проведения аудита;
в положении о внутреннем аудите должно быть закреплено, в
частности, что сотрудники компании обязаны оказывать
содействие аудитору и предоставлять всю необходимую для
проведения аудита информацию.
На этапе инициирования процедуры аудита должны быть определены
границы проведения обследования. План и границы проведения аудита
обсуждаются на рабочем собрании, в котором участвуют аудиторы,
руководство компании и руководители структурных подразделений.
3
Компетентные выводы относительно положения дел в компании с
информационной безопасностью могут быть сделаны аудитором только
при условии наличия всех необходимых исходных данных для анализа.
Первый пункт аудиторского обследования начинается с получения
информации об организационной структуре пользователей ИС и
обслуживающих подразделений. Назначение и принципы
функционирования ИС во многом определяют существующие риски и
требования безопасности, предъявляемые к системе. Далее, аудитору
требуется более детальная информация о структуре ИС. Это позволит
уяснить, каким образом осуществляется распределение механизмов
безопасности по структурным элементам и уровням функционирования
ИС.
Этапы сбора информации будут подробно описаны в следующих уроках.
Рекомендации, выдаваемые аудитором по результатам анализа
состояния ИС, определяются используемым подходом, особенностями
обследуемой ИС, состоянием дел с информационной безопасностью и
степенью детализации, используемой при проведении аудита. В любом
случае, рекомендации аудитора должны быть конкретными и
применимыми к данной ИС, экономически обоснованными,
аргументированными (подкрепленными результатами анализа) и
отсортированными по степени важности. При этом мероприятия по
обеспечению защиты организационного уровня практически всегда
имеют приоритет над конкретными программно — техническими
методами защиты. В то же время наивно ожидать от аудитора, в
качестве результата проведения аудита, выдачи технического проекта
подсистемы информационной безопасности, либо детальных
рекомендаций по внедрению конкретных программно — технических
средств защиты информации. Это требует более детальной проработки
конкретных вопросов организации защиты, хотя внутренние аудиторы
могут принимать в этих работах самое активное участие.
4
Аудиторский отчет является основным результатом проведения
аудита. Его качество характеризует качество работы аудитора. Он
должен, по крайней мере, содержать описание целей проведения
аудита, характеристику обследуемой ИС, указание границ проведения
аудита и используемых методов, результаты анализа данных аудита,
выводы, обобщающие эти результаты и содержащие оценку уровня
защищенности АС или соответствие её требованиям стандартов, и,
конечно, рекомендации аудитора по устранению существующих
недостатков и совершенствованию системы защиты.
Структура протокола
Каждое HTTP-сообщение состоит из трёх частей, которые передаются в
указанном порядке:
Стартовая строка (Starting line) — определяет тип сообщения;
Заголовки (Headers) — характеризуют тело сообщения, параметры
передачи и прочие сведения;
Тело сообщения (Message Body) — непосредственно данные
сообщения. Обязательно должно отделяться от заголовков пустой
строкой.
5
Тело сообщения может отсутствовать, но стартовая строка и заголовок
являются обязательными элементами.
Стартовая строка
Стартовые строки различаются для запроса и ответа. Строка запроса
выглядит так:
GET / HTTP/1.0
Host: www.codeby.net
Стартовая строка ответа сервера имеет следующий формат:
HTTP/Версия КодСостояния Пояснение, где:
Версия — пара разделённых точкой цифр, как в запросе;
6
Пояснение (Reason Phrase) — текстовое короткое пояснение к
коду ответа для пользователя. Никак не влияет на сообщение и
является необязательным.
HTTP/1.0 200 OK
Методы
Метод HTTP — последовательность из любых символов, кроме
управляющих и разделителей, указывающая на основную операцию над
ресурсом. Обычно метод представляет собой короткое английское
слово, записанное заглавными буквами. Обратите внимание, что
название метода чувствительно к регистру.
Сервер может использовать любые методы, не существует
обязательных методов для сервера или клиента. Если сервер не
распознал указанный клиентом метод, то он должен вернуть статус 501
(Not Implemented). Если серверу метод известен, но он неприменим к
конкретному ресурсу, то возвращается сообщение с кодом 405 (Method
Not Allowed). В обоих случаях серверу следует включить в сообщение
ответа заголовок Allow со списком поддерживаемых методов.
Кроме методов GET и HEAD, часто применяется метод POST.
OPTIONS - используется для определения возможностей веб-
сервера или параметров соединения для конкретного ресурса. В
ответ серверу следует включить заголовок Allow со списком
поддерживаемых методов. Также в заголовке ответа может
включаться информация о поддерживаемых расширениях.
7
Для того, чтобы узнать возможности всего сервера, клиент должен
указать в URI звёздочку — «*». Запросы «OPTIONS * HTTP/1.1» могут
также применяться для проверки работоспособности сервера
(аналогично ping) и тестирования на предмет поддержки сервером
протокола HTTP версии 1.1.
Результат выполнения этого метода не кэшируется.
GET - используется для запроса содержимого указанного ресурса.
С помощью метода GET можно также начать какой-либо процесс.
В этом случае в тело ответного сообщения следует включить
информацию о ходе выполнения процесса.
8
POST - применяется для передачи пользовательских данных
заданному ресурсу. При этом передаваемые данные включаются
в тело запроса. Аналогично с помощью метода POST обычно
загружаются файлы на сервер.
9
DELETE - удаляет указанный ресурс.
Заголовки HTTP
Заголовки HTTP (Headers) — это строки в HTTP-сообщении, содержащие
разделённую двоеточием пару имя-значение. Формат заголовков
соответствует общему формату заголовков текстовых сетевых
сообщений ARPA. Заголовки должны отделяться от тела сообщения хотя
бы одной пустой строкой. Эта часть HTTP протокола одна из самых
интересных для пентестера, так как большинство манипуляций
происходит именно с хидерами.
Все заголовки разделяются на четыре основных группы:
General Headers (рус.Общие заголовки) — используются в
запросах и ответах.
10
Веб –сервер
Немного освежив память в части работы протокола HTTP, необходимо
переходить к серверной части.
Веб-сервер — сервер, принимающий HTTP-запросы от клиентов, обычно
веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с
HTML-страницей, изображением, файлом, медиа-потоком или другими
данными.
Клиент, которым обычно является веб-браузер, передаёт веб-серверу
запросы на получение ресурсов, обозначенных URL-адресами.
Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или
другие данные, которые необходимы клиенту. В ответ веб-сервер
передаёт клиенту запрошенные данные.
11
Internet
Является частью пакета IIS.
Information вкл. в Win NT Нет
Поддерживает .NET
Services
Jetty бесплатно Да Реализован полностью на Java.
Использование на сильно
нагруженных серверах,
lighttpd бесплатно Да
обеспечение быстроты и
защищённости.
Разрабатывался для
испытывающих большую
nginx бесплатно Да нагрузку серверов.
Включает в себя почтовый
прокси-сервер.
Содержит веб-интерфейс
администрирования, а также
интерфейс пользователя,
который содержит в себе почту,
Sambar календарь, RSS, блог,
shareware Нет
Service фотоальбомы, чат и форум.
Также может выполнять роль
почтового сервера, DNS-
сервера, FTP-сервера, Proxy-
сервера и другое.
Компактный (размер
исполняемого файла около 120
бесплатно для СНГ
Кб), простой и быстрый HTTP-
Small HTTP при условии
Нет сервер. Также может выполнять
Server некоммерческого
роль почтового сервера, DNS-
использования
сервера, FTP-сервера, Proxy-
сервера и другое.
Tiny Web бесплатно Да Исключительно компактный
12
(размер исполняемого файла 53
Кб), простой и быстрый HTTP-
сервер. Распространяется
вместе с исходным кодом на
Delphi.
Классификаторы уязвимостей
Для начала требуется выяснить что такое уязвимость. Уязвимость (англ.
vulnerability) - недостаток в коде сайта или программном обеспечении
сервера, используя которые, можно нарушить целостность системы и
вызвать неправильную работу.
Уязвимость может быть результатом ошибок программирования,
недостатков, допущенных при проектировании сайтов, ненадежных
паролей, возможности проведения скриптовых и SQL - инъекций, а
также атак на сайт.
Обычно уязвимость позволяет атакующему «обмануть» web
приложение — заставить его совершить действие, на которое у того не
должно быть прав.
Это делается путем внедрения каким-либо образом в программу
данных или кода в такие места, что программа воспримет их как «свои».
В большинстве случаев уязвимости появляются из-за недостаточной
проверки данных, вводимых пользователем, и позволяют вставить в
интерпретируемый код произвольные команды.
13
Многие уязвимости появляются из-за более сложных проблем, таких как
запись данных в буфер без проверки его границ (переполнение буфера).
Одни уязвимости известны только теоретически, но большинство
уязвимостей уже активно используются и имеют известные эксплоиты.
Рассмотрим самые популярные классификаторы уязвимостей
OWASP
OWASP Top 10 – перечень наиболее опасных рисков информационной
безопасности для веб-приложений по мнению экспертного сообщества;
OWASP (Open Web Application Security Project) – это некоммерческая
организация, целью которой является повышение осведомленности
всех специалистов отрасли информационной безопасности в вопросах
разработки, эксплуатации и защиты веб-приложений. OWASP Top 10
является одним из наиболее известных проектов организации.
OWASP Top 10 — это рейтинг из десяти наиболее опасных рисков
информационной безопасности для веб-приложений, составленный
сообществом экспертов отрасли. Для каждого пункта рейтинга риск
посчитан экспертами на основе методики OWASP Risk Rating
Methodology и включает оценку по следующим критериям:
распространенности соответствующих уязвимостей в
приложениях (Weakness Prevalence), сложности их
обнаружения (Weakness Detectability) и эксплуатации (Exploitability), а
также критичности последствий их эксплуатации (Technical Impacts). По
понятным причинам в расчетах критичности рисков не учитываются
бизнес-последствия от их реализации. Там, где это возможно, названия
рисков в рейтинге соотносятся с названиями соответствующих
уязвимостей в классификации CWE (Common Weakness Enumeration).
Следует отметить, что в отличие от классификаций, проект
OWASP Top 10 не претендует на охват всех имеющихся рисков, а лишь
представляет самые актуальные из них на момент выпуска рейтинга.
14
Первая версия рейтинга OWASP Top 10 появилась в 2004 году, и с тех
пор документ обновляется каждые три-четыре года. Обновленные
версии публиковались в 2007, 2010, 2013 и 2017 годах.
15
стандартизации методик оценки программных продуктов с точки зрения
информационной безопасности.
Ошибки в программном обеспечении, которые могут быть
непосредственно использованы злоумышленником для реализации
угроз безопасности называют уязвимостями. Ошибки, которые могут
привести к возникновению уязвимостей – недостатками безопасности.
Примером, иллюстрирующим разницу между этими двумя понятиями,
является уязвимость – СVE-2010-2245 (внедрение внешних XML-
сущностей в веб-сервисе Apache версии ниже 1.1.1) и недостаток
безопасности СWE-611 (неверное ограничение XML-ссылок на внешние
объекты), послуживший причиной этой уязвимости. Главное отличие
принципов, на которых строятся классификации недостатков от
принципов классификации уязвимостей, состоит в том, что особенно
важно сохранить связь между недостатками, ведь ошибки ведут к
новым ошибкам, например, ошибки проектирования ведут к ошибкам в
реализации. Такая связь в CWE воплощена через разные уровни
абстракций и обширные иерархические представления, которые будут
рассмотрены ниже.
На данный момент классификаторов уязвимостей достаточно много,
некоторые повторяют друг друга, выше описаны самые известные и
популярные.
Служба Поддержки
school@codeby.net
16