12.12.2017 Новости, БезопасностьЭксперт нашел уязвимости в интерпретаторах таких популярных языков программирования, как JavaScript, Perl, PHP, Python и Ruby
По данным исследования, который провел старший консультант по безопасности компании IOActive Фернандо Арнаболди, защищенные приложения подвержены атакам из-за уязвимостей в интерпретируемых языках программирования, на которых они написаны. Интерпретируемый язык программирования отличается тем, что исходный код не преобразовывается в машинный для непосредственного выполнения центральным процессором (как в компилируемых языках), а исполняется с помощью специальной программы-интерпретатора. С помощью автоматизированный техники, известной как фаззинг, эксперт протестировал интерпретаторы пяти популярных языков программирования — JavaScript, Perl, PHP, Python и Ruby. Для наблюдений применялся XDiFF (Extended Differential Fuzzing Framework — расширенный дифференциальный фреймворк для фаззинга), который заточен под анализ структуры языков программирования и их поведения. Суть фаззинга как методики тестирования заключается в том, что система передает приложению на выход неправильные, неожиданные или случайные данные. Такой метод эффективен для предотвращения утечек памяти, которые приводят к зависанию или аварийному завершению работы программ. Обычно такие проблемы легко решаются оптимизацией исходного кода, но иногда они таят в себе проблемы, связанные с безопасностью, и не зависят от разработчиков конечного ПО. Для тестирования языков Арнаболди использовались менее тридцати примитивных величин (число, буква и т. д.), скомбинированных со специальными примерами полезной нагрузки ...
читать далее.