wizzard: (Default)
[personal profile] wizzard
TLDR: Все без исключения реализации AES (ну и наверное многих других симметричных шифров) на C потенциально уязвимы к утечке ключей (а-ля Heartbleed, например), из-за того, что C, будучи портабельным ассемблером, абстрагирует от нас возможность надежно очистить память.

http://www.daemonology.net/blog/2014-09-06-zeroing-buffers-is-insufficient.html

Ну что, плюс один повод перенести системное программирование на какой-то еще язык.
Можно, конечно, повкручивать очередных прагм, или выпустить C0x, но общую проблему это не исправит, т.к. изменения в модели памяти не будут обратносовместимы.

Альтернативно, можно расслабиться и продолжать писать крипто на JS (помнится, его всячески критиковали за невозможность стереть ключи), раз уж в остальных местах всё столь же плохо.

UPD: Пример проблемы - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=8537
From:
Anonymous (will be screened)
OpenID (will be screened if not validated)
Identity URL: 
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org


 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 22nd, 2019 10:59 am
Powered by Dreamwidth Studios