Wątek zablokowany 2015-09-28 08:59 przez Krolik.

Przyszłość Java i 0day - (rzekome) 460 odkrytych luk bezpieczeństwa w 2015 roku

0

Wszystko ma błędy i przez to są one zgłaszane i naprawiane - każda znaleziona luka, nie zostanie od razu naprawiona, trzeba też zanalizować jakie jest ryzyko stworzenia takiego scenariusza by ktoś się włamał i mógł przejąc kontrolę. Firmy które wytwarzają oprogramowanie, po przeprowadzeniu pen testów są świadome tego co może im zagrażać i tak ta luka będzie naprawiona.

2

Tutaj widzę przegięcia w dwie strony.

Z jednej strony listowanie luk bezpieczeństwa w Javie.
Dla mnie najbardziej wiarygodne w tym wątku źródło to Oracle. Listing zawiera luki w różnych technologiach, w tym JDeveloper(!) i Oracle Database Server. Ile z tych luk dotyczy Javy serwerowej, bo chyba o takich można dyskutować?

Odpowiedź: 23.

Pytanie: czy dobrze że te luki zostały opublikowane i naprawione? (retoryczne)

Pytanie kolejne: który z produkcyjnie stosowanych języków programowania (lub środowisk) nie pozwala na stworzenie luki bezpieczeństwa?

Pytanie kolejne: jaką mamy bardziej bezpieczną alternatywę dla Javy?

Druga strona:

Shalom napisał(a):

jak już wspomniano, większość tych "luk" nijak sie ma do softu pisanego w Javie bo ten w przeważającej większości stanowią wewnętrzne aplikacje biznesowe firm schowane na serwerach. Żeby cokolwiek z nimi zrobić potrzebowałbyś na przykład dostęp do maszyny na której to jest uruchomione, a wtedy to masz znacznie większy problem niż dziura w javie..

Nie analizowałem tych luk, ale nie sądzę żeby soft Javovy w większości był niedostępny przez Internet. To raczej wyraz nadziei programisty niż realia. Realia są takie że biznes chce mieć aplikacje gdziekolwiek pracownik się znajduje - na spotkaniu, w trasie, w kawiarni. Programiści nawet nie muszą o tym wiedzieć, mogą jedynie potem "wyrazić zaskoczenie" :)

katelx napisał(a):
Bartosz Wójcik napisał(a):

Z tych informacji maluje się przykry obrazek, który każe się zastanowić czy czasem mottem Java nie powinno być zdanie:
"Java - najkrótsza droga malware do twojego komputera i serwera"

pewnie, dostep do serwerow tylko dla admina i firewalle sie nie licza

W większości wypadków pomaga jedynie porada prawnika. Zabezpieczenia typu "hasło tylko dla admina" czy firewall są dobre dla pracowników firmy.

Jakiś czas temu był taki żart, który jednak obrazuje jak ominąć to co napisałaś:
http://niebezpiecznik.pl/post/fotoradar-injection/

Nie byłbym taki pewien czy działające systemy (ten nawet z etykietką "Enterprise") nie są podatne na takie bzdurne ataki (abstrahując od technologii).

katelx napisał(a):

nie, mysle ze przecietny programista java ma inne sprawy na glowie niz martwienie sie exploitami gdy jest to bezzasadne

Myślę że przeciętny programista Javy zbyt łatwo ufa temu że jest bezpieczny.

Nie chcę się zajmować analizą bezpieczeństwa w danym obszarze - to aktualizuję często software i... używam analizy statycznej kodu online (a nie raz w roku).
Kilka narzędzi: http://samate.nist.gov/index.[...]_Code_Security_Analyzers.html

3

Nie analizowałem tych luk, ale nie sądzę żeby soft Javovy w większości był niedostępny przez Internet.

Chyba za bardzo nie zrozumiałeś Shaloma. Bezpośrednio niedostępna przez internet usługa w Javie w znaczeniu takim, że schowana za firewallem i wystawiona przez webserver po HTTP w postaci strony internetowej czy innego serwisu REST-owego. Dostęp bezpośredni to dostęp do filesystemu czy procesu na maszynie, która uruchamia aplikację.

Tyle luk i tyle zero-dayów z tak dużą ilością softu napisanego w Javie powinno się łączyć bezpośrednio z ilością włamań. Dlaczego w takim razie tych włamań nie ma? Przecież hasła użytkowników Gmaila i Youtube'a powinny wyciekać chyba co tydzień.

1
Rev napisał(a):

Nie analizowałem tych luk, ale nie sądzę żeby soft Javovy w większości był niedostępny przez Internet.

Chyba za bardzo nie zrozumiałeś Shaloma. Bezpośrednio niedostępna przez internet usługa w Javie w znaczeniu takim, że schowana za firewallem i wystawiona przez webserver po HTTP w postaci strony internetowej czy innego serwisu REST-owego. Dostęp bezpośredni to dostęp do filesystemu czy procesu na maszynie, która uruchamia aplikację.

To że aplikacja jest dostępna przez webserver czy firewall utrudnia ale nie uniemożliwia włamanie. Nie oszukujmy się - zabezpieczenia tego typu są tylko elementem wymaganym ale nie wystarczającym.

A jeśli mam się odnieść do włamań przy dostępie bezpośrednim (czytaj do filesystemu czy procesów), to jest to już problem bezpieczeństwa systemu, ssl, ssh i innych warstw pośredniczących a nie Javy - więc nie o tym dyskusja. W praktyce jest tak, że udowodnienie możliwości uruchomienia procesu kończy dowód (nie)bezpieczeństwa systemu.

Ja osobiście nie odbieram tego wątku jako atak - raczej jako przypomnienie że nie żyjemy w idealnym świecie.

6

Dużo osób zapomina w tym wątku, że wiele nieoczekiwanych własności Javy uznawanych za lukę nie jest uznawane za lukę w innych technologiach. Java ma dużo wyżej postawioną poprzeczkę jeśli chodzi o bezpieczeństwo.

Przykład: możliwość pominięcia Security Managera w Javie przez odpowiednio spreparowany kod z pewnością byłaby uznana za krytyczną lukę. Tymczasem C++, PHP, Delphi czy wiele innych środowisk w ogóle nie ma czegoś takiego jak Security Manager i jakiegokolwiek systemu uprawnień. Ich poziom bezpieczeństwa jest z definicji niższy, ale nie uważa się tego za lukę.

Przykład 2: Możliwość napisania kodu, który przechodzi poprawnie weryfikację, a mimo to prowadzi do przepełniona bufora lub innego poważnego błędu byłaby uznana za krytyczny błąd weryfikatora bajtkodu i podatność. Tyle, że w C++ i Delphi taka podatność znowu występuje z definicji, bo tam nie ma weryfikatora, nie ma kontroli dostępu do pamięci, nie ma praktycznie nic co chroni przed tego typu błędami.

Ostatnia poważna luka mająca wpływ na bezpieczeństwo aplikacji serwerowych dotyczyła parsowania doubli i najgorsze co powodowała to Dos. Praktycznie wszystko miało tę lukę, łącznie z glibcem i PHP, więc Java nie była wyjątkiem.

I wisienka na torcie:
Jeśli Java byłaby mniej bezpieczna i bardziej dziurawa niż inne środowiska uruchamiania kodu, to zapewne giełda nowojorska nie przeniosłaby na nią systemu tradingowego, tylko pozostalaby przy starym systemie napisanym w C++. Choć tu nie jestem pewien, czy tylko bezpieczeństwo było powodem tej decyzji, bo słyszałem, że system Javowy jest znacznie wydajniejszy niż ten poprzedni, który się nie wyrabiał z rosnącą ilością zleceń.

0
Krolik napisał(a):

Dużo osób zapomina w tym wątku, że wiele nieoczekiwanych własności Javy uznawanych za lukę nie jest uznawane za lukę w innych technologiach. Java ma dużo wyżej postawioną poprzeczkę jeśli chodzi o bezpieczeństwo.

Tobie nawet jakby nawet się włamali przez remote exploita bez żadnych dodatkowych uprawnień do systemu to byś mówił, że to zlecony pentest

W skrócie:

  • Luki dla Javy to nie są luki!, nawet remote, nawet te z ocena 10 w CVE! Nie znacie się!
  • Luki bezpieczeństwa dla Javy i aplikacji Oracle i tak nie działają, bo wszystko jest niedostępne przez sieć!
  • Luki dla Javy to wymyślone rzeczy przez hejterów Javy takich jak ja.
    Czyli rozejść się, nie wymyślać, nie hejtować Javy, żadnych luk nie ma i nie było nigdy, a nawet jak były to nie działały!
0

Załóżmy, że Java nie ma przyszłości.
To co ma?

0

Hijah,

Ktoś mówił, że nie ma gotowych exploitów?

https://www.exploit-db.com/platform/?p=java

I co doktorku :>

1
Krwawy Terrorysta napisał(a):

https://www.exploit-db.com/platform/?p=java

Pro hint: To są gotowe exploity na soft napisany w Javie, a nie "standalone remote exploit" działające na wszystkie apki napisane w Javie. Takie gotowe exploity masz na każdy, powtarzam, każdy soft, niezależnie od tego w czym byłby napisany.

PS. Co Ty w ogóle podlinkowałeś:

VBulletin 2.0/2.2.x - Cross-Site Scripting Vulnerabilities
PHP-Nuke 6.x/7.x FAQ Module categories Parameter XSS
Wolfram Research webMathematica 4.0 File Disclosure Vulnerability
HP AutoPass License Server File Upload

Rzeczywiście, super exploity na Javę. Gdyby to chociaż były produkty Suna/Oracle. I gdyby chociaż połowa rzeczy z listy była przynajmniej napisana w Javie :D

2
Bartosz Wójcik napisał(a):

Java and Flash both vulnerable—again—to new 0-day attacks
http://arstechnica.com/securi[...]team-combine-with-java-0-day/

Tak bardzo applety

Bartosz Wójcik napisał(a):

Oracle patches already-exploited Java zero-day flaw, over 190 other vulnerabilities
http://www.pcworld.com/articl[...]90-other-vulnerabilities.html

"Go ahead and update Java—or disable it if you don’t remember the last time you actually used it on the Web"
Ręce opadają

Bartosz Wójcik napisał(a):

Oracle Critical Patch Update Advisory - July 2015
http://www.oracle.com/technet[...]urity/cpujul2015-2367936.html

Och nie, firma X znajduje i łata bugi w swoich produktach. Szybko, przerzućmy się na produkty firmy Y - oni nie łatają bugów, więc jest bezpieczniej.
A właśnie, w JRE znowu same luki dotyczące appletów. Kogo to obchodzi.

Bartosz Wójcik napisał(a):

Is Java the Biggest Vulnerability on your PC? A data-driven answer
https://heimdalsecurity.com/b[...]-security-hole-your-computer/

Kto takie głupoty pisze?

Andra Zaharia, Marketing & Communication Specialist

Istny autorytet

Bartosz Wójcik napisał(a):

Luki w samym JRE, trochę tego jest, przynieście sobie ciasteczka i mleko na lekturę
https://www.cvedetails.com/vu[...]duct_id-19117/Oracle-JRE.html

"Unspecified vulnerability in Oracle Java SE 6u95, 7u80, and 8u45 allows remote attackers to affect confidentiality, integrity, and availability via unknown vectors related to 2D. "
I nawet ciastka ugryźć nie zdążyłem, tak szybko się okazało, że nic ciekawego się tam nie znajdzie.

Bartosz Wójcik napisał(a):

Java Zero-day vulnerability exploited in the Wild
http://thehackernews.com/2015[...]a-zero-day-vulnerability.html

Zero day który działa tylko na starszej wersji softwaru? Na prawdę, ludzi którzy takie rzeczy piszą można leczyć tylko poprzez strzał w łeb.

Bartosz Wójcik napisał(a):

Czy przyszłość Java to po pół tysiąca krytycznych luk w oprogramowaniu końcowym i serwerowym na pół roku? Czy można zaufać w ogóle takiej technologii? Z tych informacji maluje się przykry obrazek, który każe się zastanowić czy czasem mottem Java nie powinno być zdanie:

"Java - najkrótsza droga malware do twojego komputera i serwera"

Zjem buta, jesli jakikolwiek malware dostanie się na mój komputer lub serwer z winy JRE.

Bartosz Wójcik napisał(a):

Czy pisząc wasze rozwiązania enterprise w Java zastanawiacie się czy wasze oprogramowanie będzie podatne na jedną z 460 odkrytych luk (nie mówiąc o nieopublikowanych) w samym 2015 roku?
Na pewno, moje oprogramowanie serwerowe oraz desktopowe i na to androida, będą tak bardzo podatne prez te wszystkie luki na applety, że aż sram cegłami w minecrafcie ze strachu.

Bartosz Wójcik napisał(a):

Czy programista Java zakłada klapki na oczy i ignoruje te prawie pół tysiąca potwierdzonych luk do swoich aplikacji i baz danych?

Pół tysiąca załatanych bugów w setkach różnych produktów, jak mam z tym żyć?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0