
Олимпиада школьного этапа ВсОШ по Информатике (Информационная безопасность) 10-11 класса задания и ответы: 3 группа, 22 октября 2026. Полный доступ к ответам и разбору всероссийской олимпиады, проходящей на площадке uts.sirius.
Скачать полные задания и ответы
Олимпиада ВсОШ по Информатике (ИБ) 10-11 класс 3 группа
Задание 1. Сломанный пропуск
Файл: 1_1011_01_code.cpp
В школьной лаборатории нашли небольшую программу, которая проверяет секретный текст доступа.
Вам необходимо исследовать программу и восстановить правильный секретный текст.
Формат ответа: vsosh{text}.
→Узнать ответ
Задание 2. Самописный шифр
Разработчик сервиса решил, что стандартные криптографические алгоритмы слишком сложные, и написал собственный.
Известно, что с помощью функции шифрования на языке Python 1_1011_02-код.py было зашифровано секретное сообщение и в результате получился массив чисел, который записали в файл 1_1011_02-текст.txt. Расшифруйте секретное сообщение.
Формат ответа: vsosh{text}.
→Узнать ответ
Задание 3. Стрелочник
На пограничном маршрутизаторе опубликованы веб-сервис и служба SSH внутреннего сервера. Входящие соединения сначала проходят преобразование адреса назначения (DNAT), а затем проверяются межсетевым экраном.
DNAT заменяет внешний адрес и порт назначения на внутренние, но не изменяет адрес источника.
Преобразование адреса назначения
Внешний адрес сервера — После DNAT
203.0.113.10:8443 / TCP — 192.168.30.10:443 / TCP
203.0.113.10:2222 / TCP — 192.168.30.10:22 / TCP
Схема сети приведена на рисунке.
Требуемая политика доступа
HTTPS-доступ через внешний порт 8443 разрешён с любых адресов. SSH-доступ через внешний порт 2222 разрешён только с компьютера администратора 198.51.100.150. Остальные соединения должны блокироваться. В текущем наборе правил допущена одна ошибка.
Правила межсетевого экрана
№; Действие; Источник; Назначение; Протокол; Порт
1; Разрешить; любые; 192.168.30.10; TCP; 443
2; Разрешить; 198.51.100.150; 203.0.113.10; TCP; 2222
3; Запретить; Любые; Любые; Любой; Любой
Проверяемые попытки соединения
ID; Источник; Внешний адрес сервера
A; 198.51.100.20; 203.0.113.10:8443 / TCP
B; 198.51.100.150; 203.0.113.10:2222 / TCP
C; 198.51.100.80; 203.0.113.10:2222 / TCP
Для каждой попытки определите адрес и порт назначения после DNAT, фактический результат соединения и номер сработавшего правила.
Внутренний адрес после DNAT:
203.0.113.10:8443
203.0.113.10:2222
192.168.30.10:443
192.168.30.10:22
Результат:
Разрешено
Запрещено
Правило:
1
2
3
Определите правило с ошибкой и укажите правильные адрес назначения и порт. Остальные поля правил менять нельзя.
Правило:
1
2
3
Назначение:
192.168.30.10
203.0.113.10
Исправленный порт:
8443
2222
443
22
→Узнать ответ
Задание 4. Последний кадр
Файл: 1_1011_04_photo.jpg
Рекомендуемые инструменты: Exiftool, HxD HEX editor, Python
Во время расследования с компьютера пользователя была получена фотография. На первый взгляд изображение ничем не отличается от обычной фотографии, однако сотрудник утверждает, что использовал этот файл для передачи секретной информации. Найдите её.
Формат ответа: vsosh{text}.
→Узнать ответ
Задание 5. Поставлено на поток
Администратор сервера под управлением Linux настраивает обработку событий безопасности с помощью командной оболочки Bash. Ему необходимо запустить фоновое наблюдение за системой, передать собранные события на проверку и сохранить подозрительные события в журнале. Если проверка завершится с ошибкой, сообщение об этом должно попасть в отдельный журнал.
Все необходимые функции уже написаны, а файлы журналов созданы. Осталось лишь объединить функции и имена файлов в одну командную строку Bash, используя операторы фонового запуска, передачи данных, условного выполнения и перенаправления вывода.
Доступные операторы
&& — Выполнить команду справа, только если команда слева завершилась успешно.
>> — Добавить вывод в конец файла, сохранив прежнее содержимое.
| — Передать стандартный вывод команды слева на стандартный ввод команды справа.
> — Записать вывод в файл, заменив прежнее содержимое.
& — Запустить команду слева в фоне и сразу продолжить выполнение.
|| — Выполнить команду справа, только если команда слева завершилась с ошибкой.
Готовые функции и файлы
errors.log — Журнал ошибок. Уже может содержать записи.
filter — Читает события из стандартного ввода, печатает подозрительные события и может завершиться с ошибкой.
monitor — Непрерывно отслеживает состояние системы; должна работать в фоне; вывода не создаёт.
alerts.log — Журнал подозрительных событий, уже может содержать записи.
write_error — Печатает сообщение об ошибке в стандартный вывод.
collect — Собирает события и печатает их в стандартный вывод.
Будем считать, что функции доступны в текущей оболочке Bash, запись в файлы журналов разрешена, а параметр pipefail выключен: код завершения конвейера определяется последней командой в нём.
Соберите цепочку из функций, операторов и файлов, образующих одну команду, которая выполняет все условия:
• monitor запускается в фоне и не мешает дальнейшим действиям;
• вывод collect передаётся на вход filter;
• результат filter добавляется в конец alerts.log без удаления старых записей;
• если filter завершился с ошибкой, выполняется write_error;
• сообщение write_error добавляется в конец errors.log без удаления старых записей.
Каждую функцию и каждое имя файла используйте ровно один раз, операторы могут быть использованы несколько раз или не использованы вовсе.
Текст 1; Оператор 1; Текст 2; Оператор 2; Текст 3; Оператор 3; Текст 4; Оператор 4; Текст 5; Оператор 5; Текст 6.
→Узнать ответ
Задание 6. Кто прочитает секрет?
На сервере с ОС Linux есть четыре пользователя: alice, bob, charlie и dave. Администратор сохранил секрет в файле /opt/olymp/flag.txt. Известна следующая информация о системе:
$ id alice
uid=1001(alice) gid=1001(alice) groups=1001(alice),1100(dev)
$ id bob
uid=1002(bob) gid=1002(bob) groups=1002(bob),1200(audit)
$ id charlie
uid=1003(charlie) gid=1003(charlie) groups=1003(charlie)
$ id dave
uid=1004(dave) gid=1004(dave) groups=1004(dave),1100(dev)
Файлы
$ ls -ld /opt/olymp
drwxr-x— 2 root dev 4096 Aug 20 14:00 /opt/olymp
$ ls -l /opt/olymp/flag.txt
-rw-r—— 1 root audit 32 Aug 20 14:00 /opt/olymp/flag.txt
$ getfacl /opt/olymp/flag.txt
# file: opt/olymp/flag.txt
# owner: root
# group: audit
user::rw-
group::r—
other::—
В /etc/sudoers присутствует строка
charlie ALL=(root) NOPASSWD: /bin/cat /opt/olymp/flag.txt
Кроме того, администратор обнаружил следующую программу:
$ ls -l /usr/local/bin/showflag
-rwsr-xr-x 1 root root 16384 Aug 20 13:51 /usr/local/bin/showflag
Из документации программы «showflag — выводит содержимое файла /opt/olymp/flag.txt». Установите соответствие между пользователями и результатами. Если доступны несколько способов, выберите первый доступный в следующем порядке: напрямую командой cat, с помощью разрешённой команды sudo, через showflag.
ПОЛЬЗОВАТЕЛИ
alice
bob
charlie
dave
РЕЗУЛЬТАТЫ
Может прочитать файл напрямую командой cat /opt/olymp/flag.txt
Может прочитать файл с помощью разрешённой команды sudo
Не может получить содержимое файла ни одним из описанных способов
Может получить содержимое файла через /usr/local/bin/showflag
→Узнать ответ
Задание 7. Внутренний просмотрщик
Файл: 1_1011_06_code.py
В школьной лаборатории работает небольшой веб-сервис для предварительного просмотра веб-страниц. Пользователь может передать сервису адрес страницы, после чего сервер сам загружает эту страницу и показывает первые строки её содержимого.
Администратор заметил, что сервис работает подозрительно, и попросил проверить исходный код приложения.
Вам предоставлен листинг программы.
Какая функция программы содержит уязвимость, позволяющую злоумышленнику заставить сервер выполнить сетевой запрос к адресу, выбранному самим злоумышленником?
Выберите верные суждения о найденной уязвимости:
Запрос к указанному пользователем адресу выполняется самим сервером
Уязвимость потенциально позволяет обращаться к ресурсам внутренней сети, которые недоступны пользователю напрямую
Проверка того, что URL использует только http или https, полностью устраняет уязвимость
Для эксплуатации уязвимости злоумышленнику обязательно необходимо получить учётную запись администратора
Уязвимость может использоваться для получения информации от внутренних сервисов, к которым имеет доступ сервер
Уязвимость возникает из-за того, что браузер пользователя выполняет переданный URL с правами сервера
Для защиты приложения может использоваться список разрешённых адресов или доменов
Какое изменение наиболее полно устраняет найденную проблему?
Разрешить только URL с http и https
Проверять длину URL и запрещать URL длиннее 100 символов
Разрешить только заранее определённые безопасные адреса/домены и дополнительно блокировать обращения к внутренним и специальным IP-адресам
Проверять URL только в браузере пользователя
→Узнать ответ
Задание 8. По кусочкам
Файл: 1_1011_08_трафик.pcap
Рекомендуемые инструменты: Wireshark, Python
С рабочей станции был снят дамп сетевого трафика непосредственно перед обнаружением инцидента. Аналитик предполагает, что через сеть была передана конфиденциальная информация в закодированном виде. Найдите её.
Формат ответа: vsosh{text}.
→Узнать ответ
Задание 9. Свобода коровам!
Файлы: 1_1011_09-windows.exe, 1_1011_09-linux
Фермер Степаныч назвал уже 347 коров: Зорька, Бурёнка, Милка, Зорька-2, Зорька-3… На 348-й фантазия кончилась, и он вписал ей кличку в систему «Учёт надоя», ударившись лбом о клавиатуру. Вечером Степаныч попытался прочитать имя вслух. Небо над фермой почернело, куры начали ходить кругами и что-то бормотать, а трактор сам завёлся и уехал в сторону болота. С тех пор имя коровы на ферме не произносят. Степаныч зовёт её просто «Эй, ты», корова обижается и даёт молоко только в полнолуние. Проникни в панель управления и узнай, как всё-таки зовут бедную корову. Только, пожалуйста, не читай вслух.
Формат ответа: vsosh{text}.
→Узнать ответ
Задание 10. Foolbox
Файлы: 1_1011_10-windows.exe, 1_1011_10-linux
Встретились два веб-программиста:
— Где будем прятать флаг на этот раз?
— Давай в картинках.
— А как? Это ж стеганография будет.
— Да по ходу поймём.
Перед вами специально разработанный сервис, являющийся набором инструментов для манипуляций с изображениями. Используя его функционал и уязвимости, найдите секретную информацию.
Формат ответа: vsosh{text}.
→Узнать ответ