PHDaysIV

PHDaysIV
В прошлый четверг выступали на конференции .

В двух словах доклад был посвящен  взлому генераторов 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  

Ну и, традиционно, благодарности.
Прежде всего, конечно, моему коллеге Мише , который отресечил подавляющее большинство всего, что мы показывали и рассказывали в этом докладе, коллегам, которые исследовали этот вопрос до нас, чьи работы нам довелось найти. Традиционно, своей жене и детям, которые с пониманием и терпением относились с увлечениям своего непутевого папы и мужа. Буду надеяться, что все это было не напрасно.

   

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Комплаенс без боли и занудства? Легко!

25 апреля в 11:00 — SECURITM воркшоп для тех, кто хочет делать соответствие стандартам быстро и с умом. Разберём всё на практике. Покажем, как упростить процессы и сэкономить время.

Реклама.18+. ООО «СЕКЪЮРИТМ», ИНН 7820074059


Сергей Солдатов

REPLY-TO-ALL is a double language blog (English/Russian) run by three information security practitioners. Want to discuss information security problems? This is the place.