Компания Akamai предложила безопасную систему распределения памяти для OpenSSL
Для хранения особо важных данных, таких как RSA-ключи, вместо OPENSSL_malloc предлагается использовать функцию secure_malloc, размещающую данные в безопасной области, помещённой в отдельной куче (непрерывный участок памяти, сформированный через mmap) и обрамлённой сверху и снизу дополнительными защищающими страницами памяти, мешающими проникновению по блуждающим указателям. Кроме того, выделяемая через secure_malloc область закреплена за ОЗУ и не может быть вытеснена или отображена на диск, а также, когда это возможно, не будет фигурировать в core-дампах.
Реализация secure_malloc основана на коде, уже около десяти лет используемом в Akamai для надёжной защиты ключей пользователей. Тем не менее, патч является скорее прототипом для реализации похожей системы, чем решением, готовым для немедленного внедрения в OpenSSL. Например, патч не заботится о переносимости и привязывается к коду ASN1 вместо создания нового API. При этом, если бы подобная технология была добавлена в OpenSSL раньше, она бы позволила избежать утечки закрытых ключей из памяти в процессе эксплуатации уязвимости Heartbleed.
Источник: http://www.opennet.ru/opennews/art.shtml?num=39560
|
0 | Tweet | Нравится |
|