| Слушать на Google Podcasts | Слушать на Mave | Слушать на Яндекс Музыке |
Руслан Рахметов, Security Vision
В прошлый раз мы разбирали основные навыки аналитиков, которые помогают развиваться в этой сфере, а в текущей статье обсудим технические знания, которые делают сотрудников SOC (Security Operations Center) настоящими швейцарскими ножами для обеспечения безопасности. Как и в прошлой части обзора, мы предлагаем разделить все знания по областям: сетевые технологии, журналирование и логи, операционные системы и скрипты.
Навыки в области сетевых технологий помогают аналитику понимать, как устроена сеть, как она работает, и что происходит внутри неё. Эти знания необходимы для того, чтобы эффективно защищать сети от киберугроз, выявлять аномалии и реагировать на инциденты. Рассмотрим каждую из составляющих подробнее.
Модель OSI (Open Systems Interconnection) – это структура, которая описывает, как данные передаются через сеть через отдельные уровни, которые работают вместе, обеспечивая передачу данных от одного устройства к другому. Несколько лет назад мы разбирали модель OSI, делая особый упор на уровнях 3 и 4, а в этот раз разберем подробнее все семь:
1) Самый низкий уровень – физический. Он отвечает за передачу данных через физические среды (кабели или радиоволны). В реальной жизни это как железная дорога, по которой поезда движутся, как данные по физическим кабелям;
2) Канальный уровень, в котором данные разбиваются на фреймы и передаются по каналу связи. Это как передача товаров на станции: каждый вагончик или фургон должен быть доставлен на нужную станцию, а после данные собираются из фреймов вместе;
3) Сетевой уровень отвечает за маршрутизацию данных по сети. Это как навигатор, который решает, как быстрее всего доставить посылку от отправителя до адресата, только вместо навигации по карте города для данных обеспечивается IP-маршрутизация;
4) Транспортный уровень обеспечивает надёжную передачу данных. Это как служба доставки, которая гарантирует, что посылка будет доставлена в нужное время и в целости, для чего применяются протоколы TCP и UDP;
5) Сеансовый уровень устанавливает, поддерживает и завершает сеансы связи между устройствами. Это как звонок между людьми: нужно начать разговор, поддерживать связь пока есть о чем говорить, а когда разговор завершён – завершить и звонок;
6) Представительский уровень отвечает за преобразование данных, например, сжатие или шифрование. Представьте, что перед отправкой посылку упаковали для безопасности в плёнку с пупырышками, которая защитит содержимое во время падений, или откачали лишний воздух из мешка с огромным одеялом и тем самым уменьшили его размеры;
7) Прикладной уровень – это уровень, на котором работают приложения, веб-браузеры, почтовые клиенты и другие программы, взаимодействующие с сетью.
Сетевые протоколы – это как правила дорожного движения для передачи данных по сети, которые обеспечивают передачу и доставку данных в целостности:
а) TCP/IP (Transmission Control Protocol и Internet Protocol), основной набор протоколов, обеспечивающий передачу данных через интернет (TCP гарантирует, что все данные дойдут в правильном порядке, а IP отвечает за маршрутизацию пакетов по сети, позволяющая находить путь от одного устройства к другому);
б) HTTP (Hyper-Text Transfer Protocol) обеспечивает работу веб-сайтов и отвечает за передачу данных между веб-браузером и сервером (например, когда вы открываете наш сайт, браузер отправляет HTTP-запрос, и сервер возвращает страницу с текущим текстом);
в) DNS (Domain Name System) – это своего рода «телефонная книга» для интернета, которая переводит имя сайта (например, securityvision.ru) в IP-адрес, чтобы компьютер знал, куда отправлять запрос;
г) DHCP (Dynamic Host Configuration Protocol) автоматически назначает IP-адреса устройствам в сети, чтобы они могли обмениваться данными. Это похоже на регистрацию на конференцию, где каждому участнику выдают уникальный бейдж для идентификации.
Помимо уровней, каналов и протоколов передачи данных, знания по сетям включают в себя понимание устройств и топологий, что помогает аналитику SOC определить, как данные проходят через сеть и где могут происходить атаки или сбои (сетевые устройства и топологии - это как инфраструктура города: дороги, перекрёстки и светофоры. Аналитик должен понимать, как всё это работает, чтобы выявлять угрозы).
- Основные устройства включаются в себя маршрутизаторы (роутеры), которые как диспетчер, который говорит, куда направить пакеты данных (например, ваш домашний роутер отправляет запросы на сайты через интернет-провайдера), коммутаторы (свитчи), которые соединяют устройства внутри одной сети (например, компьютеры в офисе) и брандмауэры (фаерволы), которые как охранники, которые решают, какие данные могут войти или выйти из сети.
- Сетевые топологии – это схемы, которые показывают, как устройства соединены между собой, например, «звезда», когда все устройства подключены к одному центральному коммутатору или маршрутизатору (как устройства умного дома к единственной колонке для голосового управления), «шина», когда используется одна общая линия связи.
Вершина знаний сетей для хорошего безопасника – умение проводить анализ сетевого трафика. Если нормальный трафик – это стандартные запросы (доступ к веб-сайтам, отправка электронной почты или загрузка файлов), то аномальным может быть, например, подозрительный поток данных, который указывает на атаку. Например, если один и тот же IP-адрес начинает посылать множество запросов на сервер, это может быть признаком DDoS-атаки. Или, если с компьютера пользователя неожиданно начинают отправляться данные на неизвестные серверы, это может быть признаком взлома.
Аналитик SOC должен хорошо понимать, как работают две ключевые операционные системы –Windows и Linux. Это необходимо для эффективного анализа логов (журналов), работы с системами и выявления потенциальных угроз.
Журналы (лог-файлы) содержат записи о событиях, происходящих в системе или на устройстве, и помогают выявлять инциденты безопасности. Разные системы и устройства используют свои форматы журналов:
Linux Syslog записывает события в несколько файлов, таких как:
- /var/log/syslog это основной системный журнал, который фиксирует события всех процессов в системе;
- /var/log/auth.log содержит события, связанные с аутентификацией, например успешные и неудачные попытки входа в систему;
- /var/log/kern.log – это журнал работы ядра системы, где можно увидеть ошибки и сообщения, связанные с работой драйверов и оборудования.
Windows Event Log содержит события, разделённые на категории, например:
- в разделе Security (безопасность) аналитик может увидеть, что кто-то попытался войти в систему под другим именем пользователя;
- в раздел System (система) записываются системные ошибки и предупреждения, поэтому если система «падает» или запускается важный процесс, это будет зафиксировано;
- Application (приложения) – это логи работы программ, когда приложение выдаёт ошибку или ведёт себя ненормально – это можно увидеть тут.
Можно представить журналы операционной системы как общую тетрадь, куда записываются все события, от запуска процессов до работы сетевых сервисов, только с технической стороны это больше похоже на базу данных всех действий (от входа пользователя до ошибок работы программ).
Сетевые устройства, такие как брандмауэры и маршрутизаторы, также ведут журналы. Поскольку они контролируют и направляют сетевой трафик по правилам, которые мы описали выше, их логи важны для обнаружения сетевых угроз. В таких журналах можно увидеть успешные и не успешные попытки подключения, заблокированные IP-адреса, которые могли пытаться провести атаку, попытки использования запрещённых портов или протоколов, историю маршрутизации пакетов данных, попытки перенаправить трафик на подозрительные адреса (например, при попытке атаки man-in-the-middle, которую мы описывали в обзоре систем классов DLP и IPS), и сбои или задержки в передаче данных (что может указывать на DDoS-атаку).
Кроме операционных систем и сетевых устройств, приложения и серверы тоже ведут журналы, которые могут быть источником информации об атаках. В логах веб-серверов (Apache, Nginx и др.) будут записи обо всех запросах, в т.ч. подозрительные (которые могут быть попытками SQL-инъекций или XSS-атак), необычные IP-адреса, которые отправляют множество запросов (возможный признак подготовки DDoS-атаки). В логах баз данных можно увидеть попытки несанкционированного доступа к данным (что нарушает принцип конфиденциальности из первой части обзора), ошибки запросов (характерны, например, для атак типа SQL-инъекция).
Аналитик SOC, как детектив, должен уметь читать и анализировать журналы из различных источников: операционных систем, сетевых устройств, приложений и серверов. Он ищет не просто ошибки, а следы возможных атак и аномалий, чтобы вовремя обнаружить угрозы и предотвратить их.
Огромным плюсом в работе будет знание командных оболочек и языков сценариев для автоматизации (например, PowerShell для Windows систем и SSH – для Linux).
Таким образом, навыки первоклассного аналитика SOC включают не только знания о принципах кибербезопасности, техниках и тактиках злоумышленников, но и понимание работы операционных систем, знания виртуализации и облачных технологий, способов передачи данных и принципов работы устройств, которые связаны в топологии и постоянно передают друг другу какую-то информацию. В то время как устройства обеспечивают работу компаний и нашу приятную повседневную жизнь с постоянным доступом в сеть, аналитики в центрах обеспечения кибербезопасности сталкиваются с огромным числом вызовов, например, нехваткой коллег и огромным потоком событий. Поэтому мы предлагаем автоматизировать все, что можно, чтобы сделать их работу не только легче, но и качественнее, за счёт фокусирования на сложных и творческих задачах.