Oracle планирует отказаться от поддержки сериализации в Java

Oracle планирует отказаться от поддержки сериализации в Java

Oracle планирует отказаться от поддержки сериализации в Java

По словам Марка Рейнхолда, одного из главных разработчиков платформы Java, Oracle планирует отказаться от поддержки сериализации/десериализации данных в языке Java. Специалисты считают, что именно в этом кроется причина наличия большинства уязвимостей.

Сериализация представляет собой процесс перевода какой-либо структуры данных в последовательность битов.

Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности.

«Сериализация и десериализация данных сами по себе не являются проблемой. Эти операции несут угрозу, когда приложение работает с данными, предоставленными пользователем. Из-за удобства эти функции поддерживаются многими языками программирования высокого уровня, однако именно в Java это настоящая головная боль, так как реализация этих процессов лежит в корне всех недостатков безопасности».

Рейнхолд отметил, что реализация поддержки сериализации в 1997 году было «ужасной ошибкой». Разработчик подчеркнул, что Java в настоящее время работает над тем, чтобы отказаться от поддержки сериализации в основном коре языка Java.

Несмотря на это решение Java планирует по-прежнему предоставлять разработчикам подключаемую систему для поддержки операций сериализации при необходимости через новый фреймворк.

На данный момент точная дата окончания поддержки неизвестна.

Новые файлы в Windows могут наследовать дату старых, но это не баг

Создали новый файл, открыли его свойства, а Windows уверяет, что он появился вчера? Нет, система не сошла с ума. Это File System Tunnelling — файловое туннелирование, которое Windows использует уже несколько десятилетий, объяснил один из специалистов Microsoft.

Как выяснили в Windows Latest, после удаления или переименования файла система ненадолго сохраняет его метаданные в специальном кеше.

Если в той же папке быстро создать новый файл с прежним именем, он может унаследовать дату создания предшественника и соответствие между длинным и коротким именами.

По умолчанию метаданные хранятся около 15 секунд. Само содержимое удалённого файла при этом не воскресает, только дата и служебная информация.


Механизм появился не ради издевательства над пользователями. Многие программы сохраняют документы безопасным способом: создают временный файл с изменениями, удаляют оригинал, а затем переименовывают временный файл. Без туннелирования Windows считала бы такой документ совершенно новым и каждый раз меняла дату его создания.

Вторая причина тянется прямиком из эпохи DOS и 16-битных приложений. Старые программы работали с короткими именами формата 8.3, поэтому Windows требовалось сохранять связь между ними и привычными длинными названиями файлов.

Туннелирование срабатывает при определённых сочетаниях удаления, создания и переименования файлов в одной папке. Кеш временный и постепенно очищается, поэтому документ, удалённый месяц назад, внезапно не передаст свою дату новому тёзке.

Так что если свежий файл приписывает себе чужой возраст, Проводник не обязательно врёт. Возможно, Windows просто снова тащит за собой совместимость времён, когда длинное имя файла уже считалось роскошью.

RSS: Новости на портале Anti-Malware.ru