Beim Lesen des zugehörigen Issues zur Signaturproblematik bei F-Droid habe ich den Eindruck, dass das Problem dort entweder nicht verstanden oder heruntergespielt wird. Das ist besorgniserregend. :think_bread:

https://gitlab.com/fdroid/fdroidserver/-/merge_requests/1466

#fdroid #android #security #sicherheit #poc

  • Marcel Klehr@fosstodon.org
    link
    fedilink
    arrow-up
    1
    ·
    5 days ago

    @kuketzblog@social.tchncs.de mmh, ich dachte immer F-Droid hat einen eigenen build step für die apps im f-droid.org repository und übernimmt gerade nicht die APKs der Entwickler

    • Stefan@freiburg.social
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      5 days ago

      @marcelklehr @kuketzblog So war mein Verständnis auch. Ich dachte der Entwickler kann nur Code hochladen. Anderseits wieviele Buildsysteme muss dann F-Droid anbieten? Gibt ja zig Möglichkeiten mit was man für Android Apps entwickelt.

      • pixelschubsi@troet.cafe
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        5 days ago

        @stefanjahn @marcelklehr @kuketzblog

        In den Metadaten zu einem F-Droid-Repository kann ein öffentlicher Schlüssel hinterlegt werden, sodass auf dem Server nur noch .apk für eine bestimmte App akzeptiert werden, die mit diesem Schlüssel signiert sind.

        Diese Signaturprüfung hat aktuell Fehler, die unter Umständen dazu führen könnte, dass in einem F-Droid repository .apk mit Signaturen sind, die dort laut Metadaten nicht sein dürfen.

        • pixelschubsi@troet.cafe
          link
          fedilink
          arrow-up
          0
          ·
          5 days ago

          @stefanjahn @marcelklehr @kuketzblog

          Das offizielle F-Droid repository benutzt diese Funktion auch in ihren Metadaten um bei reproduzierbar gebauten .apk die Signatur des ursprünglichen Entwicklers zu erzwingen. Allerdings werden wie bereits erwähnt, alle .apk die im F-Droid repository sind, auf dem Server von F-Droid gebaut und dann entweder eine eigene Signatur, oder im Falle reproduzierbaren .apk die Signatur der Original-App angehängt.

          • pixelschubsi@troet.cafe
            link
            fedilink
            arrow-up
            0
            ·
            5 days ago

            @stefanjahn @marcelklehr @kuketzblog

            Der schlimmstmögliche Angriff auf dem offiziellen F-Droid-Repository ist also nicht, wie von @kuketzblog behauptet, dass eine “manipulierte oder unsichere” .apk im offiziellen F-Droid repository landet, sondern nur, dass eine kaputte oder falsche Signatur an die reproduzierbar gebaute .apk angehängt wird.

            • pixelschubsi@troet.cafe
              link
              fedilink
              arrow-up
              0
              ·
              5 days ago

              @stefanjahn @marcelklehr @kuketzblog

              Das führt im schlimmsten Fall dazu, dass der Publisher einer App (der erst eine entsprechend präparierte .apk mit kaputter Signatur veröffentlichen muss) damit erreichen kann, dass Updates seiner eigenen App im F-Droid kaputte Signaturen haben und diese durch den Nutzer nicht mehr installierbar sind.

              Und ich bin mir nicht mal sicher, ob dieser Angriff überhaupt möglich ist, gegeben wie der Buildserver die Signatur kopiert.

              • pixelschubsi@troet.cafe
                link
                fedilink
                arrow-up
                0
                ·
                5 days ago

                @stefanjahn @marcelklehr @kuketzblog

                Theoretisch könnte man sich auch noch ein Szenario ausdenken, wo der Publisher einer App in der kaputten Signatur Schadcode einbettet und in dem reproduzierbar gebauten open source code seiner app Logik hat, die den Schadcode aus der Signatur sucht und ausführt. Da gibt es aber verschiedene Gründe die diesen “Angriff” nahezu unmöglich machen (Länge der Signatur, Einschränkungen in Android welcher Code ausführbar ist, usw.)

                  • pixelschubsi@troet.cafe
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    5 days ago

                    @kuketzblog@social.tchncs.de @stefanjahn@freiburg.social @marcelklehr@fosstodon.org Wie gesagt, für diesen Angriff müsste der Schadcode, der den Schadcode aus der Signatur nachlädt, bereits im Open-Source code der App sein. Wenn wir bereits Schadcode im Open-Source code der App annehmen, kann durch diese Lücke auch kein zusätzlicher Schaden entstehen.

                    Ich will nicht sagen, dass man diese Lücke nicht schließen sollte. Es ist aber ein Klassiker in der Community, bei einem sehr komplexen Thema wie diesem einfach ohne Verstand drauf zu hauen…