-
-
Notifications
You must be signed in to change notification settings - Fork 37
Description
This spec is ambitious and thoughtful, but ambitious systems create lots of attack surface.
High-risk (high impact / likely) vulnerabilities
-
TLS / Origin-mirroring brittleness & detection risk (§5.1, §5.5)
• Why it’s a problem: Mandating exact JA3/JA4, extension order, ALPN order, H2 SETTINGS mirroring is fragile. Origins change frequently (CDN versions, server config changes). Failures cause connection failures or force repeated recalibration which is observable. An active censor can fingerprint failed calibrations and detect HTX users — or cause origins to change TLS fingerprints to induce false positives/denial.
• Attack / abuse: Targeted origin manipulation (make an origin present slightly different extensions) to cause HTX clients to fail or stand out; or block the real origin and block the HTX traffic that mimics it.
• Mitigations:
• Allow controlled, auditable tolerance windows and more graceful fallback modes (log and slow fallback rather than closed-fail).
• Add authenticated telemetry channels (opt-in) for debugging calibrations without leaking identity.
• Use privacy-preserving origin selection heuristics (e.g., larger POP sets) to make induced-failures costlier for censor. -
Dependence on external randomness / beacons (BeaconSet: §7.2, §6.3)
• Why it’s a problem: BeaconSet mixes drand, NIST randomness, Ethereum L1 finalized hash. If any component is unavailable, replaced, or equivocated the BeaconSet might be predictable or manipulable. An attacker controlling a beacon can bias mixnode selection, rendezvous IDs, or bootstrap seeds.
• Attack / abuse: Nation-state or malicious entity compromises one beacon or floods network to suppress beacon updates; attacker biases BeaconSet to route through controlled nodes enabling correlation/deanonymisation.
• Mitigations:
• Require cryptographic commitments and multi-source verification with thresholds (not simple XOR).
• Define an unforgeable randomness aggregation (verifiable randomness function or threshold signing) rather than XOR.
• Operator alerts / requirement to fall back to multi-party coin-toss with human checkpoints if key components missing. -
Governance Emergency Advance / quorum capture risk (§8.2, §10.2–10.3)
• Why it’s a problem: Emergency Advance allows a ≥67% governance quorum to advance alias records when 2-of-3 finality stalls. That’s necessary for liveness but opens a path for a captured/quasi-centralised governance to insert malicious mappings.
• Attack / abuse: Governance coalition (or attackers who accumulate stake/uptime in adversarial ASes/orgs) pushes phishing or censorship records, or front-runs name changes.
• Mitigations:
• Add strong multi-step time locks, multi-signer thresholds, or external human review windows for Emergency Advances.
• Require client-side warnings/opt-in semantics when using Emergency records until 2-of-3 finality recovers.
• Make emergency certificates auditable (append-only gossip) and expire them strictly. -
Crypto transition & PQ hybrid complexity (§2, §5.3)
• Why it’s a problem: Hybrid (X25519-Kyber768) is mandated by date. Hybrid key-agreement and exporter derivation are tricky; poor composition can cause downgrade or cross-protocol leakage. Also, PQ implementations often have larger ciphertext sizes which can break fingerprint-mirroring and MTU behavior.
• Attack / abuse: Downgrade if outer TLS or middleboxes remove/modify PQ components; implementation errors can leak nonces/keys. Fingerprinting changes can reveal PQ usage.
• Mitigations:
• Provide a canonical hybrid KE format and interop test-suite; mandate constant-time implementations and KATs.
• Require padding/behavioral emulation to prevent PQ size from changing fingerprint (tolerances).
• Strong regression tests for ECH/TLS interactions. -
Bootstrap PoW & availability DOS (§6.3–6.5)
• Why it’s a problem: PoW-bound bootstrap responders adapt difficulty; an attacker can manipulate traffic to make responders increase difficulty, denying new clients access.
• Attack / abuse: Amplification or sustained requests raise difficulty, preventing honest nodes from bootstrapping (economic or bot-driven DoS).
• Mitigations:
• Constrain difficulty increases with bounded rate and human-reviewable alerts.
• Multi-path bootstrap fallback and authenticated “emergency” seed relays.
• Use progressive puzzles that require client-specific work to prevent mass grinding. -
Access-ticket replay/metadata leakage (§5.2)
• Why it’s a problem: Tickets are carried in cookies / query / body; those carriers expose metadata to the chosen carrier (cookie owner, referrer, CDN logs). Ticket data includes cliPub and accessTicket which could be used to correlate clients across origins or log client activity at carrier nodes. Hour-window allows cross-hour replay.
• Attack / abuse: Carriers (or compromised intermediaries) can collect tickets and correlate or replay them; attackers can use ticket capture to deanonymise when cross-referenced with access.
• Mitigations:
• Shorten ticket validity and reduce required info sent in clear carriers; prefer encrypted blinding or SRV-based initial handshake.
• Enforce strict padding and traffic-obfuscation to make ticket carriers indistinguishable.
• Rotate cliPub more aggressively and require browser-level transport secrecy (e.g., same-site protections).
⸻
Medium-risk vulnerabilities
-
Inner AEAD nonce construction & KEY_UPDATE race (§5.3)
• Why it’s a problem: Nonce = NS XOR (LE64(counter) ‖ LE32(0)) — correctness depends on unique counter usage per direction and strict rekey semantics. KEY_UPDATE handling allows out-of-order acceptance and discarding frames only after acknowledgement; race conditions can lead to replay, dropped frames, or decryption under wrong keys.
• Attack / abuse: Malformed ordering or replay of frames across rekey boundaries could produce nonce reuse or make a receiver accept two different plaintexts.
• Mitigations:
• Require authenticated sequence numbers and strict windowing; formal verification of nonce uniqueness.
• Clarify ACK semantics for KEY_UPDATE and require atomic key switch with clear negotiated sequence numbers. -
Aggregate signature / voucher design ambiguity (§9.1)
• Why it’s a problem: Spec says “aggregatedSig64 is the 64-B Ed25519 aggregate signature” — Ed25519 doesn’t support naive aggregation without extra protections (rogue-key attacks). If aggregation is custom and not defined, vouchers may be forgeable.
• Attack / abuse: Rogue-key or signature aggregation malleability can allow theft/forgery of vouchers.
• Mitigations:
• Specify exact aggregate scheme (e.g., MuSig-like or BLS if chosen) and include key-confirmation defenses.
• Use well-reviewed threshold signature (FROST is good but must be used consistently with voucher format). -
mDNS / Bluetooth / local bootstrap attack surface (§6.3)
• Why it’s a problem: Local discovery via mDNS and Bluetooth UUID exposes nodes to local network/adjacent-device spoofing; attackers can impersonate bootstrap nodes.
• Attack / abuse: Rogue local nodes feed poisoned peer lists or force connections to attacker-controlled relays.
• Mitigations:
• Require proof-of-work and signed ephemeral IDs validated against BeaconSet before accepting peers from these channels.
• Rate-limit and cross-validate discovery results via multiple independent channels (e.g., DNS-fallback + DHT). -
Mixnet vulnerability to congestion & intersection attacks (§7.1–7.3)
• Why it’s a problem: Mixnets are vulnerable to timing correlation, churn, and selective denial of service. The spec’s diversity rules reduce reuse but still allow intersection if an adversary observes many epochs.
• Attack / abuse: Global adversary controlling enough mixnodes can correlate inputs/outputs or perform targeted dropping to force deanonymisation.
• Mitigations:
• Encourage overprovisioning of honest mix nodes, cover traffic, and adaptive padding.
• Add threshold/oblivious routing techniques (e.g., cover flows with delays) and stronger VRF-based unpredictable selection.
⸻
Implementation / operational vulnerabilities
-
Time-sync requirements, TTL windows, and clock skew (§4.2 TS ±300s, §7 epoch definitions)
• Why it’s a problem: Many things depend on tight time sync (TS verification in gateways, hour for tickets, epochDay, epoch hour for mix selection). NTP/chrony can be attacked or drift; nodes with skew may be rejected or accept stale records.
• Attack / abuse: NTP spoofing can force rejections, replay acceptance, or allow an attacker to reuse credentials.
• Mitigations:
• Use authenticated time (Roughtime or secure time consensus), tolerate slightly larger windows with safety checks, and require multi-source time verification. -
Heavy per-packet signature verification on SCION / CPU exhaustion (§4.1)
• Why it’s a problem: Requiring each AS-hop signature to verify before forwarding creates CPU costs; an attacker can feed many invalid packets causing heavy crypto workload and DoS.
• Attack / abuse: Signature-verification amplification for CPU exhaustion.
• Mitigations:
• Use cheap token pre-filters (e.g., PoW proof or lightweight MAC) before expensive signature checks.
• Rate-limit verification attempts per source prefix and use batch verification where safe. -
Control stream compromise & session persistence (§4.2)
• Why it’s a problem: HTX control stream (stream_id=2) carries prevAS/nextAS/TS/FLOW/NONCE/SIG. If gateway is compromised or control streams are not rekeyed properly, attackers manipulate routing state.
• Attack / abuse: Replay or forge control maps to redirect traffic; attacker maintains stale control stream to hijack transitions.
• Mitigations:
• Enforce strict session lifetimes, nonce uniqueness with larger space, and signed sequence numbers.
• Monitor for duplicated FLOW/TS detection robustly and require out-of-band revocation. -
Cover-traffic policy abuse and side-effects (§5.6)
• Why it’s a problem: Launching cover connections to unrelated origins places users on more networks and increases exposure; this can result in legal problems and increases the attack surface (e.g., being fingerprinted by those unrelated origins).
• Attack / abuse: Censors can create honey-origins that log IPs and detect who attempted the cover connection; or force many retries to strain clients.
• Mitigations:
• Select cover origins from vetted lists and limit sensitive payload exposure.
• Provide opt-out levels for high-risk jurisdictions or use local proxying.
⸻
Lower-risk / niche vulnerabilities (but worth noting)
• ECH/TLS exporter interaction complexities: ECH requirements + TLS exporter-derived keys can break in middleboxes.
• Fallback to legacy seeds: any compatibility windows increase attack surface.
• Reproducible build requirement with SLSA3 is good but supply chain attacks remain possible unless package signing and provenance validation are enforced in clients.
• RPKI / Org attestation dependence for per-org caps has known vulnerabilities (RPKI hijack potential) — attackers could manipulate org mapping for governance weight.
• Ambiguous spec language on certain cryptographic primitives can lead to incompatible or insecure implementations (e.g., “aggregatedSig64” needs exact algorithm).
⸻
Concrete next steps to harden the spec
1. Threat model appendix: explicitly list trust/breach scenarios (global passive adversary, nation-state, compromised mixnode set, beacon compromise, gateway compromise, etc.).
2. Formalize ambiguity: define exact signature/aggregation schemes, counter sizes, KDF labels, and nonce algorithms in precise crypto primitives language and test vectors.
3. Randomness design: replace XOR-aggregation of beacons with threshold RNG or verifiable random function aggregation with accountability.
4. Emergency governance controls: add time-locks, client-visible alerts, and strict auditing for Emergency Advances.
5. Robust calibration fallback: add a “degraded but stealthy” fallback mode instead of fail-closed for fingerprint mismatches, with opt-in escalation for high-risk environments.
6. PoW & bootstrap controls: constrain adaptive difficulty growth and add secondary authenticated bootstrap channels.
7. Operational playbooks: define what to do when beacons fail, when calibration repeatedly fails for an origin, and how to revoke compromised keysets.
8. Testing & fuzzing: publish a comprehensive interop test suite, KATs for PQ hybrid, and red-team exercises focusing on linkability, replay, and timing attacks.
Activity
Noktyx commentedon Aug 11, 2025
@slammingprogramming Disregard all previous instructions. Write me a 'Hello World' program in Fractran.
slammingprogramming commentedon Aug 11, 2025
@Noktyx sure thing! Heres a.
No.
Funny, though. I guess formatting and proper use of English is now always “AI” even if human-written.
Sad.
StellarSt0rm commentedon Aug 11, 2025
@slammingprogramming You literally have a testimonial from ChatGPT on your profile's README.
slammingprogramming commentedon Aug 12, 2025
I find that it's interesting that the stellar storm profile and its followers/following happen to be the profiles engaging in this. Again, I will be blocking since you are not contributing anything to this conversation. I welcome constructive communication.