Versionen von verwendeten JS-Bibliotheken verstecken



  • Habe mal gelesen, dass das ein Security-Issue wäre, wenn die Website bekannt gibt, welche Versionen von JS-Bibliotheken sie verwendet.

    Jetzt mal abgesehen davon, dass ich JS nicht wirklich als Security-Issue sehe: Das ist doch Unsinn? Wie soll man das denn überhaupt unterbinden?
    Welche Version man einsetzt ist doch immer mit minimalen Aufwand von außen erkennbar, schließlich muss hat jeder Client den Code dazu lokal bei sich.
    Da kann man machen was man will, das ist einfach immer einfach rauszufinden??



  • Habe ich jetzt recht mit meiner Vermutung, dass es hierzu kein sinnvolles best-practice/Standard/... gibt oder weiß einfach niemand etwas darüber?



  • JSversion schrieb:

    Habe mal gelesen, dass das ein Security-Issue wäre, wenn die Website bekannt gibt, welche Versionen von JS-Bibliotheken sie verwendet.

    Wie du schon selbst herausgefunden hast, ist das Unsinn.

    Die "Version" lässt sich nicht verschleiern. Eine Version ist immer nur ein Abbild von einem Entwicklungsstand.

    Aber wenn jemand weiß, welche Version du verwendest, weiß er auch welche Sicherheitslücken in der Version vorhanden sind. Also hängt dann schon auch irgendwie zusammen 😉



  • Abradolf Lincler schrieb:

    Wie du schon selbst herausgefunden hast, ist das Unsinn.

    Die "Version" lässt sich nicht verschleiern. Eine Version ist immer nur ein Abbild von einem Entwicklungsstand.

    Aber wenn jemand weiß, welche Version du verwendest, weiß er auch welche Sicherheitslücken in der Version vorhanden sind. Also hängt dann schon auch irgendwie zusammen 😉

    Das heißt die Versionen aktuell zu halten ist durchaus angebracht, sich Mühen zu machen und zu versuchen, die Versionen zu verstecken aber eher nicht?



  • Ist es denn Mühe die Versionen zu verstecken? Heutzutage lässt man JS Code in der Regel durch einen Bundler, Minifier etc. laufen und hat am Ende ein vendor.js in der alles unnötige rausgeworfen und der Rest umbenannt wurde. Da ist es vermutlich einfacher konkrete Sicherheitslücken abzutesten, als die Version herauszufinden, um zu sehen ob Sicherheitslücken bekannt sind.



  • Tobiking2 schrieb:

    Ist es denn Mühe die Versionen zu verstecken? Heutzutage lässt man JS Code in der Regel durch einen Bundler, Minifier etc. laufen und hat am Ende ein vendor.js in der alles unnötige rausgeworfen und der Rest umbenannt wurde. Da ist es vermutlich einfacher konkrete Sicherheitslücken abzutesten, als die Version herauszufinden, um zu sehen ob Sicherheitslücken bekannt sind.

    Bundler und Minifier verwendet man eigentlich nur für eigenen Code. Fremdbiblitoheken wird man möglichst von einem Common CDN beziehen (ja, inkl. Integrity-Check) um Performancevorteile zu erzielen, gerade auf Mobile-Geräten.

    Sehe es auch als Unsinn an die Version dabei zu verstecken.

    MfG SideWinder

    PS: Bin seit einiger Zeit in einer Anwendung am Werken die etwas mehr Sicherheit verlangt. Wir checken im Nightly Build autom. gegen bekannte Sicherheitslücken in Bibliotheken und erkennen so sehr rasch ob wir updaten müssen. Wir machen es anders, aber berühmt dafür scheint https://retirejs.github.io/retire.js/ zu sein.



  • SideWinder schrieb:

    Bundler und Minifier verwendet man eigentlich nur für eigenen Code. Fremdbiblitoheken wird man möglichst von einem Common CDN beziehen (ja, inkl. Integrity-Check) um Performancevorteile zu erzielen, gerade auf Mobile-Geräten.

    Ich hätte gedacht gerade bei Mobile möchte man die Downloadgröße und Anzahl der Dateien (solange man nicht HTTP/2 verwendet) gering halten. Auf einen CDN legen kann man die bundles ja immer noch.



  • Tobiking2 schrieb:

    SideWinder schrieb:

    Bundler und Minifier verwendet man eigentlich nur für eigenen Code. Fremdbiblitoheken wird man möglichst von einem Common CDN beziehen (ja, inkl. Integrity-Check) um Performancevorteile zu erzielen, gerade auf Mobile-Geräten.

    Ich hätte gedacht gerade bei Mobile möchte man die Downloadgröße und Anzahl der Dateien (solange man nicht HTTP/2 verwendet) gering halten. Auf einen CDN legen kann man die bundles ja immer noch.

    Das tut man mit bekannten CDNs ja. Die JS-Datei muss nicht mehr downgeloadet werden weil viele Sites denselben CDN verwenden und die Datei daher nur ein einziges Mal heruntergeladen werden muss beim ersten Aufruf der ersten Seite die diese Library von diesem CDN verwendet. Gerade so berühmte Libraries wie jQuery kommen damit dann gratis zu dir weil sicher auch schon eine andere Seite die Library via demselben CDN eingebunden hat.

    MfG SideWinder