Programiści — Zawartość Java w przeglądarce — Zmiany w manifeście dot. zabezpieczeń
Artykuł dotyczy:
- Platformy: Wszystkie platformy
- Wersje oprogramowania Java: 7.0, 8.0
Programiści: Począwszy od wersji 7u51 (styczeń 2014), programiści muszą zaktualizować swoje aplikacje Rich Internet Application (aplikacje RIA, znane także jako aplety i aplikacje Web Start). Wymagane aplikacje dotyczą tworzenia pakietów i dystrybucji; nie powinny być wymagane żadne zmiany w kodzie API. Wymagane zmiany wynikają z potencjalnej zmiany przeznaczenia aplikacji działających w środowisku sandbox kiedy to umieszczenie zezwoleń w podpisanym archiwum JAR uniemożliwia modyfikację poziomu uprawnień podanego przez programistę.
Aplikacje RIA muszą zawierać dwa następujące elementy:
- Podpisy kodu uzyskane z zaufanej jednostki certyfikującej. Całość kodu apletów i aplikacji Web Start musi być podpisana, bez względu na ustawione atrybuty „Permissions”.
- Atrybuty manifestu
- Permissions – atrybut wprowadzony w wersji 7u25 i wymagany, począwszy od wersji 7u51. Określa, czy aplikacja RIA powinna być uruchamiana w środowisku sandbox, czy wymaga pełnych uprawnień.
- Codebase – atrybut wprowadzony w wersji 7u25 i opcjonalny/zalecany, począwszy od wersji 7u51. Wskazuje znaną lokalizację (miejsce) kodu hostowanego.
Więcej informacji jest dostępnych na blogu Java Platform Group Product Management.
Java 7 Update 45 (7u45), październik 2013: Wywołania LiveConnect będą pytać o zezwolenie przed wejściem w interakcję z aplikacjami RIA (Rich Internet Application)- Użytkownicy będą pytani o nadanie uprawnień stronom internetowym (domenom), które wchodzą interakcję z aplikacjami Java za pomocą funkcji JavaScript LiveConnect.
- Programiści powinni dodawać atrybut
Caller-Allowable-Codebase
manifestu, pozwalający identyfikować miejsca, z których kod JavaScript może wywoływać metody w aplikacji.
- Administratorzy systemów mogą, korzystając z funkcji Deployment Rule Set, tworzyć białe listy konkretnych aplikacji Java uruchamianych na komputerach użytkowników. Administratorzy systemów mogą zacząć od zapoznania się z dokumentacją funkcji Deployment Rule Set lub z przykładami jej użycia.
- Zawarty w monicie komunikat zmienia się w zależności od czynników ryzyka związanych z uruchomieniem aplikacji. Omówienie typowych komunikatów zabezpieczeń jest dostępne wśród najczęściej zadawanych pytań dotyczących okien dialogowych związanych z zabezpieczeniami.
- W przypadku sytuacji z mniejszym ryzykiem są prezentowane prostsze komunikaty i jest udostępniane pole wyboru pozwalające pomijać te komunikaty przy następnej próbie uzyskania dostępu do aplikacji.
- W przypadkach większego zagrożenia (takich jak uruchamianie aplikacji niemającej żadnego identyfikującego ją certyfikatu cyfrowego) jest wymagana dalsza interakcja.
Jaki jest wpływ tych zmian?
Łącznie, zmiany te pozwalają użytkownikowi zweryfikować wydawcę oraz wydać zgodę na interakcję z aplikacją. Użycie certyfikatów podpisujących kod umożliwia środowisku Java prezentowanie dokładnych informacji o dostawcy aplikacji, pozwalających użytkownikowi podjąć decyzję o uruchomieniu bądź nieuruchomieniu danej aplikacji.Czy zmiany te będą miały wpływ na działanie aplikacji opartych na technologii Java, które były do tej pory normalnie używane?
Opisane zmiany nie powinny wpłynąć na normalnie uruchamiane aplikacje. Może jednak pojawić się wezwanie do udzielenia jawnego zezwolenia na uruchomienie aplikacji (poprzez naciśnięcie przycisku „Run” [Uruchom]). Dzięki temu uzyskuje się większą kontrolę, pozwalającą zapobiegać automatycznemu uruchamianiu aplikacji wysokiego ryzyka na komputerze użytkownika.Administratorzy systemów, zajmujący się kwestiami zgodności, mogą za pomocą funkcji Deployment Rule Set utworzyć białą listę aplikacji RIA (Rich Internet Application) dla zarządzanych komputerów lokalnych.
Dlaczego w oknie dialogowym zabezpieczeń nie widać opcji Do not show this again for this app (Nie pokazuj tego więcej dla tej aplikacji) dla niepodpisanej aplikacji?
Zaczynając od wersji Java 7 Update 40, opcja Do not show this again for this app (Nie pokazuj tego więcej dla tej aplikacji) nie jest już dostępna. W przeciwieństwie do poprzednich wersji użytkownik nie może zlecić pomijania okna dialogowego zabezpieczeń i każdorazowo, aby niepodpisana aplikacja została uruchomiona, musi wybierać opcję I accept the risk and want to run this app (Akceptuję ryzyko i chcę uruchomić tę aplikację).Co to jest jednostka certyfikująca?
Jednostka certyfikująca (zwana także urzędem certyfikacji) to zaufana, zewnętrzna i najczęściej komercyjna firma, zajmująca się wydawaniem cyfrowych certyfikatów. Certyfikaty są wydawane organizacjom lub osobom po zweryfikowaniu ich tożsamości. Cyfrowe certyfikaty są dodawane do aplikacji komputerowych w celu potwierdzenia, że dana aplikacja pochodzi od posiadacza certyfikatu. Więcej informacji jest dostępnych na stronie http://wikipedia.org/wiki/Certificate_authority.Dlaczego te zmiany są ważne dla użytkownika?
Oprogramowanie Java w przeglądarce stanowi częsty cel ataków. W roku 2012 wprowadzono w wersji Java 7u10 funkcje zabezpieczeń, zgodnie z którymi trzeba jawnie udzielać zezwolenia na uruchamianie aplikacji Java. Ponadto można skonfigurować środowisko Java, tak aby uruchamianie jakiejkolwiek niezaufanej aplikacji było blokowane. Aplikacja zaufane to takie, które są zaopatrzone w ważny certyfikat cyfrowy wydany przez jednostkę certyfikującą (CA) i tym samym dostarczają informacji o tożsamości dostawcy aplikacji. Certyfikaty te umożliwiają środowisku Java wprowadzanie mechanizmów bezpieczeństwa i zabezpieczeń aplikacji utworzonych przez tych dostawców.Jakie można podjąć dodatkowe działania w celu zwiększenia bezpieczeństwa systemów obsługujących aplikacje Java uruchamiane w przeglądarce?
Zachęca się użytkowników oprogramowania Java, administratorów systemów i programistów do korzystania z najnowszych wersji. Funkcja automatycznej aktualizacji oprogramowania Java ma na celu dostarczanie najnowszych poprawek zwiększających bezpieczeństwo.Jeśli użytkownik uprzednio wyłączył funkcję automatycznej aktualizacji oprogramowania Java, zaleca się jej ponowne włączenie w celu zapewnienia używania w systemie najbezpieczniejszej instalacji Java. Więcej informacji jest dostępnych w dokumencie Java 6 Auto-Update to Java 7 - FAQ.
Użytkownicy końcowi |
Java - Pomoc (Java.com) Ustawienia poziomów bezpieczeństwa w panelu Java Control Panel |
Programiści |
Wytyczne Java SE Security Secure Coding Guidelines — w zakresie języka programowania Java. Dokument JAR File Manifest Attributes for Security Strona Java SE Security Documentation techniczne informacje dotyczące zmian związanych z podpisanym kodem |
Firmy |
Oracle Java SE — Asysta Techniczna zapewnia całodobową, dostępną siedem dni w tygodniu, pomoc w zakresie krytycznych aplikacji, świadczoną pocztą elektroniczną i telefonicznie. Produkty Oracle Java SE Advanced i Oracle Java SE Suite zawierają rozwiązania dla firm zmniejszające koszty implementacji, monitorowania i serwisowania środowisk IT opartych na technologii Java. |
Administratorzy systemów |
Dokument Deployment Rule Sets for whitelisting applications Dokument Deployment Best Practices Dokument Java Rich Internet Applications Guide Dokument Security Features in Java SE |