Projekt MOW Dokumentacja wstępna ============================================================================== Temat 28.: (A) Wykrywanie ataków w sieci komputerowej na podstawie danych używanych w konkursie KDD-CUP 1999 (należy zapoznać się z opisem zadań analitycznych i pobrać dane). ============================================================================== Marcin Szewczyk Paweł Pawliński ============================================================================== 1. Szczegółowa interpretacja tematu projektu Wykorzystane zostaną sztucznie wytworzone dane z ruchem sieciowym, powstałe na potrzeby konkursu KDD Cup '99. Projekt polega na przebadaniu różnych klasyfikatorów i podsumowaniu ich działania, włącznie z komentarzem na temat zależności skuteczności od ich parametrów. Działanie rozumiemy w sensie stwierdzenia atak/nie-atak. Ewentualne rozróżnianie typów ataku być może stanie się jednym z kolejnych etapów naszych prac. Przebadane zostanie prawdopodobieństwo wykrycia ataku na podstawie analizy ruchu sieciowego zebranego w zbiorze testowym. Ustalimy parametry takie jak stopa false positives, false negatives, prawidłowych rozpoznań. Będziemy badać działanie dla różnie przyjętych kosztów jakie poniesiemy w związku z błędną klasyfikacją - czy wolimy wyciąć za dużo i być bezpiecznym, czy bardziej narazić się na atak zmniejszając jednak liczbę fałszywych alarmów. Opcjonalnie określimy charakterystyczne cechy głównych grup ataków - DoS - probe - U2R - R2L 2. Opis algorytmów, które będą wykorzystywane Klasyfikator będzie podejmował decyzję klasyfikacyjną atak/nie-atak na podstawie selekcji negatywnej, tzn. będzie wykrywał anomalie. Przez anomalię rozumiemy ruch sieciowy odbiegający od profili normalnych zachowań utworzonych na podstawie zbioru uczącego. Chcemy zrealizować "supervised anomaly detection", ponieważ KDD dostarcza oetykietowane dane. Ewentualny dalszy etap prac polegający na wykrywaniu typu ataku będzie opierał się na pozytywnej selekcji ("misuse detection"). Zbadamy na ile ruch jest podobny do wcześniej sklasyfikowanych zagrożeń. Techniki klasyfikacji do wyboru: - klasyfikator Bayesa - 1-NN - k-NN - k-ty NN - metody oparte na wartości gęstości zbioru w badanym punkcie - SVM - drzewa decyzyjne, RandomForest 3. Plan eksperymentów 3.1 Pytania, na które będzie poszukiwana odpowiedź - jaki klasyfikator nadaje się najlepiej - na ile klasy ataków ustalone przez KDD pokrywają się z ilością klas potrzebną do prawidłowego działania klasyfikatora stwierdzającego atak/nie-atak (czy ataki o różnych nazwach rzeczywiście różnią się z punktu widzenia matematycznego aparatu obliczającego podobieństwo na podstawie cech ze zbioru danych) - czy wszystkie cechy zawarte w zbiorze danych są znaczące - które z nich można pominąć - które są skorelowane - czy warto zastosować techniki redukcji wymiarowości - w przypadku badania anomalii, ile jest znacząco różniących się profili normalnego zachowania 3.2 Charakterystyka zbiorów danych (ew. czynności przygotowania danych) - dla ciągłych cech normalizacja rzędów wielkości - musimy pamiętać, że w zbiorze testowym ataki występują z innym prawdopodobieństwem, niż w zbiorze uczącym (jawnie określone przez KDD) - czy zbiór uczący należy wstępnie przefiltrować - czy należy usunąć dane, które przekłamują ogólne obrazy klas ataków - np. usunięcie "outlierów" - czy należy zastosować edycję, kondensację, redukcję zbiorów - np. MULTIEDIT - czy z części cech wyprowadzić nowe cechy - jak traktować dane dyskretne, jak je przekształcić, by móc ich użyć w klasyfikatorach (algorytm przetworzenia dyskretna->ciągła) 3.3 Parametry algorytmów, których wpływ na wyniki będzie badany - wybrane miary odległości: - Euklidesa - Mahalanobisa - Manhattan - jeśli klasyfikator k-NN, oprócz wybrania miary, strojenie wielkości k - dobranie wielkości kosztów związanych z poszczególnymi decyzjami (koszty pomyłki na rzecz jednej klasy w korelacji z rzeczywistą klasą) - jaki procent próbek zbioru uczącego jest potrzebny dla danego klasyfikatora, by osiągnął określoną skuteczność 3.4 Sposób oceny jakości modeli - miary - false positive - false negative - alarm precision - procentowa ilość wykrytych ataków, których nie ma z zbiorze uczącym - ile zbiorczo - ile dla każdej klasy - do ilu różnych starych klas zostaną one zakwalifikowane 4. Otwarte kwestie wymagające późniejszego rozwiązania - czy będziemy realizować klasyfikator określający typ ataku - pozostawione do późniejszej decyzji, ponieważ nie wiemy jeszcze na ile dobrze sprawdzi się klasyfikator wrogich działań w ogólności bazujący na wykrywaniu anomalii