English

SE-2013-01 Pytania i odpowiedzi

Ostatnia aktualizacja: 17-Kwi-2014

Z jakich powodów podjęliście sie weryfikacji poziomu bezpieczeństwa usługi Oracle Java Cloud Service ?
W ciągu ostatnich miesięcy, kilku wyższej rangi przedstawicieli firmy Oracle próbowało przekonać opinię publiczną, iż "problemy bezpieczeństwa oprogramowania Java SE używanej w przeglądarkach Internetowych nie dotyczą w ogólności Javy na platformach serwerowych" [1], że w firmie Oracle, "każdy programista jest strzelcem", "wyszkolonym w tematyce bezpieczeństwa" [2][3] i że produkty firmy są przedmiotem restrykcyjnych polityk i procedur dot. jakości i bezpieczeństwa [4].
Trudno nam było w to wszystko uwierzyć, wiec zdecydowaliśmy się zweryfikować poziom bezpieczeństwa innych produktów firmy Oracle. Z uwagi na to, iż technologie chmury są w ostatnim czasie przedmiotem zwiększonej uwagi sektora, a głos kilku wiceprezydentów firmy Oracle związanych z oprogramowaniem Fusion Middleware i aplikacjami w chmurze był bardziej donośny, zdecydowaliśmy sie przyjrzeć poziomowi bezpieczeństwa oferowanego przez usługę Oracle Java Cloud Service.
Czy przeprowadziliście test penetracyjny w sieci firmy Oracle ?
Oszacowanie poziomu bezpieczeństwa serwisów wdrożonych po stronie producenta jest odmienne od standardowych testów jakie przeprowadzamy w odniesieniu do bezpieczeństwa oprogramowania. Dla serwisów Internetowych, kwestie konfiguracji i określone wybory dokonane w odniesieniu do architektury zaczynają odgrywać znaczącą rolę i nie mogą być nigdy ignorowane.
Naszym celem było oszacowanie poziomu bezpieczeństwa oferowanego przez usługę Oracle Java Cloud Service z punktu widzenia użytkownika końcowego (klienta). To wymagało odpowiedzi na fundamentalne pytanie: czy aplikacje i dane użytkownika są odpowiednio zabezpieczone przez usługę Oracle Java Cloud ? Znaleźliśmy odpowiedź na to pytanie dzięki ostrożnej kombinacji tak umiejętności badaczy weryfikujących bezpieczeństwo oprogramowania, jak i przeprowadzających testy penetracyjne sieci.
Jakie słabości odkryliście w usłudze Oracle Java Cloud ?
Odkryliśmy kilka kategorii bledów. Po pierwsze, zidentyfikowaliśmy wiele słabości umożliwiających całkowite przełamanie bezpieczeństwa środowiska Java w otoczeniu docelowego serwera Weblogic. Opracowaliśmy 9 kodów ilustrujących ten typ ataku (w sumie zostało odkrytych 16 błędów). Zidentyfikowaliśmy również problemy w procesie weryfikacji aplikacji i w środowisku samego serwera Weblogic.
Czy wyeksploatowaliście jakieś błędy w bazowym oprogramowaniu Java SE ?
Nie. Zamiast pokazywać, że błędy w platformie Java SE mogą mieć wpływ na bezpieczeństwo usługi Oracle Java Cloud, chcieliśmy zasygnalizować, że inne produkty firmy Oracle pogwałcają dokładnie te same reguły tworzenia bezpiecznego kodu w języku programowania Java [5], co platforma Java SE [6].
Jakie znaczenie ma wasze odkrycie ?
Odkryliśmy sposób dzięki któremu dany użytkownik usługi Oracle Java Cloud może uzyskać dostęp do aplikacji i danych innego użytkownika z tego samego regionalnego centrum danych. Dostęp oznacza tutaj zarówno możliwość odczytu i zapisu danych, jak i możliwość wykonania złośliwego kodu Java na docelowej instancji serwera Weblogic serwującej aplikacje innych użytkowników. To samo w sobie podważa jedną z kluczowych cech środowiska chmury - bezpieczeństwo i prywatność danych użytkowników.
Czy to wszystko ?
Nie do końca. Kilka scenariuszy ataków i błędów nie zostało przez nas zweryfikowanych w docelowym środowisku usługi Oracle Java Cloud Service. Zamiast tego, ataki te zostały przetestowane jedynie w naszym laboratorium.
Czy wszyscy użytkownicy usługi Oracle Java Cloud są podatni na odkryte słabości ?
Nasze testy przeprowadzone były w komercyjnych centrach danych US1 (Austin, TX) i EMEA1 (UK). Odkryte słabości zostały potwierdzone zarejestrowanych przez nas użytkowników (próbne i komercyjne subskrypcje).
Ile systemów w Oracle Cloud mogło być podatnych na odkryte błędy ?
Według opublikowanych informacji [7], w 2012 roku w skład Oracle Cloud wchodziło ponad 300000+ systemów (2500 raków serwerów) wdrożonych w 4 centrach danych. Na przestrzeni 2013 i 2014 roku liczba centrów danych zwiększyła się do 5 (US1, US2, EMEA1, EMEA2, APAC). Pomimo tego, iż nie jesteśmy w stanie podać dokładnej liczny systemów podatnych na odkryte błędy, jest ona z pewnością znacząca biorąc pod uwag iż dotyczyły one 2 centrów danych Oracle.
Czy bezpieczeństwo centrów danych Oracle było zagrożone?
Biorąc pod uwagę projekt i architekturę środowiska chmury Oracle Cloud (to co zostało przez nas odkryte i potwierdzone w [7]), zidentyfikowane błędy powinny być w zupełności wystarczające do udanego przełamania bezpieczeństwa danego regionalnego centrum danych Oracle (dostępu do konsoli EM / uprawnień administratora chmury w danym regionalnym centrum danych).
Które ze zgłoszonych błędów zostały poprawione w ramach CPU z kwietnia 2014?
Ten CPU poprawia jedynie zdalny błąd w oprogramowaniu serwera WebLogic (błąd 26).
Czy błąd w oprogramowaniu WebLogic (błąd 26) jest poważny ?
Błąd ten umożliwia zdobycie uprawnień administracyjnych na zdalnej instancji serwera WebLogic z pominięciem mechanizmu identyfikacji użytkownika. To samo w sobie czyni ten błąd dość poważnym.
Czy projekt powinien być traktowany jako zakończony ?
Zdecydowanie nie. Specyfika środowiska wraz z ograniczeniami prawnymi uniemożliwiła nam przeprowadzenie wszystkich możliwych testów. Otrzymane rezultaty powinny być jednak wystarczające, aby wyzwolić dodatkową pracę i głębszą analizę po stronie firmy Oracle w odniesieniu do konfiguracji, implementacji i architektury środowiska Java Cloud Service oraz procesów bezpieczeństwa w ogólności (testy jakości i penetracyjne w szczególności).

Referencje:

  1. [1] Maintaining the security-worthiness of Java is Oracle's priority
    https://blogs.oracle.com/security/entry/maintaining_the_security_worthiness_of
  2. [2] Oracle Secures Java with 41 Updates, Code Signing
    http://www.esecurityplanet.com/network-security/oracle-secures-java-with-41-updates-code-signing.html
  3. [3] Oracle: We're getting Java security under control
    http://www.infoworld.com/t/java-programming/oracle-were-getting-java-security-under-control-227404
  4. [4] Oracle Software Security Assurance
    http://www.oracle.com/us/support/assurance/overview/index.html
  5. [5] Secure Coding Guidelines for the Java Programming Language, Version 4.0
    http://www.oracle.com/technetwork/java/seccodeguide-139067.html
  6. [6] SE-2012-01 Project, Security Vulnerabilities in Java SE
    http://www.security-explorations.com/en/SE-2012-01.html
  7. [7] Privacy and Security in the Cloud A real experience with current technologies
    https://edu.clusit.it/download1.php?id=74

Copyright 2008-2018 Security Explorations. All Rights Reserved.