Compiler ein Sicherheitsrisiko?
Compiler ein Sicherheitsrisiko?
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?
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?
Re: Compiler ein Sicherheitsrisiko?
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
cu
Jesco
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Compiler ein Sicherheitsrisiko?
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.
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Compiler ein Sicherheitsrisiko?
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...
$Angreifer kann problemlos ein komplettes Linuxsystem (<10MB) auf den Server schieben und hat dann nicht nur einen Compiler...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings 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.
Wings for Life ● Wings 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.
Re: Compiler ein Sicherheitsrisiko?
Ja, das ist natürlich ein Argument, dass jemand auch woanders compilieren und dann hochladen kann.
Sind eigentlich viele Server mit Gentoo im Eibsatz?
Sind eigentlich viele Server mit Gentoo im Eibsatz?
Re: Compiler ein Sicherheitsrisiko?
Es sind zumindest nicht Wenige ;)sgerd wrote:Sind eigentlich viele Server mit Gentoo im Eibsatz?
Das RootForum läuft beispielsweise seit September 2005 auf Gentoo.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings 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.
Wings for Life ● Wings 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.
Re: Compiler ein Sicherheitsrisiko?
Na, wenn das kein Argument ist... =D>
Re: Compiler ein Sicherheitsrisiko?
Nicht wirklich, eigentlich sollte es ein Windows NT 5.x werden ;)sgerd wrote:Na, wenn das kein Argument ist... =D>
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings 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.
Wings for Life ● Wings 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.
Re: Compiler ein Sicherheitsrisiko?
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?
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?
Re: Compiler ein Sicherheitsrisiko?
Jein. Das kommt ganz darauf an, was der Angreifer im Sinn hat. Wenn er Dein System nur zerstören will, dann braucht er nur eintiax wrote:ist dann wirklich der gcc dann das größte Problem?
Code: Select all
rm -rf /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?
Re: Compiler ein Sicherheitsrisiko?
Dumme Frage: Wie schnell ist man dann mit so einem Exploit root?jfreund wrote:... - was denn, wenn's mal nen Kernel-Exploit gibt, der das Berechtigungssystem ein bisschen aushebelt?
-
lord_pinhead
- Posts: 774
- Joined: 2004-04-26 15:57
Re: Compiler ein Sicherheitsrisiko?
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 ;)
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 ;)
Dumme Antwort: sh /tmp/mein_böses_exploit && echo "I am `whoami`!" Also ziemlich schnell ;)elch_mg wrote: Dumme Frage: Wie schnell ist man dann mit so einem Exploit root?
Re: Compiler ein Sicherheitsrisiko?
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 ;)
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 ;)
Re: Compiler ein Sicherheitsrisiko?
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.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 ;)
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Compiler ein Sicherheitsrisiko?
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Compiler ein Sicherheitsrisiko?
ja und als was machst Du den "make install" ?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? ;)
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Compiler ein Sicherheitsrisiko?
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.
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Compiler ein Sicherheitsrisiko?
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.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.
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.

