Открывается новый сезон курса открытых лекций под общей темой «Software And Data Security». Хотя я бы назвал эти лекции «Криптография и все такое для программистов». За прошедшие два года я собрал огромное количество отзывов и постарался изменить курс таким образом, чтобы он воспринимался еще легче, был более насыщен практической частью и оставлял после себя более четкий отпечаток в памяти.
Итак, лекции будут проходить в Белке по субботам (с некоторыми исключениями, о которых позже), чтобы удобно было ходить тем, кто работает. Начало чуть раньше второй пары, ровно в 10:00. Приходить могут все желающие, регистрации нет, свободных мест полно – ну кому может быть интересно безопасно хранить данные пользователей, понимать, как работают HTTPS, сертификаты разработчиков Apple, криптовалюты? Как подбирают вроде как надежные пароли, взламывают вроде как зашифрованные переписки и пишут кейгены для новых игр за 24 часа? А также как плохая крипта разрушила 10000 браков, позволила смотреть DVD на Linux-системах и как та же плохая крипта не дала распространиться вирусу Petya еще в 2016 году?
Канал в телеге: @softwareanddatasecurity, чат: @sadschat
Первая лекция, ознакомительная, пройдет завтра, 22 сентября в 10:00 в Белке. Welcome.
Итак, лекции будут проходить в Белке по субботам (с некоторыми исключениями, о которых позже), чтобы удобно было ходить тем, кто работает. Начало чуть раньше второй пары, ровно в 10:00. Приходить могут все желающие, регистрации нет, свободных мест полно – ну кому может быть интересно безопасно хранить данные пользователей, понимать, как работают HTTPS, сертификаты разработчиков Apple, криптовалюты? Как подбирают вроде как надежные пароли, взламывают вроде как зашифрованные переписки и пишут кейгены для новых игр за 24 часа? А также как плохая крипта разрушила 10000 браков, позволила смотреть DVD на Linux-системах и как та же плохая крипта не дала распространиться вирусу Petya еще в 2016 году?
Канал в телеге: @softwareanddatasecurity, чат: @sadschat
Первая лекция, ознакомительная, пройдет завтра, 22 сентября в 10:00 в Белке. Welcome.
После того, как мы развлеклись с простенькими шифрами вроде Цезаря или Виженера (а если вы еще не развлеклись, то первая лабораторная работа здесь: https://goo.gl/fUC6d9 – нет, кодировка не сломалась), займемся более серьезными вещами. Напомню, мы остановились на том, что для шифрования нам очень бы пригодились генераторы случайных чисел. Итак, случайные числа – и почему те генераторы таких чисел, которые вы привыкли использовать, абсолютно непригодны для целей, которые содержат слова «безопасный» или «секретный». Не забудьте посетить эту лекцию, если открываете казино.
Завтра, 26 сентября в 10:25 в Белке. Заранее отвечаю, что вход свободный для всех желающих (и не из КПИ тоже) и бесплатный. Обычно лекции будут проводится по субботам, но эту пару приходится перенести.
Если вы не были на первой лекции – не беда, в начале пары я обязательно кратко напомню, о чем шла речь в прошлую субботу. Тем, кто был, предлагаю пока размять мозги и подумать над такими вопросами:
1. Что, если кто-то будет передавать несколько сообщений зашифрованных одинаковым ключом с помощью одноразового блокнота, а вы их перехватите. Как вам их расшифровать?
2. Представьте простой шифр, который не заменяет символы, а переставляет их местами в зависимости от ключа. Как бы вы отличили такой шифр от тех, что мы смотрели на лекции?
Завтра, 26 сентября в 10:25 в Белке. Заранее отвечаю, что вход свободный для всех желающих (и не из КПИ тоже) и бесплатный. Обычно лекции будут проводится по субботам, но эту пару приходится перенести.
Если вы не были на первой лекции – не беда, в начале пары я обязательно кратко напомню, о чем шла речь в прошлую субботу. Тем, кто был, предлагаю пока размять мозги и подумать над такими вопросами:
1. Что, если кто-то будет передавать несколько сообщений зашифрованных одинаковым ключом с помощью одноразового блокнота, а вы их перехватите. Как вам их расшифровать?
2. Представьте простой шифр, который не заменяет символы, а переставляет их местами в зависимости от ключа. Как бы вы отличили такой шифр от тех, что мы смотрели на лекции?
Думаю, вы знаете, но тем не менее повторюсь. Завтра лекции не будет (мы перенесли ее на среду, которая была два дня назад). Увидимся с вами через неделю, 6-го октября.
Лекция по геймдеву никуда не делась, и завтра будет проходить в 10:20 в Белке: @gamedevkpi
Лекция по геймдеву никуда не делась, и завтра будет проходить в 10:20 в Белке: @gamedevkpi
Завтра на паре будем смотреть на криптографию дальше. На очереди у нас блочные шифры, любимый всеми AES и AEAD. Но не все так просто: чтобы разобраться с последним необходимо еще понять хеширование, и MAC. Звучит сложно? Так и есть, будет интересная и очень насыщенная лекция. Если вы пропустили первые две – это не страшно, потому что предыдущие лекции есть на youtube, и вообще, самое главное начинается с этой пары.
В эту субботу, 6 октября, в Белке в 10:00 открытая лекция по защите программ и данных. Пока что смотрим на крипту, но впереди много интересного. Всегда спрашивают, поэтому говорю заранее: лекции бесплатные и открыты для всех желающих, не только из КПИ.
В прошлый раз (видео лекции на ютубе: https://youtu.be/AIQNZZ79zfA) мы закончили на рассмотрении вполне современного шифра Salsa20. Для тех, кто хочет размять мозг – а группы ИП-51/52 хотят размять мозг в обязательном порядке – предлагаю пару вопросов:
1. Вы собираетесь шифровать огромное количество файлов шифром, который работает с nonce размером 64 бита. Вы знаете, что nonce точно-точно не должен повторяться. Как вы будете его генерировать?
2. То же самое, но шифр поддерживает nonce размером 192 бита.
В эту субботу, 6 октября, в Белке в 10:00 открытая лекция по защите программ и данных. Пока что смотрим на крипту, но впереди много интересного. Всегда спрашивают, поэтому говорю заранее: лекции бесплатные и открыты для всех желающих, не только из КПИ.
В прошлый раз (видео лекции на ютубе: https://youtu.be/AIQNZZ79zfA) мы закончили на рассмотрении вполне современного шифра Salsa20. Для тех, кто хочет размять мозг – а группы ИП-51/52 хотят размять мозг в обязательном порядке – предлагаю пару вопросов:
1. Вы собираетесь шифровать огромное количество файлов шифром, который работает с nonce размером 64 бита. Вы знаете, что nonce точно-точно не должен повторяться. Как вы будете его генерировать?
2. То же самое, но шифр поддерживает nonce размером 192 бита.
Обычно взлом сайта или сервиса сводится к краже данных. Такими данными чаще всего являются пароли пользователей и их персональные данные вроде почты, номера телефона, адреса проживания и т.д. Так вот завтра как раз об этом: как хранить пароли пользователей. С одной стороны, все очень просто, но с другой – каждый год увеличивается количество слитых баз и подобранных паролей. Пароли становятся глобальной проблемой всего IT. Ведь другого надежного и такого же простого способа узнать пользователя практически не существует.
Хотите примерно оценить масштаб? Слитая база из 60 млн. аккаунтов Dropbox (2012 год), 100 млн. аккаунтов VK(2012 год), 150 млн. аккаунтов Adobe (2013 год), 160 млн. от LinkedIn (2016 год), 360 млн. от MySpace (2016 год), 458 млн. в списке «Anti Public», 590 млн. «Exploit.In» и 700 млн. почтовых ящиков и паролей от спамботов (оба слива в 2017 году). Всего количество известных взломанных аккаунтов (по данным hibp на 12 октября 2018 года) составляет 5.5 миллиардов!
Завтра в 10:00 в Белке пара по защите программ и данных: «Как хранить пароли так, чтобы минимизировать ущерб?». Вход свободный и бесплатный для всех желающих.
Как пароли подбирают и как их подбирают очень быстро, что такое подбор по словарю, подбор по шаблону, гибридный подбор, что такое радужные таблицы, зачем нужна соль и как ее хранить, какие алгоритмы лучше использовать, стоит ли шифровать пароли (помимо хеширования), почему FaceId и TouchId не лучший вариант для интернета? Приходите, буду рад всех видеть.
Хотите примерно оценить масштаб? Слитая база из 60 млн. аккаунтов Dropbox (2012 год), 100 млн. аккаунтов VK(2012 год), 150 млн. аккаунтов Adobe (2013 год), 160 млн. от LinkedIn (2016 год), 360 млн. от MySpace (2016 год), 458 млн. в списке «Anti Public», 590 млн. «Exploit.In» и 700 млн. почтовых ящиков и паролей от спамботов (оба слива в 2017 году). Всего количество известных взломанных аккаунтов (по данным hibp на 12 октября 2018 года) составляет 5.5 миллиардов!
Завтра в 10:00 в Белке пара по защите программ и данных: «Как хранить пароли так, чтобы минимизировать ущерб?». Вход свободный и бесплатный для всех желающих.
Как пароли подбирают и как их подбирают очень быстро, что такое подбор по словарю, подбор по шаблону, гибридный подбор, что такое радужные таблицы, зачем нужна соль и как ее хранить, какие алгоритмы лучше использовать, стоит ли шифровать пароли (помимо хеширования), почему FaceId и TouchId не лучший вариант для интернета? Приходите, буду рад всех видеть.
Завтра на лекции мы закончим тему с хранением паролей и будем подводить итоги по симметричной криптографии. Сброс пароля, токены, двухфакторная аутентификация, а также MAC и AEAD – наконец-то. Не расстраивайтесь, если вы не были на прошлой паре: обычно в начале лекции мы кратко проходимся по материалу предыдущей.
В Белке на 10:00 в субботу 20 октября, приходите все желающие, пользуйтесь возможностью, пока не поставили турникеты. Если вы не из КПИ, это тоже не проблема.
Мы рассмотрим, как хранить хеши паролей в базе так, чтобы даже если их сольют, ничего страшного не произошло. Как правильно сбрасывать пароль пользователя (а не напоминать его). Как добавить в свой сервис двухфакторную аутентификацию. Вы поймете, что сделать хорошо даже проще, чем сделать плохо :)
Для разминки предлагаю подумать:
1. Если мы вместо пароля создаем токен (например, для API) с помощью криптографически стойкого случайного генератора, надо ли нам хранить его хеш вместо самого токена? Думаю, ответ очевиден :)
2. Что в таком случае использовать? argon2, scrypt, sha3, sha1, md5? Может, вообще ни один из этих алгоритмов?
3. Если подать на вход Argon2 огромную строку, то он хорошенько подвиснет, а вместе с ним – и ваш сервер. Как можно решить эту проблему?
В Белке на 10:00 в субботу 20 октября, приходите все желающие, пользуйтесь возможностью, пока не поставили турникеты. Если вы не из КПИ, это тоже не проблема.
Мы рассмотрим, как хранить хеши паролей в базе так, чтобы даже если их сольют, ничего страшного не произошло. Как правильно сбрасывать пароль пользователя (а не напоминать его). Как добавить в свой сервис двухфакторную аутентификацию. Вы поймете, что сделать хорошо даже проще, чем сделать плохо :)
Для разминки предлагаю подумать:
1. Если мы вместо пароля создаем токен (например, для API) с помощью криптографически стойкого случайного генератора, надо ли нам хранить его хеш вместо самого токена? Думаю, ответ очевиден :)
2. Что в таком случае использовать? argon2, scrypt, sha3, sha1, md5? Может, вообще ни один из этих алгоритмов?
3. Если подать на вход Argon2 огромную строку, то он хорошенько подвиснет, а вместе с ним – и ваш сервер. Как можно решить эту проблему?
Вопрос, который не покидает ваши умы даже во время сна: шифровать-то шифруем, но для шифрования ведь нужен ключ. Хорошо, ключ можно сделать из пароля с помощью KDF. Но как два человека будут знать один и тот же ключ? Не по скайпу же его кидать. А если передавать зашифрованный ключ, то как обменятся ключами шифрования ключей шифрования? Если вы ничего не поняли, это нормально, потому что никто так не делает.
Завтра в Белке (библиотека, 3 этаж), в 10:00 открытая лекция по защите программ и данных.
Мы начнем рассматривать ассиметричную криптографию. Начнем мы как раз с ответа на вопрос, как двум людям узнать один и тот же секретный ключ так, чтобы его не подсмотрел никто другой. И это без шифрования и по незащищенному каналу, то есть там, где кто-угодно может подсматривать сообщения! Внимание, дальше спойлеры.
Кто изображен на фото?
Завтра в Белке (библиотека, 3 этаж), в 10:00 открытая лекция по защите программ и данных.
Мы начнем рассматривать ассиметричную криптографию. Начнем мы как раз с ответа на вопрос, как двум людям узнать один и тот же секретный ключ так, чтобы его не подсмотрел никто другой. И это без шифрования и по незащищенному каналу, то есть там, где кто-угодно может подсматривать сообщения! Внимание, дальше спойлеры.
Кто изображен на фото?
Распространенность RSA может навести на мысль, что это невероятно крутой и очень защищенный алгоритм. Еще этому способствуют лабы в университетах, которые как на подбор: «реализуйте алгоритм RSA и зашифруйте строку». Реальность куда печальнее, и при использовании в лоб такая защита ломается очень быстро. Примерно так же дела обстоят и с протоколом Диффи-Хеллмана.
Завтра, 3 ноября, в 10:00 в Белке будет проходить открытая лекция по безопасности «Как использовать RSA». Спойлер: никак.
Мы рассмотрим уязвимости RSA и DH, что стоит использовать, а что нет. Посмотрим, как все выученные нами технологии используются для создания сертификатов как для сайтов, так и для подписи приложений для, например, AppStore. И затем, как сертификаты находят свое место в протоколе TLS, который вы чаще всего видите как https, – тот самый парень, который защищает вашу историю просмотра роликов на ютубе от зорких глаз провайдера.
Завтра, 3 ноября, в 10:00 в Белке будет проходить открытая лекция по безопасности «Как использовать RSA». Спойлер: никак.
Мы рассмотрим уязвимости RSA и DH, что стоит использовать, а что нет. Посмотрим, как все выученные нами технологии используются для создания сертификатов как для сайтов, так и для подписи приложений для, например, AppStore. И затем, как сертификаты находят свое место в протоколе TLS, который вы чаще всего видите как https, – тот самый парень, который защищает вашу историю просмотра роликов на ютубе от зорких глаз провайдера.
TL;DR Битки! Блокчейн!
Завтра на открытой (для абсолютно всех желающих) лекции у нас особая тема. Особая тем, что вокруг нее крутится огромный хайп. Да, это блокчейн и биткоины. Это первая наша тема, в которой мы уже не будет придумывать новый криптопримитивы, а начнем использовать старые для своих нужд.
Но начнем с того, почему наши знания нельзя использовать как конструктор. Это очень большое заблуждение: «если у меня есть два хорошо защищенных криптопримитива и я буду использовать их вместе, получится защищенная система». Криптография так не работает. Не повторяйте чужие ошибки – используйте уже известные решения – и не создавайте велосипеды. Если в обычном software development это грозит вам весьма быстрым обратным откликом от недовольных сотрудников, то в безопасности – фидбек будет очень небыстрым, но куда более неприятным, иногда на миллионы долларов неприятнее.
Завтра 10.11 в 10:00 жду всех желающих в Белке на открытой лекции по защите программ и данных.
Завтра на открытой (для абсолютно всех желающих) лекции у нас особая тема. Особая тем, что вокруг нее крутится огромный хайп. Да, это блокчейн и биткоины. Это первая наша тема, в которой мы уже не будет придумывать новый криптопримитивы, а начнем использовать старые для своих нужд.
Но начнем с того, почему наши знания нельзя использовать как конструктор. Это очень большое заблуждение: «если у меня есть два хорошо защищенных криптопримитива и я буду использовать их вместе, получится защищенная система». Криптография так не работает. Не повторяйте чужие ошибки – используйте уже известные решения – и не создавайте велосипеды. Если в обычном software development это грозит вам весьма быстрым обратным откликом от недовольных сотрудников, то в безопасности – фидбек будет очень небыстрым, но куда более неприятным, иногда на миллионы долларов неприятнее.
Завтра 10.11 в 10:00 жду всех желающих в Белке на открытой лекции по защите программ и данных.
Завтра лекции не будет, у групп ИП-51/52 будет контрольная работа. Если вы все же придёте на 10, можете нарваться на лекцию по геймдеву😊
Завтра разговор пойдет о куда более распространенной технологии, в отличии от блокчейна. Речь о TLS, с которым рано или поздно сталкивается каждый программист. А также: https, SNI, eSNI, dnssec, dns-over-https и dns-over-tls.
Как обычно, 10:00 в белке вас ждет лекция по защите программ и данных. И это будет одна из последних лекций по крипте.
Чтобы у вас возникало меньше вопросов, зачем надо этот сертификат, почему он так быстро истекает, что это за наборы странных символов, которые надо указывать при настройке https, почему сертификаты подводят в самый ответственный момент, когда они должны были защитить нас, – приходите завтра на открытую лекцию, на которой прозвучат ответы на эти жуткие вопросы, которые не дают вам спокойно уснуть.
Все знание, которые у вас остались(?) после предыдущих лекций, соединяются вместе, в этом чудесном изобретении, которое позволяет вам лазить по youtube так, что даже ваш провайдер не знает, что вы смотрите. Что такое TLS, и почему эту технологию не смогли сразу придумать нормально, почему каждые несколько лет в ней находят новые уязвимости, зачем вам обязательно нужны сертификаты, которые быстро истекают, и почему вам обязательно нужен ocsp-stapling и must-staple. Все это вы узнаете завтра.
Как обычно, 10:00 в белке вас ждет лекция по защите программ и данных. И это будет одна из последних лекций по крипте.
Чтобы у вас возникало меньше вопросов, зачем надо этот сертификат, почему он так быстро истекает, что это за наборы странных символов, которые надо указывать при настройке https, почему сертификаты подводят в самый ответственный момент, когда они должны были защитить нас, – приходите завтра на открытую лекцию, на которой прозвучат ответы на эти жуткие вопросы, которые не дают вам спокойно уснуть.
Все знание, которые у вас остались(?) после предыдущих лекций, соединяются вместе, в этом чудесном изобретении, которое позволяет вам лазить по youtube так, что даже ваш провайдер не знает, что вы смотрите. Что такое TLS, и почему эту технологию не смогли сразу придумать нормально, почему каждые несколько лет в ней находят новые уязвимости, зачем вам обязательно нужны сертификаты, которые быстро истекают, и почему вам обязательно нужен ocsp-stapling и must-staple. Все это вы узнаете завтра.
Завтра будет проходить хакантон, поэтому лекция немного перенесется на другой день. На когда точно, я напишу отдельно.
Зато в следующую субботу, 8 декабря, вас ждет очень приятный сюрприз😉
Зато в следующую субботу, 8 декабря, вас ждет очень приятный сюрприз😉
В эту субботу у нас в гостях Анастасия Войтова (@vxxtl) – одна из лучших спикеров по инфосеку, о которых я знаю, выступит с докладом «Использование криптографии для защиты данных: ошибки, хотелки и паттерны».
Анастасия выпускница КПИ ФИВТ, начинала как разработчик мобильных приложений, но потом сосредоточилась над улучшением их безопасности. Последние четыре года занимается поддержкой опен-сорс мульти-платформенной библиотеки Themis, которая позволяет разработчикам легко интегрировать шифрование в свои приложения и инфраструктуру. Сейчас работает в компании Cossack Labs (www.cossacklabs.com), которая занимается разработкой криптографического софта для защиты данных под всех платформы. Анастасия пишет код на разных языках, проводит тренинги и воркшопы для разработчиков про secure development, помогает клиентам в интеграции cryptographic tools, и выступает на международных конференциях.
В субботу, 08.12, в Белке на 11:00 (то есть, на час позже обычного времени). Лекция как обычно открытая и бесплатная, регистрации нет, просто приходите. На всякий случай добавлю, что сообщения в канале Белки, о том, что пространство будет закрыто, не распространяется на лекции.
Если у вас есть какие-нибудь вопросы, можете смело писать их в чате канала: (@sadschat)😊
Анастасия выпускница КПИ ФИВТ, начинала как разработчик мобильных приложений, но потом сосредоточилась над улучшением их безопасности. Последние четыре года занимается поддержкой опен-сорс мульти-платформенной библиотеки Themis, которая позволяет разработчикам легко интегрировать шифрование в свои приложения и инфраструктуру. Сейчас работает в компании Cossack Labs (www.cossacklabs.com), которая занимается разработкой криптографического софта для защиты данных под всех платформы. Анастасия пишет код на разных языках, проводит тренинги и воркшопы для разработчиков про secure development, помогает клиентам в интеграции cryptographic tools, и выступает на международных конференциях.
В субботу, 08.12, в Белке на 11:00 (то есть, на час позже обычного времени). Лекция как обычно открытая и бесплатная, регистрации нет, просто приходите. На всякий случай добавлю, что сообщения в канале Белки, о том, что пространство будет закрыто, не распространяется на лекции.
Если у вас есть какие-нибудь вопросы, можете смело писать их в чате канала: (@sadschat)😊
Напоминаю, что завтра, 08.12, в 11:00 в Белке пройдет открытая лекция по теме «Использование криптографии для защиты данных: ошибки, хотелки и паттерны». Вести её будет Анастасия Войтова, потому что от меня вы уже явно устали 😉
Будем говорить о криптографии в жизни обычного программиста — почему вы не должны тратить время на изучение всех деталей криптоалгоритмов. Какие типичные ошибки допускают инженеры, когда пытаются использовать криптографию для защиты данных. Как избежать ночных коммитов, но при этом разрабатывать «быстро и скучно».
Обсудим такие вопросы:
- Типичная ситуация «мы должны защищать пользовательские данные, что нам теперь делать». Решения и возможные ошибки на этом пути.
- Что такое boring crypto, и что разработчики хотят от использования криптографических инструментов (tools).
- Какие существуют группы инструментов, и что из них выбирать (hardware crypto (HSM/TPM), software crypto, web crypto).
- Большинство сталкиваются с software crypto: какие есть типичные продукты, как принимать решения (boxed solution, crypto-system, crypto-library).
- Что такое поверхность атаки в инфраструктурах и как криптография позволяет его сузить.
- Шифрование данных на стороне middleware: плюсы и минусы.
- Шифрование данных на стороне клиента: когда end-to-end encryption имеет смысл.
- Криптография не решит все проблемы, о чём ещё стоит помнить.
Лекция как обычно открытая и бесплатная, регистрации нет, просто приходите. Добавлю, что сообщения в канале Белки, о том, что пространство будет закрыто, не распространяется на лекции😊
Будем говорить о криптографии в жизни обычного программиста — почему вы не должны тратить время на изучение всех деталей криптоалгоритмов. Какие типичные ошибки допускают инженеры, когда пытаются использовать криптографию для защиты данных. Как избежать ночных коммитов, но при этом разрабатывать «быстро и скучно».
Обсудим такие вопросы:
- Типичная ситуация «мы должны защищать пользовательские данные, что нам теперь делать». Решения и возможные ошибки на этом пути.
- Что такое boring crypto, и что разработчики хотят от использования криптографических инструментов (tools).
- Какие существуют группы инструментов, и что из них выбирать (hardware crypto (HSM/TPM), software crypto, web crypto).
- Большинство сталкиваются с software crypto: какие есть типичные продукты, как принимать решения (boxed solution, crypto-system, crypto-library).
- Что такое поверхность атаки в инфраструктурах и как криптография позволяет его сузить.
- Шифрование данных на стороне middleware: плюсы и минусы.
- Шифрование данных на стороне клиента: когда end-to-end encryption имеет смысл.
- Криптография не решит все проблемы, о чём ещё стоит помнить.
Лекция как обычно открытая и бесплатная, регистрации нет, просто приходите. Добавлю, что сообщения в канале Белки, о том, что пространство будет закрыто, не распространяется на лекции😊
Как пишутся эксплоиты? Взломать чей-то телефон даже не прикасаясь к нему - возможно ли такое на самом деле? Что за странные 0-day и почему иногда нам надо вдруг срочно обновить Microsoft Word?
Завтра в 10:00 в Белке будет проходить лекция по Защите программ и данных. И на ней мы плавно рассмотрим тему sql-инъекций (очень поверхностно, потому как студенты на кафедре АСОИУ их, оказывается, уже трижды за 3 года изучали) и бинарных уязвимостей.
Очень надеюсь, что смогу уместить весь материал в одно занятие. Более того: эта тема примерно на порядок сложнее sql-инъекций, поэтому будьте готовы. Вспомните, что такое стек и куча, извлеките из глубин памяти синтаксис С и ассемблера. А когда вы решите, что ну его нафиг, все равно приходите на пару – будет интересно.
Завтра в 10:00 в Белке будет проходить лекция по Защите программ и данных. И на ней мы плавно рассмотрим тему sql-инъекций (очень поверхностно, потому как студенты на кафедре АСОИУ их, оказывается, уже трижды за 3 года изучали) и бинарных уязвимостей.
Очень надеюсь, что смогу уместить весь материал в одно занятие. Более того: эта тема примерно на порядок сложнее sql-инъекций, поэтому будьте готовы. Вспомните, что такое стек и куча, извлеките из глубин памяти синтаксис С и ассемблера. А когда вы решите, что ну его нафиг, все равно приходите на пару – будет интересно.
Завтра занятие только для групп ип-5х, открытой лекции не будет. Самое время выспаться😉
Forwarded from Software Architecture & Development
Привет!
Я - Артем Коротенко, и, возможно, вы слышали о том что в первом семестре в Белке проходит мой открытый курс геймдева (@gamedevkpi). В этом семестре мы совместно с Георгием Исаченко, которого вы знаете по лекциям по защиты информации (@softwareanddatasecurity) попробуем провести еще один курс совместно с кафедрой ВТ ФИВТа - Software Architecture & Development.
Почему архитектура?
По-моему опыту, именно знания в этой сфере часто проседают у студентов компьютерных направлений. Языку или фреймворку можно научиться, но с какой стороны подходить к разработке большого продукта, как научиться планировать его развитие, с учетом жизненного цикла в месяцы а то и годы (и чем это отличается от прототипной разработки), как вообще спокойно подходить к технологиям не скатываясь в холивары - все эти вопросы требуют внимания.
Чем будем заниматься?
Учиться проектировать приложения, смотреть на задачи с инженерной точки зрения, думать в категориях шире чем языки программирования и фреймворки. Будем говорить в большей части об архитектуре, частично - об организационной стороне процесса (про всякие аджайлы с точки зрения технических специалистов)
Какой порог входа?
Хорошее понимание основ программирования, минимальный опыт работы с ООП и\или ФП языками. Мы будем затрагивать многие вещи повторно, поэтому если курсы архитектуры или шаблонов проектирования у вас были, но совсем не усвоились или не оставили понимания как их применять - приходите.
Когда начинаем?
По субботам, в Белке, в 10:30. 23 числа будет первое, вводное занятие где мы детально рассмотрим проблемы, которые подталкивают к созданию такого курса, план на будущие ~10 лекций и общий набор скилов, который мы планируем немного прокачать за это время
Лекции будут открытыми, с записью на видео, если вам интересно - подписывайтесь на канал @softwarearchanddev и чат @softwarearchanddev_chat, ближе к субботе будет еще один анонс
Я - Артем Коротенко, и, возможно, вы слышали о том что в первом семестре в Белке проходит мой открытый курс геймдева (@gamedevkpi). В этом семестре мы совместно с Георгием Исаченко, которого вы знаете по лекциям по защиты информации (@softwareanddatasecurity) попробуем провести еще один курс совместно с кафедрой ВТ ФИВТа - Software Architecture & Development.
Почему архитектура?
По-моему опыту, именно знания в этой сфере часто проседают у студентов компьютерных направлений. Языку или фреймворку можно научиться, но с какой стороны подходить к разработке большого продукта, как научиться планировать его развитие, с учетом жизненного цикла в месяцы а то и годы (и чем это отличается от прототипной разработки), как вообще спокойно подходить к технологиям не скатываясь в холивары - все эти вопросы требуют внимания.
Чем будем заниматься?
Учиться проектировать приложения, смотреть на задачи с инженерной точки зрения, думать в категориях шире чем языки программирования и фреймворки. Будем говорить в большей части об архитектуре, частично - об организационной стороне процесса (про всякие аджайлы с точки зрения технических специалистов)
Какой порог входа?
Хорошее понимание основ программирования, минимальный опыт работы с ООП и\или ФП языками. Мы будем затрагивать многие вещи повторно, поэтому если курсы архитектуры или шаблонов проектирования у вас были, но совсем не усвоились или не оставили понимания как их применять - приходите.
Когда начинаем?
По субботам, в Белке, в 10:30. 23 числа будет первое, вводное занятие где мы детально рассмотрим проблемы, которые подталкивают к созданию такого курса, план на будущие ~10 лекций и общий набор скилов, который мы планируем немного прокачать за это время
Лекции будут открытыми, с записью на видео, если вам интересно - подписывайтесь на канал @softwarearchanddev и чат @softwarearchanddev_chat, ближе к субботе будет еще один анонс
Начинается новый учебный год и вместе с ним – новый сезон курса открытых лекций под общей темой «Software And Data Security», на которых излагаются основы криптографии и безопасности для программистов.
Итак, лекции будут проходить в Белке по субботам (с некоторыми исключениями, о которых позже), чтобы удобно было ходить тем, кто работает. Начало пары ровно в 12:00, сразу после пар по геймдеву. Приходить могут все желающие, регистрации нет, свободных мест полно – ну кому может быть интересно безопасно хранить данные пользователей, понимать, как работают HTTPS, сертификаты разработчиков Apple, криптовалюты? Как подбирают вроде как надежные пароли, взламывают вроде как зашифрованные переписки и пишут кейгены для новых игр за 24 часа? А также как плохая крипта разрушила 10000 браков, позволила смотреть DVD на Linux-системах и как та же плохая крипта не дала распространиться вирусу Petya еще в 2016 году?
В этот раз я решил выкинуть немного устаревшей инфы, а также сократить количество слишком уж теоретических вещей вроде деталей работы алгоритмов. В то же время количество информации, которая действительно может быть полезна и интересна постараюсь только увеличить.
Канал в телеге, где будут все новости и анонсы: @softwareanddatasecurity, чат, в котором можно задать различные вопросы: @sadschat
Первая лекция, ознакомительная, пройдет в эту субботу, 14 сентября в 12:00 в Белке. Welcome.
Итак, лекции будут проходить в Белке по субботам (с некоторыми исключениями, о которых позже), чтобы удобно было ходить тем, кто работает. Начало пары ровно в 12:00, сразу после пар по геймдеву. Приходить могут все желающие, регистрации нет, свободных мест полно – ну кому может быть интересно безопасно хранить данные пользователей, понимать, как работают HTTPS, сертификаты разработчиков Apple, криптовалюты? Как подбирают вроде как надежные пароли, взламывают вроде как зашифрованные переписки и пишут кейгены для новых игр за 24 часа? А также как плохая крипта разрушила 10000 браков, позволила смотреть DVD на Linux-системах и как та же плохая крипта не дала распространиться вирусу Petya еще в 2016 году?
В этот раз я решил выкинуть немного устаревшей инфы, а также сократить количество слишком уж теоретических вещей вроде деталей работы алгоритмов. В то же время количество информации, которая действительно может быть полезна и интересна постараюсь только увеличить.
Канал в телеге, где будут все новости и анонсы: @softwareanddatasecurity, чат, в котором можно задать различные вопросы: @sadschat
Первая лекция, ознакомительная, пройдет в эту субботу, 14 сентября в 12:00 в Белке. Welcome.
Напомню, что завтра в 12:00 (или чуточку позже, если предыдущая лекция затянется) будет первая в этом семестре лекция по защите/крипте.
Она будет чуточку вводная, в том смысле, что на ней мы поговорим о том, для чего вообще нужна крипта, и как разработчики при всех их феноменальных способностях мыслить и находить нужную инфу умудряются постоянно неправильно использовать средства защиты, как даже крупные компании с огромными бюджетами игнорируют проблемы безопасности, и почему университетские курсы по защите ухудшают ситуацию с компьютерной безопасностью. Конечно, постараемся сделать именно этот курс небольшим исключением.
Хоть она будет и вводная, ждите технических деталей, особенно по простейшим шифрам и способам их взлома. Чат, где можно задать вопросы: @sadschat, остальные новости и анонсы всегда будут здесь: @softwareanddatasecurity
Завтра, в субботу, 14.09 в 12:00 в Белке без предварительной регистрации, бесплатная и открытая для всех желающих (даже не из КПИ) лекция. Что такое Белка и как туда пройти? 3 этаж библиотеки КПИ, 4 зал https://g.page/BelkaSpace?share) Буду рад всех видеть.
Она будет чуточку вводная, в том смысле, что на ней мы поговорим о том, для чего вообще нужна крипта, и как разработчики при всех их феноменальных способностях мыслить и находить нужную инфу умудряются постоянно неправильно использовать средства защиты, как даже крупные компании с огромными бюджетами игнорируют проблемы безопасности, и почему университетские курсы по защите ухудшают ситуацию с компьютерной безопасностью. Конечно, постараемся сделать именно этот курс небольшим исключением.
Хоть она будет и вводная, ждите технических деталей, особенно по простейшим шифрам и способам их взлома. Чат, где можно задать вопросы: @sadschat, остальные новости и анонсы всегда будут здесь: @softwareanddatasecurity
Завтра, в субботу, 14.09 в 12:00 в Белке без предварительной регистрации, бесплатная и открытая для всех желающих (даже не из КПИ) лекция. Что такое Белка и как туда пройти? 3 этаж библиотеки КПИ, 4 зал https://g.page/BelkaSpace?share) Буду рад всех видеть.
После того, как мы развлеклись с простенькими шифрами вроде Цезаря или Виженера займемся более серьезными вещами. Напомню, мы остановились на том, что для шифрования нам очень бы пригодились генераторы случайных чисел. Итак, случайные числа – и почему те генераторы таких чисел, которые вы привыкли использовать, абсолютно непригодны для целей, которые содержат слова «безопасный» или «секретный». Не забудьте посетить эту лекцию, если открываете казино, розыгрыш призов или что-угодно другое, где нужны действительно топовые случайные числа.
Завтра, 21 сентября в 12:00 в Белке. Как пройти - смотрите предыдущий пост в канале @softwareanddatasecurity. Заранее отвечаю, что вход свободный для всех желающих (и не из КПИ тоже) и бесплатный.
Если вы не были на первой лекции – не беда, в начале пары я обязательно кратко напомню, о чем шла речь в прошлую субботу. Тем, кто был, предлагаю пока размять мозги и подумать над такими вопросами:
1. Что, если кто-то будет передавать несколько сообщений зашифрованных одинаковым ключом с помощью одноразового блокнота, а вы их перехватите. Как вам их расшифровать?
2. Представьте простой шифр, который не заменяет символы, а переставляет их местами в зависимости от ключа. Как бы вы отличили такой шифр от тех, что мы смотрели на лекции?
Завтра, 21 сентября в 12:00 в Белке. Как пройти - смотрите предыдущий пост в канале @softwareanddatasecurity. Заранее отвечаю, что вход свободный для всех желающих (и не из КПИ тоже) и бесплатный.
Если вы не были на первой лекции – не беда, в начале пары я обязательно кратко напомню, о чем шла речь в прошлую субботу. Тем, кто был, предлагаю пока размять мозги и подумать над такими вопросами:
1. Что, если кто-то будет передавать несколько сообщений зашифрованных одинаковым ключом с помощью одноразового блокнота, а вы их перехватите. Как вам их расшифровать?
2. Представьте простой шифр, который не заменяет символы, а переставляет их местами в зависимости от ключа. Как бы вы отличили такой шифр от тех, что мы смотрели на лекции?