English

SE-2014-01 Pytania i odpowiedzi

Ostatnia aktualizacja: 04-Lis-2014

Dlaczego sprawdziliście bezpieczeństwo oprogramowania bazy danych Oracle ?
Nie planowaliśmy analizy bezpieczeństwa oprogramowania Oracle Database. Przeprowadzone badania zostały oparte na "pozostałościach" naszego projektu dot. bezpieczeństwa usługi implementującej chmurę dla języka programowania Java firmy Oracle (niewykorzystane błędy, które nie pasowały do projektu SE-2013-01).
Czym jest Oracle Database Java VM ?
Oracle Database Java VM (Oracle JVM lub Aurora VM) jest własną implementacją maszyny wirtualnej Java firmy Oracle ściśle zintegrowaną z oprogramowaniem bazy danych tej firmy.
Czy odkryte błędy charakteryzuje coś specyficznego ?
Odkryte słabości pogwałcają wiele z reguł tworzenia bezpiecznego kodu w języku programowania Java firmy Oracle [1]. Większość z nich demonstruje bardzo dobrze znany problem związany z bezpieczeństwem środowiska Java SE (nieprawidłowe użycie interfejsu programistycznego Java Reflection API [2]). Ten interfejs stanowił bezpośrednią przyczynę wielu błędów bezpieczeństwa w Java SE zgłoszonych producentowi w latach 2005, 2012 i 2013.
Jakie zagrożenie niosą ze sobą odkryte błędy ?
Użytkownik bazy danych Oracle z minimum uprawnień wymaganych do połączenia i zalogowania się do danej bazy danych (jedynie z uprawnieniami CREATE SESSION) może z powodzeniem całkowicie przełamać jej bezpieczeństwo.
Co z wymogiem posiadania uprawnienia "CREATE PROCEDURE" w celu tworzenia obiektów Javy w bazie danych Oracle [3] ?
Odkryliśmy błąd (słabość numer 20), który umożliwia całkowite obejście tego wymogu.
Czy odkryte błędy dotyczą również oprogramowania Java SE ?
Nie. Na odkryte błędy podatne jest jedynie oprogramowania bazy danych firmy Oracle.
Jak to możliwe, że uprawnienia bazy danych mogą zostać zwiększone z poziomu Javy ?
Powyższe jest możliwe z uwagi na ścisłą integrację środowisk uruchomieniowych maszyny wirtualnej Java i bazy danych Oracle. Ich modele bezpieczeństwa nie do końca do siebie pasują. W rezultacie, poprzez połączenie pewnej słabości modelu bezpieczeństwa bazy danych Oracle oraz słabości implementacji maszyny wirtualnej Java możliwe jest udane zwiększenie uprawnień użytkownika.
Czy to wszystko oznacza, ze błędy bezpieczeństwa Java mogą stanowić zagrożenie dla bezpieczeństwa oprogramowania bazy danych Oracle ?
Słabości bezpieczeństwa Java mogą stanowić istotne zagrożenie dla każdego oprogramowania, które oparte jest o błędną implementację maszyny wirtualnej Java przetwarzającą potencjalnie złośliwy kod Javy. Baza danych Oracle nie stanowi tutaj wyjątku.
Niestety, wg stanu na dzień 04 listopada 2014, dokumenty 360870.1 [4] i 1074055.1 [5] firmy Oracle dostępne za pośrednictwem jej portalu wsparcia nadal zawierały niedokładne i wprowadzające w błąd informacje o wpływie słabości bezpieczeństwa Java na produkty bazy danych Oracle i Fusion Middleware.
Programy eksploatujące błędy w Javie umożliwiają w wyjątkowo łatwy sposób zwiększyć uprawnienia użytkownika do roli administratora w środowisku bazy danych firmy Oracle.
Które platformy systemowe oprogramowania bazy danych Oracle są podatne na odkryte błędy ?
Odkryte błędy nie są zależne od jakiejkolwiek platformy systemowej (słabości na poziomie języka Java). Dotyczą one wszystkich platform systemowych bazy danych Oracle zawierających błędną implementację maszyny wirtualnej Java (HP-UX Itanium, IBM AIX on POWER Systems, IBM Linux on System z, Linux x86/x86-64, Oracle Solaris on SPARC/x86-64, Microsoft Windows x64).
Czy zweryfikowaliście odkryte błędy w środowisku w pełni zaktualizowanego oprogramowania bazy danych Oracle ?
Tak. Prawie wszystkie z odkrytych słabości (błędy 1-20) zostały potwierdzone w środowisku oprogramowania Oracle Database 11g i 12c dla systemów Windows x64 oraz Linux x86-64 z zainstalowanymi najnowszymi aktualizacjami (odpowiednie pakiety aktualizacji z maja i czerwca 2014). Pozostałe 2 błędy zostały potwierdzone w środowisku w pełni zaktualizowanego oprogramowania Oracle Database 12c dla tych samych platform.
Czy aktualizacja bezpieczeństwa firmy Oracle z dnia 15 lipca 2014 zamyka jakieś błędy, które zgłosiliście firmie ?
Nie. Wg stanu na dzień 24 lipca 2014, wszystkie 22 błędy pozostają niepoprawione. Potwierdziliśmy, że błędy te mogą być wykorzystane do zwiększenia uprawnień w środowiska bazy danych Oracle 12c z zainstalowaną aktualizacją CPU z lipca 2014.
Czy aktualizacja bezpieczeństwa firmy Oracle z dnia 14 października 2014 zamyka jakieś błędy, które zgłosiliście firmie ?
Wg informacji uzyskanej od firmy Oracle w dniu 24 października 2014, ta aktualizacja CPU poprawia wszystkie z 22 zgłoszonych błędów bezpieczeństwa . Nie wszystkie poprawki zostały jednak udostępnione szerokiej publiczności w dniu publikacji CPU. Dokument 1912224.1 [6] firmy Oracle wskazuje, że poprawki dla wielu platform zostały udostępnione 1-3 tygodni później.
W odpowiedzi na nasze zapytanie o powody udostępnienia niekompletnej aktualizacji CPU, firma Oracle oświadczyła, że niekiedy udostępnia poprawki pod koniec miesiąca w którym opublikowany jest dany CPU.
Jak długo pracowaliście nad tym projektem ?
Całość przeprowadzonych badań zajęła nam 4 miesiące pracy.
Czy planujecie opublikować więcej detali technicznych na temat odkrytych słabości bezpieczeństwa ?
Planujemy udostępnić detale wszystkich bledów wraz z ilustrującymi je kodami za pośrednictwem naszego firmowego portalu.

References:

  1. [1] Secure Coding Guidelines for the Java Programming Language, Version 4.0
    http://www.oracle.com/technetwork/java/seccodeguide-139067.html
  2. [2] Security Vulnerabilities in Java SE, technical report
    http://www.security-explorations.com/materials/se-2012-01-report.pdf
  3. [3] Oracle Database Java Developer's Guide, 11g Release 2 (11.2)
    http://docs.oracle.com/cd/E18283_01/java.112/e10588.pdf
  4. [4] Impact of Java SE Security Vulnerabilities on Oracle Database and Fusion Middleware Products (Doc ID 360870.1) zrzut ekranu
  5. [5] Security Vulnerability FAQ for Oracle Database and Fusion Middleware Products (Doc ID 1074055.1) zrzut ekranu
  6. [6] Patch Set Update and Critical Patch Update October 2014 Availability Document (Doc Id 1912224.1) zrzut ekranu

Copyright 2008-2017 Security Explorations. All Rights Reserved.