Форматы ведения собеседований
Ранее я уже публиковал статью, где кратко рассказал о себе, объяснил цель этой серии постов и общий контекст темы. Тем, кто ещё не знаком с ней, рекомендую сначала прочитать вводный материал, а уже затем переходить к этому посту. Так будет проще увидеть полную картину и лучше понять логику дальнейшего разбора Общая статья: - Какие существуют виды собеседования в кибербезе
В отличие от ценностей бизнеса, здесь выявить единую закономерность по размеру компании сложно. Формат зависит исключительно от фантазии интервьюера. За более 30 собеседований я столкнулся с шестью основными сценариями. Иногда они комбинируются в рамках одной встречи или разбиваются на несколько встреч. ⠀ ∙ 1. «Расскажи о себе и углубимся» Классический жанр. Вы кратко проходите по резюме, после чего интервьюер цепляется за любой упомянутый вами инструмент или технологию и начинает «копать». Упомянули, что настраивали Semgrep все, следующие 20 минут вы рассказываете как писали правила, решали проблему с FP и обсуждаете другие методы сканирования SAST и их методики, от шаблонов до гибридов с ии ⠀ ⠀ ∙ 2. «Викторина OWASP» Самый простой и, на мой взгляд, скучный формат. Интервьюер зачитывает термин: «SSTI». Вы отвечаете: «Server-Side Template Injection, это когда... виды... эксплуатация...». Потом: «IDOR», «CSRF», «Insecure Deserialization». Это проверка на знание матчасти. Хорошо работает как разогрев или скрининг, но плохо показывает реальный опыт как по мне. ⠀ ⠀ ∙ 3. «Базовые основы» - Сети: OSI, TCP/IP, чем отличается HTTP от HTTPS, как работает DNS. - ОС: Права доступа в Linux (эти 777, SUID, GID), модели доступа, основы Windows Active Directory (что такое, базовые уязвимости вроде Kerberoasting) ⠀ ⠀ ∙ 4. «Эксплуатация и пентест» Разговор про то, как именно ломается тот или иной механизм. Тут уже мало сказать «SQL-инъекция это ввод кода в запрос». Нужно рассказать про UNION-based, Error-based, Blind, или как обойти WAF. Это формат для позиций, близких к Red Team или глубокому анализу защищенности. ⠀ ⠀ ∙ 5. «Разговор про языки программирования» Вас спрашивают не «какой язык лучше», а про уязвимости на стороне сервера и клиента (service side & user side) в контексте конкретных языков - Java: Deserialization, логические ошибки в Spring. - Python: Command Injection, SSTI в Jinja2. - JavaScript/Node.js: XSS, Prototype Pollution, Dependency Confusion.
Это показывает, понимаете ли вы, как код, написанный разработчиком, превращается в брешь в рантайме и знакомство с разработкой в реале. ⠀ ⠀ ∙ 6. «Работа инструментов» Вопросы про SAST, SCA, DAST, IAST. Тут важно понимать не названия методов поиска уязвимостей, а их принципы работы - Как SAST находит уязвимость без запуска кода? (Построение AST/графа потоков данных). - Какие существуют методы поиска уязвимостей в SAST? Шаблоны, taint-flow, ... - Чем SCA отличается от простого обновления библиотек? - Что такое транзитивные зависимости? - Почему DAST может не найти ту же уязвимость, что нашел SAST? ⠀ ⠀ #КиберБезСобеседование_Форматы