Вопросы на собеседовании по информационной безопасности
Подборка вопросов для собеседований на должности в сфере информационной безопасности
Содержание
Безопасность приложений
-
Если бы вам пришлось и шифровать, и сжимать данные при передаче, что бы вы сделали сначала и почему?
- Сжатие использует закономерности в данных для уменьшения их размера.
- Шифрование предназначено для рандомизации данных, чтобы их нельзя было интерпретировать без секретного ключа.
- Если сначала зашифровать, а потом сжимать, то сжатие будет бесполезным. Сжатие не работает со случайными данными.
- Если сначала сжать, а потом зашифровать, то злоумышленник может найти закономерности в длине сообщения (степень сжатия), чтобы узнать что-то о данных и потенциально свести на нет шифрование (как в атаке CRIME)
- Ресурсы:
-
Что могут сделать злоумышленники, используя уязвимость внедрения HTTP-заголовков?
- Возврат каретки и перевод строки (или %0D и %0A) — это средства, позволяющие злоумышленникам управлять HTTP-заголовками
- Злоумышленники могут внедрить XSS через заголовок Referer
- Злоумышленники могут установить cookie со значением, известным злоумышленнику (фиксация сессии)
- Злоумышленники могут перенаправить на вредоносный сервер
-
Опишите последнюю программу или скрипт, которые вы написали. Какую проблему они решали?
- Просто проверяем, есть ли у кандидата базовое понимание концепций программирования и способность писать хотя бы простые программы
-
Как бы вы реализовали защищённое поле входа на сайте с высокой посещаемостью, где важна производительность?
-
Какие существуют способы борьбы с брутфорсом?
- Блокировка учётных записей/таймауты
- Ограничение скорости API
- Ограничения по IP
- Fail2ban
- ...и т.д.
-
Что такое межсайтовая подделка запроса (CSRF)? И как от неё защищаться?
- Это когда злоумышленник заставляет браузер жертвы отправлять запросы с учётными данными жертвы
- Пример: если тег изображения (``) указывает на URL с соответствующим действием, например https://foo.com/logout
- Защита включает, но не ограничивается:
- проверка заголовка origin и заголовка referer
- проверка CSRF-токенов или nonce
-
Что такое межсайтовый скриптинг (XSS)? Какие существуют типы XSS? Как защищаться от XSS?
- XSS — это когда злоумышленники заставляют браузер жертвы выполнять некоторый код (обычно JavaScript) в её браузере
- Традиционно типы подразделялись на хранимые (Stored) и отражённые (Reflected) XSS-атаки.
- Хранимый XSS — это код, который злоумышленник смог сохранить в базе данных, и который извлекается и показывается жертвам (например, на форуме)
- Отражённый XSS обычно представлен в виде вредоносного URL, содержащего вредоносный код. Когда пользователь переходит по ссылке, код выполняется в его браузере
- В последнее время ведутся дискуссии о DOM-based XSS, который возникает, когда злоумышленники могут управлять DOM-элементами, добиваясь XSS без отправки каких-либо запросов на сервер
- Категории XSS имеют тенденцию пересекаться, поэтому гораздо лучше описывать XSS в таких терминах, как хранимый на сервере XSS (Server Stored XSS), отражённый на сервере XSS (Server Reflected XSS), хранимый на клиенте XSS (Client Stored XSS) (например, хранимый DOM-based XSS) или отражённый на клиенте XSS (Client Reflected XSS) (например, отражённый DOM-based XSS)
- Защита включает:
- кодирование вывода (более важно)
- проверку ввода (менее важно)
-
Как HTTP обрабатывает состояние?
- HTTP не сохраняет состояние
- Состояние хранится в cookie
Архитектор
- Разрабатывали ли вы меры безопасности, охватывающие пересекающиеся информационные домены?
- Можете ли вы привести несколько примеров требований к архитектуре безопасности?
- Какие особые проблемы безопасности создаёт сервис-ориентированная архитектура (SOA)?
- Проектировали ли вы решение безопасности, включающее SaaS-компоненты? С какими трудностями вы столкнулись?
- Участвовали ли вы в проекте, где заинтересованные стороны решили принять выявленные риски безопасности, которые вас беспокоили? Как вы справились с ситуацией?
- Как вы справляетесь с требованиями разных заинтересованных сторон, которые конфликтуют друг с другом?
- Как вы обеспечиваете, чтобы архитекторы решений разрабатывали безопасные решения?
- Как вы обеспечиваете устойчивость решения перед лицом evolving угроз?
- Как вы думаете, какая технология сейчас самая важная? Как мы будем её защищать?
Синяя команда
- Имея журнал HTTP-трафика между машиной в вашей сети и сторонним сайтом (например, Google), как бы выглядели порты источника и назначения?
- Порт источника может быть числом выше порта 1024 (так называемый эфемерный порт)
- Порт назначения может быть 80 (HTTP) или 443 (HTTPS)
Шифрование
-
В чём разница между кодированием, шифрованием и хешированием?
- Кодирование обеспечивает целостность сообщения. Легко обратимо. Пример: base64
- Шифрование гарантирует конфиденциальность сообщения. Обратимо только с использованием соответствующих ключей дешифрования. Пример: AES256
- Хеширование — это односторонняя функция. Его нельзя обратить. Результат имеет фиксированную длину и обычно меньше входа.
-
Использует ли TLS симметричное или асимметричное шифрование?
- Оба.
- Первоначальный обмен выполняется с помощью асимметричного шифрования, но основное шифрование данных выполняется с помощью симметричного. См. следующий вопрос для дополнительной информации.
- Ресурсы:
-
Опишите процесс установки TLS-сессии, когда кто-то посещает защищённый веб-сайт.