Guten Tag,
ich habe eine netzwerktechnische Frage und hoffe diese ist hier gut
aufgehoben.
Es geht um Folgendes: Da ich mir vor kurzem ein Raspberry Pi und
verschiedene netzwerkfähige Mikrocontroller (TI Launchpad, etc.) gekauft
habe, möchte ich nun natürlich das ein oder andere Projekt im Netzwerk
umsetzen (z.B. Webserver, Git-Server, Kommunikation über TCP, vllt
Heimautomatisierung, etc.). Das Ganze soll nur im eigenen Netzwerk
verfügbar sein. Verbunden werden die Geräte über einen Router der am
Internet hängt. Mit der Programmierung kenne ich mich relativ gut aus,
jedoch nicht mit Serverkonfiguration und Netzwerksicherheit.
Daher auch meine Frage, ist es möglich z.B. durch eine falsche
Konfiguration des Servers/falsche Verwendung des Mikrocontroller TCP-IP
Stacks, dass eines meiner Geräte plötzlich "offen" am Internet hängt?
Oder habe ich solange ich am Router keine Ports explizit weiterleite
relativ große "Narrenfreiheit" bei meinen Basteleien?
Ich würde mich freuen wenn jemand meine Frage beantworten kann. Dafür
bereits vielen Dank!
Von außen ist nur das erreichbar, was Dein Router rein läßt. Das geht
entweder über eine Portweiterleitung oder über einen Tunnel, der von
innen aufgebaut wird (VPN ...).
Ob der Router das 'von alleine' macht ist eine Frage der Einstellung
(UPNP) und der Firmware (siehe aktuelle Bugs) aber die Gefahr daß Du da
durch eine Fehler in der Programmierung eines µC irgendwas verstellst
ist gering.
Mir scheint, der Raspberry Pi ist ein attraktives Angriffsziel:
+ 24x7 Betrieb
+ weit verbreitet
+ einheitliche Installation
+ per Browser und Desktop angreifbar wie Windows
+ Compiler vorinstalliert (?)
+ Scriptsprachen vorinstalliert
+ "genormte" Software-Pakete per Script installierbar
- i386-Code nicht direkt ausführbar
gegen diese "normalen" Angriffe kann der Router nichts machen, die
Verbindung wird per http(s) von innen aufgebaut. Wenn die Malware dann
eigene Verbindungen braucht, werden die auch von innen aufgebaut. Gegen
einen Standard-VPN-Aufbau könnte der Router etwas machen, wird er aber
in der Regel nicht tun. Außerdem ist alles, was die Malware braucht, per
http(s), dns usw. tunnelbar.
Mal wieder ganz aktuell ist natürlich der Angriff per USB-Stick, dafür
muss nicht einmal der Browser gestartet werden.
Bei den anderen Micro-Computern gilt wohl wirklich noch "uninteressantes
Ziel mangels Stückzahl". Andererseits dürfte es dort auch in den
TCP-Stacks selbst noch Angriffspunkte geben, und wenn es nur ein
Ping-of-Death ist.
Übrigens: das Unix-Rechtekonzept ist nett und erstmal ziemlich sicher,
nützt aber in der Praxis garnichts, weil moderne Desktops auch aus
Textdateien ohne x-Rechte Programme ausführen.
Ein Angriff gegen "das System" ist ja aus der Mode gekommen. Entweder
man will die Benutzerdaten, der Rechner soll "nur" Botnetz-Mitglied
werden oder man möchte den Benutzer ärgern. Letzteres geht mit den Files
des Benutzers natürlich am besten und auf jeden Fall -- und
praktischerweise auch dann, wenn diese auf einem Fileserver liegen.
Schaulus Tiger schrieb:> Mir scheint, der Raspberry Pi ist ein attraktives Angriffsziel:
Entschuldige, aber die 'Begründung' ist unbelegtet BlaBla. Kannst Du
bitte erklären, wie ein Programm von selbst auf den Pi kommen soll, daß
die Verbindung von innen aufbaut?
Schaulus Tiger schrieb:> Übrigens: das Unix-Rechtekonzept ist nett und erstmal ziemlich sicher,> nützt aber in der Praxis garnichts, weil moderne Desktops auch aus> Textdateien ohne x-Rechte Programme ausführen.
Mich würde hier interessieren, was mit 'moderne Desktops' gemeint ist.
Mit Textdateien Ausführen meinst du dann wahrscheinlich Skripte, wobei
mir da schleierhaft ist, wie ich diese ohne die Rechte zum Ausführen
eben doch zum laufen bekomme?
Oliver R. schrieb:
> Kannst Du bitte erklären, wie ein Programm von selbst auf> den Pi kommen soll, daß die Verbindung von innen aufbaut?
genau wie unter Windows: zum Beispiel über ein präpariertes Foto das
einen Buffer Overflow im jpeg-Dekoder provoziert. Das Foto kommt per
EMail oder von einer Webseite. Angriffe nach dem Prinzip gab es in der
Vergangenheit reichlich.
Das hab ich auch geschrieben, aber irgendwer hat den Absatz gefressen ;)
Vor "gegen diese normalen Angriffe" fehlt offensichtlich etwas.
Hier gibt's was zum Lesen:
http://www.geekzone.co.nz/foobar/6229
How to write a Linux virus in 5 easy steps
1
Getting attachments to execute
2
3
We said earlier that attachments are not normally run when they are
4
stored as files. There is no standard file extension that indicates
5
that a file should be executed when clicked, as there is under Windows.
6
Instead - and this is the second big hurdle we need to overcome -
7
for the file to be executable under Linux (or any other *nix OS),
8
the execute flag would have to be set in the permissions of the file.
9
This is something that Windows doesn't have, and which is often seen
10
as one of the reasons why infecting a Windows PC can be so easy,
11
and why it should be close to impossible on *nix systems. When you
12
save an email attachment under Linux, the execute flag is normally
13
NOT set and thus, the file can't be executed just by clicking on it.
14
So, no luck?
15
16
Not so fast. Modern desktop environments, such as Gnome and KDE,
17
conveniently offer a nice "workaround" called 'launchers'. Those are
18
small files that describe how something should be started. Just a few
19
lines that specify the name, the icon that should be displayed and
20
the actual command to execute. Conveniently, the syntax of those
21
launcher files is the same for Gnome and KDE. And those launchers
22
don't have to have any execute permissions set on them!
23
24
Desktop environments treat those files as a special case, so when
25
you click on them Gnome or KDE will happily execute the command
26
that was specified within the launcher description and without
27
the need for the execute bit to be set on the launcher itself.
Schaulus Tiger schrieb:> Oliver R. schrieb:>>> Kannst Du bitte erklären, wie ein Programm von selbst auf>> den Pi kommen soll, daß die Verbindung von innen aufbaut?>> genau wie unter Windows: zum Beispiel über ein präpariertes Foto das> einen Buffer Overflow im jpeg-Dekoder provoziert. Das Foto kommt per> EMail oder von einer Webseite. Angriffe nach dem Prinzip gab es in der> Vergangenheit reichlich.
Du beantwortest eine andere Frage als die, die der TE ursprünglich
hatte.
Die ursprüngliche Frage lautete:
Kevin M. schrieb:> Daher auch meine Frage, ist es möglich z.B. durch eine falsche> Konfiguration des Servers/falsche Verwendung des Mikrocontroller TCP-IP> Stacks, dass eines meiner Geräte plötzlich "offen" am Internet hängt?
Sicher kann das "falsch" durch ungewollte äußere Einwirkung
hervorgerufen werden. Vor diesem Hintergrund:
Kevin M. schrieb:> Mit der Programmierung kenne ich mich relativ gut aus,> jedoch nicht mit Serverkonfiguration und Netzwerksicherheit.
geht es dem TE aber nicht um die generellen Gefahren durch äußere
Einwirkungen, sondern um die Gefahren, die sich durch Unkenntnis einer
korrekten, sicheren Netzwerkonfiguration ergeben.
Sorry für den Off-Topic (ist der letzte - zumindest von mir), jedoch für
alle die es interessiert, hier etwas zum Ausführen ohne x-Rechte:
Wenn ich das richtig verstanden habe, wird nun also nur ein 'launcher'
als E-Mail-Anhang versendet, der den auszuführenden Befehl enthält?
Als Benutzer von Gnome konnte ich mich deshalb von einem Versuch nicht
abhalten lassen! Um die Struktur des Launchers nicht selbst schreiben zu
müssen, habe ich den integrieten Assistenten zum Erstellen von
Autostart-Programmen verwendet.
Hier der Testlauncher:
Dateiname: mkdir.desktop
[Desktop Entry]
Type=Application
Exec=/bin/bash -c "mkdir ~/.config/autostart/test"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=testlauncher
Name=testlauncher
Comment[en_US]=
Comment=
X-GNOME-Autostart-Delay=0
Bei Ausführen dieser Datei OHNE x-Rechte erscheint bei mir ein Pop-up ->
siehe Anhang.
Durch 'Mark as Trusted' werden die x-Rechte gesetzt und beim nächsten
Anklicken (nun MIT x-Rechten) wird der Befehl unter 'Exec' direkt
ausgeführt.
Desweitern ist anzumerken, dass die Datei (hier der Anhang) die
Dateiendung '.desktop' aufweisen muss um als Launcher erkannt zu werden,
mit Dateinamen 'mkdir' zum Beispiel tut sich nichts.
Mit genug Willenskraft lässt sich das System also wirklich infizieren.
Im Vergleich zum Artikel(schon relativ alt - 2009) wurde die Situation
durch das Pop-up (das zu diesem Zeitpunkt anscheinend noch nicht
vorhanden war) jedoch etwas entschärft.
Ich danke auf jedenfalls für die Info!