Compiler ein Sicherheitsrisiko?

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
sgerd
Posts: 4
Joined: 2006-04-17 21:30
 

Compiler ein Sicherheitsrisiko?

Post by sgerd »

Hallo,

mein Server läuft unter Debian Sarge und ich verwende dort überwiegend Software, die nicht als vorgefertigtes Paket erhältlich ist.

Ursprünglich hatte ich dafür zu Hause einen extra Rechner mit der selben Distri als Test- und Kompiliersystem. Die Binaries sollten dann nur noch hochgeladen werden.

Allerdings wird es zunehmend schwieriger, beide System in Übereinstimmung zu halten. Gerade was die Versionen der Bibliotheken betrifft.

Deswegen überlege ich, ob ich meinen Vorsatz ändern soll und auch auf den Server einen Compiler installiere.
Viele Kernel-Exploits scheinen aber durch den Compiler erst möglich.
Sieht man hier ja immer wieder, dass der Angreifer sich gemütlich seinen Exploit auf dem Server erst kompiliert.

Welches Risiko würdet ihr höher bewerten?
a) Durch den Compiler werden neue Angriffsarten möglich.
b) Durch veraltete Bibliotheken oder Programme enstehen Löcher.

Shell-Zugriff ist nur für mich vorgesehen.
Sollte man trotzdem nur root den Compiler gestatten?
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by daemotron »

Hmm, wenn der Compiler gut abgesichert ist (Zugriff nur root, ev. sogar auf einer mit noexec oder nicht gemounteten Partition, /usr und /(s)bin ro gemounted), dann dürfte es einem Angreifer schwer fallen, den gcc zu verwenden, um root-Rechte zu erlangen - ein Restrisiko bleibt allerdings immer. Wenn Dein /tmp allerdings nicht noexec gemounted ist, kann ein Angreifer auch über z. B. verramschte PHP-Skripte ein gcc-Binary hochschieben... ok, die ganzen Libs fehlen dann, aber ein gutes Root-Kit braucht da auch nicht gerade viel...

cu
Jesco
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by captaincrunch »

Bevor ich mir einen Compiler auf einen produktiven, öffentlich erreichbaren Server ziehe, ziehe ich mir lieber ein weiteres System als "Entwicklungsplattform" zur Seite, auch wenn's zusätzliche Kosten verursacht.
Natürlich ist ein solcher auch direkt auf dem Server passend abgesichert möglich, ein gewisses Restrisiko bleibt trotz allem bestehen. Jede Zeile zusätzlichen Codes bedeutet immer mehr Bugs.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by Joe User »

Und die armen Gentoo-Admins haben wieder dia A-Karte gezogen... ;)

$Angreifer kann problemlos ein komplettes Linuxsystem (<10MB) auf den Server schieben und hat dann nicht nur einen Compiler...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
sgerd
Posts: 4
Joined: 2006-04-17 21:30
 

Re: Compiler ein Sicherheitsrisiko?

Post by sgerd »

Ja, das ist natürlich ein Argument, dass jemand auch woanders compilieren und dann hochladen kann.

Sind eigentlich viele Server mit Gentoo im Eibsatz?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by Joe User »

sgerd wrote:Sind eigentlich viele Server mit Gentoo im Eibsatz?
Es sind zumindest nicht Wenige ;)
Das RootForum läuft beispielsweise seit September 2005 auf Gentoo.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
sgerd
Posts: 4
Joined: 2006-04-17 21:30
 

Re: Compiler ein Sicherheitsrisiko?

Post by sgerd »

Na, wenn das kein Argument ist... =D>
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by Joe User »

sgerd wrote:Na, wenn das kein Argument ist... =D>
Nicht wirklich, eigentlich sollte es ein Windows NT 5.x werden ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
tiax
Posts: 10
Joined: 2006-02-05 14:20
 

Re: Compiler ein Sicherheitsrisiko?

Post by tiax »

Was spricht eigentlich dagegen, ggf. den Compiler bei Bedarf zu installieren und anschließend wieder zu löschen? :-D
Paketsysteme existieren, damit wäre das kein derart riesiges problem.

Kann jemand bei der Gelegenheit bitte noch erklären, wieso chmod 700 gcc nicht ausreicht?
Wenn mein System erlaubt, Dateien mit root - root 700 auszuführen, obwohl ich nicht root bin, ist dann wirklich der gcc dann das größte Problem?
User avatar
daemotron
Administrator
Administrator
Posts: 2641
Joined: 2004-01-21 17:44
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by daemotron »

tiax wrote:ist dann wirklich der gcc dann das größte Problem?
Jein. Das kommt ganz darauf an, was der Angreifer im Sinn hat. Wenn er Dein System nur zerstören will, dann braucht er nur ein

Code: Select all

rm -rf /
eingeben, wenn er über root-Rechte verfügt.

Wenn er sich aber dauerhaft und unerkannt auf Deinem System einnisten will, kann er Dir mit einem vorhandenen Compiler manipulierte Binaries (z. B. syslogd) unterjubeln, um es Dir schwerer zu machen, den Hack überhaupt zu bemerken. Wie gesagt, wenn einer aber schon mal root-Rechte erlangt hat, ist es für ihn sowieso kein Problem, einen Compiler nachzuinstallieren.

Von daher gesehen ist ein chmod 700 schon mal nicht schlecht, aber wer sich auf nur eine Barriere verlässt, ist schnell verlassen - was denn, wenn's mal nen Kernel-Exploit gibt, der das Berechtigungssystem ein bisschen aushebelt?
elch_mg
Posts: 302
Joined: 2006-01-23 19:14
Location: 41063
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by elch_mg »

jfreund wrote:... - was denn, wenn's mal nen Kernel-Exploit gibt, der das Berechtigungssystem ein bisschen aushebelt?
Dumme Frage: Wie schnell ist man dann mit so einem Exploit root?
lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57
 

Re: Compiler ein Sicherheitsrisiko?

Post by lord_pinhead »

Kurzum, was nützt es einem wenn ich das ganze vorcompiliert auf deine Kiste schiebe? Benötige ich einen Compiler unbedingt?

Wenn ich alleine schon eine Datei auf dein System ablegen kann, kann ich auch ein uname -a ausführen und dann sehe ich was du für eine Distri hast. Aber oft sind die sachen ja sowisso unabhängig von der Distri gemacht und laufen auf jedem Linux. Einfach via PHP eine Datei als binary abgelegt und dann ausgeführt, brauch ich keinen Compiler dazu. Ich finde es eigentlich immer schwachsinnig wenn es heißt das Compiler ein Sicherheitsrisiko sind, es gibt genug andere Wege die den Angreifer zum Ziel führen, da ist der GCC nicht wirklich schuld für ;)
elch_mg wrote: Dumme Frage: Wie schnell ist man dann mit so einem Exploit root?
Dumme Antwort: sh /tmp/mein_böses_exploit && echo "I am `whoami`!" Also ziemlich schnell ;)
elch_mg
Posts: 302
Joined: 2006-01-23 19:14
Location: 41063
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by elch_mg »

wenn ich so drüber nachdenke... Ich stelle mir gerade die Frage, wie hoch wohl die Chance ist, dass jemand, der in meinen Server einbrechen will und dazu einen Exploit kompilieren will, a) einen Compiler auf seinem System bereits installiert hat und b) wie Lord_Pinhead schon schrieb, auch weiß wie er den Exploit entsprechend angepasst zum laufen kriegt.

Für mich macht das ganze den Eindruck wie die Frage, ob man auf einem Produktivserver nicht am besten jegliche Dokumentation - beispielsweise man-pages - entfernt.
Irgendwie erinnert ich das an jemandem, der einen Einbruch in sein Haus damit erschweren will, indem er den Strom abstellt - damit der Einbrecher kein Licht einschalten kann ;)
buddaaa
Posts: 163
Joined: 2004-11-08 09:59
 

Re: Compiler ein Sicherheitsrisiko?

Post by buddaaa »

Lord_Pinhead wrote:Aber oft sind die sachen ja sowisso unabhängig von der Distri gemacht und laufen auf jedem Linux. Einfach via PHP eine Datei als binary abgelegt und dann ausgeführt, brauch ich keinen Compiler dazu. Ich finde es eigentlich immer schwachsinnig wenn es heißt das Compiler ein Sicherheitsrisiko sind, es gibt genug andere Wege die den Angreifer zum Ziel führen, da ist der GCC nicht wirklich schuld für ;)
stell Dir mal vor ein skript-kind hat einen neuen exploit fuer phpBB mit dem er code auf linux-server hochladen und ausfuehren kann, es findet 20 server bei denen der exploit funktioniert und will nun root-rechte.

die 20 server haben:
- 20 verschiedene linux distributionen
- kernel 2.2, 2.4, 2.6
- x86, x86_64 und PPC CPUs

ich behaupte mit "chmod 700 /usr/bin/gcc" braucht es 10 mal so lange und schafft nur die haelfte der kisten.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by captaincrunch »

chmod 700 /usr/bin/gcc? Und dann alles schön unter root ./configuren und maken? Darf ich da einfach mal dran erinnern, dass es nicht zum ersten Mal vorkam, dass einige Projektseiten geknackt, und Malware in den Sourcen untergebracht wurden? ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
buddaaa
Posts: 163
Joined: 2004-11-08 09:59
 

Re: Compiler ein Sicherheitsrisiko?

Post by buddaaa »

CaptainCrunch wrote:chmod 700 /usr/bin/gcc? Und dann alles schön unter root ./configuren und maken? Darf ich da einfach mal dran erinnern, dass es nicht zum ersten Mal vorkam, dass einige Projektseiten geknackt, und Malware in den Sourcen untergebracht wurden? ;)
ja und als was machst Du den "make install" ?
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Compiler ein Sicherheitsrisiko?

Post by captaincrunch »

Wenn ich denn mal auf die Idee komme, etwas zu kompilieren, tue ich das (wie weiter oben gesagt)

1. auf einer extra abgespeckten und vom übrigens Netz getrennten (virtuellen) Maschine, und
2. wenn irgend möglich in ein vom jeweiligen User schreibbares Verzeichnis (z.B. ~/usr/bin).

Eine Backdoor in irgendeiner OSS-Software (mir fällt leider nicht mehr ein welche) wurde übrigens schon durch das ./configure aktiv.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
buddaaa
Posts: 163
Joined: 2004-11-08 09:59
 

Re: Compiler ein Sicherheitsrisiko?

Post by buddaaa »

CaptainCrunch wrote:Wenn ich denn mal auf die Idee komme, etwas zu kompilieren, tue ich das (wie weiter oben gesagt)

1. auf einer extra abgespeckten und vom übrigens Netz getrennten (virtuellen) Maschine, und
2. wenn irgend möglich in ein vom jeweiligen User schreibbares Verzeichnis (z.B. ~/usr/bin).

Eine Backdoor in irgendeiner OSS-Software (mir fällt leider nicht mehr ein welche) wurde übrigens schon durch das ./configure aktiv.
da wird dann aber auch noch ne backdoor im Makefile und im executable gewesen sein und dann hast auch Du nicht wirklich viel gewonnen. weil eine backdoor als normalo-user ohne chroot oder jail ist schon 90% auf dem weg zu root.

ich compiliere auch sehr wenig, aber wenn dann sind es meistens dienste die einen post < 1024 brauchen oder libs oder tools die ich als root benutzen muss. da braechte mir Deine methode ne menge arbeit und nur minimale sicherheit.
Post Reply