Site icon Персональный блог

Уязвимости целочисленного переполнения

Продолжаем тематику «Причины и виды уязвимости приложений».

Уязвимость целочисленного переполнения возникает как результат некорректных операций над данными целого типа. Последствия целочисленного переполнения могут быть самыми разными — от некорректного результата до краха приложения. Данная уязвимость может быть использована для изменения значения критически важных данных — изменения размера буфера, значения индекса массива. При этом возникает возможность переполнения буфера. К возникновению данной уязвимости могут привести следующие операции:

Следующие особенности кода приложения свидетельствуют о потенциальной возможности уязвимости:

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

Чтобы минимизировать вероятность возникновения данной уязвимости, следует придерживаться следующих правил:

Exit mobile version