Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Static + dynamic analysis of Signal's APK.

Static + dynamic analysis of Signal's APK.

Scheduled Pinned Locked Moved Uncategorized
infosecandroidsecuritysignalprivacyreverseengineer
19 Posts 9 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • catsalad@infosec.exchangeC catsalad@infosec.exchange

    @Harpocrates @stroz There is an unofficial patch that removes Google Play Services from the APK, which you might be interested in analyzing. It takes care of the Firebase issue.

    https://langis.cloudfrancois.fr/
    Repo: patched-apps

    As for the second issue, using Signal (or Langis) over a Tor service, like Tor VPN Beta, InviZible Pro, or Orbot, will decouple your real IP with Certificate revocation queries.

    •  https://f-droid.org/packages/org.torproject.vpn
    •  https://apt.izzysoft.de/packages/pan.alexander.tordnscrypt
    •  https://github.com/guardianproject/orbot-android

    creatures@chitter.xyzC This user is from outside of this forum
    creatures@chitter.xyzC This user is from outside of this forum
    creatures@chitter.xyz
    wrote last edited by
    #7

    @catsalad afaik molly.im (android only) should be fine too, atleast the foss version, for issue 1
    @Harpocrates @stroz

    1 Reply Last reply
    0
    • catsalad@infosec.exchangeC catsalad@infosec.exchange

      @Harpocrates @stroz There is an unofficial patch that removes Google Play Services from the APK, which you might be interested in analyzing. It takes care of the Firebase issue.

      https://langis.cloudfrancois.fr/
      Repo: patched-apps

      As for the second issue, using Signal (or Langis) over a Tor service, like Tor VPN Beta, InviZible Pro, or Orbot, will decouple your real IP with Certificate revocation queries.

      •  https://f-droid.org/packages/org.torproject.vpn
      •  https://apt.izzysoft.de/packages/pan.alexander.tordnscrypt
      •  https://github.com/guardianproject/orbot-android

      harpocrates@infosec.exchangeH This user is from outside of this forum
      harpocrates@infosec.exchangeH This user is from outside of this forum
      harpocrates@infosec.exchange
      wrote last edited by
      #8

      @catsalad @stroz
      im totally with you

      1 Reply Last reply
      1
      0
      • harpocrates@infosec.exchangeH This user is from outside of this forum
        harpocrates@infosec.exchangeH This user is from outside of this forum
        harpocrates@infosec.exchange
        wrote last edited by
        #9

        @zaire I understand your point and i agree, for this im trry to understand how mitigate is the thing.
        Anyway im try to specialize in greyware and is a new frotnier world .

        1 Reply Last reply
        0
        • harpocrates@infosec.exchangeH harpocrates@infosec.exchange

          Static + dynamic analysis of Signal's APK. The good news first: Signal is genuinely exceptional.

          Rust core (libsignal_jni.so), post-quantum hybrid Double Ratchet (Kyber-1024 + X25519), Direct ByteBuffers with immediate zeroing after PIN/username hashing, Intel SGX attestation for SVR — MREnclave verification means even a compromised Signal server can't extract your PIN hash.

          But two things stood out:

          1. Firebase is always there. Google receives IP + notification timestamps regardless of message content. If you need metadata privacy, Signal still leaks presence data to Google's infrastructure.

          2. Certificate revocation endpoints hit http://g.symcd.com in plaintext. An ISP or state-level observer can fingerprint Signal usage from DNS queries and HTTP traffic to those CAs — without touching message content.

          Conclusion: strongest crypto engineering in consumer messaging. The attack surface isn't the cryptography. It's the operational dependencies.

          Soon the full analysis

          #infosec #AndroidSecurity #Signal #privacy #ReverseEngineering #postquantum #mobileforensics

          upofadown@mstdn.caU This user is from outside of this forum
          upofadown@mstdn.caU This user is from outside of this forum
          upofadown@mstdn.ca
          wrote last edited by
          #10

          @Harpocrates Sorry for the thread semi-hijack, but this seems to be a good place to ask this: has there been anything interesting done against this statistical attack against Signal's sealed sender?

          Link Preview Image
          Improving Signal's Sealed Sender - NDSS Symposium

          favicon

          NDSS Symposium (www.ndss-symposium.org)

          >...strongest crypto engineering in consumer messaging.

          I think that sort of statement is more about interesting features than security strength. There are lots of secure messaging protocols out there and you can't get more secure than secure. Considering the high complexity of the Signal Protocol I doubt that it would just happen to be the *most* secure. Your point about cryptographic security vs dependencies is still well taken.

          harpocrates@infosec.exchangeH 1 Reply Last reply
          0
          • harpocrates@infosec.exchangeH harpocrates@infosec.exchange

            Static + dynamic analysis of Signal's APK. The good news first: Signal is genuinely exceptional.

            Rust core (libsignal_jni.so), post-quantum hybrid Double Ratchet (Kyber-1024 + X25519), Direct ByteBuffers with immediate zeroing after PIN/username hashing, Intel SGX attestation for SVR — MREnclave verification means even a compromised Signal server can't extract your PIN hash.

            But two things stood out:

            1. Firebase is always there. Google receives IP + notification timestamps regardless of message content. If you need metadata privacy, Signal still leaks presence data to Google's infrastructure.

            2. Certificate revocation endpoints hit http://g.symcd.com in plaintext. An ISP or state-level observer can fingerprint Signal usage from DNS queries and HTTP traffic to those CAs — without touching message content.

            Conclusion: strongest crypto engineering in consumer messaging. The attack surface isn't the cryptography. It's the operational dependencies.

            Soon the full analysis

            #infosec #AndroidSecurity #Signal #privacy #ReverseEngineering #postquantum #mobileforensics

            feld@friedcheese.usF This user is from outside of this forum
            feld@friedcheese.usF This user is from outside of this forum
            feld@friedcheese.us
            wrote last edited by
            #11
            @Harpocrates look at the network stacks (well, I guess it would be their HTTP client). It's my understanding that each platform has a different implementation (iOS, Android, Desktop) so the "Rust core" isn't really *everything*, just the cryptography.
            harpocrates@infosec.exchangeH 1 Reply Last reply
            0
            • feld@friedcheese.usF feld@friedcheese.us
              @Harpocrates look at the network stacks (well, I guess it would be their HTTP client). It's my understanding that each platform has a different implementation (iOS, Android, Desktop) so the "Rust core" isn't really *everything*, just the cryptography.
              harpocrates@infosec.exchangeH This user is from outside of this forum
              harpocrates@infosec.exchangeH This user is from outside of this forum
              harpocrates@infosec.exchange
              wrote last edited by
              #12

              @feld Spot on @feld. The 'Rust-everything' transition is still a work in progress, and my analysis confirms that while the Rust core (libsignal-client) is a fortress for the crypto logic, it still hands off to platform-specific wrappers for I/O. On Android, it's hitting OkHttp, and that’s exactly where the metadata starts bleeding.

              I've just published a deep dive on this. I spent some time reversing the native binaries and monitoring the JNI heap—the memory hygiene is impressive (Direct ByteBuffers, immediate zeroing, NativeHandleGuard), and the hybrid Kyber-1024 implementation is already live. But as you suspected, the network stack (Firebase + plaintext OCSP) remains the Achilles' heel.

              Check out the full technical breakdown here:
              https://blackcodeitalia.wordpress.com/2026/03/06/signal_centuria_002-under-signals-hood-technical-analysis-of-rust-kyber-and-jni-buffer-management/"

              feld@friedcheese.usF 1 Reply Last reply
              0
              • upofadown@mstdn.caU upofadown@mstdn.ca

                @Harpocrates Sorry for the thread semi-hijack, but this seems to be a good place to ask this: has there been anything interesting done against this statistical attack against Signal's sealed sender?

                Link Preview Image
                Improving Signal's Sealed Sender - NDSS Symposium

                favicon

                NDSS Symposium (www.ndss-symposium.org)

                >...strongest crypto engineering in consumer messaging.

                I think that sort of statement is more about interesting features than security strength. There are lots of secure messaging protocols out there and you can't get more secure than secure. Considering the high complexity of the Signal Protocol I doubt that it would just happen to be the *most* secure. Your point about cryptographic security vs dependencies is still well taken.

                harpocrates@infosec.exchangeH This user is from outside of this forum
                harpocrates@infosec.exchangeH This user is from outside of this forum
                harpocrates@infosec.exchange
                wrote last edited by
                #13

                @upofadown No worries about the hijack @feld, the NDSS paper is a great catch.

                Statistical attacks on Sealed Sender are the ultimate 'metadata vs. crypto' headache. Unless we move to full-on Mixnets or constant-noise traffic (which kills battery/UX), it’s hard to solve for a consumer app. Signal seems to be banking on 'good enough' obfuscation for the masses while over-engineering the implementation.

                On the 'most secure' bit: I totally get that complexity is the enemy. But when I say 'strongest engineering,' I’m talking about the implementation depth. Most apps just slap a library on a standard stack; Signal is rewriting the stack in Rust and pushing hybrid Post-Quantum (Kyber) and SGX attestation before they're even industry standards.

                It’s that focus on the binary level—like the Direct ByteBuffer hygiene—that sets them apart in my audit. It’s about making the implementation as hard to exploit as the protocol itself.

                1 Reply Last reply
                0
                • harpocrates@infosec.exchangeH harpocrates@infosec.exchange

                  @feld Spot on @feld. The 'Rust-everything' transition is still a work in progress, and my analysis confirms that while the Rust core (libsignal-client) is a fortress for the crypto logic, it still hands off to platform-specific wrappers for I/O. On Android, it's hitting OkHttp, and that’s exactly where the metadata starts bleeding.

                  I've just published a deep dive on this. I spent some time reversing the native binaries and monitoring the JNI heap—the memory hygiene is impressive (Direct ByteBuffers, immediate zeroing, NativeHandleGuard), and the hybrid Kyber-1024 implementation is already live. But as you suspected, the network stack (Firebase + plaintext OCSP) remains the Achilles' heel.

                  Check out the full technical breakdown here:
                  https://blackcodeitalia.wordpress.com/2026/03/06/signal_centuria_002-under-signals-hood-technical-analysis-of-rust-kyber-and-jni-buffer-management/"

                  feld@friedcheese.usF This user is from outside of this forum
                  feld@friedcheese.usF This user is from outside of this forum
                  feld@friedcheese.us
                  wrote last edited by
                  #14
                  @Harpocrates the biggest metadata leak they have really is media attachments in groups. You can just go to the CDN (cloudflare) and ask for logs of a specific URL and now you have the IPs of all the group members and can use that to identify them by going after their ISPs
                  harpocrates@infosec.exchangeH 1 Reply Last reply
                  0
                  • feld@friedcheese.usF feld@friedcheese.us
                    @Harpocrates the biggest metadata leak they have really is media attachments in groups. You can just go to the CDN (cloudflare) and ask for logs of a specific URL and now you have the IPs of all the group members and can use that to identify them by going after their ISPs
                    harpocrates@infosec.exchangeH This user is from outside of this forum
                    harpocrates@infosec.exchangeH This user is from outside of this forum
                    harpocrates@infosec.exchange
                    wrote last edited by
                    #15

                    @feld accurately pointed out. Centralized CDN distribution is the ultimate metadata killer.
                    The fetch request for group media effectively acts as a signed attendance sheet. Even with a hardened Rust core, the infrastructure logs (Cloudflare) provide a full map of group members' IPs to anyone with access.
                    It’s the classic trade-off: high-speed delivery vs. anonymity. I’ll include a CDN-de-anonymization section in the Langis follow-up. This makes the Tor/VPN routing conversation much more than just a 'hardening' preference."

                    1 Reply Last reply
                    0
                    • harpocrates@infosec.exchangeH harpocrates@infosec.exchange

                      Static + dynamic analysis of Signal's APK. The good news first: Signal is genuinely exceptional.

                      Rust core (libsignal_jni.so), post-quantum hybrid Double Ratchet (Kyber-1024 + X25519), Direct ByteBuffers with immediate zeroing after PIN/username hashing, Intel SGX attestation for SVR — MREnclave verification means even a compromised Signal server can't extract your PIN hash.

                      But two things stood out:

                      1. Firebase is always there. Google receives IP + notification timestamps regardless of message content. If you need metadata privacy, Signal still leaks presence data to Google's infrastructure.

                      2. Certificate revocation endpoints hit http://g.symcd.com in plaintext. An ISP or state-level observer can fingerprint Signal usage from DNS queries and HTTP traffic to those CAs — without touching message content.

                      Conclusion: strongest crypto engineering in consumer messaging. The attack surface isn't the cryptography. It's the operational dependencies.

                      Soon the full analysis

                      #infosec #AndroidSecurity #Signal #privacy #ReverseEngineering #postquantum #mobileforensics

                      djgummikuh@mastodon.socialD This user is from outside of this forum
                      djgummikuh@mastodon.socialD This user is from outside of this forum
                      djgummikuh@mastodon.social
                      wrote last edited by
                      #16

                      @Harpocrates please correct me if I'm wrong, but aren't CRLs categorically HTTP? To my knowledge, only OCSP started supporting TLS. That nonwithstanding, couldn't state actors also scan for IP access? 🤔

                      harpocrates@infosec.exchangeH 2 Replies Last reply
                      0
                      • djgummikuh@mastodon.socialD djgummikuh@mastodon.social

                        @Harpocrates please correct me if I'm wrong, but aren't CRLs categorically HTTP? To my knowledge, only OCSP started supporting TLS. That nonwithstanding, couldn't state actors also scan for IP access? 🤔

                        harpocrates@infosec.exchangeH This user is from outside of this forum
                        harpocrates@infosec.exchangeH This user is from outside of this forum
                        harpocrates@infosec.exchange
                        wrote last edited by
                        #17

                        @DJGummikuh spot on. CRLs/OCSP stay HTTP to avoid TLS recursion, but that’s the trap. By fetching them directly, the client leaks the Cert Serial Number in plaintext to the ISP/AS.
                        It’s a perfect fingerprint: Query to g.symcd.com + encrypted Signal CDN traffic = 99% user identification. Signal should force OCSP Stapling to kill this 'last mile' metadata leak, but the APK shows the client is still chatting with CAs independently. The lock is post-quantum, the doorbell is plaintext.

                        1 Reply Last reply
                        0
                        • djgummikuh@mastodon.socialD djgummikuh@mastodon.social

                          @Harpocrates please correct me if I'm wrong, but aren't CRLs categorically HTTP? To my knowledge, only OCSP started supporting TLS. That nonwithstanding, couldn't state actors also scan for IP access? 🤔

                          harpocrates@infosec.exchangeH This user is from outside of this forum
                          harpocrates@infosec.exchangeH This user is from outside of this forum
                          harpocrates@infosec.exchange
                          wrote last edited by
                          #18

                          @DJGummikuh ...A real structural solution would be moving towards a RINA-based network to eliminate these metadata-heavy architectural dependencies entirely.

                          1 Reply Last reply
                          0
                          • harpocrates@infosec.exchangeH harpocrates@infosec.exchange

                            Static + dynamic analysis of Signal's APK. The good news first: Signal is genuinely exceptional.

                            Rust core (libsignal_jni.so), post-quantum hybrid Double Ratchet (Kyber-1024 + X25519), Direct ByteBuffers with immediate zeroing after PIN/username hashing, Intel SGX attestation for SVR — MREnclave verification means even a compromised Signal server can't extract your PIN hash.

                            But two things stood out:

                            1. Firebase is always there. Google receives IP + notification timestamps regardless of message content. If you need metadata privacy, Signal still leaks presence data to Google's infrastructure.

                            2. Certificate revocation endpoints hit http://g.symcd.com in plaintext. An ISP or state-level observer can fingerprint Signal usage from DNS queries and HTTP traffic to those CAs — without touching message content.

                            Conclusion: strongest crypto engineering in consumer messaging. The attack surface isn't the cryptography. It's the operational dependencies.

                            Soon the full analysis

                            #infosec #AndroidSecurity #Signal #privacy #ReverseEngineering #postquantum #mobileforensics

                            purpleidea@mastodon.socialP This user is from outside of this forum
                            purpleidea@mastodon.socialP This user is from outside of this forum
                            purpleidea@mastodon.social
                            wrote last edited by
                            #19

                            @Harpocrates Great work! If you have the reach (signal org has ignored my questions) please get them to release all of their infra automation code!

                            They've build a substantial amount of infrastructure and that should be open source so that someone could replicate the network easily if for some reason we were forced to!

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups