Aktualizacje bezpieczeństwa Supermicro IPMI lipiec 2014
Płyty główne Supermicro z funkcjonalnością IPMI wykorzystywane ze starszymi wersjami firmware'u IPMI są dotknięte wieloma lukami bezpieczeństwa.
Thomas Krenn zaleca, jak zwykle to bywa w przypadku kont administracyjnych, na korzystanie z IPMI jedynie pod ochroną firewalla / za pośrednictwem połączeń VPN z proponowanymi tutaj wersjami firmware'u IPMI.
Ogólne informacje dotyczące bezpieczeństwa
Niezależnie od opisanych tu luk bezpieczeństwa zalecamy przeprowadzanie wszystkich aktywności administracyjnych, takich jak zdalny dostęp do modułu zarządzania IPMI oraz usługi SSH jedynie pod ochroną firewalla i za pośrednictwem połączeń VPN.[1]
Płyty główne Supermicro X7/X8/H8/X9/X10 z nowszym firmwarem IPMI opartym o ATEN oferują zintegrowany firewall dla funkcji zdalnej obsługi (vide Korzystanie ze zintegrowanego firewallu IPMI na płytach głównych Supermicro).
Sprzęt, którego dotyczą luki i zalecane wersje firmware'u
Tabela zawiera płyty główne, których dotyczą luki bezpieczeństwa i zalecane przez nas wersje firmware'u:
Firmware IPMI | Płyty główne z portfolio Thomas Krenn | Zalecana wersja firmware'u | Clear text passwords in save_config.bin | NTP Amplification | Unsafe String Functions[2] | Odczyt danych dostępowych w formie tekstu przez UDP port 49152[3] | IPMI Authentication Bypass via Cipher 0[4] |
---|---|---|---|---|---|---|---|
Płyty główne X10 (ASPEED-ATEN) |
|
1.42 lub wyższa (SMT_X10_142.bin) |
przed 1.42[t 1] | przed 1.30[5] | przed 1.24 | brak luki[t 2] | brak luki[t 2] |
Płyty główne X9 (Nuvoton-ATEN) |
|
3.28 lub wyższa (SMT_X9_328.bin) |
przed 3.28 | przed 3.20[6][7] | przed 3.17/3.15 | przed 3.15[t 3] | przed 1.58 |
Płyty główne X7/X8/H8 (Nuvoton-ATEN) |
3.15 lub wyższa (SMT_315.bin) |
przed 3.15[t 4] | przed 3.13[8] | przed 3.12 | przed 3.10[t 5] | przed 2.50 | |
Płyty główne X9 (Renesas) |
|
2.16 lub wyższa (SMM_X9_2.16.0.ima) |
brak luki | brak luki | brak luki | brak luki | przed 2.16 |
Płyty główne X8 (Nuvoton-AMI) |
2.20 lub wyższa (X8..._220.ima - image jest zależny od płyty głównej) |
brak luki[t 6] | brak luki[t 7] | brak luki | brak luki[t 7] | przed 2.20 | |
Płyty główne X7/H8 (AOC-SIM1U+/AOC-SIMSO+) |
|
1.66 lub wyższa | brak luki | brak luki | brak luki | brak luki | przed 1.66 |
Testy:
- ↑ W naszych testach wersja firmware'u 1.26 posiada lukę, wersja 1.42 już nie.
- ↑ 2,0 2,1 Testy z wersjami firmware'u 1.26 i 1.42.
- ↑ W naszych testach z wersja firmware'u 3.15 luka nie mogła już zostać wykorzystana.
- ↑ W naszych testach wersje firmware'u 2.66 (testy z X7SPE-HF), 3.10 i 3.14 (testy z H8SCM-F) posiadają lukę, wersja 3.15 już nie zawiera luki.
- ↑ W naszych testach wersja firmware'u 2.66 (testy z X7SPE-HF) zawiera lukę, firmware 3.10 już nie zawiera luki (testy z H8SCM-F).
- ↑ Ten firmware nie posiada funkcji Save-Config.
- ↑ 7,0 7,1 Testy z wersją firmware'u 2.08 (X8DT3_208.ima).
Aktualizacja firmware'u IPMI
Image firmware'u poszczególnych serwerów znajduje się w Downloads.
Instrukcja aktualizacji firmware'u IPMI znajduje się w następujących artykułach:
- Aktualizacja firmware'u modułu IPMI na płycie głównej Supermicro z oprogramowaniem ATEN
- Aktualizacja firmware'u modułu IPMI na płycie głównej Supermicro z oprogramowaniem AMI
Uwaga: Aby luka została zamknięta i podczas aktualizacji firmware'u IPMI została zachowana konfiguracja (wybór opcji Preserve Configuration - (Unckecking this option will restore the factory default setting of BMC)) to konfiguracja NTP w interfejsie webowym musi zostać ponownie zapisana. Jeżeli konfiguracja nie zostanie zachowana to przywrócone zostają ustawienia domyślne. Adres IP jak i inne ustawienia muszą zostać ponownie skonfigurowane, np. za pośrednictwem ipmicfg, BIOS lub innych narzędzi - vide Konfiguracja IPMI w systemach Supermicro (wyjątek: podczas aktualizacji firmware'u na płycie głównej X10SLH-F do wersji 1.42 konfiguracja IP pozostaje zachowana).
Informacje o lukach bezpieczeństwa
Poniżej znajdują się szczegółowe informacje o lukach bezpieczeństwa.
Clear text passwords in save_config.bin
Z kopii konfiguracji IPMI (save_config.bin) można wyodrębnić dane dostępowe, które są zapisane w postaci zwykłego tekstu. Konfiguracja IPMI jest wprawdzie zaszyfrowana lecz klucz może zostać odczytany z pliku firmware'u IPMI.[9]
W następujący sposób możliwy jest odczyt danych dostepowych:
~/tmp/ipmi$ binwalk SMT_X9_315.bin
~/tmp/ipmi$ dd if=SMT_X9_315.bin bs=1 skip=1572864 count=8372224 of=cramfs1
~/tmp/ipmi$ dd if=SMT_X9_315.bin bs=1 skip=12058624 count=1945600 of=cramfs2
~/tmp/ipmi$ sudo mount -o loop -t cramfs cramfs1 mnt1
~/tmp/ipmi$ strings mnt1/bin/ipmi_conf_backup_tool | grep -A 1 -B 1 -m 1 openssl
CKSAM1SUCKSAM1SUASMUCIKSASMUCIKS
~/tmp/ipmi$ openssl aes-256-cbc -d -in save_config.bin -out backup.bin.dec -k CKSAM1SUCKSAM1SUASMUCIKSASMUCIKS
~/tmp/ipmi$ dd skip=6 bs=1 status=none if=backup.bin.dec of=backup.tar.gz
~/tmp/ipmi$ tar xzf backup.tar.gz
~/tmp/ipmi$ ack-grep -i passwd preserve_config
preserve_config/ps.xml
5: <User num="0" enable="01" PasswdSize="00" Name="" Passwd="admin"
ChannelAccess="00000000000000000000000000000000" PrivilegeChange="00">
9: <User num="1" enable="01" PasswdSize="00" Name="ADMIN" Passwd="**********"
ChannelAccess="00540054000000000000000000000000" PrivilegeChange="00">
Skutki
Intruz z dostępem do kopii konfiguracji może odczytać dane dostępowe. W ten sposób wprawdzie szyfrowany plik konfiguracji nie gwarantuje skutecznej ochrony.
Środki zaradcze
Możliwe środki zaradcze:
- Update firmware'u do zalecanej wersji.
- Bezpieczne przechowywanie kopii konfiguracji. Kopie zapasowe konfiguracji mogą być tworzone tylko przez użytkowników z uprawnieniami administratora IPMI.
NTP Amplification
Serwer NTP ze wsparciem monlist
może zostać wykorzystany do wysłania większej ilości odpowiedzi (responses) na jedno zapytanie (request).[10] Funkcja monlist
serwera NTP dostarcza przy tym do 600 wpisów z adresami IP, z którymi serwer NTP współdziałał. Ta ilość danych może zostać skierowana przez IP Spoofing[11] do wybranego serwera.[12] W ten sposób tak zwane NTP Amplification Attacks mogą zostać wykorzystane do ataku Denial of Server (Dos).
Komendą ntpdc z komputera z systemem Linux może zostać sprawdzone , czy wybrany serwer (w tym przykładzie 192.0.2.1) wspiera funkcję monlist
:
$ ntpdc -n -c monlist 192.0.2.1 remote address port local address count m ver rstr avgint lstint =============================================================================== 192.0.2.2 40506 192.0.2.5 1 7 2 0 0 0
Przy wyłączonej monlist
wyświetlany jest następujący tekst:
$ ntpdc -n -c monlist 192.0.2.1 ***Server reports data not found
Przy wyłączonym NTP wyświetlany jest następujący tekst:
$ ntpdc -n -c monlist 192.0.2.1 ntpdc: read: Connection refused
Skutki
Napastnik może wykonać przez fałszywe zapytania wysłane do serwera NTP, z włączoną funkcją monlist
, atak DoS na innym hoście.
Środki zaradcze
Możliwe środki zaradcze:
- Update firmware'u do zalecanej wersji. Jeżeli podczas aktualizacji konfiguracja IPMI zostanie zachowana to należy ponownie zapisać konfigurację NTP (w interfejsie webowym pod Configuration -> Date & Time) (w ten sposób monlist zostanie wyłączona).
- Wyłączenie NTP (w interfejsie webowym pod Configuration -> Date & Time wybrać opcje NTP Disable i następnie zapisać ustawienia).
Unsafe String Functions
Wiele skryptów CGI może zostać wykorzystane przez niebezpieczne funkcje string do ataku Buffer Overflow.
Skutki
Po pomyślnym wykorzystaniu mogą zostać wykonane komendy z uprawnieniami root.[13][14]
Środki zaradcze
Możliwe środki zaradcze:
- Update firmware'u do zalecanej wersji.
Odczyt danych dostępowych w formie tekstu przez UDP port 49152
Starsze wersje firmware'u IPMI pozwalają na odczyt danych dostępowych IPMI przez UDP port 49152.[15][16]
Skutki
Napastnik z dostępem do sieci może uzyskać przez adres IP modułu IPMI i port UDP 49152 w połączeniu z zapytaniem GET /PSBlock
dane dostępowe do modułu IPMI.
Środki zaradcze
Możliwe środki zaradcze:
- Update firmware'u do zalecanej wersji.
IPMI Authentication Bypass via Cipher 0
Poważny błąd w specyfikacji IPMI 2.0 (Cipher Type 0) umożliwia uwierzytelnienie za pośrednictwem dowolnego hasła.[17]
Czy Cipher 0 jest obecne w interfejsie IPMI wskazuje następująca komenda:
$ ipmitool -H 192.0.2.1 -U ADMIN -P ***** lan print|grep 'Cipher Suites' RMCP+ Cipher Suites : 1,2,3,6,7,8,11,12,0
Jeżeli przy RMCP+ jest 0 to Cipher 0 może zostać wykorzystany. Uwierzytelnienie jest omijane - może zostać podane dowolne hasło:
$ ipmitool -I lanplus -C 0 -H 192.0.2.1 -U ADMIN -P FluffyWabbit user list ID Name Callin Link Auth IPMI Msg Channel Priv Limit 2 ADMIN false false true ADMINISTRATOR 3 monitor true true true USER [...]
Skutki
Napastnik może się uwierzytelnić jako administrator IPMI dowolnym hasłem.
Środki zaradcze
Możliwe środki zaradcze:
- Update firmware'u do zalecanej wersji.
Odnośniki
- ↑ Best Practices for managing servers with IPMI features enabled in Datacenters (www.supermicro.com)
- ↑ Firmware Fixes to Common Vulnerabilities and Exposures (www.supermicro.com)
- ↑ Supermicro motherboards with clear text passwords are found. What are the recommended F/W patches? (Supermicro FAQ 18897, 24.06.2014)
- ↑ I read an article where Supermicro BMC (IPMI) security can be breached through UPnP and through Cipher 0 mechanisms. How do I avoid such issues? (Supermicro FAQ 16536, 08.07.2013)
- ↑ We have received complaints of our SM IPMI cards being used for NTP DOS attacks. (Supermicro FAQ 17997, 03.02.2014)
- ↑ I have one of the Supermicro X9 motherboards. IPMI BMCs that have NTP enabled are being abused for NTP amplification DDoS attacks. Is there a fix for this? (Supermicro FAQ 17843, 14.01.2014)
- ↑ According to recent NTP Amplification Attacks, I found that firmware of motherboards X9SCA-F is vulnerable. (Supermicro FAQ 17908, 14.01.2014)
- ↑ I was alerted to the fact that the IP assigned to the IPMI of the X7SPE-HF-D525 was vulnerable. (Supermicro FAQ 18000, 03.02.2014)
- ↑ Securing SuperMicro’s IPMI with OpenVPN (michael.stapelberg.de)
- ↑ Technical Details Behind a 400Gbps NTP Amplification DDoS Attack (blog.cloudflare.com)
- ↑ IP spoofing (pl.wikipedia.org)
- ↑ NTP Amplification Attacks Using CVE-2013-5211 (us-cert.gov)
- ↑ Supermicro IPMI Firmware Vulnerabilities (community.rapid7.com)
- ↑ Exploiting the Supermicro Onboard IPMI Controller (community.rapid7.com)
- ↑ CARISIRT: Yet Another BMC Vulnerability (And some added extras) (blog.cari.net, 19.06.2014)
- ↑ Supermicro Motherboards IPMI Interface Discloses Passwords to Remote Users (securitytracker.com Alert ID 1030453, 20.06.2014)
- ↑ The Infamous Cipher 0 (fish2.com)
Autor: Georg Schönberger
Autor: Werner Fischer