Tags Posts tagged with "ghost"

ghost

przez -
0 1088
Bezpieczeństwo i szyfrowanie

Firma Qualys ujawniła dość poważny problem w systemie Linux, który został nazwany GHOST. Luka ma związek z biblioteką glibc i została oznaczona, jako CVE-2015-7547. GHOST lub GetHOST to nic innego, jak błąd przepełnienia buforu w funkcji __nss_hostname_digits_dots() w bibliotece glibc. Można go wywołać zarówno lokalnie, jak i zdalnie poprzez wszystkie funkcje gethostbyname*(), stosowane przez aplikacje mające dostęp do serwerów DNS, by przekształcić adres w postaci domenowej na adres IP.

Warto nadmienić, że podatne mogą być też niektóre narzędzia, jak: clockdiff, ping, arping, procmail i pppd. Firma Qualys opracowała także exploit, który pozwolił na zdalne uruchomienie powłoki na atakowanej maszynie, pomimo istnienia różnych zabezpieczeń.

Jeżeli chodzi o systemy podatne na błąd, to są to: RHEL 6, RHEL 7, CentOS 6, CentOS 7, Debian 7 i Ubuntu 12.04. Odporne na ataki są Ubuntu 14.04 i Fedora 20.

Na lukę GHOST przygotowano już odpowiednie łatki, które są dostępne w repozytoriach Debiana, Ubuntu, Red Hata i CentOSa. Wspomniany exploit zostanie ujawniony w momencie zmniejszenia się liczby maszyn podatnych na atak o połowę.

przez -
17 1040
Bezpieczeństwo i szyfrowanie

Pracownicy firmy Qualys poinformowali o poważnym błędzie bezpieczeństwa – CVE-2015-0235 w popularnej linuksowej bibliotece glibc. Podatność otrzymała kryptonim o nazwie GHOST, a za jej pomocą atakujący może przejąć całkowitą kontrolę nad serwerem. Atak można przeprowadzić zdalnie lub lokalnie, a podatne na ową lukę mogą być, ale nie muszą aplikacje: Apache, CUPS, Dovecot, GnuPG, isc-dhcp, Lighttpd, MariaDB, MySQL, nfs-utils, nginx, nodejs, OpenLDAP, OpenSSH, Postfix, proftpd, pure-ftpd, rsyslog, Samba, sendmail, sysklogd, syslog-ng, tcp_wrappers, vsftpd i xinetd.

Luka GHOST to typowy atak z przepełnieniem bufora (buffer overflow), który został znaleziony w funkcji __nss_hostname_digits_dots() biblioteki glibc. Służy ona do zamiany nazw DNS na adresy IP (i na odwrót). Warto zaznaczyć, że podatne są wszystkie aplikacje, korzystające z protokołu DNS poprzez funkcje z rodziny gethostbyname*().

Autorzy udostępniają też niewielki kod w języku C, sprawdzający czy jesteśmy podatni czy nie:

#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>

#define CANARY "in_the_coal_mine"

struct {
  char buffer[1024];
  char canary[sizeof(CANARY)];
} temp = { "buffer", CANARY };

int main(void) {
  struct hostent resbuf;
  struct hostent *result;
  int herrno;
  int retval;

  /*** strlen (name) = size_needed - sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/
  size_t len = sizeof(temp.buffer) - 16*sizeof(unsigned char) - 2*sizeof(char *) - 1;
  char name[sizeof(temp.buffer)];
  memset(name, '0', len);
  name[len] = '\0';

  retval = gethostbyname_r(name, &resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno);

  if (strcmp(temp.canary, CANARY) != 0) {
    puts("vulnerable");
    exit(EXIT_SUCCESS);
  }
  if (retval == ERANGE) {
    puts("not vulnerable");
    exit(EXIT_SUCCESS);
  }
  puts("should not happen");
  exit(EXIT_FAILURE);
}

Sprawdzenia można dokonać przy pomocy poniższych poleceń:

cd /usr/src
wget https://gist.githubusercontent.com/koelling/ef9b2b9d0be6d6dbab63/raw/de1730049198c64eaf8f8ab015a3c8b23b63fd34/gistfile1.c --no-check-certificate
gcc gistfile1.c -o CVE-2015-0235
./CVE-2015-0235

Łatki zostały udostępnione przez: Red Hat (Bug 1183461), Canonical (USN-2485-1), Debiana (CVE-2015-0235).

Po aktualizacji należy zrestartować wszystkie usługi, które wykorzystują glibc, a najlepiej jest zrobić restart serwera:

lsof | grep libc | awk '{print $1}' | sort | uniq

Warto spojrzeć sobie na historię błędu GHOST, ponieważ pierwsze zgłoszenie zostało zarejestrowane już 12 stycznia 2013 roku i nadano mu numer Bug 15014. Poprzednia luka została naprawiona 21 maja 2013 roku, jednakże nie nadano jest statusu błędu krytycznego, przez co wiele systemów nie zrobiło aktualizacji do najnowszej wersji.

Ciekawy wydaje się również 4 komentarz, który brzmi następująco:

Florian *has* reviewed over 3000 past glibc bugs for security impact
(there are a fair number more, mostly older bugs, not yet given a security
flag), but as this case illustrates it may not be apparent from the bug
description that a buffer overrun was involved at all (the subject of this
bug rather suggests a conformance issue with a wrong errno value).

Now, if someone else wants to do their own review of over 3000 bugs with
“security-” flag, and to query cases where they disagree with that
assessment, that would be welcome, but probably also very tedious and not
likely to find many cases of misclassified bugs.

Wynika z niego, że w glibc zostało przejrzanych ponad 3000 błędów wstecz, ale żaden póki co nie otrzymał statusu krytycznego. Deweloperzy zalecają także samodzielne przeszukanie i zgłoszenie ewentualnych uwag.

przez -
0 350
Sprzęt, Dysk twardy

Twórca aplikacji Ghost 4 Linux otrzymał od firmy Symantec niepokojący e-mail, w którym prawnik korporacji poprosił go, by przestał wykorzystywać słowo “ghost”, usunął nawiązania do Symanteka i zmienił skróconą nazwę aplikacji. Symantec chce, by Michael D. Setzer, twórca konkurencyjnego Ghost 4 Linux (G4L) zrezygnował z używania słowa “Ghost”, jest ono bowiem znakiem handlowym korporacji. Prawnicy firmy poprosili go również o usunięcie litery g z akronimu G4L, gdyż stanowi ona nawiązanie do Ghost. Setzer usunął już odwołania do aplikacji Symanteka z witryny, kodu źródłowego i dokumentacji, ale chciałby przynajmniej zachować nazwę G4L. Jego szanse na wygraną są jednak niewielkie.

Polecane

Jesień Linuksowa

1 1172
Polska Grupa Użytkowników Linuksa ma zaszczyt zaprosić na konferencję Jesień Linuksowa 2017, która odbędzie się w dniach 22 – 24 września 2017 roku. Jako...