Digital Security: огляд останніх вразливостей СУБД Oracle

У липні 2009 року компанія Oracle випустила черговий пакет оновлень щоквартальних, що містить латочки для 30 вразливостей в різних продуктах, 10 з яких зачіпають СУБД. На сайті виробника наведений опис пакета із зазначенням продуктів і їх версій, на які поширюється оновлення: [1]


http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2009.html


Кілька слів про поточний оновленні


Даний реліз відрізняється від більшості попередніх, у яких основна маса закритих вразливостей була виявлена в PL / SQL процедурах, і для їх експлуатації були потрібні аутентифікаційні дані. Уразливості PL / SQL ін'єкції у вбудованих процедурах СУБД Oracle дозволяли підвищити привілеї звичайного користувача до ролі DBA [2] або дозволяли читати критичні дані в системі [3].


У даному оновленні також присутня одна закрита уразливість типу PL / SQL Injection. Що найцікавіше, дана уразливість [4] була закрита ще в квітні 2006 року, але, як виявилося, закрита вона була недостатньо, і з деякими модифікаціями опублікований в 2006 році експлоїт можна було використовувати аж до останнього оновлення. Старий і новий експлоїти до даної уразливості доступні у вільному доступі на сайті компанії Red-database-security і дозволяють підвищити привілеї будь-якого користувача до ролі DBA [5].


Враховуючи те, що в більшості систем присутні стандартні користувачі, такі як DBSNMP, SCOTT та інші, зі стандартними паролями (за нашою статистикою тестувань на проникнення приблизно в 90% СУБД присутні стандартні облікові записи зі стандартними паролями [6]), і отримати доступ з непривілейований облікової не складає труднощів, то дана уразливість являє собою реальну небезпеку; до того ж код експлоїта доступний для загального завантаження.


Дистанційні уразливості високого ступеня критичності в мережевих протоколах СУБД Oracle


Тепер зосередимося на більш критичних вразливості. У липневому пакеті оновлень присутній ряд вразливостей в мережевому протоколі Oracle NET, що дозволяють провести видалену атаку, в половині випадків випадках навіть не маючи авторизаційних даних. Саме на них ми і загострити увагу.


Таблиця 1. Уразливості СУБД Oracle, закриті в оновленні за липень 2009 року.




























































































































































































Vuln#

Component

Protocol

Package and/or Privilege Required

Remote Exploit without Auth.?

CVSS VERSION 2.0 RISK (see Risk Matrix Definitions)

Last Affected Patch set (per Supported Release)

Base Score

Access Vector

Access Complexity

Authentication

Confidentiality

Integrity

Availability

CVE-2009-1020

Network Foundation

Oracle Net

None

No

9.0

Network

Low

Single

Complete

Complete

Complete

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.4, 11.1.0.7

CVE-2009-1019

Network Authentication

Oracle Net

None

Yes

7.5

Network

Low

None

Partial+

Partial+

Partial+

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.4, 11.1.0.7

CVE-2009-1963

Network Foundation

Oracle Net

None

No

7.5

Network

Low

Single

None

Partial+

Complete

11.1.0.6

CVE-2009-1021

Advanced Replication

Oracle Net

Create Session

No

5.5

Network

Low

Single

Partial+

Partial+

None

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.3

CVE-2009-1966 (Oracle Enterprise Manager)

Config Management

HTTP

Valid Session

No

5.5

Network

Low

Single

Partial

Partial

None

11.1.0.7

CVE-2009-1967 (Oracle Enterprise Manager)

Config Management

HTTP

Valid Session

No

5.5

Network

Low

Single

Partial

Partial

None

11.1.0.7

CVE-2009-0987

Upgrade

Oracle Net

Create Session

No

5.5

Network

Low

Single

Partial

Partial

None

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.3

CVE-2009-1973

Virtual Private Database

Oracle Net

Access to tables with VPD policies

No

5.5

Network

Low

Single

Partial+

Partial+

None

10.1.0.5, 10.2.0.4, 11.1.0.7

CVE-2009-1970

Listener

Oracle Net

None

Yes

5.0

Network

Low

None

None

None

Partial+

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.4, 11.1.0.7

CVE-2009-1968

Secure Enterprise Search

HTTP

None

Yes

4.3

Network

Medium

None

None

Partial

None

10.1.8.3

CVE-2009-1015

Core RDBMS

Oracle Net

Create Session

No

4.0

Network

Low

Single

None

Partial+

None

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.4

CVE-2009-1969

Auditing

Oracle Net

Create Session

No

2.1

Network

High

Single

Partial

None

None

9.2.0.8, 9.2.0.8DV, 10.1.0.5, 10.2.0.4, 11.1.0.7


З наведених в офіційному Advisory вразливостей найбільший інтерес представляють уразливості, виявлені дослідником Денисом Юрічевим:



Розглянемо перераховані уразливості більш докладно:


CVE-2009-1020  


Уразливості [7] присвоєно 9 балів з 10. При успішному виконанні дана уразливість дозволяє отримати повний контроль над операційною системою, де встановлена СУБД, з правами адміністратора в OS Windows (За замовчуванням) або з правами користувача Oracle в UNIX. Даною уразливості піддаються всі версії СУБД, починаючи з 9g R2 і закінчуючи 11i. Доступний в мережі експлоїт дозволяє виконати тільки атаку на відмову в обслуговуванні.


Для реалізації вразливості потрібно мати доступ до СУБД з правами будь-якого облікового запису, наприклад, SCOTT. Уразливість полягає в можливості записати 4-х байтноє нульове значення в довільне місце пам'яті СУБД за допомогою модифікації мережного пакету, який надсилається клієнтською програмою на сервер при виконанні будь-якого запиту, наприклад "select * from v $ version".


Насправді критичність даної уразливості перебільшена з двох причин. По-перше, зловмисникові необхідно мати обліковий запис в СУБД, що теоретично може призвести до отримання адміністративного доступу, наприклад, способом, описаним автором у дослідженні "Проникнення в ОС через додатки. Отримання доступу до ОС, використовуючи непривілейованих обліковий запис в СУБД Oracle", в якій представлений модуль для Metasploit, що дозволяє отримати адміністративний доступ до ОС з правами будь-якого користувача СУБД [8]. По друге, записавши значення 0 у будь-яку комірку пам'яті, ми зможемо у більшості випадків викликати відмова в обслуговуванні, але щоб виконати довільний код, необхідно чимало постаратися, і код експлоїта буде дуже сильно залежати від версії програмного забезпечення Oracle і операційної системи, на якої встановлена СУБД.


CVE-2009-1019  


Уразливості [9] присвоєно 7.5 балів з 10. При успішному виконанні дана уразливість дозволяє теоретично одержати повний контроль над СУБД. Даною уразливості піддаються всі версії СУБД, починаючи з 9g R2 і закінчуючи 11i. Доступний в мережі експлоїт дозволяє виконати тільки атаку на відмову в обслуговуванні.


Для реалізації вразливості не потрібно ніяких прав СУБД, і будь-який віддалений порушник може провести атаку шляхом надсилання некоректних NSPTCN пакетів на порт Лістенера, що в деяких випадках призводить до пошкодження купи і відмови в обслуговуванні.


З наведеного опису зрозуміло, що виконання довільного коду можливо більше в теорії, але, тим не менш, віддалений відмова в обслуговуванні через порт Лістенера за відсутності аутентифікаційних даних – Уразливість досить критична, особливо в періоди бухгалтерської звітності.


CVE-2009-1063 


Уразливості [10] присвоєно 7.5 балів з 10. Успішна реалізація атаки дозволяє завантажити процесор на 100% і виконати атаку на відмову в обслуговуванні; експлоїт для реалізації даної атаки доступний у мережі. Уразливості схильна тільки версія СУБД 11.1.0.6.


Дана уразливість схожа на наведену вище (CVE-2009-1020). Для реалізації вразливості потрібно мати доступ до СУБД з правами будь-якого облікового запису, наприклад, SCOTT. Уразливість виникає під час копіювання типу (змінюється тип із TTIPFN на DD) TNS протоколу при посилці клієнтом будь-якого стандартного запиту типу "select * from v $ version". У результаті цього, система завантажується на 100%, і відбуваються помилки пошкодження пам'яті.


Критичність даної уразливості, як і уразливості CVE-2009-1020, на наш погляд, не висока, тому що дозволяє виконати відмова в обслуговуванні тільки за умови наявності облікового запису в системі, тим більше, уразливості схильна тільки 11 версія СУБД, яка на даний момент в комерційній експлуатації практично не зустрічається.


CVE-2009-1070  


Уразливості [11] присвоєно 5 балів з 10. При успішному виконанні дана уразливість дозволяє виконати відмова в обслуговуванні служби Лістенера, в результаті чого користувачі не зможуть підключатися до СУБД. Даною уразливості піддаються всі версії СУБД, починаючи з 10g R1 і закінчуючи 11i. Доступний в мережі експлоїт дозволяє виконати атаку на відмову в обслуговуванні.


Для реалізації вразливості потрібно відсилати два TNS команди на порт Лістенера з певними значеннями в нескінченному циклі. Подробиці описані в офіційному Advisory.


У результаті ми отримуємо віддалений відмова в обслуговуванні, для виконання якого достатньо запустити публічно доступний експлоїт.


Уразливості середнього і низького ступеня критичності.


З менш критичних вразливостей, закритих у даному оновленні, слід відзначити:



CVE-2009-1068 


Дана уразливість [12] виявили фахівці DSecRG в додатку Oracle Secure Enterprise Search, яка надає безпечний віддалений доступ до всіх джерел даних в організації – веб-сайтам, файлових серверів, систем управління контентом, систем планування ресурсів та систем управління взаємодії із замовником. За допомогою виявленої уразливості зовнішній порушник може отримати доступ до сесії аутентифікованим користувача системи.


В одній із загальнодоступних сторінок пошуку (скрипт "search") виявлена уразливість міжсайтового скриптинга (XSS). Вразливим параметром є search_p_groups. Зловмисник може впровадити XSS, додавши javascript код в параметр search_p_groups, після чого відправити зареєстрованому користувачеві системи листа з посиланням на сторінку з XSS, яка є для нього довіреною ресурсом і, в разі заходу користувача за посиланням, отримати доступ до його сесії.


Критичність даної уразливості за фактом залежить від рівня обізнаності користувачів і наявності спеціалізованих засобів захисту клієнтських робочих станцій. Враховуючи середні дані переходу за посиланням при використанні сценаріїв соціальної інженерії (від 10% до 50%) і те, що наявність на робочих станціях користувачів HIPS поки ще зустрічається не скрізь, можна говорити, що дана уразливість цілком реалізовується.


 


CVE-2009-1021  


Уразливості [13] присвоєно 2.1 бали з 10. Уразливість виявлена Алекандров Корнбрустом з Red-database-security і дозволяє отримати доступ до хеш паролів користувачів, які записуються в журнали аудиту при зміні пароля користувача.


Хеш пароля користувача довжиною менше 9 символів в більшості випадків можна розшифрувати ("більшість випадків" – це коли використовується стандартний набір символів СУБД Oracle, такий як букви, цифри і спецсимволи,#,$), використовуючи rainbow tables або стандартні методи перебору, за розумний час. Про це можна детальніше почитати в статті "запаролених влада" [14].


Таким чином, уразливість являє собою небезпеку в разі використання слабких паролів. Для того, щоб налаштувати безпечно парольний політику в СУБД Oracle, рекомендуємо скористатися статтею "Налаштування парольного політики в СУБД Oracle ", доступної на ресурсі PCIDSS.RU [15]


Альтернативний варіант захисту


Як альтернативне рішення для захисту від атак на Лістенер, а також в цілому для підвищення рівня захищеності, рекомендується розмежувати доступ до Лістенеру. Розмежування здійснюється за допомогою технології "valid node checking", що на практиці реалізується шляхом додавання кількох рядків у конфігураційний файл sqlnet.ora, що знаходиться в директорії $ ORACLE_HOME / network / admin /. Приклад:


tcp.validnode_checking = yes
tcp.invited_nodes = (192.168.0.1, 192.168.0.2, Adminstation, …)


Директива tcp.validnode_checking включає обмеження по IP адресах. Директива tcp.invited_nodes дозволяє задавати список дозволених адрес. Дозволено вводити тільки окремі IP адреси й імена хостів. Список підмереж вводити заборонено. Також існує директива tcp.excluded_nodes, яка дозволяє задавати список заборонених адрес, але рекомендується використовувати "білий список". Більш докладно про захист Лістенера і безпеки СУБД Oracle в цілому, можна прочитати в нещодавно вийшла книзі "Безпека Oracle очима аудитора: напад та захист". [16]


 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*