Научная статья на тему 'Использование программных средств обеспечение безопасности Linux-сервера в рамках соревнований CTF'

Использование программных средств обеспечение безопасности Linux-сервера в рамках соревнований CTF Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
398
151
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
LINUX-СЕРВЕР / СОРЕВНОВАНИЯ ПО БЕЗОПАСНОСТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Литвиненко Аркадий Владимирович

Рассматриваются разнообразные методы обеспечения безопасности Linuxсервера в рамках соревнований CTF. Рассмотрены вопросы контроля версий фай­лов, перехвата трафика, отслеживания ресурсов машины.

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

USING LINUX-SERVER SECURITY SOFTWARE WITHIN CTF COMPETITION

The various methods of security Linux-server under competition CTF are discussed. The problems of version control files, sniffing, resource tracking machine are considered. Keywords: Linux-server, event security.

Текст научной работы на тему «Использование программных средств обеспечение безопасности Linux-сервера в рамках соревнований CTF»

ИСПОЛЬЗОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ LINUX-СЕРВЕРА В РАМКАХ СОРЕВНОВАНИЙ CTF

Литвиненко Аркадий Владимирович, Москва, МГТУ им. Н.Э. Баумана,

E-mail: prorog@mail.ru

Рассматриваются разнообразные методы обеспечения безопасности Linux-сервера в рамках соревнований CTF. Рассмотрены вопросы контроля версий файлов, перехвата трафика, отслеживания ресурсов машины.

Ключевые слова: Linux-сервер, соревнования по безопасности.

USING LINUX-SERVER SECURITY I SOFTWARE WITHIN CTF COMPETITION I

Arkadi Litvinenko, Moscow, Bauman MSTU, E-mail: prorog@mail.ru

The various methods of security Linux-server under competition CTF are discussed. The problems of version control files, sniffing, resource tracking machine are considered. Keywords: Linux-server, event security.

В настоящее время вопросы подготовки квалифицированных специалистов в области информационной безопасности являются чрезвычайной актуальными [1]. Среди специалистов по защите информации весьма популярны соревнования по тестированию средств защиты и выявлению их слабых мест, одним из которых является соревнование CTF (Capture The Flag) [2]. Существует 2 основных варианта проведения соревнований:

• Task-Based - игрокам предоставляется набор заданий, к которым требуется найти ответ и отправить его. Ответом является флаг - набор символов или произвольная фраза. Каждое задание оценивается различным количеством очков, в зависимости от сложности.

• Attack-Defence (classical) - В классической схеме каждая команда получает выделенный сервер или небольшую сеть для поддержания её функционирования и защиты. Во время игры команды получают очки за корректную работу сервисов своего сервера и за украденную информацию (флаги) с серверов противников.

Основная цель работы: определить наиболее эффективные способы обеспечения защиты сервера от атак противников во время соревнований.

Рассмотрим более подробно вариант Attack-Defence.

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

УДК 003.26.7004.9

Если на онлайн CTF количество участников команды не проверяется и, как следствие, не ограничено, то на очных соревнованиях размер команды 5-7 человек. Как правило, защиту сервера обеспечивают 1-2 человека, в то время как остальные участники команды заняты поиском и эксплуатацией уязвимостей на чужих серве-

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

Рассмотрим основные программные средства, которые могут быть использованы.

Основные функциональные требования к средствам:

• Быстрота и лёгкость в настройке и использование

• Возможность модификации/расширения, либо использование в паре с другой программой.

• Независимость от linux-дистрибутива

Что возможно потребуется дополнительно:

• Резервные копии с возможностью быстрого восстановления

• Контроль версий файлов

• Контроль входящего и исходящего трафика

• Контроль активных ssh-подключений

• Контроль открытых портов

• Контроль ресурсов сервера.

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

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

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

Обеспечить контроль трафика позволяет связка программ - tcpdump и iptables. Tcpdump обеспечивает гибкий перехват всего трафика конкретного интерфейса и сохранение его в файлы. Для чтения дампов удобнее всего использовать wireshark. Программа iptables является одной из самых необходимых для нас. Она позволяет на лету фильтровать весь проходящий трафик. Если с помощью tcpdump мы перехватили работу чужого эксплоита, то с помощью iptables мы можем быстро пресечь атаку на наш сервер, фильтруя содержимое пакетов, еще до полного исправления уязвимости в самом сервисе.

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

Использование программных средств...

Автор разработал клиент-серверное приложение, которое ведёт постоянную проверку интересующих характеристик.

Программа состоит из четырех независимых блоков:

• Первый блок содержит в себе информацию о CPU, RAM и Hard. При повышенной загрузке окрашивается в красный цвет.

• Второй блок - текущие SSH подключения.

• Третий блок - время и тип изменения файлов в заданных каталогах.

• Четвертый блок - открытые порты на сервере. Позволяет вовремя отследить загрузку shell s на машину и заблокировать порт.

Серверная часть находится на основной машине и написана на java. Java выбран из-за простоты серверного кода и кроссплатформенности.

Клиентская часть располагается на игровом сервере в качестве демона. Изначально предпочтение было отдано C, но в процессе реализации стало понятно, что это не принципиально, т.к. в большинстве используются стандартные shell команды.

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

Литература

1. Матвеев В.А., Цирлов В.Л. Состояние и перспективы развития индустрии информационной безопасности Российской Федерации в 2014 г. // Вопросы кибербезопасности. 2013. № 1(1). С.61-64.

2. Capture the flag. URL: http://en.wikipedia.org/wiki/Capture_the_flag

Reference

1. Matveyev V.A., Tsirlov V.L. Sostoyaniye i perspektivy razvitiya industrii informatsionnoy bezopasnosti Rossiyskoy Federatsii v 2014 g., Voprosy kiberbezopasnosti, 2013, N 1(1), pp.6164.

2. Capture the flag, URL: http://en.wikipedia.org/wiki/Capture_the_flag

i Надоели баннеры? Вы всегда можете отключить рекламу.