ГлавнаяРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Проблемы с некорректной очисткой остаточных данных в клиенте
DecideДата: Суббота, 17.11.2012, 13:51 | Сообщение # 1
Полковник
Группа: Администраторы
Сообщений: 241
Репутация: 0
Статус: Offline
Проблемы с некорректной очисткой остаточных данных в клиенте Tor и OpenSSL

В процессе анализа исходных текстов клиента для работы в анонимной сети Tor обнаружена необычная уязвимость, которая может привести к оседанию в системной памяти остаточных данных, которые могут содержать конфиденциальную информацию, например, введённые пароли. Интерес представляет то, что формально код Tor не содержит ошибок и уязвимость является следствием особенностей работы некоторых компиляторов.

Проблема связана с тем, что Tor использует для очистки кэша функцию memset(), которая игнорируется в результате работы оптимизаторов некоторых компиляторов, что может привести к появлению неочищенных областей памяти после закрытия приложения. Например, при выборе режима оптимизации на скорость (-O2) Microsoft Visual Studio 2010 просто удаляет вызов memset при обнулении данных, если буфер в дальнейшем не используется в коде.

В качестве примера корректного подхода к очистке буферов приводится OpenSSL, в котором для очистки создана специальная функция, затирающая содержимое буфера случайными данными. Но из-за ошибки в вычислении размера буфера при вызове данной функции, она затирает только первые 4 байта (вместо размера буфера передаётся размер указателя на буфер), оставляя содержимое неизменным.
 
  • Страница 1 из 1
  • 1
Поиск:

Понедельник, 30.12.2024, 22:07
Copyright MyCorp © 2024Бесплатный хостинг uCoz