Підтримка
Цілодобова підтримка | Правила звернення

Зателефонуйте

Глобальна підтримка:
+7 (495) 789-45-86

Поширені запитання |  Форум |  Бот самопідтримки Telegram

Ваші запити

  • Всі: -
  • Незакриті: -
  • Останій: -

Зателефонуйте

Глобальна підтримка:
+7 (495) 789-45-86

Зв'яжіться з нами Незакриті запити: 

Профіль

Профіль

ObjectInputStream Serialization

CVE-2014-7911

Уязвимость, получившая название ObjectInputStream Serialization, была обнаружена в ноябре 2014 года и представляет опасность для пользователей мобильной операционной системы Google Android версий младше 5.0.

Один из компонентов операционной системы имеет важную особенность обработки полученных данных, которая используется злоумышленниками для выполнения тех или иных вредоносных действий на зараженном устройстве. Она заключается в том, что компонент ObjectInputStream, расположенный в системной папке luni/src/main/java/java/io/, не проверяет полученные объекты на способность поддерживать сериализацию.

Используя эту уязвимость, злоумышленники могут вмешиваться в работу операционной системы — например, завершать критически важные системные процессы Android.

Антивирус Dr.Web для Android не может повлиять на данную уязвимость, поскольку она присутствует в одном из необходимых для работы устройства системных компонентов, однако способен предотвратить проникновение и запуск на мобильном телефоне или планшете вредоносных программ, эксплуатирующих обнаруженную особенность. Таким образом, пользователи Антивируса Dr.Web для Android защищены от действий киберпреступников. В Android версии 5.0 данная уязвимость была устранена разработчиками операционной системы.

Технические подробности

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

Эта технология применяется главным образом для «заморозки» объекта или группы объектов с использованием потока вывода для сохранения на диске или передачи их по сети с последующей обратной трансформацией в пригодные для использования Java-конструкции. Трансформация происходит автоматически с использованием классов ObjectInputStream и ObjectOutputStream, если при создании класса использовался интерфейс Serializable. Механизм сериализации широко применяется при межпроцессном взаимодействии.

Уязвимость заключается в том, что злоумышленник может создать экземпляр любого объекта, имеющего открытый конструктор без параметров, из его сериализованной формы, даже если он не отвечает требованиям для сериализации. Если этот объект имеет метод finalize, то перед его удалением с использованием Garbage Collector происходит вызов этого метода, в результате чего выполняется содержащийся в объекте код. Используя данную уязвимость, можно атаковать, например, системные сервисы Android с целью вызова их аварийного завершения (краха).

Читайте также описания других уязвимостей