On Friday, 27. February 2009 13:59:25 Pascal Hauck wrote:
> ¹ sofern in der kurzen Zeit, in der Emacs startet, kein weiteres
> Programm geladen wird
In der Fachsprache nennt man ein solches Phänomen "race condition".
Zahlreiche Sicherheitsprobleme rühren daher, dass bestehende Race
Conditions unerkannt bleiben. Da sollte man sich gut überlegen, ob
man ein solches Konstrukt *absichtlich* verwenden möchte. Wenn es
auch nicht sofort zu einer Sicherheits-Katastrophe kommen wird, ist
das unerwartete Verhalten des Systems doch absehbar.
Ein ganz einfaches Beispiel:
ein erster trivialer Ansatz zum Ausprobieren wäre wohl
----
XCOMPOSE=${HOME}/.Xcompose
cp .Xcompose-emacs ${XCOMPOSE}
emacs &
sleep 7
cp .Xcompose-standard ${XCOMPOSE}
----
Was passiert nun, wenn ein fremdes Skript unmittelbar vorher
----
cd
rm .Xcompose
ln -s ~/Mail/INBOX .Xcompose
----
ausgeführt hat? Richtig: die Inbox des Mailprogramms wird beim
Ausführen des starte-emacs-Skripts unbemerkt überschrieben. Ähnliche
Angriffs-Szenarios gegen unbedacht geschriebene Shell-Hacks kann man
auch komplizierter und nicht sofort offensichtlich konstruieren.