ASAI2019 (no threshold)

Testing on complete dataset

dga_test_dataset<-read_csv("../datasets/results_1000_dga_vaclav_mc_no_thres_full_domain.csv")
Parsed with column specification:
cols(
  domain = col_character(),
  new_class_2 = col_double()
)

Binary DGA (CACIC 2018) results

caret::confusionMatrix(reference=as.factor(test_vaclav_results_binary_nn$real_class),data=as.factor(t$pred_class))
Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 1988  104
         1   12  896
                                          
               Accuracy : 0.9613          
                 95% CI : (0.9538, 0.9679)
    No Information Rate : 0.6667          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.911           
                                          
 Mcnemar's Test P-Value : < 2.2e-16       
                                          
            Sensitivity : 0.9940          
            Specificity : 0.8960          
         Pos Pred Value : 0.9503          
         Neg Pred Value : 0.9868          
             Prevalence : 0.6667          
         Detection Rate : 0.6627          
   Detection Prevalence : 0.6973          
      Balanced Accuracy : 0.9450          
                                          
       'Positive' Class : 0               
                                          

MC NN (ASAI 2019) results

ASAI 2019 no threshold vs CACIC 2018

caret::confusionMatrix(data=as.factor(test_vaclav_results_mc_nn$pred_class),reference=as.factor(t$pred_class_2))
Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 1918   48
         1   73  961
                                         
               Accuracy : 0.9597         
                 95% CI : (0.952, 0.9664)
    No Information Rate : 0.6637         
    P-Value [Acc > NIR] : < 2e-16        
                                         
                  Kappa : 0.9102         
                                         
 Mcnemar's Test P-Value : 0.02912        
                                         
            Sensitivity : 0.9633         
            Specificity : 0.9524         
         Pos Pred Value : 0.9756         
         Neg Pred Value : 0.9294         
             Prevalence : 0.6637         
         Detection Rate : 0.6393         
   Detection Prevalence : 0.6553         
      Balanced Accuracy : 0.9579         
                                         
       'Positive' Class : 0              
                                         

RESULTS AFTER MC-NN RETRAIN with vaclav

Tested on 5000 “normal domains from FING”

RESULTS on 5000 FING domains using FING TRAINED MC-NN

DIFF between FING TRAINED NN and binary NN (CACIC 2018)

mc_nn<-test_fing_results_mc_nn %>% select(partial_domain, class) %>% unique()
names(mc_nn)[1]<-"domain"
binary_nn<-test_fing_results_mc_binary  %>% select(domain,class) %>% unique()


setdiff(mc_nn,binary_nn)

inner_join(mc_nn,binary_nn,by=c("domain"))  %>% filter(class.x!=class.y)

FING trained MC-NN vs binary (CACIC 2018)

caret::confusionMatrix(data=as.factor(mc_nn$class),reference=as.factor(binary_nn$class))
Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 2178   10
         1   21   15
                                          
               Accuracy : 0.9861          
                 95% CI : (0.9803, 0.9905)
    No Information Rate : 0.9888          
    P-Value [Acc > NIR] : 0.90117         
                                          
                  Kappa : 0.485           
                                          
 Mcnemar's Test P-Value : 0.07249         
                                          
            Sensitivity : 0.9905          
            Specificity : 0.6000          
         Pos Pred Value : 0.9954          
         Neg Pred Value : 0.4167          
             Prevalence : 0.9888          
         Detection Rate : 0.9793          
   Detection Prevalence : 0.9838          
      Balanced Accuracy : 0.7952          
                                          
       'Positive' Class : 0               
                                          

FING TRAINED MC-NN vs nothreshold-1700-vaclav MC-NN

caret::confusionMatrix(data=as.factor(test_fing_results_mc_nn$class),reference=as.factor(test_fing_results_mc_nn$mc_nn_notrehshold_class))
Confusion Matrix and Statistics

          Reference
Prediction    0    1
         0 4821  119
         1   22   38
                                          
               Accuracy : 0.9718          
                 95% CI : (0.9668, 0.9762)
    No Information Rate : 0.9686          
    P-Value [Acc > NIR] : 0.103           
                                          
                  Kappa : 0.3387          
                                          
 Mcnemar's Test P-Value : 6.234e-16       
                                          
            Sensitivity : 0.9955          
            Specificity : 0.2420          
         Pos Pred Value : 0.9759          
         Neg Pred Value : 0.6333          
             Prevalence : 0.9686          
         Detection Rate : 0.9642          
   Detection Prevalence : 0.9880          
      Balanced Accuracy : 0.6187          
                                          
       'Positive' Class : 0               
                                          
LS0tCnRpdGxlOiAiTk4gTXVsdGkgY2xhc3Mgbm8gdHJlaHNob2xkIGV2YWx1YXRpb24gZm9yIERHQSBkZXRlY3Rpb24iCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiMgQVNBSTIwMTkgKG5vIHRocmVzaG9sZCkKIyMgVGVzdGluZyBvbiBjb21wbGV0ZSBkYXRhc2V0CgpgYGB7cn0KbGlicmFyeShyanNvbikKbGlicmFyeShyZWFkcikKbGlicmFyeShjYXJldCkKbGlicmFyeShkcGx5cikKbGlicmFyeShqc29ubGl0ZSkKCnNldHdkKCIuLi8iKQpkZ2FfdGVzdF9kYXRhc2V0PC1yZWFkX2NzdigiLi4vZGF0YXNldHMvcmVzdWx0c18xMDAwX2RnYV92YWNsYXZfbWNfbm9fdGhyZXNfZnVsbF9kb21haW4uY3N2IikKbm9ybWFsX3Rlc3RfZGF0YXNldDwtcmVhZF9jc3YoIi4uL2RhdGFzZXRzL3Jlc3VsdHNfMjAwMF9ub3JtYWxfdmFsY2xhdl9tY19ub190aHJlc19mdWxsX2RvbWFpbi5jc3YuZ3oiKQpuYW1lcyhkZ2FfdGVzdF9kYXRhc2V0KVsyXSA8LSJtY19wcmVkaWN0aW9uIgoKYGBgCgpgYGB7cn0KZGdhX3Rlc3RfZGF0YXNldCAlPiUgZmlsdGVyKG1jX3ByZWRpY3Rpb24gPT0gMCkgJT4lIGFycmFuZ2UoZG9tYWluKQpkZ2FfdGVzdF9kYXRhc2V0ICU+JSBmaWx0ZXIobWNfcHJlZGljdGlvbiA9PSAwKSAlPiUgZmlsdGVyKCFncmVwbCgiY24iLGRvbWFpbikpICU+JSBhcnJhbmdlKGRvbWFpbikKYGBgCgoKCiMgQmluYXJ5IERHQSAoQ0FDSUMgMjAxOCkgcmVzdWx0cwpgYGB7cn0KZGdhX3Jlc3VsdHM8LXN0cmVhbV9pbih0ZXh0Q29ubmVjdGlvbihyZWFkTGluZXMoIi4uL2RhdGFzZXRzL3Jlc3VsdHNfZGdhX2JpbmFyeWRnYS5qc29uIixuPTEwMDEpKSkKZGdhX3Jlc3VsdHMkbGFiZWw8LSJkZ2EiCm5vcm1hbF9yZXN1bHRzPC1zdHJlYW1faW4odGV4dENvbm5lY3Rpb24ocmVhZExpbmVzKCIuLi9kYXRhc2V0cy9yZXN1bHRzX25vcm1hbF9iaW5hcnlkZ2EuanNvbiIsbj0yMDAxKSkpCm5vcm1hbF9yZXN1bHRzJGxhYmVsPC0ibm9ybWFsIgoKdGVzdF92YWNsYXZfcmVzdWx0c19iaW5hcnlfbm48LXJiaW5kKG5vcm1hbF9yZXN1bHRzLGRnYV9yZXN1bHRzKQpuYW1lcyh0ZXN0X3ZhY2xhdl9yZXN1bHRzX2JpbmFyeV9ubik8LWMoInBhcnRpYWxfZG9tYWluIiwicHJlZF9jbGFzcyIsInByb2IiLCJyZWFsX2NsYXNzIikKCgp0ZXN0X3ZhY2xhdl9yZXN1bHRzX2JpbmFyeV9ubjwtdGVzdF92YWNsYXZfcmVzdWx0c19iaW5hcnlfbm4gJT4lIG11dGF0ZShwcmVkX2NsYXNzPWlmZWxzZShncmVwbCgibm9ybWFsIixwcmVkX2NsYXNzLCksMCwxKSkKdGVzdF92YWNsYXZfcmVzdWx0c19iaW5hcnlfbm48LXRlc3RfdmFjbGF2X3Jlc3VsdHNfYmluYXJ5X25uICU+JSBtdXRhdGUocmVhbF9jbGFzcz1pZmVsc2UoZ3JlcGwoIm5vcm1hbCIscmVhbF9jbGFzcywpLDAsMSkpCnRlc3RfdmFjbGF2X3Jlc3VsdHNfYmluYXJ5X25uCgpjYXJldDo6Y29uZnVzaW9uTWF0cml4KHJlZmVyZW5jZT1hcy5mYWN0b3IodGVzdF92YWNsYXZfcmVzdWx0c19iaW5hcnlfbm4kcmVhbF9jbGFzcyksZGF0YT1hcy5mYWN0b3IodGVzdF92YWNsYXZfcmVzdWx0c19iaW5hcnlfbm4kcHJlZF9jbGFzcykpCgp0ZXN0X3ZhY2xhdl9yZXN1bHRzX2JpbmFyeV9ubiAlPiUgZmlsdGVyKHByZWRfY2xhc3M9PTEgJiByZWFsX2NsYXNzPT0wKSAlPiUgZ3JvdXBfYnkocGFydGlhbF9kb21haW4pICU+JSBzdW1tYXJpc2UodG90YWw9bigpKSAlPiUgYXJyYW5nZShkZXNjKHRvdGFsKSkKCnQ8LXRlc3RfdmFjbGF2X3Jlc3VsdHNfYmluYXJ5X25uICU+JSBtdXRhdGUocHJlZF9jbGFzc18yPWlmZWxzZShwcm9iPjAuNSwxLDApKQoKY2FyZXQ6OmNvbmZ1c2lvbk1hdHJpeChyZWZlcmVuY2U9YXMuZmFjdG9yKHRlc3RfdmFjbGF2X3Jlc3VsdHNfYmluYXJ5X25uJHJlYWxfY2xhc3MpLGRhdGE9YXMuZmFjdG9yKHQkcHJlZF9jbGFzcykpCgpgYGAKCiMgTUMgTk4gKEFTQUkgMjAxOSkgcmVzdWx0cwoKYGBge3J9Cgp0ZXN0X3ZhY2xhdl9yZXN1bHRzX21jX25uPC1yZWFkX2NzdigiLi4vZGF0YXNldHMvcmVzdWx0c192YWNsYXZfZG9tYWluX21jX25vX3RocmVzX3RyYWluX2Z1bGxfdGVzdF9wYXJ0aWFsLmNzdiIpCnRlc3RfdmFjbGF2X3Jlc3VsdHNfbWNfbm48LXRlc3RfdmFjbGF2X3Jlc3VsdHNfbWNfbm4gJT4lbXV0YXRlKHByZWRfY2xhc3M9aWZlbHNlKGdyZXBsKCIwIixwcmVkX2NsYXNzLCksMCwxKSkKY2FyZXQ6OmNvbmZ1c2lvbk1hdHJpeChyZWZlcmVuY2U9YXMuZmFjdG9yKHRlc3RfdmFjbGF2X3Jlc3VsdHNfbWNfbm4kcmVhbF9jbGFzcyksZGF0YT1hcy5mYWN0b3IodGVzdF92YWNsYXZfcmVzdWx0c19tY19ubiRwcmVkX2NsYXNzKSkKCnRlc3RfdmFjbGF2X3Jlc3VsdHNfbWNfbm4gJT4lIGZpbHRlcihwcmVkX2NsYXNzPT0xICYgcmVhbF9jbGFzcz09MCkgJT4lIGdyb3VwX2J5KHBhcnRpYWxfZG9tYWluKSAlPiUgc3VtbWFyaXNlKHRvdGFsPW4oKSkgJT4lIGFycmFuZ2UoZGVzYyh0b3RhbCkpCmBgYAojIEFTQUkgMjAxOSBubyB0aHJlc2hvbGQgdnMgQ0FDSUMgMjAxOApgYGB7cn0KY2FyZXQ6OmNvbmZ1c2lvbk1hdHJpeChkYXRhPWFzLmZhY3Rvcih0ZXN0X3ZhY2xhdl9yZXN1bHRzX21jX25uJHByZWRfY2xhc3MpLHJlZmVyZW5jZT1hcy5mYWN0b3IodGVzdF92YWNsYXZfcmVzdWx0c19iaW5hcnlfbm4kcHJlZF9jbGFzcykpCmBgYAojIFJFU1VMVFMgQUZURVIgTUMtTk4gUkVUUkFJTiB3aXRoIHZhY2xhdgojIyBUZXN0ZWQgb24gNTAwMCAibm9ybWFsIGRvbWFpbnMgZnJvbSBGSU5HIgpgYGB7cn0KdGVzdF9maW5nX3Jlc3VsdHNfbWNfbm48LXJlYWRfY3N2KCIuLi9kYXRhc2V0cy9yZXN1bHRzXzUwMDBfdGVzdF9maW5nLmNzdiIpCgpuYW1lcyh0ZXN0X2ZpbmdfcmVzdWx0c19tY19ubilbM108LSJtY19ubl9ub3RyZWhzaG9sZF9jbGFzcyIKbmFtZXModGVzdF9maW5nX3Jlc3VsdHNfbWNfbm4pWzRdPC0iY2xhc3MiCnRlc3RfZmluZ19yZXN1bHRzX21jX25uICU+JSBmaWx0ZXIoY2xhc3MgPT0xICkgJT4lIHNlbGVjdChwYXJ0aWFsX2RvbWFpbikgJT4lIHVuaXF1ZSgpICU+JSBhcnJhbmdlKGRlc2MocGFydGlhbF9kb21haW4pKQpgYGAKIyBSRVNVTFRTIG9uIDUwMDAgRklORyBkb21haW5zIHVzaW5nIEZJTkcgVFJBSU5FRCBNQy1OTgpgYGB7cn0KdGVzdF9maW5nX3Jlc3VsdHNfbWNfYmluYXJ5PC1zdHJlYW1faW4odGV4dENvbm5lY3Rpb24ocmVhZExpbmVzKCIuLi9kYXRhc2V0cy9yZXN1bHRzX3Nob3J0Lmpzb24iLG49NTAwMCkpKQp0ZXN0X2ZpbmdfcmVzdWx0c19tY19iaW5hcnkgJT4lIGZpbHRlcihjbGFzcyA9PTEpICU+JSBzZWxlY3QoZG9tYWluKSAlPiUgdW5pcXVlKCkgJT4lIGFycmFuZ2UoZGVzYyhkb21haW4pKQpgYGAKCiMgRElGRiBiZXR3ZWVuIEZJTkcgVFJBSU5FRCBOTiBhbmQgYmluYXJ5IE5OIChDQUNJQyAyMDE4KQpgYGB7cn0KbWNfbm48LXRlc3RfZmluZ19yZXN1bHRzX21jX25uICU+JSBzZWxlY3QocGFydGlhbF9kb21haW4sIGNsYXNzKSAlPiUgdW5pcXVlKCkKbmFtZXMobWNfbm4pWzFdPC0iZG9tYWluIgpiaW5hcnlfbm48LXRlc3RfZmluZ19yZXN1bHRzX21jX2JpbmFyeSAgJT4lIHNlbGVjdChkb21haW4sY2xhc3MpICU+JSB1bmlxdWUoKQoKCnNldGRpZmYobWNfbm4sYmluYXJ5X25uKQoKaW5uZXJfam9pbihtY19ubixiaW5hcnlfbm4sYnk9YygiZG9tYWluIikpICAlPiUgZmlsdGVyKGNsYXNzLnghPWNsYXNzLnkpCmBgYAoKCgojIyBGSU5HIHRyYWluZWQgIE1DLU5OIHZzIGJpbmFyeSAgKENBQ0lDIDIwMTgpCmBgYHtyfQpjYXJldDo6Y29uZnVzaW9uTWF0cml4KGRhdGE9YXMuZmFjdG9yKG1jX25uJGNsYXNzKSxyZWZlcmVuY2U9YXMuZmFjdG9yKGJpbmFyeV9ubiRjbGFzcykpCmBgYAojIyBGSU5HIFRSQUlORUQgTUMtTk4gdnMgbm90aHJlc2hvbGQtMTcwMC12YWNsYXYgTUMtTk4KYGBge3J9CmNhcmV0Ojpjb25mdXNpb25NYXRyaXgoZGF0YT1hcy5mYWN0b3IodGVzdF9maW5nX3Jlc3VsdHNfbWNfbm4kY2xhc3MpLHJlZmVyZW5jZT1hcy5mYWN0b3IodGVzdF9maW5nX3Jlc3VsdHNfbWNfbm4kbWNfbm5fbm90cmVoc2hvbGRfY2xhc3MpKQpgYGAKCg==