Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

Uświadomienie sobie, że wektor ataku działa w twojej sieci tuż pod twoim nosem, może być szokujące. Odegrałeś swoją rolę, wdrażając coś, co wydawało się skutecznym zabezpieczeniem, ale atakującemu i tak udało się je ominąć. Jak to było możliwe?

Mogli wdrożyć iniekcję procesów, umieszczając złośliwe kody w legalnych procesach. Jak działa proces iniekcji i jak można temu zapobiec?

Co to jest wtrysk procesowy?

Wstrzyknięcie procesu to proces, w którym osoba atakująca wstrzykuje złośliwe kody do legalnego i działającego procesu w sieci. Powszechne w przypadku ataków złośliwego oprogramowania, umożliwia cyberprzestępcom infekowanie systemów w najbardziej niepozorny sposób. Zaawansowana technika cyberataku, intruz wprowadza złośliwe oprogramowanie do ważnych procesów i korzysta z przywilejów tych procesów.

Jak działa wtrysk procesowy?

Najskuteczniejsze rodzaje ataków to te, które mogą działać w tle bez wzbudzania podejrzeń. Zwykle można wykryć zagrożenie złośliwym oprogramowaniem, opisując i badając wszystkie procesy w sieci. Jednak wykrycie wstrzyknięcia procesu nie jest takie łatwe, ponieważ kody ukrywają się w cieniu legalnych procesów.

Ponieważ umieściłeś swoje autoryzowane procesy na białej liście, Twoje systemy wykrywania będą certyfikować je jako ważne bez żadnych wskazówek, że coś jest nie tak. Wstrzykiwane procesy omijają również kryminalistykę dysku, ponieważ złośliwe kody działają w pamięci legalnego procesu.

Atakujący wykorzystuje niewidzialność kodów, aby uzyskać dostęp do wszystkich aspektów Twojej sieci, do których mają dostęp legalne procesy, pod którymi się ukrywa. Obejmuje to pewne uprawnienia administracyjne, których nie przyznałbyś nikomu.

Chociaż wstrzykiwanie procesów może łatwo pozostać niezauważone, zaawansowane systemy bezpieczeństwa mogą je wykryć. Tak więc cyberprzestępcy podnoszą poprzeczkę, wykonując je w najbardziej niepozorny sposób, który takie systemy przeoczą. Używają podstawowych procesów systemu Windows, takich jak cmd.exe, msbuild.exe, explorer.exe itp. do przeprowadzania takich ataków.

3 techniki wtrysku procesowego

Istnieją różne techniki wtrysku procesowego do różnych celów. Ponieważ cyberprzestępcy mają dużą wiedzę na temat różnych systemów i ich poziomu bezpieczeństwa, wdrażają najbardziej odpowiednią technikę, aby zwiększyć ich skuteczność. Przyjrzyjmy się niektórym z nich.

1. Wstrzykiwanie DLL

Wstrzykiwanie DLL (Dynamic Link Library) to technika wstrzykiwania procesu, w której haker używa pliku bibliotekę dołączaną dynamicznie, aby wpłynąć na wykonywalny proces, zmuszając go do zachowania się w sposób, którego nie zamierzałeś lub nie oczekiwać.

Atak polega na wstrzyknięciu kodu z zamiarem zastąpienia oryginalnego kodu w systemie i kontrolowania go zdalnie.

Kompatybilny z kilkoma programami, wstrzykiwanie DLL pozwala programom na wielokrotne użycie kodu bez utraty ważności. Aby proces wstrzykiwania DLL zakończył się powodzeniem, złośliwe oprogramowanie musi zawierać dane zanieczyszczonego pliku DLL w Twojej sieci.

2. Wtrysk PE

Przenośne wykonanie (PE) to metoda wstrzykiwania procesu, w której osoba atakująca infekuje prawidłowy i aktywny proces w sieci za pomocą szkodliwego obrazu PE. Jest prostszy niż inne techniki wstrzykiwania procesów, ponieważ nie wymaga umiejętności kodowania w powłoce. Atakujący mogą łatwo napisać kod PE w podstawowym C++.

Wtrysk PE jest bezdyskowy. Złośliwe oprogramowanie nie musi kopiować swoich danych na żaden dysk przed rozpoczęciem wstrzykiwania.

3. Holowanie procesu

Process Hollowing to technika wstrzykiwania procesów, w której zamiast wykorzystywać istniejący legalny proces, atakujący tworzy nowy proces, ale infekuje go złośliwym kodem. Atakujący rozwija nowy proces jako plik svchost.exe lub notatnik. W ten sposób nie uznasz tego za podejrzane, nawet jeśli znajdziesz je na liście procesów.

Nowy złośliwy proces nie uruchamia się natychmiast. Cyberprzestępca dezaktywuje go, łączy z legalnym procesem i tworzy dla niego miejsce w pamięci systemu.

Jak zapobiegać iniekcji procesu?

Wstrzyknięcie procesu może zniszczyć całą sieć, ponieważ osoba atakująca może mieć najwyższy poziom dostępu. Znacznie ułatwiasz im pracę, jeśli wstrzykiwane procesy są wtajemniczone w Twoje najcenniejsze aktywa. Jest to jeden z ataków, któremu musisz zapobiegać, jeśli nie chcesz stracić kontroli nad swoim systemem.

Oto niektóre z najskuteczniejszych sposobów zapobiegania wstrzykiwaniu procesu.

1. Zastosuj białą listę

Biała lista to proces wyświetlanie zestawu aplikacji które mogą dostać się do Twojej sieci na podstawie Twojej oceny bezpieczeństwa. Musiałeś uznać elementy na białej liście za nieszkodliwe i jeśli ruch przychodzący nie mieści się w zasięgu białej listy, nie mogą one przejść.

Aby zapobiec wstrzykiwaniu procesów za pomocą białej listy, musisz również dodać dane wprowadzane przez użytkownika do białej listy. Musi istnieć zestaw danych wejściowych, które mogą przejść przez kontrolę bezpieczeństwa. Tak więc, jeśli atakujący wprowadzi jakiekolwiek dane spoza Twojej jurysdykcji, system je zablokuje.

2. Monitoruj procesy

O ile wstrzyknięcie procesu może ominąć niektóre kontrole bezpieczeństwa, można to odwrócić, zwracając baczną uwagę na zachowanie procesu. Aby to zrobić, musisz najpierw nakreślić oczekiwaną wydajność konkretnego procesu, a następnie porównać ją z jego obecną wydajnością.

Obecność złośliwych kodów w procesie spowoduje pewne zmiany, bez względu na to, jak niewielkie mogą one być dla procesu. Zwykle przeoczyłbyś te zmiany, ponieważ są one nieistotne. Ale kiedy chcesz odkryć różnice między oczekiwaną wydajnością a bieżącą wydajnością poprzez monitorowanie procesu, zauważysz anomalię.

3. Zakoduj dane wyjściowe

Cyberprzestępcy często używają Cross-Site Scripting (XSS) do wstrzykiwania niebezpiecznych kody w iniekcji procesu. Kody te zamieniają się w skrypty działające w tle Twojej sieci bez Twojej wiedzy. Możesz temu zapobiec, sprawdzając i usuwając wszystkie podejrzane dane wejściowe. Z kolei będą one wyświetlane jako dane, a nie złośliwe kody zgodnie z zamierzeniami.

Kodowanie danych wyjściowych działa najlepiej z kodowaniem HTML — techniką umożliwiającą kodowanie zmiennych danych wyjściowych. Identyfikujesz niektóre znaki specjalne i zastępujesz je alternatywami.

Zapobiegaj wstrzykiwaniu procesów dzięki bezpieczeństwu opartemu na inteligencji

Wstrzyknięcie procesu tworzy zasłonę dymną, która ukrywa złośliwe kody w prawidłowym i operacyjnym procesie. To, co widzisz, nie jest tym, co dostajesz. Atakujący rozumieją skuteczność tej techniki i stale wykorzystują ją do wykorzystywania użytkowników.

Aby walczyć z iniekcjami procesów, musisz przechytrzyć atakującego, nie będąc tak oczywistym ze swoimi mechanizmami obronnymi. Wdrażaj środki bezpieczeństwa, które będą niewidoczne na powierzchni. Będą myśleć, że się tobą bawią, ale bez ich wiedzy to ty nimi grasz.