Tracing the Chain: Deep Learning for Stepping-Stone Intrusion Detection
Organizations: Department of Cybersecurity, Rochester Institute of Technology, Rochester, NY, USA · Department of Computer Science & Engineering, University of Minnesota, Minneapolis, MN, USA
Abstract
Stepping-stone intrusions (SSIs) are a prevalent network evasion technique in which attackers route sessions through chains of compromised intermediate hosts to obscure their origin. Effective SSI detection requires correlating the incoming and outgoing flows at each relay host at extremely low false positive rates -- a stringent requirement that renders classical statistical methods inadequate in operational settings. We apply ESPRESSO, a deep learning flow correlation model combining a transformer-based feature extraction network, time-aligned multi-channel interval features, and online triplet metric learning, to the problem of stepping-stone intrusion detection. To support training and evaluation, we develop a synthetic data collection tool that generates realistic stepping-stone traffic across five tunneling protocols: SSH, SOCAT, ICMP, DNS, and mixed multi-protocol chains. Across all five protocols and in both host-mode and network-mode detection scenarios, ESPRESSO substantially outperforms the state-of-the-art DeepCoFFEA baseline, achieving a true positive rate exceeding 0.99 at a false positive rate of for standard bursty protocols in network-mode. We further demonstrate chain length prediction as a tool for distinguishing malicious from benign pivoting, and conduct a systematic robustness analysis revealing that timing-based perturbations are the primary vulnerability of correlation-based stepping-stone detectors.
Figures & tables
| Hyperparameter | Value | Description |
|---|---|---|
| Input Size | 1200 | Length of the input sequence. |
| Feature Dim. | 64 | Output feature size. |
| Hidden Dim. | 96 | Token feature size in the Transformer. |
| Depth | 9 | Number of Transformer blocks. |
| Embedding Conv. | kernel: 3 stride: 3 | Initial feature extraction layer. |
| Windowing Conv. | kernel: 50 stride: 3 | Final windowing layer. |
| Dataset | Model | FPR | FPR | FPR | |||
|---|---|---|---|---|---|---|---|
| TPR | pAUC | TPR | pAUC | TPR | pAUC | ||
| SSH-only | DCF | 0.536 | 0.339 | 0.110 | 0.057 | 0.032 | 0.015 |
| ESPRESSO | 0.996 | 0.990 | 0.986 | 0.986 | 0.918 | 0.790 | |
| SOCAT-only | DCF | 0.986 | 0.952 | 0.890 | 0.803 | 0.722 | 0.685 |
| ESPRESSO | 1.000 | 0.995 | 1.000 | 0.959 | 1.000 | 0.599 | |
| ICMP-only | DCF | 0.984 | 0.938 | 0.862 | 0.776 | 0.614 | 0.446 |
| Dataset | Model | FPR | FPR | FPR | |||
|---|---|---|---|---|---|---|---|
| TPR | pAUC | TPR | pAUC | TPR | pAUC | ||
| SSH-only | DCF | 0.320 | 0.210 | 0.102 | 0.056 | 0.02 | 0.012 |
| ESPRESSO | 0.992 | 0.975 | 0.962 | 0.8905 | 0.710 | 0.535 | |
| Modified DCF | 0.922 | 0.855 | 0.848 | 0.699 | 0.484 | 0.392 | |
| SOCAT-only | DCF | 0.956 | 0.823 | 0.628 | 0.507 | 0.346 | 0.285 |
| ESPRESSO | 1.00 | 0.989 | 1.00 | 0.989 | 1.00 | 0.989 | |
| Model | AUC | FPR | FPR | FPR | ||||
|---|---|---|---|---|---|---|---|---|
| pAUC | max TPR | pAUC | max TPR | pAUC | max TPR | |||
| SSH Traffic | ||||||||
| ESPRESSO | 0.998 | 0.975 | 0.992 | 0.891 | 0.962 | 0.535 | 0.710 | |
| + Temporal Loss | 0.998 | 0.984 | 0.992 | 0.955 | 0.972 | 0.861 | 0.946 | |
| SOCAT Traffic | ||||||||
| ESPRESSO | 1.000 | 0.989 | 1.000 | 0.989 | 1.000 | 0.989 | 1.000 | |
| Protocol | Model Configuration | Loss Weight ( ) | AUC-ROC | pAUC-ROC | Max TPR |
|---|---|---|---|---|---|
| SSH | Standard ESPRESSO | - | 0.998 | 0.535 | 0.710 |
| + Temporal Loss | - | 0.998 | 0.861 | 0.946 | |
| + | 0.1 | 0.994 | 0.043 | 0.074 | |
| 0.01 | 0.996 | 0.677 | 0.680 | ||
| 0.001 | 0.998 | 0.656 | 0.856 | ||
| 0.0001 | 0.997 | 0.727 | 0.870 |
| Dataset | Up Acc. | Down Acc. | Avg. Acc. |
|---|---|---|---|
| SSH | 0.950 | 0.890 | 0.920 |
| SOCAT | 0.800 | 0.710 | 0.755 |
| ICMP | 0.925 | 0.963 | 0.944 |
| DNS | 0.798 | 0.797 | 0.798 |
| Mixed | 0.814 | 0.770 | 0.792 |
| Chain-Length Prediction | Correlation Performance | ||||||||
| FPR | FPR | ||||||||
| Protocol | Up Acc. | Down Acc. | Avg. Acc. | AUC | pAUC | max TPR | pAUC | max TPR | |
| SSH | 0.1 | 0.808 | 0.790 | 0.799 | 0.998 | 0.702 | 0.898 | 0.929 | 0.972 |
| 0.5 | 0.814 | 0.838 | 0.826 | 0.998 | 0.702 | 0.914 | 0.928 | 0.970 | |
| 1.0 | 0.812 | 0.832 | 0.822 | 0.998 | 0.554 | 0.914 | 0.930 | 0.976 | |
| SOCAT | 0.1 | 0.810 | 0.806 | 0.808 | 0.999 | 0.888 | 1.000 | 0.888 | 1.000 |
| Dataset | FPR | FPR | FPR | |||
|---|---|---|---|---|---|---|
| Avg. TPR | Chain Acc. | Avg. TPR | Chain Acc. | Avg. TPR | Chain Acc. | |
| SSH | 0.993 0.080 | 0.992 | 0.983 0.123 | 0.980 | 0.947 0.214 | 0.938 |
| SOCAT | 1.000 0.000 | 1.000 | 1.000 0.000 | 1.000 | 1.000 0.000 | 1.000 |
| ICMP | 1.000 0.000 | 1.000 | 0.996 0.055 | 0.994 | 0.994 0.070 | 0.992 |
| DNS | 0.000 0.000 | 0.000 | 0.000 0.000 | 0.000 | 0.000 0.000 | 0.000 |
| Mixed | 0.842 0.307 | 0.758 | 0.310 0.414 | 0.220 | 0.000 0.000 | 0.000 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | Training | Loss | FPR | FPR | FPR | |||
|---|---|---|---|---|---|---|---|---|
| Mode | Margin | TPR | pAUC | TPR | pAUC | TPR | pAUC | |
| DCF | Offline | 0.1 | 0.768 | 0.584 | 0.304 | 0.197 | 0.076 | 0.034 |
| DCF | Online | 0.1 | 0.756 | 0.581 | 0.313 | 0.177 | 0.047 | 0.012 |
| DCF | Offline | 0.5 | 0.691 | 0.491 | 0.112 | 0.038 | 0.002 | 0.001 |
| DCF | Online | 0.5 | 0.594 | 0.357 | 0.039 | 0.011 | 0.000 | 0.000 |
| ESPRESSO | Online | 0.1 | 0.884 | 0.762 | 0.602 | 0.384 | 0.139 | 0.061 |
Network Intrusion Detection
Network intrusion detection identifies malicious or abnormal network activity to help protect computers, connected devices, and critical infrastructure.
See all 168 papers