Skip to content

Screwlim/20192_yhdatabase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

딥러닝을 활용한 네트워크 이상패킷 감지 및 분류 개발

java_badge maven badge

본 프로젝트는 경북대학교(주)YH데이터베이스와의 산학 협력 프로젝트로 진행 되었습니다.

본 프로젝트의 모듈은 Apache2.0 라이선스를 따르는 DL4J를 기반으로 작성 되었습니다.

본 프로젝트는 기술의 발달로 다양해지고 변화하는 네트워크 상의 공격에 대응하기 위해 딥러닝 기법을 이용한 새로운 대처 방법을 찾고자 진행 되었습니다. 이를 통해 네트워크 장치의 분석 데이터를 기반으로 한 효율적인 이상 패킷 차단 기술을 확보하고, 그에 따른 적정 자원 할당 및 처리의 방향을 찾아보고자 합니다.

설치

우분투 리눅스 환경을 기반으로 진행합니다.

  1. 실행 환경인 intelliJ와 7 이상 버전의 java(jdk), 3.5.2 이상 버전의 maven 설치.

  2. 실시간 패킷 처리 모듈을 실행하기 위해 pcap 라이브러리 tcpdumppython3을 설치.

  3. git 복사. (경로 설정을 위해 ~$에 설치 하는 것을 권장)

~$ git clone https://github.com/Screwlim/20192_yhdatabase.git
  1. pcap(raw packet) to nsl-kdd 변환 모듈 빌드.
~$ git clone https://github.com/AI-IDS/kdd99_feature_extractor.git
~$ cd kdd99_feature_extractor
~/kdd99_feature_extractor$ mkdir build-files
~/kdd99_feature_extractor$ cd build-files
~/kdd99_feature_extractor/build-files$ cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" ..
~/kdd99_feature_extractor/build-files$ cd ..
~/kdd99_feature_extractor$ cmake --build ./build-files --target kdd99extractor -- -j 4

실행

  1. intelliJ에서 ~/20192_yhdatabase/ML module/pom.xml 불러오기.

  2. ~/20192_yhdatabase/ML module/src/main/java/org/deeplearning4j/examples/deeplearning/Training3.java로 학습. 학습 완료 된 모델은 ~/20192_yhdatabase/ML module/src/main/resources/trainedModel 경로에 저장.

  3. Service.java의 IPaddress 변수에 자신의 IP주소 입력.

  4. Classification.java의 path 변수에 원하는 분류 모델(또는 학습 한 모델)설정.

  5. Service.java 실행.

파일 정보

신경망을 학습시키고 테스트할 때 사용된 모든 데이터 셋

ML module

DL4J라이브러리를 사용한 신경망 설계 프로젝트 파일

참고

깃 프로젝트 참여

2015114262 임석렬 Screwlim

2014105009 김기윤 ko6154

2014105106 황석영 tjrdud123

2017113020 박효빈 Bachbold

About

2019년 2학기 경북대학교 종합프로젝트1 1팀

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •