Mögliche Sicherheitsmassnahmen für Kodi Addon installationen. (Addonsystem von Kodi sicherer machen.)

  • Ein Entwickler für Kodi versucht oder veruchte ja bereits mit diesem pullrequest die Sicherheiteit des Addon-Systems zu erhöhen.

    Leider würde durch solch einen Vorstoss das "verteilen" von Beta und Testversionen durch weitere Repos (z.B. Nerds) EDIT: von bestehenden Addons in der ofiziellen Repo /EDIT erschwert oder gar verunmöglicht. Dadurch würden schnelle fixes nicht mehr so einfach sein, da so ein Addon dann zuerst durch einen Reviewprozess eines Teammembers seitens Kodi müste.

    Anstadt zu "stänkern" dachte ich, ich mach mal trotz "halbwissen" n Tread auf indem über Verbesserungsvorschläge / lösungsansätze und auch ev. über derzeit bestehende Risiken diskutiert werden kann.


    Ziele eines "sichereren" Addoninstallationsmanagement sollten imho. sein:

    - Addon kann nicht ohne weiteres von Fremdrepo überschrieben werden.
    - Möglichkeit zum verteilen von malware via Addoninstallationsroutine von Kodi sollte weitestgehend unterbunden werden.


    Wie sehen Eure Ideen aus?


    an die Profis: währe es auch möglich technisch einen Schutz zu implementieren, welcher das installieren von malware möglichst unterbindet, oder ist man bei phyton Addons zwingend auf ein Reviewprozess angewissen, da man via phyton so oder so malware z.B. aus dem Netz nachladen und installieren kann?

    Muss zugesthehen das ich mal arg überrascht war, was bei der Addoninstallation in Kodi so alles möglich ist für n Addon.
    Hatte mir mal testweise was aus dem SkinWIP tread im ofiziellen installiert und da wurden locker .dll's mitentpackt und sogar .exe waren dabei! (Das n Addon sowas mitbringen darf sollte doch Technisch beim Installationsprozess unterbunden werden können?)
    Auch wurden bei der Installation weitere Verzeichnisse (Ausserhalb des Kodi trees) angelegt und mit Inhalt befüllt. 8|

    Auch wenn die Absichten des Erstellers vermutlich ehrenhaft wahren, zeigte es doch, was eigentlich alles so möglich ist (nähmlich so wie es scheint, alles was so n Addon Entwickler grad bock drauf hat, .dll's irgend wo auf m Rechner platzieren, .exe's mit installieren usw., eine Routite öffnete sogar das Kommandozeilenprogramm und führte irgendwelche Schritte Automatisch aus. eigentlich doch haarstreubend.

  • Man könnte Addons mit Schreibrechten versehen die explizit von Kodi vorgegeben werden.
    Würde a) ein Rechtesystem innerhalb Kodi benötigen. b) ein Überarbeiten sämtlicher anderer Addons bedeuten.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Was ich mich frage ob es möglich ist nur gewisse Dateitypen bei der installation zuzulassen (also nix mit .exe und .dll) und ob das überhaut Sinn machen würde?

    Desweitern anstadt des Vorschlages im oben verlinkten "pullrequest" könnt ich mir vorstellen das das Automatische Updaten von Addons nur aus dem Repo heraus möglich gemacht werden sollte, aus dem es installiert wurde. (Somit würde die Möglichkeit eines automatischen "überschreiben" aus einer "Fremdrepo" unterbunden.)
    (-> man könnte immer noch ne Meldung anzeigen lassen, dass ein Update für ein Installiertes Addon aus einer "Fremdrepo" verfügbar ist, und den User entscheiden lassen, ob er in diesem speziellen Fall eine Installation zulassen will. -> "Immer" | "einmalig")

  • Ein Entwickler für Kodi versucht oder veruchte ja bereits mit diesem pullrequest die Sicherheiteit des Addon-Systems zu erhöhen.

    Diese Erweiterung hat überhaupt nichts mit Sicherheit zu tun.

    Leider würde durch solch einen Vorstoss das "verteilen" von Beta und Testversionen durch weitere Repos (z.B. Nerds) erschwert oder gar verunmöglicht. Dadurch würden schnelle fixes nicht mehr so einfach sein, da so ein Addon dann zuerst durch einen Reviewprozess eines Teammembers seitens Kodi müste.

    Nein, es würde so bleiben wie es ist. Andere Repositories können auch dann ihre eigenen Add-ons verteilen.

    an die Profis: währe es auch möglich technisch einen Schutz zu implementieren, welcher das installieren von malware möglichst unterbindet, oder ist man bei phyton Addons zwingend auf ein Reviewprozess angewissen, da man via phyton so oder so malware z.B. aus dem Netz nachladen und installieren kann?

    Eine Rechteverwaltung könnte man sicherlich einbauen. Allerdings sehe ich da keine realistische Chance:
    - der Resourcenaufwand ist zu enorm
    - auch mit Rechteverwaltung sind Angriffe möglich
    - einer Großzahl an Usern sind die benötigten Berechtigungen egal
    - die Freiheit für Entwickler wird beschnitten

    Muss zugesthehen das ich mal arg überrascht war, was bei der Addoninstallation in Kodi so alles möglich ist für n Addon.
    Hatte mir mal testweise was aus dem SkinWIP tread im ofiziellen installiert und da wurden locker .dll's mitentpackt und sogar .exe waren dabei! (Das n Addon sowas mitbringen darf sollte doch Technisch beim Installationsprozess unterbunden werden können?)
    Auch wurden bei der Installation weitere Verzeichnisse (Ausserhalb des Kodi trees) angelegt und mit Inhalt befüllt. 8|

    Ein Add-on ist ein Programm wie jedes andere. Es hat die selben Rechte wie der angemeldete User. Der Nutzer selbst muss ja auch selbst entscheiden, welchen Programmen er traut. So ist z.B. VLC i.d.R. unbedenklich, eine gecrackte Version von Photoshop könnte aber Schadsoftware beinhalten.

    Auch wenn die Absichten des Erstellers vermutlich ehrenhaft wahren, zeigte es doch, was eigentlich alles so möglich ist (nähmlich so wie es scheint, alles was so n Addon Entwickler grad bock drauf hat, .dll's irgend wo auf m Rechner platzieren, .exe's mit installieren usw., eine Routite öffnete sogar das Kommandozeilenprogramm und führte irgendwelche Schritte Automatisch aus. eigentlich doch haarstreubend.

    Das Add-on kann nicht überall Daten platzieren, sondern nur dort, wo der Nutzer Berechtigungen hat. Wie jedes andere Programm was du ausführst.

    Was ich mich frage ob es möglich ist nur gewisse Dateitypen bei der installation zuzulassen (also nix mit .exe und .dll) und ob das überhaut Sinn machen würde?


    Nein. Es gibt Add-ons mit binären Komponenten. Außerdem kann man ohne weiteres den Dateityp ändern oder im nachhinein Daten herunterladen. Desweiteren gibt es auch binäre Add-ons.

    Desweitern anstadt des Vorschlages im oben verlinkten "pullrequest" könnt ich mir vorstellen das das Automatische Updaten von Addons nur aus dem Repo heraus möglich gemacht werden sollte, aus dem es installiert wurde. (Somit würde die Möglichkeit eines automatischen "überschreiben" aus einer "Fremdrepo" unterbunden.)
    (-> man könnte immer noch ne Meldung anzeigen lassen, dass ein Update für ein Installiertes Addon aus einer "Fremdrepo" verfügbar ist, und den User entscheiden lassen, ob er in diesem speziellen Fall eine Installation zulassen will. -> "Immer" | "einmalig")

    Nein. Dieser PR nutzt nur mir als Entwickler. Ich kann relativ sicher sein, dass meine Add-ons auf genau definierte Pakete zugreifen. So kann man relativ sicher sein, dass man kein Add-on debuggen muss, wo ein Piratenrepo ein verhunztes Script untergeschoben hat. Der Nutzer darf dies dann auch nicht überschreiben können.


    Ich kann diese Diskussion rund um die "nicht vorhandene" Sicherheit in Kodi nicht nachvollziehen. Es gibt in der Softwarewelt nur einen großen Hersteller, der seine User bevormundet: Apple mit iOS.

  • Diese Erweiterung hat überhaupt nichts mit Sicherheit zu tun.

    Und um was ging es den sonst?

    Zitat von Martinj:
    [url='https://github.com/tamland']@tamland[/url] To prevent non official repos overriding the add-ons we provide. This partly a security measure and counter measure towards possible harmful abuse of "trusted" add-ons we currently provide which can be overridden by externals at any time.

    Oder zählst Du sowas nicht zu den Sicherheitsaspekten??

    Nein, es würde so bleiben wie es ist. Andere Repositories können auch dann ihre eigenen Add-ons verteilen.

    Sry. hier hab ich mich missverständlich ausgedrückt, ging mir natürlich um beta versionen/betarepos von Addons im ofiziellen Kodi Repository. (z.B. MarcelVelds beta Repo seines SkinHelpers, und um Addons welche sowohl im Kodinerds wie auch im ofiziellen zufinden sind.) -> EDIT: habs oben noch Editiert ums etwas klarer zu umreissen /EDIT

    Eine Rechteverwaltung könnte man sicherlich einbauen. Allerdings sehe ich da keine realistische Chance:- der Resourcenaufwand ist zu enorm
    - auch mit Rechteverwaltung sind Angriffe möglich
    - einer Großzahl an Usern sind die benötigten Berechtigungen egal
    - die Freiheit für Entwickler wird beschnitten

    Ich hätte da eher an eine generelle Installationsverzeichniss, & Dateityp Beschränkung (So alla nur .py dateien können installiert (/extrahiert) werden, und auch nur im Userdata Ordner (Beschränkung der Verzeichniss Struktur in welche Kodi extrahieren / installieren kann + das verhindern das bei der Addon Installation eine .exe ausgeführt werden kann.

    Wenn durch Phyton alleine diese Massnahmen schon umgangenwerden könnten, würde sowas natürlich keinen Sinn machen.

    Ein Add-on ist ein Programm wie jedes andere. Es hat die selben Rechte wie der angemeldete User. Der Nutzer selbst muss ja auch selbst entscheiden, welchen Programmen er traut. So ist z.B. VLC i.d.R. unbedenklich, eine gecrackte Version von Photoshop könnte aber Schadsoftware beinhalten.

    Rein Intuitiv war für mich ein Addon In Kodi vergleichbar z.B. mit ner Erweiterung / Add-on in Firefox.

    Wenn ich mich nicht Irre unterliegen Firefox Erweiterungen / Add-on's auch gewissen Restriktionen und dürfen/können nicht von Firefox unabhängigen Code im System platzieren.

    Nein. Es gibt Add-ons mit binären Komponenten.

    Diese benötigen doch aber ne Spezielle BinärRepo oder bin ich da auf dem Holzweg?

    Ich kann diese Diskussion rund um die "nicht vorhandene" Sicherheit in Kodi nicht nachvollziehen. Es gibt in der Softwarewelt nur einen großen Hersteller, der seine User bevormundet: Apple mit iOS.

    Meinem Empfinden nach wurde die Disskusion rund um die Sicherheit doch erst durch Teammitglider und Codevoluntares angestossen?
    (Wie z.B.: Im oben verlinkten PR.)

  • Man könnte Addons mit Schreibrechten versehen

    Nein kann man nicht ohne weiteres - man müsste jeden Python Prozess Sandboxen - technisch nicht unmöglich aber keine Ahnung wie groß der Aufwand ausarten würde.

    Derzeit kann jedes Addon alles worauf Kodi Zugriff hat (i.d.R alles) - sprich jedes Addon kann dir alles unterjubeln.

    Solange du aber "nur" vertrauenswürdige Repos installierst wo jemand ein Auge drauf hat was da passiert ist man halbwegs sicher. Sobald eine tralala Repo installiert ist stehen "alle" Möglichkeiten offen.

  • Und um was ging es den sonst?
    Zitat von Martinj:
    [url='https://github.com/tamland']@tamland[/url] To prevent non official repos overriding the add-ons we provide. This partly a security measure and counter measure towards possible harmful abuse of "trusted" add-ons we currently provide which can be overridden by externals at any time.

    Oder zählst Du sowas nicht zu den Sicherheitsaspekten??

    Nein, das spielt kein Sicherheitsaspekt mit herein. Wenn ein Repo installiert wird, kann ohne weiteres Code gezogen werden. Von daher ist es egal, ob man .tv Add-ons überschreiben kann.

    Wenn du schon von einer Seite zitierst solltest du sie auch ganz lesen. Genau einen Post darunter wird von Tamland zweifelsfrei klargestellt, was dieser Patch bewirkt. Es betrifft nur die Sicherheit für Entwickler, dass kein Code untergeschoben wird.

    Sry. hier hab ich mich missverständlich ausgedrückt, ging mir natürlich um beta versionen/betarepos von Addons im ofiziellen Kodi Repository. (z.B. MarcelVelds beta Repo seines SkinHelpers, und um Addons welche sowohl im Kodinerds wie auch im ofiziellen zufinden sind.) -> EDIT: habs oben noch Editiert ums etwas klarer zu umreissen /EDIT

    Auf der einen Seite schreibst du, dass du keine Ahnung hast. Hier stellst du deine Thesen als Fakten dar, die sich nicht halten lassen. Der Helper lässt sich natürlich auch als Beta installieren.

    Diese benötigen doch aber ne Spezielle BinärRepo oder bin ich da auf dem Holzweg?

    Nein. Ein normales Repo genügt.


    Eine Rechteverwaltung wäre zwar schön, aber mit den vorhandenen Mitteln kaum zu schaffen. Cracker werden immer einen Weg finden. Ich kann dir auch ohne größere Berechtigungen z.B. Bitcoinminer oder Netzwerkexploits erstellen, auf Android, Kodi, Windows oder Firefox. Was der Nutzer das installiert kann unmöglich kontrolliert werden. Windows/Linux/MacOS machen das ja auch nicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!