Тайм атак что это
Атаки по времени — сказка или реальная угроза?
Первую статью на хабр хотел написать совершенно о другом, но в один прекрасный день коллега по работе решил заморочиться и сделать защиту от «Атаки по времени» (Timing attack). Не долго разбираясь в различных материалах на эту тему, Я загорелся и решил написать свой велосипед и покататься на нем по лаборатории поэкспериментировать.
Результат этого небольшого эксперимента под катом.
Суть атаки заключается в том что злоумышленник знает, или хотя бы догадывается, о алгоритме проверки подлинности и пробует подобрать ключ постепенно. Подставляя различные значения и замеряя время проверки, можно заметить, что для некоторых вариантов ключей время выполнения дольше (или быстрее) чем для других.
В начале хотел сделать клиент и сервер, чтоб по настоящему как в Интернете, но решил обойтись без сложностей, ведь хотелось проверить саму идею, на сколько она работает хотя бы в лабораторных условиях. Для проведения эксперимента в качестве подопытного будет использоваться функция проверки подлинности, в которой будем просто сравнивать два ключа поэлементно.
В этом случае, при совпадении первых элементов ключа операция выполняется дольше, так как переходит к проверке следующих элементов. Алгоритм подбора достаточно прост: перебираем первое число, вариант который выполняется дольше всего — оставляем, потом второе… и так далее.
Подробно рассмотреть алгоритм можно в конце статьи, а желающие могут даже поиграться.
При первых запусках получал практически случайный результат. Начал постепенно увеличивать количество тестов и уже на третьем запуске получил правильные последовательности. И как следствие, в лабораторных условиях способ работает и работает достаточно хорошо.
Какие улучшения можно сделать после некоторого наблюдения:
1) если перебор следующего числа выполняется за время сравнимое с предыдущим, то имеет смысл сделать шаг назад, скорее всего ошиблись;
2) выбирать следующее число не после фиксированного количества тестов, а как-то более интеллектуально, т.к. с увеличением количества правильных элементов время на проверку увеличивается и разница становится менее заметна.
На скриншоте хорошо заметен правильный результат.
Вот что получаем в консоли (в первой строке выводится секретный ключ):
Очень похоже на то, как подбирают пароли в фильмах, а я всегда думал что это игра на публику, а оказывается в этом есть зерно правды.
В заключение
Возможно такой способ атаки уже не совсем актуален (в сети очень много узлов и каждый вносит свою случайную величину), и защититься от него вроде как не сложно, но возможно в каком-нибудь хитром, на первый взгляд, алгоритме хеширования это будет более ярко выражено и может быть использовано злоумышленником в своих целях.
Хотя может быть актуально для подбора серийных номеров для оффлайн программ.
Спасибо за внимание!
UPD: расчет времени на сколько метод эффективнее полного перебора в данном конкретном случае.
Ключ — массив чисел из n=10 элементов со значениями от 0 до 99 (m = 100) включительно.
Тогда:
для полного перебора количество проверок равно m^n = 100^10 = 10^20;
для реализованной атаки времени n * a * m * b, где a и b это эмпирические константы и равны 1500, получаем 10*1500*100*1500 = 2,25 * 10^9
Как можно видеть, в данном конкретном случае, результат отличается более чем на 10 порядков, что говорит о его эффективности по сравнению с полным перебором.
#31 Любительский time-attack: готовим себя и машину. Часть 1: С чего начать пилоту?
Сезон RHHCC 2014 подходит к концу, настало время философских постов.
Летние соревнования предъявляют повышенные требования к подготовке технике.
Тут уже нельзя мириться с тем, что в багажнике лежит сабвуфер, бак заправлен под горловину, а огнетушитель давно просрочен.
Здесь даже 1 Нм удельного крутящего момента может сыграть свою роль, а машины действительно часто загораются.
Предположим, что вы заинтересовались тайм-аттаком и хотите в следующем сезоне попробовать свои силы. Порассуждаем о подготовке пилота и техники.
Сделаю лирическое отступление и дам небольшой совет:
Если вы начинающий пилот – умерьте свои амбиции, ваша задача – учиться и тренироваться!
Не забивайте голову и кошелек жаждой тюнинга машины и постройкой корча.
Да, без быстрой техники сейчас побеждать не возможно. Но равно так же невозможно это и без «быстрых» рук пилота, которые можно получить соблюдая 2 постулата: теория + тренировки.
Очень полезными на начальном этапе будут тренировки на открытых трек днях с опытным тренером, желательно имеющим опыт участия в вашем чемпионате, знающим особенности используемых трасс.
Тут надо отметить, что в данном случае задача тренера — не научить вас грамотным приемам управления автомобилем (для этого есть курсы повышения мастерства, контраварийной подготовки и тп), а объяснить основы выбора правильной траектории, указывать ваши ошибки во время практики на трек днях.
Они обязательно будут, их будет очень много, более того такие моменты как «прокаты» и «переруливание» вы просто сами не сможете отловить. Это под силу опытным пилотам, но никак не новичкам.
В крайнем случае, тренером может выступить так же ваш друг-приятель, уже имеющий приличный опыт выступления. Скорее всего он не сможет рассказать вам все нюансы, но «в курс дела» введет гораздо быстрее, чем это вы сделаете сами.
Довольно распространенной методикой самообучения является просмотр записей попыток других пилотов.
Тут все вроде бы ясно: нашли инкар «лидера», посмотрели, запомнили траектории и повторили. Но, на деле, есть ряд особенностей, которые нужно учитывать:
1) Лидер – далеко не всегда самый опытный и правильно едущий пилот. Не стоит исключать влияние техники на конечный результат. Имеет смысл просмотр инкаров группы пилотов, сравнение их траекторий и проверка результата на вашей машине на трекдне.
2) Траектории машин с различным типом привода и характером управляемости могут заметно различаться.
3) На любительских записях редко видны нюансы действия пилота, работа рулем, педалями. Зачастую, не имея специфических навыков, вы просто не сможете заставить машину повторить то, что вы видели на видео.
Если же вы по каким то причинам не желаете заниматься с тренером и хотите добиваться всего сами, то отличной помощью на трекднях для вас будут различные системы телеметрии, с помощью которых вы сможете проанализировать результаты своих заездов, оценить время прохождения секторов, скорости в каждом участке трека, достигаемые боковые ускорения и тд.
Самой распространенной, очень точной и весьма недешевой системой являются комплексы Racelogic. Их существует несколько видов, различающихся между собой рядом возможностей – наличием датчиков, экрана и тд.
Более бюджетный вариант из довольно точных – применение специализированных программ для смартфонов (Racechrono, Harry’s laptimer и тд) совместно с внешним 10Гц гпс-приемником.
Ну и «нищеброд-спек» – встроенный гпс телефона + программа.
Теоритические минусы последнего варианта очевидны. Низкая частота обновления гпс-сигнала + его неустойчивость дают непредсказуемые погрешности. В этом году отмеченные эффекты ярко проявили себя только на трассах с явно выраженными перепадами высот, например на Смоленском кольце. Там погрешность в замере времени круга достигала 0,3 сек. На плоских треках, например в Мячково и на Нижегородском кольце, показания расходились с телеметрией трека менее чем на 0,1сек.
В любом случае, подобный вариант вполне применим для беглой оценки результатов на начальных этапах и имеет возможность «наращивания» путем добавления в систему OBD-адаптера ( например для съема показаний скорости, оборотов мотора, температуры масла напрямую с диагностического разъема машины.
Программа сама формирует массивы данных и позволяет затем наложить их на запись с видеокамеры.
Пилоту очень желательно иметь в личном пользовании:
1) шлем с подшлемником, перчатки, ботинки. Прокатные практически всегда можно взять в аренду на автодроме. Но зачем вам лишние проблемы? Да и свое всегда удобнее и приятнее. Выбор между открытым и закрытым шлемом – дело вкуса. В открытом не так жарко и лучше обзор, в закрытом можно использовать тонированные визоры, что очень актуально летом при ярком солнце. Не обязательно покупать специальный авто шлем с действующей омологацией. Оптимальный вариант для любительских соревнований, пожалуй, клубный картинговый закрытый шлем –дешево и сердито.
Перчатки для автоспорта позволят не волноваться за проскальзывание руля в руках в жаркую погоду, да и в целом специальные накладки улучшают зацеп за обод руля.
В качестве обуви можно использовать и автомобильные и картинговые ботинки и просто обычную обувь с тонкой подошвой и не большой шириной. Это позволит лучше «чувствовать педали» и облегчит выполнение ряда приемов управления машиной, таких как heel-&-toe.
2) подкатной домкрат для смены колес
3) канистры для запасного топлива
4) точный манометр для измерения давления в колесах
не помешают так же:
5) пирометр для измерения температуры резины
6) приличный набор инструментов
Итак, подведем небольшой итог.
Главная задача пилота в первом своем сезоне – понять, что в первую голову средства надо вкладывать в подготовку себя, а не машины. Скилл – всему голова. Получив хотя бы минимальный вкат и опыт, а так же закупившись самыми необходимыми вещами для участия в соревнованиях можно переходить ко второй части стремления к успеху – подготовке машины.
Но об этом поговорим уже в следующей части рассказа.
Все о Time Attack N/A — класс «ПЕРВЫЙ».
Свое повествование начнем с самого младшего класса Time Attack N/A — класс «ПЕРВЫЙ».
— Автомобили с любым типом привода, двигателем любого объема, заводской мощностью до 134 л.с.
На протяжении вот уже трех лет данный класс является самым спорным в вопросе классификации автомобилей. Ведь в свое время мы увидели как пилоты данного класса едут почти на равных с участниками более мощных классов. А у новичков, решивших попробовать себя в дисциплине Time Attack и участвующих в данном классе тут же пропадает желание продолжать участие, ведь разница времен 1 и 8 маст могла составлять чуть ли не 5-6 секунд.
В сезоне 2016 года мы постарались оптимизировать данный класс. Что из этого вышло, покажет время…
Технические Требования класса «ПЕРВЫЙ»:
Разрешены следующие доработки:
— замена воздушного фильтра на фильтр с пониженным сопротивлением воздуху;
— замена любой детали выпускной системы двигателя или системы в целом на более производительные;
— установка спортивных пружин;
— установка увеличенных/усиленных стабилизаторов;
— установка усилителей кузова (распорок) и болтового каркаса безопасности;
— изменение штатной программы ЭБУ (электронного блока управления) двигателя (чип-тюнинг);
— модификация элементов тормозной системы в рамках данной модели кузова ТС (тормозные диски, тормозные колодки, тормозные шланги) на более производительные (температуростойкие, перфорированные и пр.);
— установка спортивного (усиленного, облегченного) сцепления;
— установка блокировки дифференциала;
— замена элементов кузова альтернативными вариантами (карбон, пластик, алюминий): капот, бамперы, передние крылья;
— замена водительского / пассажирского кресла на альтернативные варианты (легкие, спортивные сиденья (ковши));
— замена двигателя на любой, устанавливаемый серийно на данную модель автомобиля (в рамках своего поколения/кузова).
Доработки, являющиеся фактором для перевода автомобиля в высшие классы:
— спортивные нестандартные коробки переключения передач;
— двигатель, несоответствующий рамкам производителя данной модели автомобиля (в рамках своего поколения/кузова);
— система наддува (турбо или компрессор), установленная вне рамок производителя.
— многодроссельный впуск (при условии не заводской установки);
— увеличенный впускной ресивер;
— спортивные распредвалы;
— установка ЭБУ двигателя стороннего производителя;
— подвеска (стойки), с возможностью регулировки жесткости;
— регулируемые верхние опоры и рычаги, как с возможностью настройки, так и готовые варианты;
— модификация тормозной системы (установка тормозных систем, многопоршневых суппортов);
— пластиковые / карбоновые двери;
— пластиковые стекла.
Примечание:
— установка регулируемой подвески предусматривает перевод участника в высшие классы!
— запрещено участие в данном классе следующим ТС: Toyota Vitz / Yaris, ДВС 1NZ-FE, МКПП.
Данные ТС автоматически переводятся в класс «ВТОРОЙ».
Все доработки, являющиеся фактором для перевода автомобиля в высший класс, считаются у данных ТС, исходя из принадлежности к классу «ПЕРВЫЙ»
В общем, лишь отсутствие гоночной лицензии было той тонкой гранью, которая разделяла этих «любителей» и «профессионалов». Хотя надо отметить, что были там и самые обычные автовладельцы, рискнувшие испытать свои силы на самых обычных машинах, таких как BMW 320D, Audi A6, Subaru Forester, Mazda3 и даже самый обычный ВАЗ-2107. Многие из них приехали на соревнования впервые. Кто-то выступил не очень удачно, а кто-то даже занял призовые места, как, например, Егор Немцев на Mazda3 (3-е место в классе Street Pro, 1:45,43) и Виталий Пугачев, легендарный Витамин, который решил испытать свою алую Honda Civic в качестве не только шоу-кара, но и гоночной машины. Витамин стал первым в классе Street, доказав, что аэрография, обвес и спойлер реально прибавляют сил, если за рулем правильный водитель.
Профессиональная секция была другой. Даже машины там были другие. Если в любительской секции Honda Civic задавал тон точно так же, как это делают Nissan GT-R в Unlim 500+, то в профессиональной секции хотя и было преобладание автомобилей марки Honda, но они уже не ощущались такими доминирующими. Пилоты-«профессионалы» проходили трассу гораздо агрессивнее, но при этом аккуратнее: никто не перевернулся, никто не зацепил ретардеры, хотя штрафные очки за сбитые конусы «профессионалы» получали чаще «любителей». Лишь в самом конце, когда нервы пилотов были на пределе, несколько машин вынесло за пределы трассы. Но самим машинам от этого ничего не было. Лишь Ford Mustang Даниила Дроздовича после второго заезда сошел с дистанции по причине того, что одна из задних покрышек превратилась в лохмотья.
По результатам заездов таблица лидеров выглядела следующим образом:
2-й любительский этап
Класс Light
Класс Street
Класс Street Pro
Класс Unlimited
3-й профессиональный этап
Класс Light
Класс Street
Класс Street Pro
Класс Unlimited
Теория кунг-фу
Как я уже писал, участвовать в Time Attack гораздо интереснее, нежели просто наблюдать. Чтобы лучше почувствовать самурайский дух гонок, а это соревнование пришло к нам именно из Японии, нужно попробовать себя как участник. И я попробовал…
Исповедь проигравшего
Почему же проиграл? Чего мне не хватило: мастерства или машины? Попробуем разобраться.
Эх, «жигули»!
Плохому танцору…
Кроме того, Олег Рудакович любезно согласился прокатить меня пассажиром во время тренировки на своем Mustang. Каково же было мое удивление, когда я увидел, что Олег «рисует» траекторию точь-в-точь как ее рисовал я! Но тяжелый Ford реагировал совершенно иначе: там, где «жигули» злились и визжали резиной, Mustang послушно ввинчивался в поворот.
Пожалуй, так оно и есть. Невозможно узнать, насколько ты хороший водитель, постоянно проезжая 30 км в сутки по давно изученному маршруту. Свое умение, свое чувство автомобиля можно познать только в таких соревнованиях. И это хорошо, что они есть. Я не жалею, что участвовал. Не жалею, что проиграл. Зато я знаю свое время и знаю, над чем мне предстоит поработать!
Что такое time attack (тайматак)?
Привет каракУмникам! Сейчас на сайте неделя кольцевых гонок, а значит, поговорим про такое увлекательное действо на кольце, как time attack или.
Привет каракУмникам! Сейчас на сайте неделя кольцевых гонок, а значит, поговорим про такое увлекательное действо на кольце, как time attack (или тайматака). Я увидел, что в рунете трудно найти определение time attack (тайматаки), поэтому беру на себя такую задачу.
Time attack (тайматак) – тип автоспортивных соревнований (авто или мото), где водители соревнуются не в открытой борьбе, одновременно проезжая по трассе, стараясь занять лидирирующую позицию, как это было бы в классических кольцевых гонках, а едут на лучшее время круга. Все, что видят водители, гоняющие на time attack (тайматак): трасса, свой автомобиль и в лучшем случае свое время круга. В time attack перед тобой нет автомобиля соперника, которому бы ты мог пасть на хвост, анализировать его поведение и просчитывать ошибки. Позади тебя нет соперника, подгоняющего и провоцирующего сделать ошибки и позволяющего тебе думать, что ты едешь лучше кого то. В голове только время круга, опыт и стремление ехать еще быстрее – ты постоянно должен ехать на пределе.
Time attack зародился в Японии в середине 1960-х, а потом распространился по всему миру. В СтранеВосходящегоСолнца очень развита тусовка time attack (тайматак), как и множество других автомобильных тусовок. К сожалению, я не располагаю источниками, которые бы говорили о причине роста популярности соревнований по time attack, но если рассуждать логически, то:
— соревнования по timeattack (тайматак) безопаснее классических кольцевых гонок, ведь отсутствует (или крайне минимален) риск столкновения автомобилей на трассе;
— как следствие из вышеприведенного, это привлекало автолюбителей-новичков, участвующих в трек днях;
— еще одна причина популярности timeattack (тайматак) – это просто круто!
Подготовка автомобилей для соревнований time attack (тайматак) проходит так же, как и для других кольцевых гонок, ограничением служит только регламент той или иной серии. Главное – сделать быстрый автомобиль и найти не менее быстрого пилота.
Вот парочка автомобилей для соревнований по time attack (тайматак), чтобы вы имели понятие что представляют из себя самые хардкорные игроки этого вида спорта (взято из группы ВК):
Top Fuel/Voltex S2000RR
Кстати, в нашем сообществе не раз проскакивали статьи о time attack (тайматак) автомобилях, например:
MightyMouse CR-X
А вот бортовик time attack корча:
BMW «ГОНКА» TIME ATTACK
А вот видео time attack заезда все на том же MightyMouse CR-X: