Skip to content

rules: add QUIC / msquic detection rule#1108

Open
AdityaSkhorne wants to merge 4 commits intomandiant:masterfrom
AdityaSkhorne:rules/add-quic-msquic-detection
Open

rules: add QUIC / msquic detection rule#1108
AdityaSkhorne wants to merge 4 commits intomandiant:masterfrom
AdityaSkhorne:rules/add-quic-msquic-detection

Conversation

@AdityaSkhorne
Copy link

Summary
Adds a focused rule to detect usage of QUIC-related APIs and libraries, with emphasis on Microsoft msquic and other QUIC implementations.

Changes

  • New rule: communication/quic/detect-msquic.yml
    • Matches canonical MsQuic APIs (MsQuicOpen, MsQuicRegistrationOpen, MsQuicStreamOpen, etc.)
    • Matches strings referencing msquic.dll and common QUIC implementations (quiche, ngtcp2, quic-go)

Why
QUIC is increasingly used in modern network stacks and can be abused by malware for covert C2 and data exfiltration. Covering msquic and other QUIC libs improves capa's ability to surface these behaviors.

Testing

  • Includes placeholder example metadata. CI will run the rule linter and tests.

Author: adityashankarkhorne@gmail.com

Note on provenance:
This contribution was created with assistance from an AI tool (ChatGPT). I reviewed and edited the content and confirm I have the right to submit it under the project's license. I accept responsibility for the submission and its licensing.

@@ -0,0 +1,34 @@
rule:
meta:
name: detect usage of msquic (QUIC) APIs
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review the rule name documentation and modify accordingly.

Comment on lines +7 to +8
scopes:
static: function
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review the scopes section of the meta block documentation and modify accordingly.

mbc:
- Communication::Network Communication::QUIC Client/Server [C0005.001]
examples:
- 05be49819139a3fdcdbddbdefd298398779521f3d68daa25275cc77508e42310.exe:0x401000
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review the examples section of the meta block documentation and modify accordingly.

Comment on lines +30 to +34
- string: msquic
- string: msquic.dll
- string: quiche
- string: ngtcp2
- string: "quic-go"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please review the file string and substring documentation and modify accordingly. Also, provide descriptions for each string to help readers understand their purpose and relevance to the rule detection.

scopes:
static: function
mbc:
- Communication::Network Communication::QUIC Client/Server [C0005.001]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see this listed in MBC. Can you provide a direct reference or update to the correct behaviour?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants