200 open source проектов спустя: опыт статического анализа исходного кодаAndrey Karpov
Одна из особенностей работы нашей команды — анализ большого количества различных программных проектов. Рассказывать о закрытых коммерческих проектах часто запрещает NDA, а вот об open source можно и нужно говорить. Какие ошибки допускают в open-source-проектах? Какой код более качественный — закрытый или открытый? Нужно ли придерживаться стандартов кодирования, или они давно устарели? Какие ошибки сложнее найти и исправить — сложные архитектурные или простые опечатки? Проанализировав за несколько лет сотни программных проектов от zlib до Chromium, мы готовы поделиться своим опытом и ответить на эти вопросы.
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...Dmitry Schelkunov
Презентация моего доклада на конференции РусКрипто-2017. Описываются основные подходы, использованные при создании EVHEN. EVHEN - асимметричный шифр со скоростью симметричного, низкими требованиями к вычислительным ресурсам, а также возможностью и шифрования, и подписи.
200 open source проектов спустя: опыт статического анализа исходного кодаAndrey Karpov
Одна из особенностей работы нашей команды — анализ большого количества различных программных проектов. Рассказывать о закрытых коммерческих проектах часто запрещает NDA, а вот об open source можно и нужно говорить. Какие ошибки допускают в open-source-проектах? Какой код более качественный — закрытый или открытый? Нужно ли придерживаться стандартов кодирования, или они давно устарели? Какие ошибки сложнее найти и исправить — сложные архитектурные или простые опечатки? Проанализировав за несколько лет сотни программных проектов от zlib до Chromium, мы готовы поделиться своим опытом и ответить на эти вопросы.
EVHEN. Асимметричный SPN-шифр на базе white-box-криптографии и хаотических от...Dmitry Schelkunov
Презентация моего доклада на конференции РусКрипто-2017. Описываются основные подходы, использованные при создании EVHEN. EVHEN - асимметричный шифр со скоростью симметричного, низкими требованиями к вычислительным ресурсам, а также возможностью и шифрования, и подписи.
ЛЕКЦИЯ 3. Стандарт POSIX Threads
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...corehard_by
В докладе будет рассмотрена генерация кода при компиляции различных языковых конструкций, как простых, так и сложных, на различных платформах, как общераспространённых x86/x64, так и тех, которым уделяется меньше внимания: ARM, AVR. Также будут встречаться примеры для совсем экзотических процессоров вроде PowerPC и даже MicroBlaze. Основной упор будет делаться не на обработку данных, а именно на сопоставление различных конструкций кода с инструкциями целевых платформ.
ЛЕКЦИЯ 3. Стандарт POSIX Threads
Курс "Параллельные вычислительные технологии" (ПВТ), осень 2014
Сибирский государственный университет телекоммуникаций и информатики
преподаватель:
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
C++ CoreHard Autumn 2018. Кодогенерация C++ кроссплатформенно. Продолжение - ...corehard_by
В докладе будет рассмотрена генерация кода при компиляции различных языковых конструкций, как простых, так и сложных, на различных платформах, как общераспространённых x86/x64, так и тех, которым уделяется меньше внимания: ARM, AVR. Также будут встречаться примеры для совсем экзотических процессоров вроде PowerPC и даже MicroBlaze. Основной упор будет делаться не на обработку данных, а именно на сопоставление различных конструкций кода с инструкциями целевых платформ.
В презентации рассказывается о структурах памяти в JVM: Heap, Non-Heap, Stack, об атомарности операций и о garbage collector. Рассмотрен пример, как работает стек. Также, приведены примеры, как использовать jVisualVM и что она может показать.
Переполнение буфера и другие уязвимости ПО - Роман ОлейниковHackIT Ukraine
Презентация с форума http://hackit-ukraine.com/
Роман Олейников
ХНУ им. В.Н.Каразина.
Переполнение буфера и другие уязвимости ПО
Теория и практика защиты.О спикере: Проф. каф. безопасности информационных систем и технологий. Начальник отдела научных исследований АО "Институт информационных технологий", г.Харьков (основная должность); приглашенный профессор в университете г.Берген (Норвегия); приглашенный профессор в Samsung Advanced Technology Training Institute (Ю.Корея);профессор кафедры безопасности информационных технологий Харьковского национального университета радиоэлектроники;
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Ontico
Оперативная память становится всё более дешёвой и производительной, что позволяет использовать её для хранения рабочего набора данных всё большего числа приложений. Хранение всех данных в оперативной памяти позволяет сделать их высоко доступными, а алгоритмы для работы с данными либо существенно упростить, либо ускорить, а иногда — и то, и другое.
Тезисы - http://www.highload.ru/2015/abstracts/1964.html
Евгений Лазин. Неизменяемая структура данных HAMT для создания БД в памятиFProg
В данном докладе рассматривается пример использования персистентной структуры данных - функциональной версии HAMT, для создания main memory базы данных. Данная реализация HAMT располагается в shared memory и используется для хранения индексов.
Рассматриваются задачи, которые были быстро и эффективно решены благодаря использованию неизменяемых структур данных (управление изменениями, поддержка ACID-свойств), а также проблемы, возникшие из-за этого. Также, рассмотрен метод реализации персистентного графа, использующий изменяемые данные и позволяющий достичь большей производительности, по сравнению с аналогичной, неизменяемой структурой данных.
Статья представляет собой отчет о проверки библиотеки Loki на совместимость с 64-битными системами с помощью анализатора кода Viva64 компании ООО "СиПроВер". Содержатся рекомендации пользователям библиотеки. Статья будет полезна также пользователям других библиотек, построенных на шаблонах, так как раскрывает особенности анализа подобных библиотек.
1. Асимметричные криптоалгортмы Бийский технологический институт Лаборатория акустических процессов и аппаратов Предмет «Информационная безопасность и защита информации»
5. Необходимость Асимметричные криптоалгортмы призваны в первую очередь устранить основной недостаток симметричных криптосистем: сложность управления и распространения ключей.
6. Асимметричные криптоалгоритмы Отправитель Получатель Открытый канал связи СШ Ключ Закрытый ключ Открытый ключ Сообщение СШ Открытый ключ Сообщение Зашифрованное сообщение Зашифрованное сообщение СШ — система шифрования
7. Асимметричные криптоалгоритмы Основой всех асимметричных криптоалгоритмов является большая вычислительная сложность восстановления открытого текста без знания закрытого ключа.
8.
9. RSA – Rivest, Shamir, Adelman – основан на сложности задачи разложения на множители больших чисел за короткое время
16. Протоколы безопасной передачи данных на базе симметричных и асимметричных криптоалгоритмов SSH (Secure SHell — «безопасная оболочка») TLS (Transport Layer Security) SSL (Secure Sockets Layer — уровень защищённых сокетов)
19. Хэш-функции Хэш-функцией называется односторонняя функция, предназначенная для получения дайджеста или "отпечатков пальцев" файла, сообщения или некоторого блока данных. Хэш-код создается функцией Н: h = H (M) Где М является сообщением произвольной длины и h является хэш-кодом фиксированной длины.
24. Хорошая «разбросанность» (расхождении примерно в половине бит) выходных значений даже для незначительно (возможно только в 1 бите) отличающихся входных текстах.
25.
26. Для любого данного х вычислительно невозможно найти y ≠ x, что H (y) = H (x). (простая хэш-функция)
35. В результате получается хэш-код длины n , известный как продольный избыточный контроль. Это эффективно при случайных сбоях для проверки целостности данных.
40. Парадокс дня рождения Нахождение коллизии для хэш-функции с длиной значений n бит требует в среднем перебора около 2 n/2 операций. Поэтому n-битная хэш-функция считается криптостойкой, если вычислительная сложность нахождения коллизий для неё близка к 2 n/2 .
41. 16 августа 2004 Группа китайских исследователей (под руководством X.Wang) опубликовала безо всяких объяснений пары реальных коллизий для MD4, MD5, RIPEMD и HAVAL с единственным замечанием о том, что подбор этих входных текстов занял у них 1 час 5 минут.
42. Текущее состояние на сегодняшний день менее чем за СЕКУНДЫ НА ОБЫЧНОМ ПЕРСОНАЛЬНОМ КОМПЬЮТЕРЕ достаточно для генерации пары текстов, создающих коллизию. На сегодняшний день бесспорно взломаны (но только по атаке класса «коллизия» !) MD4, MD5, RIPEMD, HAVAL, SHA-0.
43.
44. Бурт Калински, глава исследовательского отдела в «лаборатории RSA» предсказывает, что первая атака по нахождению прообраза будет успешно осуществлена в ближайшие 5-10 лет.
45. Ввиду того, что теоретические атаки на SHA-1 оказались успешными, NIST планирует полностью отказаться от использования SHA-1 в цифровых подписях.
46. ГОСТ Р 34.11-94 В 2008 году командой экспертов из Австрии и Польши была обнаружена техническая уязвимость, сокращающая поиск коллизий в 2 23 раз. Количество операций, необходимое для нахождения коллизии, таким образом, составляет 2 105 , что, однако, на данный момент практически не реализуемо. Проведение коллизионной атаки на практике имеет смысл только в случае цифровой подписи документов, причем если взломщик может изменять неподписанный оригинал.
47. Криптоалгоритмы MD4, MD5, SHA-1, RIPEMD, HAVAL однозначно скомпрометированы в отношении атак генерации коллизий. Однако (!) ни одной физически реализуемой атаки на обращение хэш-функций (даже для MD4) на сегодняшний день не опубликовано.
50. На сегодняшний день, криптоаналитики уже продемонстрировали примеры коллизий платежных поручений, отличающихся лишь суммой платежа, а также коллизий X.509 сертификатов, имеющих разные открытые ключи, однако, одинаковые хэш-суммы, а следовательно и одинаковые заверяющие их подписи центров сертификации.
51.
52. Новое поколение алгоритмов SHA от американского института стандартизации NIST SHA-224, SHA-256, SHA-384, SHA-512 (от разрядности выходных значений) и иногда объединяется под общим кодовым названием SHA-2. Алгоритмы имеют иную структуру криптопреобразований и пока информации об атаках на них ни первого ни второго рода не поступало.
53. NIST запустил в 2007 году открытый конкурс на стандарт хэширования третьего поколения SHA-3.
54. Радужная таблица Еще в 1980 году Мартин Хеллман предложил кардинально новый подход к криптоанализу хэш-функций: он предложил использовать предварительно вычисленные таблицы, размещенные в памяти.
57. При помощи некоторой «срезающей» функции R из хэша генерируется ключ, принадлежащий множеству Q: q=R(h). Если число элементов в цепочке меньше заданного, осуществляется переход к пункту 2. Такой итеративный процесс выполняется до тех пор, пока мы не получим цепочку длиной t ключей. Эта последовательность не размещается целиком в памяти, записывается лишь первый и последний ее элементы.
60. количество таблиц 800 При этом вероятность нахождения пароля с помощью данных таблиц составит 75.42 %, сами таблицы займут 596 Гб, генерация их на компьютере уровня Пентиум-3 1ГГц займёт 3 года, а поиск 1 пароля по готовым таблицам не более 22 минут.