BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/rsn/archive/2012/01/05.html

Фундаментальная проблема в Oracle
dl // 18.01.12 17:46
В продолжение темы оракловых неприятностей InfoWorld публикует материал о проблеме, частично устраненной в последнем обновлении, но принципиально не исчезнувшей.
[Не забывайте при копировании материала указывать полный адрес источника: //bugtraq.ru/rsn/archive/2012/01/05.html]

Источником проблемы является счетчик System Change Number (SCN), увеличивающийся при каждой операции над базой, и являющийся критичным для ее работы. Такие встроенные часы, идущие только вперед, причем для увеличения одной базой SCN другой нужны лишь самые базовые привилегии.

Проектировщики заложили вполне приличный запас в SCN, сделав его 48-битным. Верхней границы в 281,474,976,710,656 должно хватить надолго, но помимо этого, на SCN было наложено дополнительное ограничение - в каждый момент времени его значение не может превышать количество секунд, прошедших с 1.01.1980, умноженное на 16,384. Предполагалось, что баз, непрерывно живущих с 80 года, и проводящих по 16 тысяч транзакций в секунду, в природе не существует.

На практике же обнаружилось несколько ситуаций, в которых природу удавалось обойти:

1. Баг в бэкапе. Базы Oracle поддерживают так называемый hot backup, позволяющй с помощью команды ALTER DATABASE BEGIN BACKUP начать бэкап работающей базы. Ошибка в кодировании привела к тому, что после выполнения этой команды SCN начинал расти со страшной скоростью, не останавливаясь даже после команды END BACKUP. На одиночной базе даже это не вызвало бы проблем, но в сочетании с множественными связанными базами (а у крупных организаций число подобных серверов может идти на сотни) теоретически недостижимый лимит вдруг оказывается не столь недостижимым. Недавно исправленная уязвимость носит номер 12371955, "High SCN growth rate from ALTER DATABASE BEGIN BACKUP in 11g."

2. Саботаж. Описанная ситуация открывает новый вектор атак - пользователь, имеющий доступ к второстепенной базе, может накрутить SCN всех баз, входящих в систему.

До недавнего времени вся реакция от Oracle на описанную проблему сводилась к увеличению ограничения на SCN вдвое - коэффициент умножения секунд вырос до 32,768. Что любопытно, это увеличение само по себе могло и ухудшить ситуацию, если в системе встретятся два сервера, только один из которых пропатчен - у него SCN может превысить критичный уровень для второго, и они просто не смогут взаимодействовать.

Наконец, последние исправления включили некую защиту, названную по словам представителей Oracle прививкой (inoculation). Пока не вполне ясна ее эффективность, как и механизм ее работы, но стоит учесть, что исправление вышло только для последних версий. Все версии, более старые, чем 11.2.0.2.0 и 10.1.0.5, по-прежнему уязвимы.

Источник: InfoWorld    
теги: oracle  |  предложить новость  |  обсудить  |  все отзывы (2) [5985]
назад «  » вперед

аналогичные материалы
Oracle выпустила срочный патч для Identity Manager // 12.11.17 14:56
Очередной ежеквартально-рекордный патч от Oracle // 25.04.17 18:08
Oracle убивает браузерную Java // 28.01.16 13:21
Ежеквартальный рекордный патч от Oracle // 20.01.16 17:12
Ежеквартальный патч от Oracle // 21.10.15 14:47
Скандальная неделя // 14.08.15 22:11
Ежеквартальный патч от Oracle // 14.04.15 23:37
 
последние новости
Microsoft обещает радикально усилить безопасность Windows в следующем году // 19.11.24 17:09
Ядро Linux избавляется от российских мейнтейнеров // 23.10.24 23:10
20 лет Ubuntu // 20.10.24 19:11
Tailscale окончательно забанила российские адреса // 02.10.24 18:54
Прекращение работы антивируса Касперского в США // 30.09.24 17:30
Microsoft Authenticator теряет пользовательские аккаунты // 05.08.24 22:21
Облачнолазурное // 31.07.24 17:34

Комментарии:

чего за связанные базы такие? RAC? там вроде пока 16 нод... 19.01.12 21:32  
Автор: vasya Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>На одиночной базе даже это не вызвало бы проблем, но в сочетании с множественными связанными базами (а у крупных
>организаций число подобных серверов может идти на сотни) теоретически недостижимый лимит вдруг оказывается не столь
>недостижимым.
чего за связанные базы такие? RAC? там вроде пока 16 нод максимум.
Database Links, не знаю, какая тут традиция перевода 19.01.12 21:41  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>


http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm
<добавить комментарий>





  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach