Zalecana, 2024

Wybór redaktorów

Naukowiec błędnie interpretuje Oracle Advisory, ujawnia lukę w zabezpieczeniach niepoprawnej bazy danych

Kurs SQL 7: Jak stworzyć relację w bazie danych Oracle?

Kurs SQL 7: Jak stworzyć relację w bazie danych Oracle?
Anonim

Instrukcje, jak wykorzystać luki w zabezpieczeniach Oracle Database Server w celu przechwycenia informacji wymienianych między klientami a bazami danych, zostały opublikowane przez badacza bezpieczeństwa, który błędnie sądził, że firma naprawiła usterkę.

W kwietniowym wydaniu opinii przez Oracle na temat korekcji krytycznych poprawek (CPU) z kwietnia 2012 r. Znalazł się ekspert ds. Bezpieczeństwa Joxean Koret za lukę w zabezpieczeniach, którą zgłosił za pośrednictwem firmy cybernetycznej iSIGHT Partners.

W e-mailu wysłanym na listę dyskusyjną Full Disclosure 18 kwietnia, Koret ujawnił, że luka znajduje się w odbiorniku TNS Oracle, komponencie t hat trasuje połączenia od klientów do serwerów baz danych Oracle w zależności od tego, do której bazy danych próbują dotrzeć.

[Czytaj dalej: Jak usunąć złośliwe oprogramowanie z komputera z systemem Windows]

TNS Listener ma funkcję domyślną, wprowadzoną w 1 roku, pozwala zdalnie rejestrować usługę bazy danych lub instancję bazy danych bez uwierzytelniania, powiedział Koret.

Klient wysyła zdalne żądanie rejestracji do odbiornika TNS i definiuje nową nazwę usługi, jej adres IP, instancje bazy danych pod nią i inne. ustawienia. Odbiornik TNS rozpoczyna routing wszystkich żądań klientów, które zawierają nazwę tej usługi lub instancji bazy danych.

Jednak odbiornik TNS pozwala również na zdalną rejestrację instancji bazy danych lub nazwy usługi, która jest już zarejestrowana, powiedział Koret. "Osoba słuchająca TNS uzna tę nowszą zarejestrowaną nazwę instancji za instancję klastra (Oracle RAC, Real Application Clusters) lub instancję typu fail over (Oracle Fail over)", powiedział.

W tym przypadku odbiornik TNS wykonuje równoważenie obciążenia między dwoma instancjami, wysyłając pierwszego klienta do ostatnio zarejestrowanego i drugiego klienta do oryginalnego. Pozwala to lokalnemu atakującemu na przesyłanie od 50 do 75 procent klientów do serwera bazy danych, który kontroluje, powiedział Koret.

Osoba atakująca może następnie użyć odbiornika TNS na serwerze, który kontroluje, aby skierować żądania klientów z powrotem do legalnego serwera. Instancja bazy danych, skutecznie ustanawiająca serwer proxy TNS, który pozwala mu przechwytywać wszystkie dane wymieniane między klientami a docelową bazą danych.

Jednak nie jest to jedyny scenariusz ataku na jaki pozwala ta luka. Będąc w sytuacji pośredniej, atakujący może również wprowadzać fałszywe polecenia w zapytaniach SQL wysyłanych przez klientów lub całkowicie przejmować ich sesje w celu wykonania dowolnych zapytań, powiedział Koret.

Badacz wspomniał, że nie zrobił tego " t przetestować, czy łatka Oracle dotycząca tej luki, którą uważał za uwzględnioną w jednostce CPU z kwietnia 2012 r., dotyczyła w rzeczywistości wszystkich wektorów ataków.

Jednak po kilku e-mailach uzupełniających z Oracle zdał sobie sprawę, że firma nie faktycznie załatała lukę dla aktualnie obsługiwanych wersji serwera bazy danych, ale zamiast tego zajęła się wersją, która nie została jeszcze wydana.

Oracle zdecydowało się załatać lukę w nadchodzącej wersji, ale nie w już istniejących, ponieważ Naprawa jest bardzo złożona, a jej przeniesienie może doprowadzić do innych problemów, powiedział Koret w drugim e-mailu wysłanym na czwartkową listę mailingową Full Disclosure. Firma Oracle nie zwróciła natychmiast prośby o komentarz.

Decyzja o publicznym ujawnieniu szczegółów na temat luki, w tym instrukcji dotyczących jej wykorzystania, została podjęta po potwierdzeniu przez Oracle, że luka została rozwiązana, powiedział Koret. Dodał jednak, że firma powiedziała mu, że "została rozwiązana w przyszłych wersjach produktu."

Naukowiec uważa, że ​​otrzymywanie kredytów w poradniku procesora Oracle z kwietnia 2012 r. W związku z luką, która nie została naprawiona w rzeczywistej aktualizacji, było mylące i powiedział, że firma powinna przestać to robić w przyszłości.

Jednak Koret został zaksięgowany w dziale "Doradztwo w zakresie bezpieczeństwa" w poradniku Oracle, który stwierdza, że: "Ludzie są uznawani za wkład w depresję, jeśli dostarczają informacji, spostrzeżeń lub sugestii dotyczących problemów z lukami w zabezpieczeniach, które skutkują znacząca modyfikacja kodu Oracle lub dokumentacji w przyszłych wydaniach, ale nie mają tak krytycznego charakteru, że są dystrybuowane w Aktualizacjach krytycznych poprawek. "

Koret opisał kilka obejść w celu złagodzenia luki bez instalowania łaty w swoim poradniku z 18 kwietnia. Jednym z nich było wyłączenie funkcji zdalnego rejestrowania TNS Listener poprzez ustawienie "dynamic_registration = off" w pliku konfiguracyjnym listener.ora.

Nie jest to jednak możliwe w przypadku konfiguracji, które faktycznie wymagają tej funkcji, takiej jak klastry Oracle RAC. "Aby zastosować to obejście w środowisku Oracle RAC, należy zaimplementować równoważenie obciążenia po stronie klienta, zmieniając cały plik konfiguracyjny tnsnames.ora klienta, aby dodać pełną listę węzłów Oracle RAC", powiedział Koret.

Top