NFsec Logo

io_uring jako kolejne wejście dla szkodliwego oprogramowania

21/08/2025 (3 tygodnie temu) w Bezpieczeństwo Możliwość komentowania io_uring jako kolejne wejście dla szkodliwego oprogramowania została wyłączona

I

o_uring jest stosunkowo nowym (wprowadzonym w marcu 2019 roku do jądra 5.1), wysoce wydajnym interfejsem do asynchronicznych operacji wejścia / wyjścia (I/O). Stał się odpowiedzią na brak dobrej i łatwej obsługi wielu jednoczesnych operacji I/O w systemie Linux. Jego zaletą jest możliwość pominięcia „kosztownych” wywołań systemowych (ang. syscalls). Zamiast tradycyjnego modelu, w którym aplikacja musi ciągle „pytać” jądro systemu o status swoich operacji (np. odczyt pliku) io_uring używa dwóch współdzielonych buforów pierścieniowych (stąd jego nazwa). Pierwszy z nich: Submission Queue (SQ) – to kolejka, do której aplikacja wrzuca zadania do wykonania przez jądro. Druga: Completion Queue (CQ) – to kolejna, w której jądro umieszcza wyniki zakończonych zadań. Dzięki temu aplikacja może wysłać całą serię zadań naraz i zostać poinformowana o ich zakończeniu, minimalizując kosztowne przełączanie kontekstu między trybem użytkownika (ang. user space), a trybem jądra (ang. kernel space).
[ czytaj całość… ]

Obchodzenie flagi montowania noexec za pomocą ddexec

27/01/2025 w Bezpieczeństwo Możliwość komentowania Obchodzenie flagi montowania noexec za pomocą ddexec została wyłączona

W

systemie Linux wszystko jest plikiem. W celu uruchomienia programu w tym systemie musi on istnieć jako plik i być dostępny w jakiś sposób przez hierarchię systemu plików (tak właśnie działa execve() wykonując program, do którego odnosi się ścieżka dostępu). Plik ten może znajdować się na dysku lub w pamięci (tmpfs), ale nadal potrzebujemy ścieżki do pliku. Dzięki temu bardzo łatwo jest kontrolować, co jest uruchamiane w systemie Linux i ułatwia to wykrywanie zagrożeń oraz narzędzi atakujących. Pomaga to też w nakładaniu opowiednich praw dostępu i polityk kontroli dostępu zapobiegając nieuprzywilejowanym użytkownikom umieszczać i wykonywać pliki gdziekolwiek. Jednak technika użyta w DDexec nie uruchamia nowego procesu w danej ścieżce, ale przejmuje już istniejący.
[ czytaj całość… ]

Procmon dla Linuksa

11/05/2021 w Administracja Możliwość komentowania Procmon dla Linuksa została wyłączona

K

iedyś zestaw narzędzi dla Microsoft Windows znany pod nazwą SysInternals był przeznaczony tylko dla tego systemu operacyjnego. Od jakiegoś czasu narzędzie do monitorowania procesów o nazwie Process Monitor (znane również jako procmon) jest dostępne dla systemu Linux. Osoby, które chociaż raz pracowały z tym narzędziem na systemie okienek wiedzą, że jest to wygodne narzędzie do przeglądania aktywności wywołań systemowych w czasie rzeczywistym.

Proces instalacji ogranicza się do zarejestrowania repozytorium Microsoftu:

wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

Oraz wrzuceniu odpowiedniej paczki do systemu:

sudo apt-get update
sudo apt-get install procmon

Samo polecenie interfejsem graficznym przypomina htop. Uruchomienie śledzenia wszystkich procesów i wywołań systemowych w systemie można osiągnąć poprzez uruchomienie:

sudo procmon

Jeśli chcemy na przykład śledzić proces o ID = 20 i tylko wywołania systemowe odczytu, zapisu i otwierania wystarczy przekazać poleceniu składnie:

sudo procmon -p 20 -e read,write,openat

Więcej informacji: ProcMon for Linux, procmon -h