April 3, 2023

Безопасность устного собеседования (ГИА-9)

Все ниже сказанное является мнением автора и ни к чему не призывает даже если вам так показалось. Вас предупредили :)

В этой статье пойдет речь о том, как устроен один из экзаменов ГИА-9, об устном собеседовании по русскому языку, а именно про так называемую безопасность, ведь в описании программы сказано, что подменить аудиозапись экзамена невозможно.

Программное обеспечение

В моем регионе используется программа Russo, которую я добыл с сайта одного образовательного учреждения

Главный экран с тестовыми данными
Экран самого собеседования

После нажатия на кнопку программа создает папку и ZIP архив с идентичным названием и содержимым. Структура названия папки/архива: 01-ДДММГГГГ-000000-код школы-номер аудитории.

Содержимое архива

В архиве мы можем видеть заголовочный файл и аудиозаписи участников по их порядковым номерам.

Псевдобезопасность

Файлы mp3 мы рассматривать не будем, т.к это самые обычные mp3'шки. Меня интересует заголовочный csv'шный файл. Открыв его, мы можем увидеть следующие данные:

Содержимое 01-03042023-000000-111111-001.csv

Первая строка тут что то вроде magic заголовка, потом на следующей строке идет дата проведения, город, код учреждения, название учреждение, номер аудитории. Потом идет перечисление файлов участников и кол-во участников, я бы хотел остановиться на перечислении файлов. Как мы можем видеть тут записано название файла, дата и время (с точностью до секунд) создания, длина файла и CRC-32 сумма и всё. Лично я считаю, что это не спасает от подмены файлов, ведь можно оставить имя и отметку о создании файла, подменить файл и вписать новую длину и контрольную сумму, которая рассчитывается очень легко.

Сайт из первой ссылки в гугле

Что же делать?

Я считаю, что необходимо переработать данную систему и сделать например так, чтобы программа подписывала detached подписью (например тем же ГОСТ'овским сертификатом подписанным УЦ ФРДО) файл аудиозаписи, а в заголовочный файл можно было бы вносить значение этой самой подписи. Позже при проверке программа бы проверяла подпись на то кем она сделана и сравнивала бы её значение с заголовочным файлом.