В прошлый четверг выступали на конференции.
В двух словах доклад был посвящен взлому генераторов java.util.Random и java.security.SecureRandom . Первый из них является криптографически нестойким, второй - криптографически стойким, внутри у него нормальная хеш-функция, типа SHA-1. Помимо рассказа о том, как можно атаковать генераторы, были продемонстрированы атаки на реальные приложения их использующие.
В случае Random атаковывалось внутреннее состояние генератора - по выходной последовательности оно восстанавливалось, что позволяло в последствии генерить такой же выход, что и в случае атакуемого приложения. Были предложены методы, позволяющее атаковать внутреннее состояние более эффективно, чем полным перебором. Важно отметить, что атака на выход метода .nextInt(limit) для четного limit не разработана нами и была известно ранее, однако, для нечетного limit и для limit, представляющего собой степень 2 - наше изобретение. Выходы методов .nextLong() и .nextInt() так реализованы, что они в "в лоб" перебираются мгновенно.
Для случая SecureRandom атаковывалось первоначальное состояние генератора, seed, то, чем он был инициализирован. Исследовать безопасность SHA-1 мы посчитали бесперспективным. Здесь проблема в том, что есть немало приложений в которых инициализация производится коротким seed который либо просто известен, либо эффективно перебирается - такие приложения были найдены, а их взлом продемонстрирован в демонстрациях.
Все коды, которые мы написали в рамках этого небольшого исследования доступны в GitHib - https://github.com/votadlos/JavaCG.
Презентация:
Демонстрации, доступны в Мишином канале YouTube:
http://www.youtube.com/watch?v=mdOfZMsj4hA
http://www.youtube.com/watch?v=BwXhpjiCTyA
http://www.youtube.com/watch?v=B3EkrmNWeJs
http://www.youtube.com/watch?v=--ZuBUc2F2Y
Ну и, традиционно, благодарности.
Прежде всего, конечно, моему коллеге Мише, который отресечил подавляющее большинство всего, что мы показывали и рассказывали в этом докладе, коллегам, которые исследовали этот вопрос до нас, чьи работы нам довелось найти. Традиционно, своей жене и детям, которые с пониманием и терпением относились с увлечениям своего непутевого папы и мужа. Буду надеяться, что все это было не напрасно.
В двух словах доклад был посвящен взлому генераторов java.util.Random и java.security.SecureRandom . Первый из них является криптографически нестойким, второй - криптографически стойким, внутри у него нормальная хеш-функция, типа SHA-1. Помимо рассказа о том, как можно атаковать генераторы, были продемонстрированы атаки на реальные приложения их использующие.
В случае Random атаковывалось внутреннее состояние генератора - по выходной последовательности оно восстанавливалось, что позволяло в последствии генерить такой же выход, что и в случае атакуемого приложения. Были предложены методы, позволяющее атаковать внутреннее состояние более эффективно, чем полным перебором. Важно отметить, что атака на выход метода .nextInt(limit) для четного limit не разработана нами и была известно ранее, однако, для нечетного limit и для limit, представляющего собой степень 2 - наше изобретение. Выходы методов .nextLong() и .nextInt() так реализованы, что они в "в лоб" перебираются мгновенно.
Для случая SecureRandom атаковывалось первоначальное состояние генератора, seed, то, чем он был инициализирован. Исследовать безопасность SHA-1 мы посчитали бесперспективным. Здесь проблема в том, что есть немало приложений в которых инициализация производится коротким seed который либо просто известен, либо эффективно перебирается - такие приложения были найдены, а их взлом продемонстрирован в демонстрациях.
Все коды, которые мы написали в рамках этого небольшого исследования доступны в GitHib - https://github.com/votadlos/JavaCG.
Презентация:
Демонстрации, доступны в Мишином канале YouTube:
http://www.youtube.com/watch?v=mdOfZMsj4hA
http://www.youtube.com/watch?v=BwXhpjiCTyA
http://www.youtube.com/watch?v=B3EkrmNWeJs
http://www.youtube.com/watch?v=--ZuBUc2F2Y
Ну и, традиционно, благодарности.
Прежде всего, конечно, моему коллеге Мише, который отресечил подавляющее большинство всего, что мы показывали и рассказывали в этом докладе, коллегам, которые исследовали этот вопрос до нас, чьи работы нам довелось найти. Традиционно, своей жене и детям, которые с пониманием и терпением относились с увлечениям своего непутевого папы и мужа. Буду надеяться, что все это было не напрасно.