Спасибо за предложенный простой и изящный способ :) Скорее всего, он сработает, нужно будет только убедиться, что Skype в ходе работы не открывает дополнительные запрещенные процессы (например, при демонстрации рабочего стола), иначе SEB может взбунтоваться)
Спасибо за информацию про anydesk, это очень интересно! В конфигураторе SEB стоит запрет на процессы RDP (рабочий конфиг одного из университетов), но, видимо, всё же не на все)
По поводу уведомления — предполагаем, что если SEB запустился и работает с включенным приложением, то экзаменатор об этом может узнать только в том случае, если собирает логи — а стандартная версия SEB логгирует все включенные приложения:)
Да, к сожалению, такой способ SEB пресекает. Как удалось выяснить, Teamviewer входит в список запрещенных приложений, также как и Skype, Discord.
Помимо этого, SEB отключает процессы и сервисы, связанные с RDP, так что другими программами, которые используют удаленный рабочий стол, воспользоваться не получится.
Обойти это можно перекомпиляцией SEB:)
Да, вы правы, но наш опыт (среди российских ВУЗов) показал, что во время именно прохождения тестов веб-камеры не были задействованы. А при устных ответах на вопрос с использованием веб-камер находчивые студенты смотрят в разные стороны, вспоминая материал :) Возможно, где-то действительно применяются более жесткие меры (например, для выпускников школ), но пока что в ВУЗах мы такого не встречали!
Вопрос очень логичный! Конечно, проще было бы сделать так! :) Но нам стало интересно, насколько «дыряв» SEB с программной стороны, отсюда, из «хакерского» энтузиазма, и родилась эта статья, которая носит скорее развлекательный характер :)
Спасибо за интерес к NeoQUEST:)
Вы не могли бы уточнить, что имеете в виду под «самолётик на снегу» и «сундук»?
Ключ могли найти все участники, которые проходили задание, от очередности зависит только количество баллов за найденный ключ.
Можно было просто wfuzz с правильным словарём взять ;)
Я использовал базу locatedb и вручную просмотрел файлы в домашней директории.
Отличный вариант решения! Фантазия и предприимчивость наших участников всегда нас радовали :)
А это как? Я находил A и B через 2 точки кривой (базовая и открытый ключ). Простая система линейных уравнений.
Между кривой и уравнением из картинки есть связь (подробности в документе ami.uni-eszterhazy.hu/uploads/papers/finalpdf/AMI_43_from29to41.pdf). Зная N (в нашем случае это 7), кривая может быть задана уравнением:: y^2 = x^3 + (4N^2 + 12N − 3)x^2 + 32(N + 3)x.
Вы правы, для решения этой задачи можно пойти и путем решения линейных уравнений — так даже быстрее получается :)
В контексте blind rop`a trap и stop гаджеты — это не какие-то конкретные инструкции, а части кода, которые при выполнении ведут себя соответственно. Как уже написали, самый простой trap — нулевой адрес. Stop же должен просто сигнализировать нам, что он выполнился (не падать, в отличие от trap) — это может быть, например, адрес начала цикла обработки запроса, какой-то вывод и тд.
В зависимости от особенностей различных архитектур подход будет усложняться (например, адреса возврата могут располагаться в регистрах и тд).
Большое спасибо! Стараемся! :)
Да, к следующим врайт-апам прикрепим исходники материалов, а конкретно для этого задания файлы можно скачать на сайте online-этапа NeoQUEST-2019, он пока что доступен, работает, задания можно проходить! neoquest.ru/2019 — задание №2.
Команда NeoQUEST уверена: милый котик (пусть даже и не лев) — это ни в коем случае не обидно!
А если серьезно, «Очная ставка» проводится с 2013 года, и за это время в Петербург участники приезжали издалека: Из Новосибирска, Красноярска, из республики Беларусь и даже из Армении! Поэтому мы верим, что все смогут приехать и принять участие в финале!
Спасибо за участие! :) В задании обе части независимы друг от друга. Единственное, что первая часть задания содержала IP-адрес для второй части, но IP-адрес можно было получить и другим способом, чем, по-видимому, и воспользовались участники!
Нет, мы описали атаку Timejacking. Она не была описана в статье Сатоши. Основное её отличие от атаки 51% состоит в том, что в теории для её успешного проведения требуется много меньше, чем 51% от общего хэшрейта сети.
На практике при реализации Timejacking атакующий встретится с неочевидными тонкостями, подробное описание которых вы и найдёте в нашей статье.
Модерация проходила не в ручном режиме, мы использовали специально обученную нейронную сеть, способную отличить фото/изображение кошки от любого другого. Подходили фото котов, взятые как при русскоязычном, так и при англоязычном запросе. Корректно обрабатывались даже загруженные участниками фотографии своих домашних котов, просто мы не включили их в подборку.
Вы отчасти правы. Похожую схему, хотя и без подробностей в описании реализации клиентской стороны и UI, мы описали в разделе «Схема для большинства» статьи.
Описанная вами схема действительно подходит для большинства случаев, однако она всё же оставляет окно для атаки: её всё ещё можно провести между обновлениями списка отозванных сертификатов. Это может быть неприемлемо для некоторых особо критичных к безопасности сервисов. К слову, это не обязательно могут быть веб-сервисы.
Другие возникающие вопросы — это: где хранить этот глобальный список и насколько он будет большим? Если его хранить локально, то на все ли устройства он поместится? Если хранить удалённо, то снова возвращаемся к вопросу о «человеке посередине». Если сокращать его размер, то возникает вопрос о его полноте. Но с этим, опять же, могут помочь сертификаты с коротким сроком действия.
В Google рассматривали подход, аналогичный Certificate Trancparency. Он тоже похож на обсуждаемую схему и называется «Revocation Transparency». Про него можно почитать вот тут. Насколько нам известно, его пока не планируют реализовывать.
К вопросу о «приватности», если мы вас правильно поняли, то он решается с помощью прикреплённых OCSP-ответов (OCSP stapling).
«TLS feature» и «status request» — это разные вещи. У «TLS featue» (оно же «OCSP must staple») только одна версия. Две версии у «status request» (оно же «прикреплённые OCSP-ответы», оно же «OCSP stapling», оно же «status_request» и «status_request_v2»). Но давайте по порядку.
У расширения «TLS feature» только одна версия. «TLS Feature» — это специальное поле в сертификате сервера, сообщающее клиенту о том, что сервером поддерживается определённый набор фич протокола TLS. Это поле в сертификате нужно для того, чтобы защититься от даунгрейд-атак на TLS-соединение, которые «человек посередине» может попытаться провести. Такая защита работает, поскольку «человек посередине» не может изменить сертификат сервера и удалить/модифицировать поле «TLS feature». Иначе говоря, список поддерживаемых сервером TLS-фич жестко фиксируется в сертификате сервера и с этим «человек посередине» ничего не может поделать.
У протокола TLS много необязательных фич, которые можно было бы перечислить и зафиксировать в поле «TLS feature», однако в этой статье мы рассматриваем только одну из них, а именно, так называемые прикреплённые OCSP-ответы.
Пример даунгрейд-атаки на эту фичу протокола TLS приведён в начале статьи: «человек посередине» выдаёт себя за сервер, не поддерживающий прикреплённые OCSP-ответы. Если в сертификате сервера отсутствует поле TLS feature, то у клиента нет возможности отличить «человека посередине», проводящего даунгрейд-атаку, от сервера, не поддерживающего прикреплённые OCSP-ответы.
У прикреплённых OCSP-ответов как раз две версии. Первая версия обладает значительным недостатком: она позволяет «прикрепить» (предать клиенту средствами протокола TLS) только OCSP-ответ для сертификата самого сервера. Это означает, что статус остальных сертификатов из цепочки нужно проверять иным способом. Вторая версия исправляет этот недостаток и позволяет «прикрепить» все необходимые OCSP-ответы.
Поддержка второй версии («status_request_v2») — это фича не самого веб-сервера, а используемой им библиотеки, реализующей TLS. Насколько нам известно, ни одна из популярных библиотек (Schanel, OpenSSL, GnuTLS, LibreSSL, NSS) её не поддерживает.
Прикреплённые OCSP-ответы версии 1 (как и версии 2) без «TLS feature» не позволяют защититься от атаки, описанной в данной статье, из-за возможности даунгрейда. HPKP+HSTS защитят, если клиент успел обновить pin-ы до появления «человека посередине», поскольку «человек посередине» может блокировать обновление pin-ов, вырезав необходимые заголовки из HTTP-ответа.
Это друзья Алисы и Боба, которые не столь сведущи в криптографии, поэтому пока что романтические попытки Пэта признаться в любви Джейн оканчиваются провалом из-за «человека посередине».
Пересчитали, опечатки не нашли :)
Дело в том, что в левой части формулы у нас значения HEX (0x328-0x198=0x190), а в правой части — десятичные значения!
Приведенный в статье алгоритм шифрования не использует какие-либо свойства квантовых объектов для реализации зашифрования, то есть все операции проводятся на обычном компьютере, а сама информация может находиться либо в зашифрованном состоянии, либо в незашифрованном.
Алгоритм Шора, как уже было сказано, направлен на получение данных, позволяющих найти закрытый ключ, с помощью которого и можно однозначно произвести расшифрование информации на обычном компьютере.
Однако уже существует и другое направление в криптографии под названием квантовая криптография. Ее отличие от постквантовой криптографии состоит в том, что здесь как раз для защиты информации используются принципы квантовой физики.
Если функция f(x1,x2) имеет вид: f(x1,x2)=g^(x1)y^(x2), то, сведя все к одному основанию, получаем: f(x1, x2)=g^(x1+k*x2). Алгоритм Шора находит периоды w1 и w2 этой функции, для которых значения функции начинают повторяться: f(x1,x2)=g^(x1+k*x2)=f(x1+w1, x2+w2)=g^(x1+w1+k(x2+w2)).
Это возможно, когда g^(w1+k*w2)=1 или w1+k*w2=0(mod q). Таким образом, зная значения периодов w1 и w2, можно найти k=-w1/w2.
Числа x1 и x2, таким образом, не связаны с числом k.
Алгоритм Шора позволяет решать задачи факторизации и дискретного логарифмирования (как в конечном поле, так и в группе точек эллиптической кривой) достаточно быстро на квантовом компьютере. Задача вычисления изогений обеспечивает, по крайней мере, субэкспоненциальную сложность для квантового компьютера, то есть для несуперсингулярных кривых в настоящее время существует квантовый алгоритм, позволяющий решить задачу вычисления изогений за субъэкспоненциальное время. Если же рассматривать рассматривать суперсингулярные кривые, то для них существует алгоритм, дающий лишь экспоненциальную сложность.
Очепятка, спасибо за внимательность! Должно было быть «с вечным циклом» (использовали элементарную программу с while(1) ради демонстрации эффекта Ctrl+C и Ctrl+Z)
Спасибо за замечание! Да, здесь действительно у нас неточность. Мы имели в виду функционирование X Window System вкупе с библиотекой VTE. Детальное описание оставим за кадром, т.к. в перспективе оно, возможно, станет предметом новой статьи :)