Netlink-Sockets und Sicherheit

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 10:55:14

Hallo zusammen,

Debian nutzt per Defaut einige Programme, die sogenannte "Netlink-Sockets" benutzen, die PIDs dieser Programme sieht man z.b. in /proc/net/netlink:

felix@debian6:/proc/net$ more netlink
sk Eth Pid Groups Rmem Wmem Dump Locks Drops
ffff88042f83a000 0 0 00000000 0 0 (null) 2 0
ffff88042fa7d800 4 0 00000000 0 0 (null) 2 0
ffff88042fa0dc00 10 0 00000000 0 0 (null) 2 0
ffff88042def3000 15 -4181 00000002 0 0 (null) 2 0
ffff88042def2400 15 1308 00000002 0 0 (null) 2 0
ffff88042f83a800 15 0 00000000 0 0 (null) 2 0
ffff88042ea77000 15 -4180 00000000 0 0 (null) 2 0
ffff88042c607800 15 1710 00000002 0 0 (null) 2 0
ffff88042e8fb400 15 108 00000001 0 0 (null) 2 0
ffff880422213800 15 1704 00000002 0 0 (null) 2 0
ffff88042ea76800 15 -4179 00000000 0 0 (null) 2 0
ffff88042c602000 16 1063 00000001 0 0 (null) 2 0
ffff88042f83d800 16 0 00000000 0 0 (null) 2 0

Hinter den PIDs 1710, 1308, 1704, etc. verbergen sich dann z.B. der X-Server, "gvfs" --> "Gnone Virtual File System" udisks-Daemon --> "Automount", etc.

Das Netlink-Protokoll soll wohl die direkte Kommunikation zwischen "Kernelspace" und "Userspace" ermöglichen und benutzt gemäss einer Uralt-Dokumentation von 2004 "UDP-like" Netzwerk-Ports.

Aus "Understanding and Programming with Netlink Sockets" , Neil Horman, 2004

"Netlink Sockets are connectionless and operate in much the same way UDP sockets do. Messages are sent to receipients on an open netlink socket via the sendto and sendmsg library calls, ...."

Gemäss Dokumentation sind auch umfangreiche Manipulationen an Paketen etc. möglich.

Nun stellt sich für mich die Frage, ob diese Art der Sockets nicht potentiell ein Sicherheitsrisiko darstellen können, da ich keinerlei Dokumentation über das "Routing" dieser Pakete gefunden habe.

Also nun die Fragen:

- Werden diese Pakete über die physische Netzwerkschnittstelle des Computer geschickt, sind sie also auch auf anderen Computern empfangbar?
- Kann damit eine Art Computer-zu-Computer Kommunikation realisiert werden?
- Gibt es einen Filter für diese Art von Paketen (z.B. auf 127.0.0.1) beschränken?
- Warum überhaupt Netlink-Sockets benutzen und keine klassischen Unix-Sockets? ;-)

Es gab bereits Sicherheitsprobleme mit Netlink, so z.B. im Dezember 2014 von Cisco gemeldet: http://tools.cisco.com/security/center/ ... rtId=36652
Hier ging es um ein lokales Problem, bei dem der Angreifer root-Rechte erlangen konnte. Leider kein Patch für die aktuellen Kernel-Versionen.

Danke und viele Grüsse

Felix

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Netlink-Sockets und Sicherheit

Beitrag von catdog2 » 29.03.2015 13:36:45

- Werden diese Pakete über die physische Netzwerkschnittstelle des Computer geschickt, sind sie also auch auf anderen Computern empfangbar?
Nein
- Kann damit eine Art Computer-zu-Computer Kommunikation realisiert werden?
Nein
- Gibt es einen Filter für diese Art von Paketen (z.B. auf 127.0.0.1) beschränken?
Gegenstandslos
- Warum überhaupt Netlink-Sockets benutzen und keine klassischen Unix-Sockets? ;-)
Du selbst hat geschrieben:Das Netlink-Protokoll soll wohl die direkte Kommunikation zwischen "Kernelspace" und "Userspace" ermöglichen
Hier ging es um ein lokales Problem, bei dem der Angreifer root-Rechte erlangen konnte. Leider kein Patch für die aktuellen Kernel-Versionen.
Ähm…
Kernel.org has confirmed the vulnerability and released software updates.
Unix is user-friendly; it's just picky about who its friends are.

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Netlink-Sockets und Sicherheit

Beitrag von dufty2 » 29.03.2015 15:33:03

catdog2 hat geschrieben:Ähm…
Kernel.org has confirmed the vulnerability and released software updates.
Ähm, so einfach ist es leider nicht, denn als Debianer ist ja wichtig (für die meisten hier), was der entsprechende debian-kernel so macht und nicht das Original von kernel.org.
Dies zu ergründen schauen wir nach der CVE-Nummer, also hier "CVE-2014-0181" und dann im debian security-tracker, ergo
https://security-tracker.debian.org/tra ... -2014-0181

Da sehen wir, dass squeeze (debian 6), welches Misterzde benutzt, immer noch betroffen ist und vermutlich nie gefixt wird:
[squeeze] - linux-2.6 <no-dsa> (Too intrusive to backport to 2.6.32)

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 17:35:50

dufty2 hat geschrieben:
catdog2 hat geschrieben:Ähm…
Kernel.org has confirmed the vulnerability and released software updates.
Ähm, so einfach ist es leider nicht, denn als Debianer ist ja wichtig (für die meisten hier), was der entsprechende debian-kernel so macht und nicht das Original von kernel.org.
Dies zu ergründen schauen wir nach der CVE-Nummer, also hier "CVE-2014-0181" und dann im debian security-tracker, ergo
https://security-tracker.debian.org/tra ... -2014-0181

Da sehen wir, dass squeeze (debian 6), welches Misterzde benutzt, immer noch betroffen ist und vermutlich nie gefixt wird:
[squeeze] - linux-2.6 <no-dsa> (Too intrusive to backport to 2.6.32)
Den "Backport" soll es nicht mal für Debian 7 geben. Habe ich auch noch parallel am laufen...

Schade. Also was tun, um sich zu schützen?

Problem ist ja auch, dass die ganze Kommunikation der Netlink-Sockets mehr oder weniger verborgen im Hintergrund läuft. Gibt es da Tools, um den Datenverkehr zu tracen?

Ich habe mal irgendwo gelesen, dass für die Sicherheit bei Netlink-Sockets ausschliesslich die jeweilige Applikation zuständig ist (die von mir gelisteten laufen als "root". Normale Unix-Sicherheit scheint hier nicht zu greifen....

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Netlink-Sockets und Sicherheit

Beitrag von catdog2 » 29.03.2015 17:54:01

Schade. Also was tun, um sich zu schützen?
Aktuellen Kernel installieren.
Keine setuid binaries haben, die sich entsprechend ausnutzen lassen.
(die von mir gelisteten laufen als "root". Normale Unix-Sicherheit scheint hier nicht zu greifen....
Für die gilt das nicht, die dürfen das sowiso.
Problem ist ja auch, dass die ganze Kommunikation der Netlink-Sockets mehr oder weniger verborgen im Hintergrund läuft. Gibt es da Tools, um den Datenverkehr zu tracen?
Warum sollte das das Problem sein?
Unix is user-friendly; it's just picky about who its friends are.

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 19:05:00

Danke für den Tipp, habe den letzten 2.6er-Kernel direkt von Kernel.org heruntergeladen und installiert. Die ersten Tests sehen gut aus im Moment.

Leider gibt es den Kernel nicht von Debian. Bei Red Hat Enterprise gibt es die Patches noch "ab Werk" - aber da bezahlt man ja auch dafür...

;-)

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Netlink-Sockets und Sicherheit

Beitrag von catdog2 » 29.03.2015 19:06:22

Danke für den Tipp, habe den letzten 2.6er-Kernel direkt von Kernel.org heruntergeladen und installiert. Die ersten Tests sehen gut aus im Moment.
Du stehst auf alte Software oder?
Unix is user-friendly; it's just picky about who its friends are.

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 19:46:48

catdog2 hat geschrieben:
Danke für den Tipp, habe den letzten 2.6er-Kernel direkt von Kernel.org heruntergeladen und installiert. Die ersten Tests sehen gut aus im Moment.
Du stehst auf alte Software oder?
Der Kernel ist vom 13.12.2014. Das ist nicht wirklich alt...

;-)

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Netlink-Sockets und Sicherheit

Beitrag von dufty2 » 29.03.2015 20:33:40

Misterzde hat geschrieben:
Der Kernel ist vom 13.12.2014. Das ist nicht wirklich alt...

;-)
Ähm, da wäre noch eine winzige Kleinigkeit:
Der 2.6.32.65 von 2014-12-13 von kernel.org hat den Fix gar nicht.

Vgl. auch den debians security-tracker:

Code: Alles auswählen

The information below is based on the following data on fixed versions.
linux-2.6	source	(unstable)	(unfixed)	low

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 21:21:28

Hmm, wie kann dann Red Hat den Fix einbauen in RHEL 6?

Wissen / können die mehr als kernel.org?
dufty2 hat geschrieben:
Misterzde hat geschrieben:
Der Kernel ist vom 13.12.2014. Das ist nicht wirklich alt...

;-)
Ähm, da wäre noch eine winzige Kleinigkeit:
Der 2.6.32.65 von 2014-12-13 von kernel.org hat den Fix gar nicht.

Vgl. auch den debians security-tracker:

Code: Alles auswählen

The information below is based on the following data on fixed versions.
linux-2.6	source	(unstable)	(unfixed)	low

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Netlink-Sockets und Sicherheit

Beitrag von dufty2 » 29.03.2015 21:39:44

Misterzde hat geschrieben:Hmm, wie kann dann Red Hat den Fix einbauen in RHEL 6?

Wissen / können die mehr als kernel.org?
Man hat Kunden, die dafür zahlen.

Der CVE-2014-0181 ist vom 2014-04-23
2014-08-06 fixed in RHEL 7
2014-10-14 fixed in RHEL 6
2014-12-04 fixed in RHEL 5

Wir könnten nun daraus folgern: Je älter der kernel, desto aufwendiger der fix.

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 21:44:51

Hmm, kann Redhat denn einerseits von den Kernel-Sources profitieren und andererseits eigene Security-Fixes von freier Software vor der Öffentlichkeit verbergen?

Müssten sie dafür nicht geächtet werden?

dufty2
Beiträge: 1714
Registriert: 22.12.2013 16:41:16

Re: Netlink-Sockets und Sicherheit

Beitrag von dufty2 » 29.03.2015 22:06:46

Wieso, die Sourcen stehen doch zur Verfügung, z. B. hier
http://ftp.scientificlinux.org/linux/sc ... l6.src.rpm

Kann mich an Zeiten erinnern, da hatte der RHEL-kernel (oder auch SuSE) > 1000 patches zusätzlich zum "kernel.org"-kernel.

Kannst ja mal probieren, daraus einen fix für den kernel.org oder den debian-kernel zu basteln.

Denke nicht, dass dies in 5 Minuten erledigt ist ....

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 29.03.2015 22:19:40

Man könnte es auch andersherum formulieren:

Warum stellt RedHat wichtige Sicherheits-Patches nicht kostenlos für kernel.org zur Verfügung bzw. baut sie in den allgemeinen Code ein?

;-)

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 30.03.2015 09:26:12

Misterzde hat geschrieben:
catdog2 hat geschrieben:
Danke für den Tipp, habe den letzten 2.6er-Kernel direkt von Kernel.org heruntergeladen und installiert. Die ersten Tests sehen gut aus im Moment.
Du stehst auf alte Software oder?
Der Kernel ist vom 13.12.2014. Das ist nicht wirklich alt...

;-)
SLES 11 SP1 soll angeblich noch bis 2019 normal und bis 2022 mit Extended Support versorgt werden. Und SLES 11 SP1 basiert auch auf Kernel 2.6. Ab SP2 dann auf Kernel 3.0

Es wird also noch lange jemand an diesen eigentlich "unsupporteten" Kerneln rummachen. Habe eher das Problem, dass mein Debian 6 auf neuerer Intel-Hardware wegen den Treibern nicht mehr läuft.

Misterzde
Beiträge: 66
Registriert: 16.03.2015 08:19:24

Re: Netlink-Sockets und Sicherheit

Beitrag von Misterzde » 30.03.2015 11:04:47

dufty2 hat geschrieben:Wieso, die Sourcen stehen doch zur Verfügung, z. B. hier
http://ftp.scientificlinux.org/linux/sc ... l6.src.rpm

Kann mich an Zeiten erinnern, da hatte der RHEL-kernel (oder auch SuSE) > 1000 patches zusätzlich zum "kernel.org"-kernel.

Kannst ja mal probieren, daraus einen fix für den kernel.org oder den debian-kernel zu basteln.

Denke nicht, dass dies in 5 Minuten erledigt ist ....
Stimmt leider, der RHEL-Kernel lässt sich zwar runterladen und entpacken, beim "make" bricht er jedoch relativ schnell wegen "inkompatibler Datentypen" ab.

Schade.... :oops:

Wobei jetzt die Frage wäre, was bei RHEL 6 anders ist als bei Debian 6. Der "Grundkernel" ist es nicht. Sind es die Library- und Compiler-Versionen?

Antworten