Evaluating Anomaly and signature detection methods
Hi,
I am a 4th year student trying to do an experiment comparing signature based and anomaly based detection methods. I would like to do this using decision trees and random forest algorithms. The end goal would be to measure the rate of false positives in both methods and to conclude with which is better for deterring cyber attacks.
I am not too sure how I am going to undertake this experiment but RM looks very helpful. I have publicly available security logs to use as data, have downloaded the anomaly detection extension, text mining extension and have set up an IDS system in Sec Onion to monitor my network.
Any advice/solutions would be much-appreciated apologises if ive not made what im doing clear enough I am far from an expert on the subject
Cheers
Find more posts tagged with
Yes I have my data labelled as 'attack' or 'normal'. Will cross referencing with naive bayes give me the desired result of determining rate of false positives/classification accuracy etc? Additionally, I have a signature database containing a list of known attacks, do i have to manually train the model or something or does RM handle that?
My data is the labelled NSL-KDD dataset for intrusion detection. I want to show number of false positives as well but the only performance operator that shows this requires a binominal label? which the data doesnt have because it is labelled with the specific attack rather than 'normal' or 'attack' is it possible to make it think it is just one or the other so it can be set as binominal?
Cheers
F
Hi,
arguably yes. In the area of fraud you often run into the issue of a tradeoff between being good in detecting known patterns (low false positive rate) and being good in also finding unknown patterns.
I usually work in environments where these fraud detections are handed to a human experts who decides. In this case I recommend to populate the list with 3 different sources of potential frauds/attacks:
1. A list generated by a supervised algorithm, which is very good in finding "known" (= already seen) patterns
2. A list generated by a unsupervised algorithm, which is good in also finding new patterns
3. Randomly selected instances as control group
The results of 2 and 3 serve as new tagged examples for 1. in a feedback loop.
Best,
Martin
Dear @fwood201,
I fully agree with @mschmitz on "
1. A list generated by a supervised algorithm, which is very good in finding "known" (= already seen) patterns
2. A list generated by a unsupervised algorithm, which is good in also finding new patterns
3. Randomly selected instances as control group
The results of 2 and 3 serve as new tagged examples for 1. in a feedback loop."
Some fraud detection templates are built in RapidMiner studio. You can run it for a quick demo of supversied algo (as suggest in Martin's list #1) on medical fraud instances. I also installed the anomaly detection extension from Marketplace and run HBOS, for instance, to get the risk scores from unsupervised algo (Martin's list #2). Actually the input example set has negative (non-fraud control group) data randomly selected from a big population. So we can later look into the prediction results for false postives (pre-labeled as 'false' but predicted as 'true' fraud), and manually correct (feedback) the label after some invesitigations.
So the first thing I would ask is if those logs you have are labeled. Do they have a tag for "intrusion" or "no intrusion"?
I would then load the data and use a Process Documents by Data operator and embed Tokenization/TransformCases/etc inside and then create the TFIDF word vectors and do a Cross Validation with maybe a Naive Bayes algo inside. You would have to ouput the PER port to see how well the model classifiies this data (a confusion matrix will be generated).