MS02-052: Luka w klasach JDBC maszyny wirtualnej firmy Microsoft może umożliwiać uruchamianie kodu źródłowego

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 329077 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Symptomy

Maszyna wirtualna (VM) firmy Microsoft jest przeznaczona dla 32-bitowych wersji systemów Microsoft Windows. Maszyna wirtualna firmy Microsoft wchodzi w skład większości wersji systemów Windows i programu Microsoft Internet Explorer. Dostępna jest nowa poprawka dla maszyny wirtualnej firmy Microsoft. Ta poprawka koryguje trzy luki w zabezpieczeniach. Kierunki ataku w przypadku wszystkich luk są prawdopodobnie takie same. Aby wykorzystać te luki, atakujący może utworzyć stronę sieci Web, a następnie udostępnić ją na serwerze lub wysłać jako wiadomość e-mail.

Pierwsza luka jest związana z klasami JDBC (Java Database Connectivity), które mają funkcje zezwalające programom Java na nawiązywanie połączenia i korzystanie z danych z wielu różnych źródeł danych. Dotyczy to zarówno plików prostych, jak i baz danych programu Microsoft SQL Server. Luka wynika z wadliwej konstrukcji procesu weryfikacji przez klasy żądania dotyczącego ładowania i uruchamiania biblioteki DLL na komputerze użytkownika. Procedury kontrolne wykonywane przez klasy umożliwiają upewnienie się, że tylko autoryzowane programy mogą zgłaszać żądania tego typu, jednak procedura kontrolna może być „fałszowana” przez umyślne nieprawidłowe formowanie żądania w określony sposób. Atakujący może więc załadować i uruchomić jakąkolwiek bibliotekę DLL na komputerze użytkownika.

Druga luka również jest związana z klasami JDBC i wynika z faktu, że niektóre funkcje w klasach niepoprawnie sprawdzają dojścia udostępniane jako wejścia. Jedna z metod bezpośredniego wykorzystania tej luki polega na dostarczaniu nieprawidłowych danych zamiast rzeczywistego dojścia podczas wywoływania funkcji tego typu. Firma Microsoft potwierdziła, że ten scenariusz może być przyczyną przerwania działania programu Internet Explorer. Korzystając z tej luki, atakujący może również dostarczać dane umożliwiające uruchomienie kodu źródłowego w kontekście zabezpieczeń użytkownika.

Trzecia luka jest związana z klasą zapewniającą obsługę korzystania ze standardu XML przez programy Java. Ta klasa udostępnia kilka metod. Niektóre z tych metod mogą być używane przez dowolny program, jednak z innych powinny korzystać tylko zaufane programy. Klasa nie różnicuje jednak prawidłowo poszczególnych przypadków i udostępnia wszystkie metody wszystkim programom. Ta luka umożliwia korzystanie z funkcji zezwalających programom na wykonywanie dowolnych operacji na komputerze użytkownika.

Rozwiązanie

Aby rozwiązać ten problem, zainstaluj poprawkę opisaną w następującym artykule z bazy wiedzy Microsoft Knowledge Base:
810030 MS02-069: Usterka w maszynie Microsoft VM może narazić system Windows na atak
Aktualizacja zabezpieczeń 329077 została zastąpiona aktualizacją 810030.

Ta aktualizacja wprowadza następujące zmiany w rejestrze:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{DBB3C81D-3C91-4a1e-BDDF-905B61C7CEDF}
="Security Update for the Microsoft VM"
"ComponentID"="JAVAVM"
"IsInstalled"=hex:01,00,00,00
"KeyFileName"="C:\\WINDOWS\\System32\\msjava.dll"
"Version"="5,00,3807,0"
Uwaga: Niezależnie od numeru wersji wyświetlanego przez program Jview, opisany klucz rejestru powinien być decydującym potwierdzeniem poprawnej instalacji tej poprawki. Plik Msjava.dll pozostanie w wersji 5.00.3805.0000 po zainstalowaniu tej poprawki.

Wersja anglojęzyczna tej poprawki ma atrybuty pliku pokazane w poniższej tabeli (lub nowsze). Daty i godziny ostatniej modyfikacji plików podano zgodnie z czasem UTC (Coordinated Universal Time). Są one zamieniane na czas lokalny po wyświetleniu informacji o pliku. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, skorzystaj z karty Strefa czasowa narzędzia Data i godzina w Panelu sterowania.
   Data         Godzina   Rozmiar   Nazwa pliku
   --------------------------------------------
   18-lut-2002  07:38       2 678   Msjdbc.cer
   21-sie-2002  17:28     137 282   Msjdbc.zip
   16-sie-2002  09:57      10 957   Osp.zip
				
Te pliki zostają umieszczone w folderze %Windir%\Java\Classes. Skompresowane pliki .zip zawierają następujące klasy Java:
   21-sie-2002   17:28   24 824  Jdbcodbc.class
   21-sie-2002   17:28      800  Jdbcodbcboundcol.class
   21-sie-2002   17:28    1 119  Jdbcodbcboundparam.class
   21-sie-2002   17:28      848  Jdbcodbcbusyflag.class
   21-sie-2002   17:28    5 193  Jdbcodbccallablestatement.class
   21-sie-2002   17:28    8 347  Jdbcodbcconnection.class
   21-sie-2002   17:28      447  Jdbcodbcconnectioninterface.class
   21-sie-2002   17:28   28 036  Jdbcodbcdatabasemetadata.class
   21-sie-2002   17:28      710  Jdbcodbcdecimal.class
   21-sie-2002   17:28    6 096  Jdbcodbcdriver.class
   21-sie-2002   17:28      308  Jdbcodbcdriverattribute.class
   21-sie-2002   17:28      415  Jdbcodbcdriverinterface.class
   21-sie-2002   17:28    2 990  Jdbcodbcinputstream.class
   21-sie-2002   17:28      611  Jdbcodbclimits.class
   21-sie-2002   17:28    2 339  Jdbcodbcobject.class
   21-sie-2002   17:28    8 063  Jdbcodbcpreparedstatement.class
   21-sie-2002   17:28      912  Jdbcodbcpseudocol.class
   21-sie-2002   17:28   12 865  Jdbcodbcresultset.class
   21-sie-2002   17:28      615  Jdbcodbcresultsetinterface.class
   21-sie-2002   17:28    5 503  Jdbcodbcresultsetmetadata.class
   21-sie-2002   17:28      523  Jdbcodbcsqlwarning.class
   21-sie-2002   17:28    6 116  Jdbcodbcstatement.class
   21-sie-2002   17:28    1 451  Jdbcodbctimestamp.class
   21-sie-2002   17:28      566  Jdbcodbctypeinfo.class
   21-sie-2002   17:28   13 595  Odbcdef.class
   28-lip-1997   13:15      247  Accessdeniedexception.class
   28-lip-1997   13:15      243  Conversionexception.class
   28-lip-1997   13:15    1 033  Datasource.class
   28-lip-1997   13:15      746  Datasourcelistener.class
   28-lip-1997   13:15      253  Illegalargumentexception.class
   28-lip-1997   13:15      251  Notimplementedexception.class
   28-lip-1997   13:15    1 736  Oledbsimpleprovider.class
   28-lip-1997   13:15    1 123  Oledbsimpleproviderlistener.class
   28-lip-1997   13:15      384  Ospcomp.class
   28-lip-1997   13:15      261  Ospexception.class
   28-lip-1997   13:15      264  Ospfind.class
   28-lip-1997   13:15      304  Ospformat.class
   28-lip-1997   13:15      912  Ospmrshl.class
   28-lip-1997   13:15      286  Osprw.class
   28-lip-1997   13:15      260  Ospxfer.class
   28-lip-1997   13:15      368  __MIDL___MIDL_ITF_SIMPDATA_0000_0001.CLASS
				

Stan

Firma Microsoft potwierdziła, że ten problem może stanowić pewną lukę w zabezpieczeniach maszyny wirtualnej firmy Microsoft.

Więcej informacji

Aby uzyskać więcej informacji na temat tej luki, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://www.microsoft.com/technet/security/bulletin/MS02-052.mspx
http://www.microsoft.com/technet/security/bulletin/MS03-011.mspx

Właściwości

Numer ID artykułu: 329077 - Ostatnia weryfikacja: 3 października 2004 - Weryfikacja: 8.3
Informacje zawarte w tym artykule dotyczą:
  • Maszyna wirtualna dla języka Java firmy Microsoft
  • Maszyna wirtualna dla języka Java firmy Microsoft na następujących platformach
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 2000 Standard Edition
    • Microsoft Windows NT 4.0
    • Microsoft Windows 98 Second Edition
    • Microsoft Windows 98 Standard Edition
Słowa kluczowe: 
kbbug kbfix kbsecvulnerability kbsecurity kbsecbulletin KB329077

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com