Ist es sicher, ImageMagick für Benutzerbilder zu verwenden?

Ist es sicher, ImageMagick für Benutzerbilder zu verwenden?

Ich habe gehört, dass es Sicherheitsbedenken geben kann, wenn man ImageMagick mit beliebigen, von Benutzern bereitgestellten Bildern verwendet. Der folgende Link liefert beispielsweise Hinweise darauf, dass es früher einige Pufferüberlauf-Exploits gab. Weiß jemand, ob ich dies jetzt sicher als Teil eines Webdienstes verwenden kann, der mit Benutzerbildern arbeitet?

http://rhn.redhat.com/errata/RHSA-2006-0633.html

Antwort1

Diese Sicherheitswarnung stammt aus dem Jahr 2006. Jede Software hat Fehler, aber ich würde nicht sagen, dass ImageMagick mehr davon hat als andere Software. Im Ernst: Wenn Sie einen Webdienst implementieren, ist die Wahrscheinlichkeit, dass Sie von jemandem über Apache gehackt werden, wahrscheinlich genauso hoch wie bei ImageMagick.

Kurz gesagt: Machen Sie sich darüber keine Sorgen, aber halten Sie Ihre gesamte Software auf dem neuesten Stand.

EDIT: Übrigens habe ich einem Kunden geholfen, einen Webdienst zu implementieren, der ImageMagick verwendet, und ich habe nie von einem Problem damit gehört.

Antwort2

Ja, es besteht ein Sicherheitsrisiko – Software weist Fehler auf und einige davon können für Angriffe auf das System verwendet werden, auf dem sie ausgeführt wird.

Aber Sie können das Risiko minimieren:

  1. Erstellen Sie ein Benutzerkonto mit den Mindestberechtigungen, die gerade zum Ausführen von ImageMagick ausreichen. Verwenden Sie nun nur dieses Konto zum Ausführen von ImageMagick.

  2. Automatische Sicherheitsupdates aktivieren: Linux-Systeme wie Ubuntu können so konfiguriert werden, dass Sicherheitsupdates automatisch installiert werden. Dadurch wird die Zeit verkürzt, in der Ihr System anfällig ist, falls eine Sicherheitslücke gefunden wird. Windows-Systeme verfügen ebenfalls über ein automatisches Update-System, das jedoch keine Drittanbietersoftware wie ImageMagick einschließt.

Antwort3

NEIN.

ImageMagick wurde für Flexibilität entwickelt. Es ist nicht gegen manipulierte Eingaben geschützt, wie es bei den Bildverarbeitungsbibliotheken eines Browsers der Fall ist. Es wird wahrscheinlichweiterhin viel einfacher, ausnutzbare Fehler zu findenin einer Bibliothek wie ImageMagick als in einem Browser.

Ein Angreifer, der einen Pufferüberlauf in ImageMagick findet, kann diesen dann verwenden, um beliebigen Code mit den Berechtigungen des Prozesses auszuführen, der ImageMagick ausführt.

Dies kann einem Angreifer einen Brückenkopf verschaffen, den er nutzen kann, um seine Privilegien weiter auszuweiten, zum Beispiel überPATH- und Trojaner-Angriffe, indem Sie andere Backends verwirren oder andere, ungepatchte Dienste in Ihrer Produktionsumgebung ausnutzen.

Wenn Sie unbedingtmussVerwenden Sie ImageMagick für Inhalte von Drittanbietern. Weitere Informationen finden Sie unter „Weitere Sicherheitsüberlegungen“ inSicherheitsrichtliniendokumente von ImageMagick:

Zusätzlich zur Sicherheitsrichtlinie können Sie ImageMagick sicherer machen, indem Sie ...

  • ImageMagick auf dem neuesten Stand halten. Die neuesten Versionen enthalten Korrekturen für alle Sicherheitslücken, die wir in der Vergangenheit entdeckt haben.
  • Bereinigen aller Dateinamen oder Befehlszeilenoptionen, die Sie an ImageMagick übergeben.
  • Ausführen von ImageMagick in einem bereinigten Softwarecontainer wie Docker.
  • Ausführen von ImageMagick als Benutzer mit den geringsten Berechtigungen (z. B. „niemand“). Explizites Festlegen des Bilddateityps. Verwenden Sie beispielsweise den Dateinamen png:image.png anstelle von image.png. Ohne einen expliziten Bildtyp im Dateinamen errät ImageMagick den Bildtyp.

verwandte Informationen