body { margin: 0; background-color: hsl(330, 100%, 2%); width: 100%; height: 100%; } .name { color: rgb(199, 199, 199); text-align: center; font-size: 20px; font-family: monospace; animation: name 0.2s ease 1.3s forwards, a 3s linear 2s infinite; opacity: 0; } @keyframes name { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 1; } } .name-container { animation: nameReveal 0.2s ease forwards 1s; padding: 0px 10px; margin-top: 30px; } @keyframes nameReveal { 0% { background-color: rgba(5, 231, 151, 0); } 30% { background-color: hsl(330, 100%, 68%); box-shadow: 0px 0px 7px 2px hsl(330, 100%, 68%); transform: skewX(60deg); } 50% { background-color: rgba(5, 231, 151, 0); box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0); transform: skewX(0deg); } 70% { background-color: hsl(330, 100%, 68%); box-shadow: 0px 0px 7px 2px hsl(330, 100%, 68%); } 100% { background-color: rgba(5, 231, 151, 0); box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0); } } .top-animation { display: inline-block; width: 100%; } .top-animation-table { margin: 0 auto; border-spacing: 10px; border-collapse: separate; width: 100%; max-width: 400px; } .top-animation-table .pixel:nth-child(4) { animation-delay: 1.2s; } .top-animation-table .pixel:nth-child(5) { animation-delay: 1.1s; } .top-animation-table .pixel:nth-child(6) { animation-delay: 1s; } .top-animation-table .pixel:nth-child(7) { animation-delay: 0.9s; } .top-animation-table .pixel:nth-child(8) { animation-delay: 0.8s; } .top-animation-table .pixel:nth-child(9) { animation-delay: 0.7s; } .top-animation-table .pixel:nth-child(10) { animation-delay: 0.6s; } .top-animation-table .pixel:nth-child(11) { animation-delay: 0.5s; } .top-animation-table .pixel:nth-child(12) { animation-delay: 1.7s; } .top-animation-table .pixel:nth-child(13) { animation-delay: 1.6s; position: relative; } .top-animation-table .pixel:nth-child(13):after { content: ""; position: absolute; width: 100%; height: 10px; top: 18px; left: 0px; animation: top-animation 1s linear forwards 1.6s; } .top-animation-table .pixel:nth-child(3):after { content: ""; position: absolute; width: 100%; height: 10px; top: 18px; left: 0px; animation: top-animation 1s linear forwards; } .top-animation-table .pixel { animation: top-animation 1s linear forwards; } .top-animation-table .pixel:nth-child(1) { animation-delay: 0.2s; } .top-animation-table .pixel:nth-child(2) { animation-delay: 0.1s; } .top-animation-table .pixel:nth-child(14) { animation-delay: 1.5s; } .pixel { width: 7%; height: 10px; } .top-animation-table .pixel:nth-child(3) { position: relative; } @keyframes top-animation { 0% { background-color: rgba(5, 231, 151, 0); } 50% { background-color: hsl(330, 100%, 68%); box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0.2); } 100% { background-color: rgba(5, 231, 151, 0); box-shadow: 0px 0px 10px 5px rgba(5, 231, 151, 0); } } .left-animation { width: 30%; margin-top: 10%; display: inline-block; vertical-align: top; position: relative; } .left-animation-cont { display: inline-block; width: 40%; margin-right: 10%; vertical-align: middle; } .hourglass-container { display: inline-block; width: 50%; position: relative; vertical-align: middle; } .hourglass1 { width: 100%; stroke-dasharray: 2000; stroke-dashoffset: 2000; stroke-width: 4; animation: dash 1.8s linear forwards 0.5s; } .hourglass { fill: rgba(0, 0, 0, 0); stroke: hsl(330, 100%, 68%); stroke-miterlimit: 10; } @keyframes dash { 10% { opacity: 1; } 11% { opacity: 0; } 12% { opacity: 1; } 30% { opacity: 1; } 41% { opacity: 0; transform: skew(0deg); } 42% { opacity: 1; transform: skew(10deg); } 43% { opacity: 1; transform: skew(0deg); } 100% { stroke-dashoffset: 0; opacity: 0; } } .hourglass-container:after { content: ""; height: 20px; width: 20px; border: 2px solid hsl(330, 100%, 68%); margin-left: 10px; opacity: 0; position: absolute; left: -15px; top: -5px; animation: appear 0.5s ease 1s; } @keyframes appear { 0% { opacity: 0; } 50% { opacity: 1; box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0.2); } 100% { opacity: 0; box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0); } } .lines { position: absolute; height: 50px; width: 70px; top: 80px; left: 100px; } .lines .line { width: 0px; height: 3px; background-color: hsl(330, 100%, 68%); margin-bottom: 20px; position: relative; } .lines .line:nth-child(1) { animation: linesAppear 0.7s ease 1.9s; } .lines .line:nth-child(2) { animation: linesAppear 0.7s ease 2.1s; } .lines .line:nth-child(3) { animation: linesAppear 0.7s ease 2.3s; } .right-animation { width: 30%; display: inline-block; vertical-align: top; right: 0; transform: scaleX(-1); margin-top: 10%; } @keyframes linesAppear { 0% { width: 0px; height: 3px; opacity: 0; } 50% { width: 100%; height: 3px; box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0.2); opacity: 1; } 80% { width: 100%; height: 3px; box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0.2); opacity: 1; } 100% { width: 100%; height: 3px; box-shadow: 0px 0px 7px 2px rgba(5, 231, 151, 0.2); opacity: 0; } } .zoom { width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; flex-direction: column; transform: scale(0.9); animation: zoom 10s ease forwards; } .mid { display: flex; justify-content: center; align-items: center; } @keyframes zoom { 0% { transform: scale(0.9); } 100% { transform: scale(1); } } @keyframes flick { 0% { opacity: 1; } 3% { opacity: 0; transform: skew(-35deg); } 5% { opacity: 1; transform: skew(0deg); } 100% { opacity: 1; } } @keyframes a { 0% { opacity: 1; } 1% { opacity: 0; } 2% { opacity: 1; } 49.5% { transform: skewX(0deg); } 50% { transform: skewX(50deg); } 50.5% { transform: skewX(0deg); } 100% { opacity: 1; transform: skewX(0deg); } } .avatar { width: 200px; height: 300px; margin: auto; position: relative; display: inline-block; animation: flick 1s ease 1s, a 3s linear 1s infinite; top: 0; } .hairBase { width: 180px; height: 330px; margin: auto; position: relative; top: 50px; background-color: hsl(330, 100%, 23%); border-top-left-radius: 200px; border-top-right-radius: 200px; } .bang { position: absolute; width: 100px; height: 70px; background-color: hsl(330, 100%, 23%); box-shadow: inset 3px -10px hsl(330, 100%, 30%); top: -10px; } /* .bang.left { border-top-left-radius: 100px; border-bottom-right-radius: 100px; right: 40px; transform: rotate(-25deg); } */ .bang.right { border-top-right-radius: 100px; border-bottom-left-radius: 100px; left: 40px; } .head { width: 130px; height: 180px; margin: auto; background-color: hsl(330, 57%, 56%); border-radius: 200px; position: relative; top: 30px; z-index: 2; } .hair { list-style: none; padding: 0; } .neck { position: relative; width: 50px; height: 50px; background-color: hsl(330, 57%, 56%); margin: auto; top: -65px; box-shadow: inset 0px 10px hsl(330, 77%, 44%); } .turtle-neck { position: relative; width: 150px; height: 60px; background-color: hsl(330, 100%, 30%); margin: auto; top: -100px; border-radius: 100px; z-index: 2; } .body { position: relative; width: 150px; height: 100px; background-color: hsl(330, 100%, 26%); margin: auto; top: -150px; border-top-left-radius: 100px; border-top-right-radius: 100px; }
О фестивале
Путь в индустрию информационной безопасности еще никогда не был настолько простым. Регистрируйся на наш фестиваль, пройди курс по базовым или продвинутым темам, зарабатывай баллы и получи возможность вступить в сообщество Cybermates, где ты сможешь помогать команде лаборатории касперского решать актуальные и интересные задачи, а также создавать и внедрять собственные проекты
Почему стоит участвовать:
- Возможность быстро войти в тему и вступить в сообщество Лаборатории Касперского, где вам предстоит решать задачи из индустрии
Ключевые тематики в рамках фестиваля:

  • Криптография

  • Форензика (Computer forensics)

  • Сетевые соединения и передача данных

  • Стеганография

  • PWN

  • Декомпиляция программ

  • Использование бинарных уязвимостей

  • WEB и все связанное

  • График:

    • 1-я и 2-я неделя: вводные лекции и простые задания.

    • 3-я неделя: "марафон заданий", интенсивный челлендж в формате speedrun, когда новые задания появляются каждые 48 часов.

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

Образовательный этап (12 октября - 26 октября) 1. Запуск онлайн-бота в Telegram. Через него отправляются лекции (страницы telegra.ph или в виде файлов), а также практические задачи. В боте доступен рейтинг участников по набранным баллам за задачи. 2. Каждый день с понедельника по пятницу даем одну тему, а также по 2-3 задачки (легкая, средняя, сложная) на ее освоение. Одна текстовая лекция, на чтение которой будет уходить около 45 минут, и еще часа 1.5-2 на само решение задач. 3. В конце каждой недели, в воскресенье, будет мини-турнир по пройденному материалу (срезовый). 10 задачек на 4 часа. Участие также личное.



Челлендж - квест (26 октября - 1 ноября) 1. Каждые 2 дня в случайное время (с 10 до 19 МСК) появляется ссылка на скомпрометированную виртуальную машину (одна на всех). Отправка будет проходить в Telegram. Там есть пара уязвимостей. Суть простая - зайти на нее первым и удерживать свой доступ внутри виртуалки. В случайный интервал времени, например раз в 15-20 минут, доступ будет полностью сбрасываться, и участникам нужно будет повторно заходить на данную машину. Это похоже на формат "Царь Горы", такой проводился только в 2009 и 2010 году, поэтому его никто не знает. 2. Участник получает баллы за каждую минуту нахождения на машине. Например, Петя взломал систему, и находится там 10 минут. Ему дают 10 баллов, при этом никто другой на машину зайти не может (если Петя ее настроил). Если одновременно Петя и Коля на машине, то за минуту они получают 1 балл, деленный на двоих. Пете невыгодно, чтобы Коля заходил на машину, поэтому он всегда его выкидывает. К тому же, раз в 15-20 минут машина перезапускается, и автоматически все пропадают с данной виртуалки
Что будет:
- Лекции с задачами по уровню сложности
- Турнир в виде квеста
- Воркшопы с специалистами из индустрии
- Неформальное общение с сообществом
LET'S HACK
Trudi_fest
FAQ