Skip to content

Some potential Fingerprinting, Ambiguity, Forgery, and Self-DoS Risks in Betanet Transport and Control Mechanisms #41

@PyQio

Description

@PyQio

Spec sections: §5.2, §4.2, §5.1–5.5, §5.6.

This is a list of potential issues regarding fingerprinting, ambiguity, and self-DoS risks in Betanet transport and control mechanisms. It is not intended to be an exhaustive list of all the issues on this matter. for this project

  1. Anti-Correlation Fallback Pattern (5.6)
    When a connection fails (e.g. QUIC is blocked) and the client retries using TCP, the specification requires the launch of at least two cover connections to unrelated origins within 0–1000 ms. This is followed by an HTX retry after 100–700 ms.
    This creates a strong behavioural signature: a failed connection immediately followed by multiple connections to unrelated sites is rare in organic traffic.
    An observer can treat this as a 'panic' fingerprint, making the traffic easier to classify.

  2. Access Ticket Payload Anomaly (5.2)
    The access ticket payload structure requires 105 bytes of fixed high-entropy data (Version 1B + cliPub 32B + ticketKeyID 8B + nonce 32B + accessTicket 32B), plus variable padding.
    Embedding >105 bytes of high-entropy data in a cookie, query parameter or POST body is highly unusual for most websites and serves as a strong indicator for traffic classification.
    In real-world HTTPS traffic, cookies or query parameters of this size and entropy are uncommon and can be easily filtered out.

  3. Transition Control Stream Signature Ambiguity (4.2)
    The SIG field is defined as Ed25519 over (prevAS ‖ nextAS ‖ TS ‖ FLOW ‖ NONCE ‖ "bn-t1").
    If the identifiers of prevAS or nextAS are variable length, concatenation without an explicit length prefix or delimiter creates ambiguity in parsing.
    This can cause signature verification failures across implementations and, in the worst case, enable crafted inputs that verify under multiple interpretations, potentially enabling forgery.

  4. Excessive strictness in HTX cover transport (5.1–5.5).
    The L2 HTX transport protocol requires precise ALPN ordering, extension ordering, SETTINGS tolerances and POP co-location matching, with no tolerance for errors.
    In real-world environments, especially mobile networks, captive portals or CDN reconfigurations, this strictness could cause widespread connection failures.
    Without a safe fallback mode, the network could effectively become unusable — a 'self-DoS' scenario induced by the specifications' own constraints.


Proposed mitigations:

Proposed mitigations:

  • For (1): Randomize cover connection timing beyond the retry window and integrate them opportunistically into normal traffic patterns.
  • For (2): Reduce the size of the fixed payload or split it across multiple low-entropy carriers. Emulate common cookie/parameter sizes and entropy distributions.
  • For (3): Prefix variable-length fields with explicit length values before concatenation for signing.
  • For (4): Add adaptive tolerance thresholds and staged fallback profiles to maintain connectivity under adverse conditions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @PyQio

        Issue actions

          Some potential Fingerprinting, Ambiguity, Forgery, and Self-DoS Risks in Betanet Transport and Control Mechanisms · Issue #41 · ravendevteam/betanet