Skip to content

Feature Request: Add libnnzsrv.so (Oracle) TLS master secret extraction support #999

Description

@ogunkirikci

Feature Request: Support Oracle's libnnzsrv.so (nz* symbols) for Master Secret Extraction

Background:
Currently, eCapture's OpenSSL probe targets the standard OpenSSL API (e.g., SSL_do_handshake, SSL_SESSION_get_master_key) and attaches uprobes to those symbols to extract TLS master secrets. However, Oracle's libnnzsrv.so library, as used in Oracle Database clients and some proprietary apps, does not expose those OpenSSL symbols. Instead, it uses custom symbols with an nz* prefix for its own TLS implementation, causing eCapture's current uprobes to miss these flows entirely.

Proposed Solution:

  • Use readelf -s or nm -D on libnnzsrv.so to identify nz* symbols that are analogous to the OpenSSL functions currently hooked by eCapture.
  • Create a new probe following the pattern of the existing OpenSSL probe, but targeting these nz* symbols instead.
  • Implement a custom uprobe for the key extraction logic in Oracle's TLS implementation.
  • Optionally, document any gotchas or kernel-version-specific caveats encountered during development.

Expected Outcome:

  • Enable extraction of TLS master secrets from Oracle flows that use libnnzsrv.so.
  • Allow community contributions and feedback to help refine coverage for less common enterprise TLS stacks.

Reference:

Notes:

  • This feature is not on the official roadmap due to the niche nature of Oracle TLS usage.
  • Upstream focus will remain on OpenSSL, GnuTLS, BoringSSL, and other mainstream stacks, but this enhancement will help users in specialized environments like Oracle DB deployments.

If anyone in the community has Oracle DB internals experience or sample binaries, help is welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is neededquestionFurther information is requested

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions