NFsec Logo

Dirty COW – lokalne podniesienie uprawnień poprzez lukę w jądrze

21/10/2016 w Bezpieczeństwo Brak komentarzy.

9

letni błąd w jądrze systemu Linux pozwala na lokalne podniesienie uprawień poprzez sytuację wyścigu w sposobie, w jaki podsystem pamięci obsługuje kopiowanie przy zapisie (Copy On Write – COW). Nieuprzywilejowany użytkownik może wykorzystać tę lukę, aby zdobyć dostęp do zapisu zmapowanej pamięci będącej normalnie tylko do odczytu i tym samym podnieść swoje uprawnienia. Skutkuje to możliwością obejścia standardowego mechanizmu uprawnień oraz modyfikacją wrażliwych plików binarnych systemu. Błąd istnieje od 2007 roku, czyli mniej więcej od wersji 2.6.22 i został naprawiony 18.10.2016. Luka nadal mogła zostać w ukryciu, gdyby nie Phil Oester, który przeanalizował włamanie na jeden ze swoich serwerów (przechwytywał cały, przychodzący ruch do swoich webserwerów – jak twierdzi zawsze to pomaga w informatyce śledczej) i odtworzył binarny plik eksploita użytego przez włamywacza. Przeanalizował jego działanie i przekazał oficjalnym opiekunom jądra Linuksa. PoCe znajdują się tutaj.

Więcej informacji: Dirty COW (CVE-2016-5195) is a privilege escalation vulnerability in the Linux Kernel

Linux 4.7 otrzymał nową funkcję zabezpieczeń przeniesionych z Chrome OS

30/07/2016 w Administracja, Bezpieczeństwo Brak komentarzy.

N

ajnowsza wersja Linuksa otrzymała nową funkcję bezpieczeństwa o nazwie „LoadPin”, która została przeniesiona z systemu Chrome OS i umożliwia wprowadzenie ograniczeń odnośnie nośników i lokalizacji, z których mogą być ładowane moduły i firmware jądra. Innymi słowy LoadPin jest nowym mini Modułem Bezpieczeństwa Linuksa (ang. Linux Security ModuleLSM, który przechwytuje skonsolidowany zaczep LSM wywołania kernel_file_read, aby nasz system ładował wszystkie dodatki (moduły, firmware, obrazy kexec, polityki bezpieczeństwa) pochodzące z jednego zaufanego systemu plików. Poprzez zaufany system plików rozumie się tutaj taki, który jest umieszczony na urządzeniu tylko tylko-do-odczytu (np. CDROM lub dm-verity [wbudowany w Androidowe jądro od czasów wersji 4.4]). Niweluje to konieczność podpisywania każdego ładowanego pliku z osobna, ponieważ pierwszy plik ładowany przez interfejs odczytu plików jądra jest „przypinany” do systemu plików użytego do załadowania, a wszystkie pliki pochodzące z poza niego są odrzucane. Włączeniem lub wyłączeniem funkcji możemy sterować poprzez opcję SECURITY_LOADPIN_ENABLED w jądrze lub parametrem loadpin.enabled=1/0 przy starcie systemu.

Więcej informacji: The LoadPin security module

Keysniffer (keylogger) jako moduł do jądra Linuksa

22/05/2016 w Bezpieczeństwo Brak komentarzy.

A

run Prakash Jana napisał moduł do jądra Linuksa, który przechwytuje naciśnięcia klawiszy na klawiaturze. Współpracuje z klawiaturami o układzie US (i zgodnych z nimi komputerami przenośnymi). Przyciśnięte klawisze są zapisywane w przestrzeni systemu plików pomagającym w debugowaniu innych systemów plików – debugfs tak długo dopóki moduł pozostaje załadowany w systemie.
[ czytaj całość… ]

Żegnaj OverlayFS

26/02/2016 w Bezpieczeństwo Brak komentarzy.

N

a razie czas pożegnać się z systemem plików overlayfs dostępnym w jądrze Linux od wersji 3.18. Ostatnio ponownie pojawiły się kolejne błędy bezpieczeństwa w tym module. Jest to ostatnio jeden z najczęstszych składników wchodzących w skład możliwości eksploatacji bezpieczeństwa jądra. Skoro w systemie Ubuntu jest tylko modułem do załadowania, a na systemie nie uruchamiane są żadne kontenery – można go prosto wyłączyć tworząc plik /etc/modprobe.d/blacklist-ofs.conf:

# Overlayfs security issues
blacklist overlayfs
install overlayfs /bin/false

Ewidetnie widać, że projekt jest na razie zbyt młody pod względem kodu, aby mógł zostać z powodzeniem stosowany w systemach produkcyjnych.

Nowa luka zero-day w jądrze Linuksa (CVE-2016-0728)

19/01/2016 w Ataki Internetowe, Bezpieczeństwo 1 komentarz.

P

erception Point ujawnił nową lukę bezpieczeństwa typu zero-day w jądrze systemu Linux, która umożliwia nieuprawnione podniesienie praw użytkownika do roli administratora (root). Luka istniała od 2012 roku, a aktualnie dotyka każdą maszynę wyposażoną w jądro Linux w wersji 3.8 i wyższej (oprócz dziesiątek milionów serwerów i komputerów podatne są także telefony z systemem Android KitKat i nowsze). Wykorzystując tą podatność atakujący są w stanie kasować i wyświetlać prywatne dane oraz instalować szkodliwe oprogramowanie. Kernel security team zostało już powiadomione i dzięki Red Hat Security team poprawki powinny zacząć pojawiać się w najbliższym czasie. Zalecamy jak najszybszą aktualizację.

Więcej informacji: Analysis and Exploitation of a Linux Kernel Vulnerability (CVE-2016-0728)

Intel Memory Protection Extensions w 3.19

22/11/2015 w Bezpieczeństwo Brak komentarzy.

I

ntel w nowej mikroarchitekturze Skylake, która w sierpniu 2015 zastąpiła mikroarchitekturę Broadwell wprowadził rozszerzenie MPX – Memory Protection Extensions. MPX to rozszerzenie sprzętowe mające zapobiegać atakom przepełnienia bufora.
[ czytaj całość… ]

Intel(R) 10 Gigabit PCI Express Network Driver performance degradation

02/10/2015 w Administracja, Debug Brak komentarzy.

O

statnio podczas testów linków 10G zauważyłem ciekawą zależność. Testując różne wersje jądra w systemie Ubuntu 12.04 ze względu na różne problemy z obsługą systemu plików ext4 na świat wyszedł inny błąd powiązany z sterownikiem sieciowym. Dla wersji jądra: Linux darkstar 3.13.0-32-generic #57~precise1-Ubuntu SMP test linków za pomocą iperf prezentuje się następująco:
[ czytaj całość… ]

Wyłączenie ładowania dodatkowych modułów

28/06/2015 w Bezpieczeństwo Brak komentarzy.

O

d wersji 2.6.31 Linux daje nam namiastkę funkcjonalności jądra monolitycznego, czyli możliwość blokady ładowania nowych modułów. Wykorzystanie tej opcji podnosi poziom ochrony systemu przed załadowaniem szkodliwych modułów oraz ograniczenia działania niektórych rootkitów.
[ czytaj całość… ]

Ochrona przed użyciem ptrace

28/12/2014 w Bezpieczeństwo Brak komentarzy.

P

trace(2) jest wspaniałym narzędziem do rozwiązywania problemów dla programistów, którzy chcą poznać jak funkcjonują procesy w systemie Linux. Umożliwia odnajdywanie błędów programistycznych, czy wycieków pamięci. Z drugiej strony ptrace może zostać wykorzystane przez osoby o złych intencjach np. w celu debugowania procesu jako nieuprzywilejowany użytkownik, aby odczytać zawartość pamięci programu.
[ czytaj całość… ]

Address Space Layout Randomization

13/04/2014 w Bezpieczeństwo Brak komentarzy.

O

d wersji jądra 2.6.12 (w innych dystrybucjach jak np. CentOS poszczególne patche mogą być aplikowane do niższych wersji) włączony jest mechanizm ASLRAddress Space Layout Randomization, czyli Losowe Ułożenie Przestrzeni Adresowej, który umożliwia wprowadzenie losowości do schematu adresowania danych procesu, które ładowane są do pamięci. Oznacza to, że ASLR może ulokować położenie kodu wykonalnego, bibliotek, sterty oraz stosu w losowych pozycjach przestrzeni adresowej procesu. Utrudnia to przewidywanie przez atakujący program adresu następnych instrukcji i zabezpieczenie systemu przed atakami typu ret2libc.
[ czytaj całość… ]

Strona 1 z 212