Как убедиться или проверить, содержит ли единичная память 0с?
Я пытаюсь воспроизвести атаку skipTLS на cyassl < 3.3.0 (wolfSSL), которая позволяет пропустить шаги при рукопожатии и, таким образом, выдать себя за сервер и заставить клиента общаться в открытом виде. Конкретная атака описана здесь: http://www.ieee-security.org/TC/SP2015/papers-archived/6949a535.pdf (стр. 9-10).
Этот эксплойт основан на том факте, что унифицированная память в клиенте cyassl (кодируется в C) установлена в 0 (12-байтовый массив).
Атака необъяснимым образом провалилась, и я хотел проверить, было ли это потому, что унитализированная память не была установлена в 0.
Теперь газеты утверждают:
Следовательно, байтовый массив, в котором хранится транскрипт MAC, остается неинициализированным, и в большинстве сред времени выполнения этот массив содержит нули.
Я запускаю клиент на Ubuntu 16.04.
Не могли бы вы узнать, как проверить, содержит ли память нули (отладка была бы довольно болезненной, поскольку я работаю в черном ящике)?
Или, альтернативно, будет ли среда, в которой вероятность того, что эта область неинициализированной памяти содержит 0, будет выше?
Я знаю, что никогда не могу быть уверен, что он всегда содержит 0, но если он работает время от времени, я в порядке.