Шведские специалисты в области разработки программного обеспечения (ПО) и безопасности из Университета Умео (UMU) проанализировали приложения, созданные на языке Java. Они обнаружили в них серьезные уязвимости, заложенные в методах получения и воссоздания информации с помощью этого языка. Исследование опубликовано на официальном сайте научного учреждения.
Согласно открытым данным, Java используют более 30% разработчиков по всему миру, создавая на нем всевозможные программы — от видеоигр и приложений Spotify и Netflix до инструментов для исследования космоса, ПО для банковской сферы и государственных учреждений.
Исследователи изучили Java-продукты, использующие десериализацию — процесс восстановления структуры данных из ее закодированного состояния. Десериализация повсеместно применяется в обеспечении работы пользовательских настроек, игровых функций, корзин покупок в интернет-магазинах, банковских онлайн-переводах и так далее.
Ученые пришли к выводу, что во время десериализации в Java злоумышленники могут получить полный контроль над принимающей данные системой за счет незначительных и очень распространенных ошибок в коде.
С их помощью хакерам уже удалось взломать сеть транспортного департамента Сан-Франциско и заблокировать платежные терминалы, а также украсть более 147 млн файлов с персональными данными из крупнейшего агентства кредитной отчетности США Equifax.
По словам специалистов, пока не существует простого способа устранить данные уязвимости, поскольку большинство Java-приложений полагаются на внешние библиотеки данных. Единственным действенным методом обеспечения безопасности остается отказаться от использования десериализации при разработке на Java.
Ранее стало известно о наборе критических уязвимостей, затрагивающих сотни смартфонов на Android и iOS.