Ввод пароля или номера кредитки в компьютер
- секундное дело, однако не следует думать,
что с нажатием клавиши Enter введенная
информация сразу же "улетучивается".
Пароли и другая информация частного
характера может оставаться на компьютере
годами, дожидаясь визита хакера. По мере
того, как человечество все больше
опутывается виртуальной паутиной, а хакеры
становятся все изощреннее, хранение
персональных данных на компьютере начинает
представлять все больший риск. Существуют,
конечно, и надежные средства защиты (лучшее
среди них - не хранить в памяти компьютера
пароли вообще), однако абсолютной гарантии
не дает никто. Введенный пароль попадает
сначала в оперативную память компьютера, а
затем, вместе со всем ее содержимым,
копируется на диск, где легко может стать
добычей злоумышленника. Оказавшийся на
диске пароль может храниться на нем годами,
превращая жесткий диск в настоящий кладезь
информации для пытливого хакера. Тал
Гарфинкель и его коллеги из Стэнфордского
университета (г. Пало-Альто, Калифорния)
разработали программное средство TaintBochs,
которое моделирует работу компьютера. При
этом наиболее критичные с точки зрения их
важности данные могут маркироваться, после
чего становится возможным проследить, как
они перемещаются в системе. Затем
аналогичным образом они визуализировали
"движение" паролей и другой информации
конфиденциального характера в таких
программах, как Internet Explorer, Windows login script и Apache
server.
New Scientist пишет, что результаты можно
назвать обескураживающими. Обнаружилось,
что ни в одном из проанализированных
продуктов не предпринимается никаких мер,
чтобы ограничить время "жизни" паролей
на диске. Более того, некоторые из продуктов
заботливо копировали конфиденциальную
информацию, что может иметь плачевные
последствия с точки зрения безопасности. По
мнению экспертов, данное исследование
явилось первой попыткой оценить масштаб
проблемы. Поскольку ни в Windows, ни в Linux нет
средств, ограничивающих сброс
конфиденциальной информации на диск,
Гарфинкель предложил следующую стратегию
действий.
Во-первых, все вводимые в оперативную
память данные можно было бы замещать
цепочкой нулей сразу же по завершении
работы с ними. Во-вторых, существует более
радикальное решение - шифрование данных в
момент ввода, еще до того, как они будут
сохранены в оперативной памяти.
Соответственно, для работы с ними их
придется дешифрировать. Правда, для
реализации последнего решения придется
пожертвовать частью ресурсов
вычислительной системы. Единого
представления о том, в какой мере это
допустимо, у экспертов пока не сложилось.