ИСПОЛЬЗОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ LINUX-СЕРВЕРА В РАМКАХ СОРЕВНОВАНИЙ CTF
Литвиненко Аркадий Владимирович, Москва, МГТУ им. Н.Э. Баумана,
E-mail: [email protected]
Рассматриваются разнообразные методы обеспечения безопасности Linux-сервера в рамках соревнований CTF. Рассмотрены вопросы контроля версий файлов, перехвата трафика, отслеживания ресурсов машины.
Ключевые слова: Linux-сервер, соревнования по безопасности.
USING LINUX-SERVER SECURITY I SOFTWARE WITHIN CTF COMPETITION I
Arkadi Litvinenko, Moscow, Bauman MSTU, E-mail: [email protected]
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