[gelöst] NoExec in Homedirs

Alles rund um sicherheitsrelevante Fragen und Probleme.
NAB
Beiträge: 5097
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: NoExec in Homedirs

Beitrag von NAB » 08.02.2018 18:08:23

MSfree hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 09:49:56
NAB hat geschrieben: ↑ zum Beitrag ↑
07.02.2018 23:53:39
... den Zugriff auf bestimmte Verzeichnisse zu sperren
Das hilft gegen so etwas leider nicht:

Code: Alles auswählen

echo 'cd
find . -type f
' | /bin/bash 
musst du auch cat script.sh | bash - verbieten
Mein Beispiel oben kommt sogar komplett ohne eine Zwischendatei (script.sh) aus.
Stimmt. Und hat damit so gar nichts mit "Zugriff auf Verzeichnisse" zu tun. Und auch nicht mit TomLs "noexec".

Ich denke, dass schon das "noexec" so einiges bringt - das dürfte den durchschnittlichen Cryptotrojaner stoppen, die sind nämlich meistens in C geschrieben und seltenst in "Bash".

Auf der anderen Seite sind TomLs Überlegungen offensichtlich unausgereift ... er weiß selber nicht so genau, wie und gegen was er sich wie stark schützen will. Sein "Prove of Concept" - "Schaut, ich kann mein eigenes Script nicht mehr ausführen" wirkt nicht so richtig überzeugend. Und auf dein Beispiel bezogen - wenn der User "find" ausführen darf, ob nun mit Bash oder ... eh ... mit Bash, sieht das auch nicht so richtig bedrohlich aus. Aber ich verstehe, was du meinst ... und es stellt sich die Frage "wo kommt das Script her?". Bei TomLs Einleitungstext mit "unbemerkte Online-Infiltration" dachte ich mir zuerst "Okay, reißen wir mal JavaScript aus dem Browser raus". Dann ging's plötzlich um Bash ... nunja ...

Somit ist mein Hinweis auf SELinux auch nicht als Allheilmittel zu verstehen sondern nur als weiteres Puzzelstück für TomLs Experimente und Gedanken.
MSfree hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 09:49:56
Von Aussagen wie "etwas dichter" halte ich gar nichts, das klingt so wie "etwas schwangerer".
Aus der Perspektive darfst du gar kein Computersystem mehr benutzen. Irgendwo sind die immer undicht. Spectre schon abgedichtet? Oh, verzeihung, neuerdings werden Sicherheitslücken ja eh nicht mehr gestopft sondern nur noch "gemildert".
breakthewall hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 12:08:28
Ich hatte SELinux längere Zeit im Einsatz, aber würde aufgrund der Erfahrungen nicht dazu raten. Denn allein die Konfiguration ist eine Mammutaufgabe, und muss stets penibel gepflegt werden.
Stimmt, den Eindruck hatte ich auch. Ein komplettes System mit SELinux-Policies abzusichern ist eine Mammutaufgabe. Da braucht es einen Anbieter, der einen guten Regelsatz mit ausliefert, wie Fedora. Aber auch die sind meineswissens primär darauf ausgelegt, das System gegen sich selber und gegen den User zu schützen. TomL will hier den User gegen sich selber schützen. Wieweit er da Neuland betritt, weiß ich nicht, aber ich finde den Ansatz interessant.
breakthewall hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 12:08:28
Interessant ist nebenbei auch, dass Redhat daran arbeitet, die Struktur regulärer Linux-Distributionen komplett zu verändern. Somit soll es im Bezug auf Fedora zukünftig so aussehen, dass das System in zwei Bereiche unterteilt wird, einmal mal in das Basissystem und einmal in einen Nutzerbereich, der nur noch aus Flatpaks bestehen soll.
Hier wirfst du Red Hat und Fedora durcheinander. Die beiden sind zwar eng verwandt, aber sich nicht immer einig. Aber um mal auf's Thema zurückzukommen: Mit flatpak kriegst du eine Sandbox gratis. Aber auch die scheint mir beim groben Überfliegen vorallem dazu gedacht, das System gegen den User zu schützen. Wieweit die auch taugt, einzelne User-Anwendungen gegeneinander abzuschotten, weiß ich mal wieder nicht.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

reox
Beiträge: 1361
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: NoExec in Homedirs

Beitrag von reox » 08.02.2018 19:30:22

bzgl SELinux: Ist nicht apparmor genau aus dem Grund gebaut worden, dass es einfacher konfigurierbar ist? Vllt sollte man sich eher das ansehen als SELinux.

Ich persönlich würde noexec nicht im home dir aktivieren, da ich da viel zu viele Sachen kompiliere und teste :D

TomL
Beiträge: 3391
Registriert: 24.07.2014 10:56:59

Re: NoExec in Homedirs

Beitrag von TomL » 08.02.2018 22:05:30

NAB hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 18:08:23
Ich denke, dass schon das "noexec" so einiges bringt - das dürfte den durchschnittlichen Cryptotrojaner stoppen, die sind nämlich meistens in C geschrieben und seltenst in "Bash".
Genau um solche Kandidaten geht es.
Auf der anderen Seite sind TomLs Überlegungen offensichtlich unausgereift ... er weiß selber nicht so genau, wie und gegen was er sich wie stark schützen will.
Das ist eine Interpretation, die so nichts mit unserer Realtiät zu tun hat und ohne Kenntnis aller anderen der bei uns getroffenen Maßnahmen eigentlich bedeutungslos ist.
Sein "Prove of Concept" - "Schaut, ich kann mein eigenes Script nicht mehr ausführen" wirkt nicht so richtig überzeugend.
Das sollte ja auch zu keiner Zeit überzeugend sein, zu dem Zeitpunkt habe ich noch von "dazu inspiriert" gesprochen und um Kritik gebeten... was msfree sehr schnell auch konkret getan hat.. und was mich dann dazu veranlasst hat, intensiv darüber nachzudenken. Meine Spaziergänge mit Hund bei diesem herrlichen Wetter sind dazu bestens geeignet. Die tiefergehende Bedeutung ist mir also erst viel später bewusst geworden, auch die Tatsache, dass msfrees Beispiel eine Sachkenntnis voraussetzt, die meine User nicht haben. Allerdings gebe ich zu, dass mein Beispiel zur Bestätigung wirklich dilettantisch war... was msfree ja schnell festgestellt hat. Aber wie gesagt, diese Kenntnisse hat hier keiner, die können alle nur klicken. Aber ich muss immer erst drüber nachdenken, um schließlich Wert oder Wertlos festzustellen.... aber wie gesagt, anfangs war erst mal nur eine Idee, ein Funke.
Bei TomLs Einleitungstext mit "unbemerkte Online-Infiltration" dachte ich mir zuerst "Okay, reißen wir mal JavaScript aus dem Browser raus". Dann ging's plötzlich um Bash ... nunja ...
Nein, hier ist kein Kontextwechsel angesagt... der Browser war nie ein Thema und es besteht hier für mich keinen Zweifel daran, dass der ziemlich scharf eingestellte UBlock-Origin solche Aktionen verhindert. Mit gings nach den mit dem Thema einhergehenden Überlegungen ausschließlich nur noch darum, einen Download in ~/Downloads nicht per Click via Filemanager starten zu können. Für alles andere fehlen hier die Sachkenntnisse... insofern war die Maßnahme ein voller Erfolg.
Somit ist mein Hinweis auf SELinux auch nicht als Allheilmittel zu verstehen sondern nur als weiteres Puzzelstück für TomLs Experimente und Gedanken.
Nee, ist es eher nicht... dazu würde der Absatz mit der Paranoia-Spirale in meinem vorherigen Posting passen. Ich werde keinen sich permanent ausdehnenden Aufwand für unser bedeutungsloses Netzwerk betreiben.

Ich halte es für unfachlich, sich allein auf diesen Miniaspekt in einem Gesamt-Konzept einzuschießen... und das Gesamt-Konzept ist hier gar nicht beschrieben. Dieser NoExec ist nur eine kleine und völlig unaufwendige Maßnahme, die sich nahtlos in ein schon bestehendes Gesamt-Konzept einfügt und unbedeutend ein klein wenig mehr die Sicherheit erhöht. Zum Beispiel dann, wenn meine Frau wieder mal von ihrer Facebook-Junkie-Freundin eine gutgemeinte Email mit einem Anhang zugesandt bekommt, der eine tolles Video enthält, welcher von seinem Datei-Charakter aber eine ausführbare Datei ist. Unter Windows wäre diese Exe dann durchaus ein Problem. Und wenns dann mal wirklich ein Linux-Binary wäre, könnte das jetzt nicht mehr mit einfachen Doppelklick gestartet werden. Wäre das dann sogar so eine Ransomware, könnte ich nun lächelnd sagen "ätschibätschie". Ich denke, das ist gut so.....
vg, Thomas

TomL
Beiträge: 3391
Registriert: 24.07.2014 10:56:59

Re: NoExec in Homedirs

Beitrag von TomL » 08.02.2018 22:26:01

reox hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 19:30:22
Ich persönlich würde noexec nicht im home dir aktivieren, da ich da viel zu viele Sachen kompiliere und teste
Das mach ich grundsätzlich nur in einer jeweils frischen systemd-nspawn-Umgebung in tempfs.... ich habe dafür ausreichend RAM. Und wenn ich X brauche, dann findet hinterher der Test in einer VM statt. Die Transfers geh'n einfach über Share-Dirs. Und wenn ich ausdrücklich eine eigene Hardware-Umgebung brauche, habe ich dafür einen Raspberry Pi als Test-Maschine. Mein eigener PC ist immer mehr und mehr nur noch ein Host für isolierte Sub-Systeme, wo ich den PC selber rigoros nach außen und vor Veränderungen abschirme und die installierte Software hinsichtlich der Anzahl der Programme seit Inbetriebnahme vor einem Jahr statisch ist.
vg, Thomas

NAB
Beiträge: 5097
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: NoExec in Homedirs

Beitrag von NAB » 08.02.2018 23:56:41

TomL hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 22:05:30
Das ist eine Interpretation, die so nichts mit unserer Realtiät zu tun hat und ohne Kenntnis aller anderen der bei uns getroffenen Maßnahmen eigentlich bedeutungslos ist.
Völlig richtig! Ich bezog mich einzig auf den Thread hier, habe deine restlichen Threads und "Maßnahmen" nicht verfolgt und kann "eure Realität" überhaupt nicht beurteilen. Insofern: Nix für ungut :D
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

breakthewall
Beiträge: 378
Registriert: 30.12.2016 23:48:51

Re: NoExec in Homedirs

Beitrag von breakthewall » 09.02.2018 09:36:55

NAB hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 18:08:23
Ich denke, dass schon das "noexec" so einiges bringt - das dürfte den durchschnittlichen Cryptotrojaner stoppen, die sind nämlich meistens in C geschrieben und seltenst in "Bash".
Mit Python hätte man auch eine gute Basis für so eine Aufgabe. Zufälligerweise habe ich schon einmal einen Kryptotrojaner in Bash geschrieben, rein aus Interesse an der Sache. Und warum ausgerechnet in Bash ist einfach, zumal man sich mit der Kastration der Shell selbst sabotieren würde, weshalb die Shell-Variante nahezu immer funktionieren wird, wenn jemand naiv genug ist ihn auszuführen. Dagegen könnte eine Binary via noexec, leicht unschädlich gemacht werden.
reox hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 19:30:22
bzgl SELinux: Ist nicht apparmor genau aus dem Grund gebaut worden, dass es einfacher konfigurierbar ist? Vllt sollte man sich eher das ansehen als SELinux.

Ich persönlich würde noexec nicht im home dir aktivieren, da ich da viel zu viele Sachen kompiliere und teste :D
Hier wäre AppArmor in der Tat einfacher, aber auch deutlich weniger wirksam als SELinux. Insbesondere die Konfiguration von AppArmor, ist sehr leicht verständlich, was auch Konfigurationsfehlern vorbeugt. An sich muss man /home nicht via noexec mounten. Und genau genommen stellt sich auch die Frage, inwieweit es überhaupt Sinn macht, die Shell an der Ausführung zu hindern. Ich meine es reicht doch schon, wenn Dateien oder Verzeichnisse via chattr geschützt werden, dann könnte sich hier ein Kryptotrojaner dumm und dämlich ackern, wenn die Originale schlicht nicht löschbar sind bzw. nicht manipuliert werden können. Und auf den restlichen Verzeichnisbaum besteht ohnehin kein Zugriff. Alternativ könnte man auch garnichts von Wert unter /home speichern, dann sieht die Angriffsfläche auch wieder anders aus. Doch zumindest aus eigener Sicht, ist mir jene Variante lieber, präventiv zu verhindern, dass überhaupt irgendetwas auf das System kommt. Und da ist wiederum ein abgesicherter Browser gefragt.

Benutzeravatar
Lohengrin
Beiträge: 2979
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: NoExec in Homedirs

Beitrag von Lohengrin » 11.02.2018 23:00:08

TomL hat geschrieben: ↑ zum Beitrag ↑
08.02.2018 22:05:30
Mit gings nach den mit dem Thema einhergehenden Überlegungen ausschließlich nur noch darum, einen Download in ~/Downloads nicht per Click via Filemanager starten zu können.
Kann man das dem Filemanager beibiegen?
Das Problem sitzt, wie so oft, vor dem Bildschirm. Der Benutzer will, dass auf Klick etwas passiert, und was das ist, überlässt er der Automatik, die das hoffentlich richtig errät. Und dann hat er das Schadprogramm gestartet.

Ein Versuch, das Problem zu beheben, ist, den Benutzer "Soll ich das Programm ausführen?" zu fragen. Aber die Erfahrung lehrt, dass man ebensogut "Willst du, dass dieses Fenster verschwindet?" fragen kann.

Wenn schon durch Klicken auf ein Icon, das durch das Abspeichern der Datei entstanden ist, ein Programm mit der Datei als Argument ausgeführt wird, oder eben diese Datei als Programm ausgeführt wird, dann wäre es gut, wenn das Icon auf das Programm schließen lässt, oder besagt, dass diese Datei ein Programm ist, das ausgeführt werden soll. Insbesondere darf dann die Datei nicht das Icon festlegen.
Das ist mMn ein böser Fehler im Konzept des Desktops, der schon damit beginnt, dass Verzeichnisse Ordner heißen und Dateien geöffnet werden.
Harry, hol schon mal das Rasiermesser!

breakthewall
Beiträge: 378
Registriert: 30.12.2016 23:48:51

Re: NoExec in Homedirs

Beitrag von breakthewall » 11.02.2018 23:34:33

Lohengrin hat geschrieben: ↑ zum Beitrag ↑
11.02.2018 23:00:08
Kann man das dem Filemanager beibiegen?
Das hatte ich völlig ausser Acht gelassen. Zumindest Nautilus unter Gnome, führt standardmäßig nichts aus, und öffnet ausführbare Dateien nur im Texteditor. Das muss in den Einstellungen schon explizit eingestellt werden, wenn sich Nautilus anders verhalten soll. Zu den anderen Dateimanagern kann ich aktuell nichts sagen, da diese lange nicht mehr verwendet wurden.

Benutzeravatar
smutbert
Beiträge: 6047
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: NoExec in Homedirs

Beitrag von smutbert » 11.02.2018 23:37:35

Genau dasselbe wollte ich auch gerade schreiben, aber es stimmt nicht ganz: Die Einstellung bezieht sich nur auf Textdateien. Bei mir steht sie auf "Anzeigen" (im Gegensatz zu Nachfragen und Ausführen), aber das avidemux appImage wird beim Doppelklick (leider) ausgeführt.

TomL
Beiträge: 3391
Registriert: 24.07.2014 10:56:59

Re: NoExec in Homedirs

Beitrag von TomL » 12.02.2018 00:11:15

@smutbert & breakthewall

Ihr sprecht aber jetzt vom normalen Verhalten des Filemanagers...?.... ohne Berücksichtigung des Umstands, das ich das Verzeichnis mit noexec gemountet habe? Nach meinem Verständnis sollte damit (egal welcher) kein einziger FM (egal mit welcher Einstellung) ein Binary mit simplem Doppelklick starten dürfen. Oder ist das doch noch wieder anders, je nach FM?
vg, Thomas

breakthewall
Beiträge: 378
Registriert: 30.12.2016 23:48:51

Re: NoExec in Homedirs

Beitrag von breakthewall » 12.02.2018 00:44:13

smutbert hat geschrieben: ↑ zum Beitrag ↑
11.02.2018 23:37:35
Die Einstellung bezieht sich nur auf Textdateien.
Stimmt. Habe eben nochmal nachgesehen. Dann bleibt es wohl bei noexec und dergleichen. Obwohl wo es mir gerade einfällt, müsste man doch auch über ACLs verbieten können, dass hier etwas ein Execute-Bit besitzen darf.

NAB
Beiträge: 5097
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: NoExec in Homedirs

Beitrag von NAB » 12.02.2018 00:57:21

*hüstel* ... ich weiß nicht, was mit meinem KDE gerade los ist, aber unter Jessie hat er mir noch brav jeden Cryptotrojaner.exe gestartet, sobald wine installiert war - auf Single-Click. Ich vermute, Wine schert sich nicht um NoExec. Selbes Problem wie "$ bash ~/cryptotrojaner.sh".

ELF Binaries startet er mir auch, wenn ich ihm sage, dass er sie z.B. mit dbus-launch öffnen soll.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
Lohengrin
Beiträge: 2979
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Re: NoExec in Homedirs

Beitrag von Lohengrin » 12.02.2018 01:31:50

Wenn ich find ~ -perm /u=x -type f mache, finde ich neben von mir erstellen Dateien noch libgmpopenh264.so beim Firefox.
Hat Firefox, wenn home mit noexec gemountet ist, dann ein Problem beim Anzeigen von Videos?
Harry, hol schon mal das Rasiermesser!

Benutzeravatar
smutbert
Beiträge: 6047
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: NoExec in Homedirs

Beitrag von smutbert » 14.02.2018 00:20:24

TomL hat geschrieben: ↑ zum Beitrag ↑
12.02.2018 00:11:15
@smutbert & breakthewall

Ihr sprecht aber jetzt vom normalen Verhalten des Filemanagers...?.... ohne Berücksichtigung des Umstands, das ich das Verzeichnis mit noexec gemountet habe? Nach meinem Verständnis sollte damit (egal welcher) kein einziger FM (egal mit welcher Einstellung) ein Binary mit simplem Doppelklick starten dürfen. Oder ist das doch noch wieder anders, je nach FM?
Ja, aber wie du siehst kann man sich darauf nicht verlassen.

wine schert sich nicht um noexec, vielleicht verhält sich bei java auch so und auch sonst ist es insofern ein schwacher Schutz als man vielleicht nicht sofort erkennt welche weiteren fuse- oder sonstigen Dateisysteme der Dateimanager mountet bevor er etwas macht. Ein Dateisytem-Image könnte beispielsweise mithilfe von losetup, Debianfuseiso9660, gvfs(-fuse) oder etwas ähnlichem irgendwo ohne noexec gemountet werden (etwa irgendwo unter /run/user) und schon hilft noexec in /home nichts mehr (wobei zumindest udisks freundlicherweise wieder vieles mit noexec mountet).

für sinnlos halte ich noexec aber trotzdem nicht.
(ich nutze nur gerne ~/bin für eigene Skripte, das in Debian auch automatisch in $PATH landet, wenn es existiert, weswegen es für mich nicht in Frage kommt)

TomL
Beiträge: 3391
Registriert: 24.07.2014 10:56:59

Re: NoExec in Homedirs

Beitrag von TomL » 14.02.2018 09:42:41

smutbert hat geschrieben: ↑ zum Beitrag ↑
14.02.2018 00:20:24
Ja, aber wie du siehst kann man sich darauf nicht verlassen.
Ich gebe mich da auch keinen Illusionen hin und bewerte Sinn oder Sinnlos ganz pragmatisch nur vor unserem eigenen "lokalen" Hintergrund. Es gibt bei uns kein Wine, insofern beschäftige ich mich auch nicht mit der Frage, ob Wine das respektiert oder nicht. Davon abgesehen, hätte ich sowieso gesagt, Bier ist Bier und Schnaps ist Schaps, wieso sollte Schnaps wie Bier schäumen? Was ich meine, ist, Windows ist Windows und wieso sollte sich Windows für seine eigenen Binaries um Linux-Beschränkungen kümmern...?... zumindest hätte ich das nicht erwartet. Wir selber nutzen nur noch eine W7-VM für das Buhl-Steuer-Programm, damit wird aber nicht gesurft und es ist quasi keinerlei Software installiert. Also beunruhigt mich das auch von dieser Seite nicht weiter.

Ich habe mir selber mal von einem Postfach zum anderen den mc und ein Bashscript zugesandt und dann versucht, beides nur mit Clickerei zu starten... es ist mir nicht gelungen. Genau das ist das Szenario, was mir vorschwebt.... und welches für meine anderen User ein schier unüberwindbares Hindernis darstellt.... sie können es nicht ohne Hilfe starten. Insofern denke ich schon, dass das eine durchaus sinnvolle Verbesserung darstellt, die ein ganz bestimmtes Szenario erfolgreich regelt und infolgedessen die Einflugschneise für Schadssoftware wieder ein wenig schmaler macht.
vg, Thomas

Antworten