Wpływ poprawek Meltdown i Spectre na wydajność systemu Smallworld

Meltdown Spectre GE Smallworld GIS

Na początku bieżącego roku światło dzienne ujrzała informacja na temat krytycznych podatności odkrytych w większości procesorów architektury x86. Znalezione błędy mają poważne konsekwencje dla bezpieczeństwa naszych danych, jednakże obecnie są już dostępne poprawki usuwające te problemy. Aby mieć pełny obraz sytuacji, postanowiliśmy sprawdzić, jak instalacja odpowiednich łat wpływa na system GE Smallworld GIS.

Na czym polega problem

Jak dotąd istnieją trzy znane odmiany ataków wykorzystujące odkryte podatności. Są to:

  1. Speculative execution permission faults handling (CVE-2017-5754) – „Meltdown”
  2. Speculative execution bounds-check bypass (CVE-2017-5753) – „Spectre”
  3. Speculative execution branch target injection (CVE-2017-5715) – „Spectre”

Pierwsza z podatności („Meltdown”) powoduje, że nieuprzywilejowany proces (np. działający na koncie zwykłego użytkownika) może odczytać zawartość całej pamięci systemowej, w tym m.in. poufne dane, hasła i inne obszary, do których nie powinien mieć dostępu. Ten atak powiedzie się na prawie wszystkich procesorach Intela wyprodukowanych po 1995 roku, a zatem problem z bezpieczeństwem danych dotyczy nie tylko serwerów, ale również i zwykłych komputerów osobistych i laptopów.

Dwie pozostałe podatności (nazwane „Spectre”) pozwalają dowolnemu procesowi na odczytywanie pamięci innych procesów (ale nie danych kernela systemu operacyjnego) i wykradanie z nich danych. Wrażliwe na atak są tu już nie tylko procesory Intela, ale także AMD oraz ARM (stosowane np. w smartfonach).

Szczegółowe informacje na temat problemu można znaleźć tutaj oraz tutaj.

W chwili obecnej są już dostępne pierwsze wersje poprawek usuwających powyższe podatności – zarówno dla systemów Windows, jak i Linux. Można by pomyśleć, że to zamyka sprawę, ale… większość doniesień na temat Meltdown i Spectre zawierała informację o zauważalnym obniżeniu wydajności systemu po instalacji wymaganych poprawek bezpieczeństwa (ostatnio pojawiła się też informacja, że łaty mogą wręcz zawieszać niektóre systemy).

Co to wszystko oznacza dla użytkowników systemu Smallworld

Wobec powyższych kwestii postanowiliśmy sprawdzić, jak instalacja poprawek wpływa na komputer z zainstalowanym serwerem bazodanowym Smallworld 4.3 TSB 9.

Zdecydowaliśmy się na przeprowadzenie ograniczonych testów wydajnościowych z użyciem prostej architektury testowanego systemu. Testy przeprowadziliśmy na komputerze pracującym pod kontrolą Windows 10 Professional 1709 o następującej konfiguracji sprzętowej:

  • procesor Intel i7-7700 3,6 GHZ (4 rdzenie/8 wątków)
  • pamięć RAM 16 GB DDR4
  • dysk NVMe 256 GB.

Na komputerze zainstalowaliśmy Smallworld Core w wersji 4.3 z najnowszą aktualizacją TSB 9. Do testów wykorzystaliśmy bazę demonstracyjną Cambridge dostarczaną razem z produktem. W pierwszej kolejności sprawdziliśmy wydajność SWMFS na systemie bez poprawek Meltdown/Spectre w scenariuszach:

  • średnia z trzech pomiarów czasu trwania pełnego backupu bazy Cambridge
  • średnia z trzech pomiarów czasu testu syntetycznego odczytu i zapisu narzędziem swmfs_test (1000000 bloków).

Wynik testów

Średni czas trwania backupu bazy Cambridge dla systemu z podatnościami wyniósł 5 minut i 20 sekund, natomiast po instalacji poprawki BIOS oraz zbiorczej poprawki Windows średni czas trwania backup’u wydłużył się do 5 minut i 55 sekund.

Zaobserwowany spadek wydajności dla backupów wyniósł ok. 10%.

W przypadku testów syntetycznych za pomocą narzędzia swmfs_test (odczyt i zapis 1000000 bloków) wyniki przedstawiają się następująco:

  • czas trwania testu dla systemu z podatnościami to 66,03 sekund
  • czas trwania testu dla systemu z poprawkami M/S to 87,68 sekund (spadek wydajności ok. 25%).

Dodajmy, że testy syntetyczne to testowanie wybranej funkcji wykonywane w sposób masowy, symulujący zachowanie serwera przy ekstremalnym obciążaniu. Nie przekłada się to bezpośrednio na wydajność rzeczywistych operacji, jak na przykład wstawiania i wyszukiwania obiektów w bazie Smallworld. Oznacza to, że spadek wydajność o 25% to skrajny przypadek, który w rzeczywistych warunkach raczej nie będzie obserwowany.

Trzeba też zaznaczyć, że przyczyna spadku wydajności nie leży po stronie systemu Smallworld, a jest wynikiem jedynie implementacji poprawek systemowych po prostu blokujących niektóre operacje w procesorach.

Co można zrobić?

W realnym przypadku w kontekście aplikacji Smallworld należy spodziewać się spadku wydajności od kilku do nawet 25% (w zależności od wykonywanej operacji). Poprawki programowe przygotowane przez dostawców systemów operacyjnych nieuchronnie prowadzą do wydłużenia czasu trwania niektórych operacji, a zarazem obniżenia ogólnej wydajności serwerów i stacji roboczych.

Skutecznym sposobem na złagodzenie tej sytuacji jest optymalizacja systemu Smallworld na innych polach, w celu zrównoważenia spadku wydajności spowodowanego instalacją poprawek. Tutaj mogą pomóc nasi konsultanci, którzy wykonają audyt wydajności i w razie potrzeby pomogą wdrożyć jego zalecenia. Sama implementacja poprawek nie jest obecnie sprawą tak prostą, jak mogłoby się wydawać, dlatego chętnie wykonamy także:

  • analizę ryzyka podatności Meltdown i Spectre (w niektórych przypadkach instalacja poprawek może nie być konieczna lub wręcz niezalecana)
  • analizę wpływu instalacji łat na wydajność konkretnego środowiska
  • instalację poprawek zarówno na systemie Windows, jak i Linux
  • monitorowanie aktualizacji poprawek i instalacja nowych wersji łat, które mogą obniżyć spadek wydajności.

Jeżeli zajdzie taka potrzeba, służymy wiedzą i doświadczeniem naszych specjalistów, którzy mogą również pomóc w doborze architektury nowego środowiska i w przeniesieniu istniejącego systemu na nowy sprzęt.

Chcesz wiedzieć więcej? SKONTAKTUJ SIĘ Z NAMI