# ЧТо надо знать для DS|ИБ
## DS
**Базовый стек Питона:**
Либы - pandas, matplotlib, numpy, seaborn,tensorflow, keras, pytorch, АиСД, LightGBM, scikit-learn, scipy, statsmodels, xgboost, catboost,
Написание скриптов для извлечения, форматирования, хранения данных в файлах или бд.
Обработка многомерных массивов, индексакция нарезка, транспонирование,широковещательная передача, генерация данных с numpy.
Pandas: ряды,фреймы, индексакция во фрейме,
Разбираться в темах: массив, хэш-таблица, связные списки, алгоритмы,использующие метод двух указателей, алгоритмы работы со строками, бинарный поиск, алгоритмы "разделяй и властвуй", алгоритмы сортировки, динамическая прога, рекурсия.
**Математика:**
статистический анализ,
Матан - графики функций, предел и производная, нахождение эсктремума, интеграл, градиент, теория множеств.
Линал - векторы, матрицы, СЛАУ, методы реш систем лин алгебр-х уравнений, матричные разложения, сингулярное разложение матриц SVD, собственный вектор матрицы, линейная комбинация векторов, линейное преобразование векторов.
Статистика - основыне определения, описательная статистика, параметры, храктеризующие разброс, норм распределение, ЦПТ, доверительные интервалы, проверка гипотез и мера различий, одно и двух- выборочные критерии Стьюдента, Критерий Манна-Уитни, корреляция (обычная,Пирсона,Спирмена), плотность распределения, парадокс Симпсона.
Теорвер - основные определения, св-ва вер, условная вер, формула полной вероятности и Теорема Байеса, элементы комбинаторики,дискретные и непрерывная случайные вероятности.
Методы оптимизации - градиентный спуск, стохастический градиентый спуск, генетические алгоритмы, алгоритм дифференциальной эволюции.
**алгоритмы CV:**
классификация, детекция, сегментация
**БД и SQL:**
синтаксис, соединения таблиц, оконные функции, ранжирующие функции, функции смещения
**ML:**
распределенные вычисления, выбор метрик, классические алгоритмы их + и -, эмбеддинг, временные ряды, разведовательный анализ данных, преобразование признаков, методы масштабирования признаков, кодирование категориальных признаков;
Линейные алгоритмы - линрегрессия, метод макс правдоподобия, метрики качества в задачах регрессии, классификация, линейный классификатор, ошибка в задачах классификаци и функция потерь, SVM и нелинейные ядра, спрямляющие пространства, логистическая регрессия, метрики качества в задачаз классификации;
Способы борьбы с переобучением - регуляризация, оценка работы алгоритма, отложенная выборка, кросс-валидация, к-в со стратифицированной выборкой;
Деревья - Решающие деревья, Построение деревьев, Критерии информативности, Критерий информативности для регрессии, Критерий информативности для классификации, Энтропийный критерий информативности, Критерий останова, Стрижка деревьев, Композиции деревьев, Бутстрап, Бэггинг, Случайные леса, Определение бустинга, Градиентный бустинг, XGBoost;
Метрические алгоритмы - Метод k-ближайших соседей;
Метрики:
Метрики классификации:
* Матрицы ошибок для измерения точности, полноты и чувствительности модели,
* F1 оценка,
* TPR, TNR, FTR, FNR,
* Ошибка первого и второго рода,
* Кривые AUC-ROC.
Метрики регрессии:
* Общая сумма квадратов, объяснённая сумма квадратов, сумма квадратов отклонения,
* Коэф. детерминации и его скорректированная форма,
* Инфо критерии Акакике (AIC) и Байеса (BIC),
* Преимущества и недостатки погрешностей RMSE, MSE, MAE, MAPE
Байесовские модели;
Кластерный анализ - Метрики качества кластеризации, K-means, Графовые методы. Spectral Clustering, Иерархическая кластеризация, DBSCAN, Метод главных компонент PCA;
Ансамблирование, блендинг, стендинг;
NLP - Быстрое погружение в лингвистику, Превращение текста в вектор, Морфологический анализ, Сравнение текстов, Задачи NLP, Машинное обучение на текстах, Фичи на текстах, Задачи машинного обучения на текстах, Best practices, Альтернативные подходы к подготовке фичей на текстах, Задачи выделения фактов;
Deep Learning - В чем отличия от классического ML? Почему это стало возможным? Преимущества глубокого обучения, Сферы применения, Ключевые компоненты алгоритма глубокого обучения, Основные глубокие архитектуры, Подход к изучению: что должен знать специалист по DL? CNN, GAN;
Kaggle - Kaggle-соревнования - как участвовать в них эффективнее? Ключевые моменты, на которые нужно обратить внимание на старте соревнования, Продумывание и подготовка скелета пайплайна решения, Наращиваем «мясо» на скелет - на что делать акцент, как искать инсайты? Объединение в команду - баг или фича? Дилемма выбора финальных решений
ML in production - написание переиспользуемого кода, Форматирование, оптимизация и улучшение кода, REST API, Фреймворки FastAPI/backend for ML и Streamlit/frontend for ML, Что такое Docker? Основные компоненты, Docker Compose, Развертывание ML проекта в Docker
Нейросети - нейросеть Кохонена, глубокая сеть доверия, backpropagation;
Рекомендательные системы - коллаборативная фильтрация, гибридные модели, рекомендации на основе контента
**Linux, git**
**Engenering:**
Hadoop, MapReduce, Azure, Spark, Dask, UDF, SAS, Hive, Pig, Docker, Java, Bash,
**Excel(Power Pivot, Power Query)**
**Data Mining методы и алгоритмы**
**ETL-инструменты**
**A\B-тестирование:**
введение, основные стат критерии, мощность и корректность, что нужно знать перед запуском теста, метод повышенной чувствительности CUPED
---
### Вопросы по DS с собесов:
Нейросети:
1. Какие методы предотвращения переобучения (регуляризации) для нейронок есть? Как они работают? Куда вставлять batch normalization?
2. Чем отличается нейронка с одним выходом и сигмоидальной функции активации и такая же нейронка, но с двумя выходами и softmax?
3. Представим, что у нас многослойная полносвязанная сеть с нелинейной функцией активации. Что будет с нейронкой, если мы уберём нелинейность?
4. Для чего используется global pooling?
Детектирование:
1. Как оценить качество в задачах object detection?
2. какие архитектуры нейронок для семантической сегментации вы знаете?
3. Как и зачем использовать transfer learning?
Временные ряды:
1. Как правильно тестировать качество моделей в работе в временными рядами?
2. Что мы должны делать с сезонностью в данных?
3. Как искать аномалии во временных рядах?
Обработка текстов:
1. Что лежит в основе моделирования тематик? Как раьотает этот алгоритм? Как вы выберите число тематик,которые будут обучаться этим алгоритмом?
2. У вас есть текст отзывов и рейтинг, юзеры используют 5-балльную шкалу. Как бы вы построили систему, которая сможет предсказать оценку по тексту отзыва? Как оценивать качество системы?
Общие:
1. Что вы будете делать, если датасет несбалансированный?
2. Как вы будете решать проблему, если есть пропуски в данных?
3. Как поступите, если в данных есть выбросы?
4. Как логируете эксперименты и следите за воспроизводимостью?
5. Как обрабатываете большие данные и строить пайплайны обратки данных?
6. Как распределены ваши данные, моды распределения, ожидания и дисперсия.
7. Предпологая биномиальное распределение, какова вероятность увидеть 5 платёжноспособных клиентов за 10 кликов?
8. Формирование базиса для А\В-тестирования, Т-тесты, дисперсионный анализ(ANOVA), критерий хи-квадрата.
9. Регрессия - линейность зависимости переменных, возможные источники отклонения, свойства наименьших квадратов.
---
**Книги и курсы:**
Наглядная статистика. Используем R
Говори на язаке диаграмм
Статистика и котики
Большие данные становятся личными
Принцип пирамиды
Статистика для всех (для начала)
Введение в Data Mining
Прикладное машинное обучение с помощью Scikit-laern и TensorFlow
С. Теодоридис - Machine Learning: A Bayesian and Optimization Perspective
Python для сложных задач: наука о данных и машинное обучение. (для начала)
Бизнес-моделирование и анализ данных. Решение актуальных задач с помощью MS Excel
Данные: визуализируй,расскажи,используй
Искусство системного мышления
Думай медленно...решай быстро
Искусство статистики. Как находить ответы в данных. (для начала)
Статистика. Базовый курс в комиксах
Зыков - Роман с Data Science
---
## ИБ
**Сети**
База
уязвимости сетевых протоколов(arp-spoofing, nltm-relay)
веб-протоколы - http, https, soap, ajax, json, rest.
**Безопасть ОС Винды и Линукс:**
Линукс - дисковая и файловая подсистема, управление пакетами, управление юзерами и привелегиями, терминал. Управление сервисами, Управление сетью и менеджеры пакетов, Управление юзерами,группами и правами, Введение в ОС Линукс.
Винда - powershell, cmd, сертификаты
**Технологии:**
антивирусы, межсетевые экраны, админство ос, Active Directories, журналы событий, SIEM, NGFW, WAF, средсива защиты от НСД, DLP
Windows Server - Управление групповыми политиками, Расбота с сервисами DNS & DHCP, Управление Active Directory, Windows Server&Доменные сервисы.
Веб-приложения - Знакомство с фреймворками и CMS, Основы PHP и XAMPP, Создание веб-форм, Javascript.
**Методолгии обеспечения ИБ, анализ защищённости, расследование инцидентов:**
Целенаправленные атаки, анализ защищённости, подходы Красных и Синих команд, реагирование на инциденты, MITRE ATT&CK.
Анализ защищённости инфраструктуры, инструменты Kali(wireshark, nmap, SqlMap, Join the Ripper, Burp Suite, Hydra, OpenVAS, Metasploit Framework, Fortify, AppScan, Acunetix, w3af,X-spider, Max-Patrol ...), инвентаризация и энумерация, поиск уязвимостей, пост-эксплуатация, сканер уязвимостей, файервол, средства сбора логов, IDS\IPS, антивирусные решения, базовые знания работы прикладных служб и их уязвимостей (ssh/rdp/ftp/telnet/web-servers/snmp/smtp и ...).
Расследование инцидента, средства защиты Kali, Assembler, дизассемблер, дебаггер, анализ иполняемых файлов.
Теория и практика OWASP Top 10,средства инвентаризации для поиска уязвимостей в веб-приложениях, автоматизированный поиск, фаззеры.
Поиск server-side-уязвимостей, особенности Bug Bounty, взлом устройств сетей и беспроводных сетей, поиск и эксплуатация бинарных уязвимостей.
**Криптография:**
Криптографические алгоритмы и особенности их применения, Эл подпись, Криптографические атаки, Основы технологии VPN, программа PGP, Системы полнодискового шифрования, Системы управления криптоключами
**Законы в области ИБ**
ФЗ-149, 152, 63
Приказы ФСТЭК - 17,21
Приказы ФСБ - 378,66
**Пентест**
Сканирование сетей, Взлом паролей, Атаки на Wi-Fi, MITM, Фреймворки для тестирование на проникновение.
Атаки на сетевую инфраструктуру - Исследование домена, Боковое продвижение, SMB Relay и Responder, PowerShell как инструмент атак, эксплуатация ПО Office, Атаки на сервисы и порты, Фреймворк Viel и обфускация, Реверс-шелл и туннели, Kerberoastimg & Pass the Ticket/
Проводить пентесты методами Blackbox/Graybox/Whitebox по полному стеку: OSINT, внешний периметр, Web-приложения, внутренний периметр (преимущественно среды на основе Active Directory)
**Навык работы с одним или несколькими техническими решениями каждого класса:**
- средства антивирусной защиты: Kaspersky, ESET NOD32;
- средства защиты от утечек информации (DLP): Infowatch Traffic Monitor, Solar Dozor
- средства криптографической защиты информации (СКЗИ): КриптоПро, ViPNet;
- средства анализа защищенности: MaxPatrol, xSpider;
Эксперт по анализу защищённости:
- Опыт проведения работ по анализу защищенности и тестированию на проникновение
- Знание и опыт применения методик анализа защищенности MITRE ATT&CK, понимание Kill chain
- Опыт эксплуатации уязвимостей в ПО
- хорошие знания клиентских и серверных операционных систем Windows и Linux;
- хорошее понимание принципов работы сетевых протоколов и их особенностей;
- знание основных проблем с безопасностью популярных ИТ систем (почтовые сервера, веб-сервера, СУБД, файловые сервера\NAS, сетевое оборудование и прочие);
- опыт работы с базами данных уязвимостей, сетевыми сканерами, IPS\IDS, SIEM и смежными системами;
- понимание принципа проведения тестирования на проникновение;
- навыки программирования на любом языке (Python, PowerShall, Bash, С\С++, С#, Go)
Знания и опыт в одной или нескольких из областей:
- Анализ защищенности веб-приложений, поиск и эксплуатация уязвимостей
- Сетевые технологии, поиск и эксплуатация уязвимостей сетевого оборудование и сетевых протоколов
- ОС *nix, анализ защищенности *nix-инфраструктуры
- ОС Windows, анализ защищённости Windows-инфраструктуры, поиск и эксплуатация уязвимостей Active Directory
- Методы обхода средств защиты (AV, WAF, EDR)
- Анализ защищенности СУБД
- Reverse engineering
Джун пентест:
Чем предстоит заниматься:
- аудитом ИТ инфраструктуры;
- внешним и внутренним тестированием на проникновение;
- анализом защищенности веб-приложений;
- поиском и устранением уязвимостей в инфраструктуре компании;
- участием в работе по анализу защищенности информационных систем.
Чего мы ждем от тебя:
- фундаментальные знания ИБ, Linux, Windows, Burp;
- базовые знания написания скриптов (Bash, PowerShell);
- знание базового набора для поиска и эксплуатации уязвимостей в Kali (Nmap, Burp, Metasploit, SQLMap, Nikto);
- знание базовых методов разведки OSINT;
- навыки анализа исходных кодов приложений;
- умение работать с Docker, Git, Gitlab.
---
Security Services Analyst
Мы ищем Security Analyst, который будет оказывать аналитическую поддержку проектов по security assessment (пентесты, веб анализ, ред тим, социальная инженерия).
Задачи:
* подготовка отчетов по результатам работ по анализу защищенности, а также участие в этих работах в роли аналитика;
* коллаборация с командами, занимающимися экспертными сервисами;
* ведение и наполнение методологической базы по аналитике для проектов по анализу защищенности.
Требования:
* опыт работы в сфере ИБ от 3х лет;
* знание подходов по оценке уязвимостей и анализу рисков;
* уверенное знание принципов построения корпоративных сетей, а также основ обеспечения безопасности ОС, СУБД, приложений, сетей;
* понимание актуальных угроз информационной безопасности, базовые знания о методах атак и уязвимостях, желание обучаться и повышать компетенции в области практической информационной безопасности;
* понимание стандартов и фреймворков: CVE, CWE, CVSS, MITRE ATT&CK и др;
* знания основных стандартов и регламентирующих документов в области ИБ (стандарты ISO, PCI DSS и др.);
* уверенный письменный английский язык.
Желательно и будет большим плюсом:
* знание языков программирования Python/PHP/Perl;
* знание скриптовых языков Bash/Powershell;
* навыки сбора информации на основе открытых источников (OSINT), разработки инструментов сбора, обработки и анализа данных;
* опыт участия в bug bounty программах, CTF, соревнованиях по ИБ, прохождения сертификации OSCP;
* опыт проведения аудитов информационной безопасности.
Security Analyst
Мы ищем Security Analyst, который будет оказывать аналитическую поддержку проектов по реагированию и расследованию инцидентов ИБ, совершенствовать экспертизу команды GERT и улучшать практики реагирования и расследования инцидентов.
Чем предстоит заниматься:
* Поиск сбор и анализ информации по актуальным киберугрозам, а также техникам, тактикам и процедурам, используемых в кибератаках
* Аналитическое сопровождение проектов по реагированию и расследования инцидентов
* Поиск связи с известными кибергруппировками и кaмпаниями. Накопление и анализ сведений о ранее неизвестных атакующих
* Подготовка отчетных и аналитических документов, а также участие в конференциях и митапах
* Развитие и оптимизация проведения работ по реагированию и расследованию инцидентов
* Взаимодействие с командами, занимающимися экспертными сервисами (GReAT, SOC, AppSec, Pentest, TI и др.)
Что для этого необходимо:
* Понимание актуальных угроз информационной безопасности, типичных атак на информационные системы, методов и средств их реализации, выявления и предотвращения
* Понимание индикаторов компрометации информационных систем и методов их обнаружения
* Понимание техник, тактик и процедур, используемых атакующими, знание MITRE ATT&CK
* Понимание методов, инструментов и процессов реагирования на инциденты информационной безопасности
* Практический опыт выявления и расследования инцидентов информационной безопасности, разработка рекомендаций по предотвращению подобных инцидентов в будущем
* Опыт подготовки отчетных и аналитических документов
* Уверенный письменный английский язык
* Желание обучаться и повышать компетенции в области практической информационной безопасности
Будет плюсом:
* Опыт создания детектирующих правил YARA, Sigma и др.
* Знание языков Python/Powershell и др.
* Наличие профессиональных сертификатов от Offensive Security, GIAC (или аналогичных)
Джун аналитик ИБ
Обязанности:
* Знание действующего законодательства в сфере защиты информации в финансовом секторе и в сфере защиты персональных данных.
* Знание нормативных правовых актов ФСБ России, ФСТЭК России, Банка России, иных уполномоченных органов по вопросам информационной безопасности.
* Знание современных методологий безопасности (ISO 27001, COBIT, ГОСТ и другие).
* Опыт проведения аудитов безопасности (аудит ролевых моделей, аудит процессов ИБ).
* Опыт работы с средствами защиты информации (FW, WAF, DLP, SIEM, AntiSpam и др.)
* Знания основ построения IT-инфраструктуры.
* Знание основ программирования, баз данных, сетей;
* Знание законодательства, стандартов и лучших практик ИБ;
* Понимание что такое персональные данные, коммерческая тайна, конфиденциальная информация;
* Знания актуальных технологий;
* Умение работать с документацией;
* Умение читать код;
Требования:
Минимальные требования:
* Базовое понимание популярных уязвимостей (OWASP top ten)
* Базовое понимание архитектуры web приложений
* Базовое понимание что такое виртуализация и докеры
* Умение работать в Windows и Linux системах
* Владение Visio, Word, Power Point, Excel
Бонусом будет:
* Понимание цикла безопасной разработки CI/CD
* Базовое понимание принципов работы сборщиков и пакетных менеджеров для Java, python, js и т.п.
* Базовое понимание процессов и тех стека DevOps и инструментов TeamCity, Jenkins, Gitlab, BibBucket, GitHub, Nexus или других
* Опыт работы с базами данных MSSQL, PostgreSQL
* Понимание что такое SAST/SCA и опыт работы с какими-либо инструментами, связанными с ними.
* Владение скриптовыми языками программирования
* Умение вести рабочую документацию
---
**Минимальный набор ИБ-шнику**
Junior:
1. база сетей и ос
2. принципы статической маршрутизации, адресация IP, знание ISO\OSI, TCP\IP
3. начальный опыт админства Active Directory для групповой политики и управления правами юзеров
4. настройка защиты на базе Винды и ведущих антивирусов
5. настройка БД: MySQL, Apache2, Rsyslog, Auditd, PostgreSQL, nginx
Middle:
1. принципы построения и работы сетей ISO\OSI, TCP\IP, принципы беза веб-приложений, комп и сетевой безопасности
2. понимание принципов работы корпоративных антивирусов и систем обнаружения атак
3. владение ос Винды и Линукс на уровне админа
4. опыт автоматизации на основе Bash, Python
5. умение выполнять анализ инфо защищённости
Senior:
1. владение законами в ИБ
2. знание основных классификаций, методик и международных практик - NIST SP800-115, WACS, OSSTMM, OWASP
3. написание программ на скриптовых языках
4. навыки выявления киберугроз
5. уверенное владение профильным софтом: Cisco ASA, Impreva DAM, IBM Qradar, Maxpatrol, System Protection, Giagamon Networks Tuffin
6. способность работы с системами узкого профиля: SCADA, SS7, ERP, Hardware
7. опыт в сборе улик и проведении расследований по результатм кибератак
---
**Книги и курсы:**
> для начала
П. Яворски - Ловушка для багов
С. бабин - Лаборатория хакинга
К. Митник - Призрак в сети
Ю. Диогенес, Э. Озкайя - Кибербезопасность: стратегии атак и обороны
Д. Эриксон - Хакинг. Искусство эксплойта
Д. Барлетт - Подпольный интернет
Э.Таненбаум - Комп сети
Пентест приложений:
М.Ховард, Д.Лебланк, Дж. Вьега - 24 смертных греха комп безопасности
К.Тобиас - Дневник охотника за ошибками. Путешествие через джунгли проблем безопасности ПО
Пентест компаний:
Professional Penetration Testing: Creating and Learning in a Hacking Lab 2nd Edition
Mastering Kali Linux for Advenced Penetration Testing
Соц.Инженерия:
Кевин Митник: Искусство обмана, Искусство вторжения. призрак в сети: Мои приключения как самого разыскиваемого в мире хакера, Искусство быть невидимым.
М.Кузнецов, И.Симдянов - Социальная Инженерия и социальные хакеры.
И. Милл, Э. Сейерс - Docker на практике.
позже бесплатные онлайн-курсы:
[Основы безопасности и анонимности в сети](https://gb.ru/courses/412)
[Уроки информационной безопасности](https://74.rkn.gov.ru/p26522/)
Практика:
Hack The Box
[ELearnSecurity](https://ru.zahn-info-portal.de/wiki/ELearnSecurity#Courses)
[Лабы по веб-проге в иб](https://portswigger.net/web-security)
---
**Сертификация:**
1. CompTIA, Security+ - универсальный, фундамент по иб, как ступень к мидлу
2. EC-Council, Certified Ethical Hacker - пентестерам, аналитикам по киберинцидентам, спецам по выявлению угроз. Нужен опыт от 2х лет
3. ISACA CISM - для экспертов
---
### Вопросы по ИБ с собесов:
1. В чём разница между симметричным и асимметричным шифрованием?
2. Что такое traceroute?
3. Объясните шифрование SSL
4. Какие шаги вы предпримете для защиты сервера?
5. Как можно предотвратить кражу личных данных?
6. Как бы вы сбросили конфигурацию BIOS, защищённую паролем?
7. Что такое XSS-атака и как её предотвратить?
8. В чём разница между VPN и VLAN?
9. ЧТо такое RFC?
10. Какие типы Ddos-атак знаешь?