Views
No views yet
finetuning.pt is the fine-tuned DRIFT checkpoint for binary DGA detection — given a domain name, it predicts benign (0) vs DGA-generated (1). DRIFT is designed for temporal robustness: it learns invariant structural features of domain names so that detection accuracy degrades far more slowly as new DGA variants emerge over time (concept drift).
| Backbone | Captures | Tokenizer | Seq. len | Vocab |
|---|---|---|---|---|
| Character | stochastic morphological / lexical patterns | char-level (a–z, 0–9, -, .) | L = 77 | 43 |
| Subword | word-based DGAs / morpheme semantics | WordPiece | L = 30 | 30,522 |
D = 256, 12 encoder layers, 8 attention heads, feed-forward dim 768, learnable positional embeddings.[MaxPool ; MeanPool] over its last-layer hidden states; the two branch vectors are concatenated into a fused vector \(v_{\text{fusion}} \in \mathbb{R}^{1024}\) (i.e. \(4D\)), fed to a two-layer MLP (hidden size \(2D\) + ReLU + dropout → 2 logits). Trained with binary cross-entropy (Adam), using a two-stage transfer-learning schedule: first freeze the encoders and train only the head, then unfreeze and fine-tune end-to-end with a smaller backbone learning rate (1e-6) than the head (1e-4).snsec-net/dga-detection-drift26dsn. It provides a nine-year, temporally aligned collection of ~49.4M benign domains (Alexa + Tranco) and ~149.4M DGA domains (DGArchive, 148 families) for evaluating detectors under real-world concept drift.1import torch
2
3# Loads the fine-tuned DRIFT checkpoint (state dict / packaged checkpoint).
4device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
5ckpt = torch.load("finetuning.pt", map_location=device)
6# Rebuild the dual-branch DRIFT model from the reference implementation
7# (see the GitHub repo), then load these weights and run inference.
8# We recommend preprocessing domain names exactly as specified in our paper and GitHub repository.Inputs must be preprocessed exactly as in training: lowercased, TLD/ccTLD stripped to the effective second-level domain, characters restricted to alphanumerics,-, and.(per RFC 1035). See the dataset card and code for the full preprocessing pipeline and model definition.
1@inproceedings{lee2026drift,
2 title = {{DRIFT}: Drift-Resilient Invariant-Feature Transformer for {DGA} Detection},
3 author = {Lee, Chaeyoung and Jung, Chaeri and Jeong, Seonghoon},
4 booktitle = {Proc. IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)},
5 year = {2026}
6}1@misc{lee2026driftdata,
2 author = {Lee, Chaeyoung and Jung, Chaeri and Jeong, Seonghoon},
3 title = {Longitudinal Benign and {DGA} Domain Name Dataset},
4 howpublished = {IEEE Dataport},
5 year = {2026},
6 doi = {10.21227/za2s-9e09},
7 url = {https://dx.doi.org/10.21227/za2s-9e09}
8}