FreeBSD-SA-05:09.htt Security Advisory
The FreeBSD Project
Temat: Ujawnienie informacji podczas używania HTT
Kategoria: core
Moduł: sys
Ogłoszono: 2005-05-13
Poprawiono: 2005-05-13
Podziękowania: Colin Percival
Podatne wersje: Wszystkie wydania FreeBSD/i386 i FreeBSD/amd64.
Poprawiono: 2005-05-13 00:13:00 UTC (RELENG_5, 5.4-STABLE)
2005-05-13 00:13:00 UTC (RELENG_5_4, 5.4-RELEASE-p1)
2005-05-13 00:13:00 UTC (RELENG_5_3, 5.3-RELEASE-p15)
2005-05-13 00:13:00 UTC (RELENG_4, 4.11-STABLE)
2005-05-13 00:13:00 UTC (RELENG_4_11, 4.11-RELEASE-p9)
2005-05-13 00:13:00 UTC (RELENG_4_10, 4.10-RELEASE-p14)
Nazwa CVE: CAN-2005-0109 Dla pogłębienia informacji dotyczącej Ogłoszeń Bezpieczeństwa FreeBSD, włączając opisy pól powyżej, gałęzi bezpieczeństwa oraz poniższych sekcji proszę odwiedzić: [URL:http://www.freebsd.org/security/] 0. Przegląd historii v.1.0 2005-05-13 Pierwsze wydanie v.1.0 2005-05-13 Dodanie szczegółów I. Podstawy Współdzielenie zasobów procesora pomiedzy kilkoma wykonywaniami wątkami określa sie jako "symultanicznej wielowąkowości". "Hyper-Threading Technology" lub jak kto woli HTT jest nazwą używaną do implementacji symultanicznej wielowątkowości na platformie Intel Pentium 4 , Mobile Pentium 4 oraz procesorów Xeon. HTT umożliwia współdzielenia zasobów procesora pomiedzy kilkoma wątkami, włączając cache pamieci. FreeBSD wspiera HTT przy wkompilowanej opcji SMP w kernel. II. Opis problemu Podczas wspierania HTT przez system, specjalnie spreparowany wątek może monitorowac wykonywanie innego. NOTA: Podobny problem występuje w innych implementacjach symultanicznej wielowątkowości, lub nawet w niektórych systemach z brakiem jej. Jednakże, obecny przegląd jest przykładem dla systemów posiadających i wspierających HTT, gdzie współdzielenie pamieci cachowanej jest wykorzystywane. III. Wpływ Informacja może dostać ujawniona dla lokalnych uzytkowników, umożliwiając w wielu przypadkach eskalacje uprawnień. Na przyklad, jest możliwość kradzieży kluczy kryptograficznych używanych w aplikacjach takich jak OpenSSH lub z włączonym SSL w serwisach www. IV. Obejście Systemy które nie używają wsparcia dla procesorów z HTT nie są podatne. W systemach które są podatne, wada w bezpieczeństwie może zostać usunięta poprzez skonfigurowanie "machdep.hlt_logical_cpus". # echo "machdep.hlt_logical_cpus=1" >> /boot/loader.conf System po tym zabiegu powinien zostać ponownie uruchomiony. Uzycie tego sposobu nie jest polecany dla systemów "dual-core", jak również sposób ten dezaktywuje jeden z rdzeni procesorów. V. Rozwiązanie Wyłączyć HTT na procesorach wspierających. NOTA: W przyszłości, w pracach przy rozwoju kryptograficznych bibliotekach oraz programów szeregujących, rozwiąże to problem wielu lub wiekszości użytkowników, bez konieczności dezaktywowania HTT. Wykonać jedno z poniższych: 1) Uaktualnić wadliwy system do 4-STABLE lub 5-STABLE, lub do RELENG_5_4, RELENG_5_3, RELENG_4_11 lub RELENG_4_10 z danej gałęzi bezpieczeństwa wydanej po dacie poprawki 2) Aby załatać obecny system: Poniższe poprawki zostały sprawdzone w działaniu z FreeBSD 4.10, 4.11, 5.3 i 5.4. a) Pobrać odpowiednią łatkę z lokalizacji podanych poniżej. Sprawdzić podpis PGP, narzędziem jakie posiadasz. [FreeBSD 4.10] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:09/htt410.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:09/htt410.patch.asc [FreeBSD 4.11] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:09/htt411.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:09/htt411.patch.asc [FreeBSD 5.x] # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:09/htt5.patch # fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:09/htt5.patch.asc b) Wykonać będąc zalogowanym jako root: # cd /usr/src # patch < /path/to/patch c) Przebudować cały system jak opisano w dokumentacji na stronie: <URL:http://www.freebsd.org/doc/handbook/makeworld.html> VI. Szczegóły poprawki Poniższa lista zawiera numery poszczególnych wersji plików które zostały poprawione. Gałąź
Ścieżka Zmiany - -------------------------------------------------------------------------
RELENG_4
src/sys/i386/i386/mp_machdep.c 1.115.2.23
src/sys/i386/include/cpufunc.h 1.96.2.4
RELENG_4_11
src/UPDATING 1.73.2.91.2.10
src/sys/conf/newvers.sh 1.44.2.39.2.13
src/sys/i386/i386/mp_machdep.c 1.115.2.22.2.1
src/sys/i386/include/cpufunc.h 1.96.2.3.12.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.15
src/sys/conf/newvers.sh 1.44.2.34.2.16
src/sys/i386/i386/mp_machdep.c 1.115.2.20.2.1
src/sys/i386/include/cpufunc.h 1.96.2.3.10.1
RELENG_5
src/sys/amd64/amd64/mp_machdep.c 1.242.2.11
src/sys/amd64/include/cpufunc.h 1.145.2.1
src/sys/i386/i386/mp_machdep.c 1.235.2.10
src/sys/i386/include/cpufunc.h 1.142.2.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.10
src/sys/amd64/amd64/mp_machdep.c 1.242.2.7.2.4
src/sys/amd64/include/cpufunc.h 1.145.6.1
src/sys/conf/newvers.sh 1.62.2.18.2.6
src/sys/i386/i386/mp_machdep.c 1.235.2.6.2.3
src/sys/i386/include/cpufunc.h 1.142.6.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.18
src/sys/amd64/amd64/mp_machdep.c 1.242.2.2.2.2
src/sys/amd64/include/cpufunc.h 1.145.4.1
src/sys/conf/newvers.sh 1.62.2.15.2.20
src/sys/i386/i386/mp_machdep.c 1.235.2.3.2.2
src/sys/i386/include/cpufunc.h 1.142.4.1
- ------------------------------------------------------------------------- VII. Odnośniki http://www.daemonology.net/hyperthreading-considered-harmful/ Najnowsza wersja jest dostępna pod adresem: ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:09.htt.asc -----BEGIN PGP SIGNATURE----- iD8DBQFChJA4FdaIBMps37IRAo8nAJ9w7xtIF0atnxiKDhFOpBXEZQDtZQCghWdM qc5lGST7l+iJEYN/7zTNUPY= =WqEa -----END PGP SIGNATURE-----
|