Napisał: Patryk Krawaczyński
14/06/2022 w Bezpieczeństwo
W
biologii symbiont to organizm żyjący w symbiozie z innym organizmem (np. bakterie w jelicie grubym u człowieka, bakterie; które trawią celulozę u przeżuwaczy). Symbioza może być obustronnie korzystna dla obu organizmów, ale czasami może być pasożytnicza, gdy jeden organizm zyskuje, a drugi jest uszkadzany. Kilka miesięcy temu zespoły bezpieczeństwa z firmy Intezer oraz BlackBerry odkryły nowe, dobrze maskujące się złośliwe oprogramowanie dla systemu Linux, które działa właśnie w taki pasożytniczy sposób. Tym, co odróżnia Symbiote od innych złośliwych programów dla systemu Linux, z którymi zazwyczaj można się spotkać, jest fakt, że musi zainfekować inne uruchomione procesy, aby wyrządzić szkody zainfekowanym maszynom. Nie jest to samodzielny plik wykonywalny uruchamiany w celu zainfekowania systemu, ale biblioteka obiektów współdzielonych (.so
), która jest ładowana do wszystkich uruchomionych procesów przy użyciu LD_PRELOAD (T1574.006) i pasożytniczo infekuje maszynę. Po zainfekowaniu wszystkich uruchomionych procesów zapewnia aktorowi funkcjonalność rootkita, możliwość zbierania poświadczeń oraz zdalny dostęp.
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
11/05/2022 w Bezpieczeństwo
B
adacze bezpieczeństwa odkryli wysoce inwazyjne, chińskie narzędzie inwigilacyjne wykorzystujące Berkeley Packet Filter (BPF). Złośliwe oprogramowanie, nazwane BPFDoor, może być obecne na “tysiącach” systemów Linux, a jego kontroler pozostał prawie całkowicie niezauważony przez producentów zabezpieczeń punktów końcowych, mimo że jest używany od co najmniej pięciu lat. Jest to już drugi rodzaj złośliwego oprogramowania wykorzystującego BPF w Linuksie do ukrytej inwigilacji, który został ujawniony w tym roku, po odkryciu przez Pangu Lab w lutym 2022 r. backdoora NSA o nazwie Bvp47. Wówczas badacz bezpieczeństwa Kevin Beaumont zasugerował, że BPF (lub rozszerzony BPF – eBPF) jest wykorzystywany przez innych aktorów stanowiących zagrożenie. Beaumont, który wcześniej pracował w firmie Microsoft, ostrzegał wtedy przed konsekwencjami niebezpieczeństwa związanym z wprowadzeniem eBPF na inne platformy poza Linuksem: “Naprawdę, naprawdę mam nadzieję, że Microsoft opracował model zagrożenia, co się stanie z bezpieczeństwem, gdy wprowadzi eBPF do podstawowego systemu operacyjnego” (firma Microsoft w marcu 2021 roku zapowiedziała projekt open source, aby umożliwić działanie eBPF w systemie Windows 10 / Server 2016 i nowszych).
[ czytaj całość… ]
Napisał: Patryk Krawaczyński
22/12/2017 w Bezpieczeństwo
J
ądro Linuksa zbudowane ze wsparciem wywołania systemowego bpf(2)
(CONFIG_BPF_SYSCALL
) podatne jest na uzyskanie dostępu do odczytu i zapisu przestrzeni adresowej jądra. Do błędu może dojść, gdy użytkownik systemu uruchomi szkodliwy program BPF powodujący błędy obliczeń w module weryfikatora (funkcja check_alu_op) Berkeley Packet Filter. Tym samym nieuprawniony użytkownik może wykorzystać tę lukę do eskalacji swoich uprawnień w systemie. Podatne są wersje jądra od 4.9 do 4.14.8. Ograniczenie luki jest możliwe poprzez ustawienie opcji w sysctl:
echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
lub
sysctl -w kernel.unprivileged_bpf_disabled=1
echo kernel.unprivileged_bpf_disabled=1 | \
tee /etc/sysctl.d/90-CVE-2017-16995-CVE-2017-16996.conf
Spowoduje ona zablokowanie dostępu do wywołania bpf()
dla nieuprawnionych użytkowników (ponowne jej wyłączenie wymagać będzie restartu systemu).
Więcej informacji: Unprivileged bpf(), Debian, RedHat/CentOS, Ubuntu
Napisał: Patryk Krawaczyński
07/09/2017 w Administracja
A
naliza wydajności często jest ograniczona przez brak widoczności różnych zjawisk zachodzących w systemie. Obserwacja tych zjawisk pozwala inżynierom systemów łatwo identyfikować elementy, które zawierają ograniczenia i mogą być szybsze. “Najnowszym” narzędziem do obserwacji systemu operacyjnego Linux jest BPF (ang. Berkeley Packet Filter). Został on opracowany w 1992 roku, aby zapewnić sposób filtrowania pakietów sieciowych oraz uniknięcia ich bezużytecznego kopiowania z przestrzeni jądra do użytkownika. Początkowo składał się z prostego kodu bajtowego, który był wstrzykiwany z przestrzeni użytkownika do jądra. Tam był sprawdzany przez weryfikator – w celu uniknięcia krachu jądra lub problemów z bezpieczeństwem – i dołączany do gniazda, a następnie uruchamiany na każdym odebranym pakiecie.
[ czytaj całość… ]
Ostatni komentarz :