eBPF+KMeans基于资源指标检测非对称DoS攻击。
FINELAME Design
主要由三部分组成
- Programmer annotations:标志着一个请求正在被处理
- Fine-grained resource monitors:以文本切换、mallocs、页面故障的粒度跟踪in-flight请求的资源利用率
- cross-layer anomaly detection:学习合法的行为,并在攻击偏离这些行为时立即检测出来
Request-mapping in FINELAME
主要规定了三个annotations
- startProcessing:开始一个phase。记录这之后的任何资源利用或分配
- attributeRequest:把phase attribute给一个request
- endProcessing:表示处理完了
上面这个模型显然是串行的,如果存在并行或者shared的情况,需要程序员灵活应变。
Resource Monitor Architecture
表二列举了FineLame采集的事件。主要是sche、page fault、malloc
Attack Detection
这个检测问题可以简化为在n维空间中量化一个向量的异常。一旦收集到足够多的数据来计算合法请求行为的细微特征,我们就可以训练一个异常检测模型。
论文用的是K-means。