AI

AI

AI를 이용한 악성코드 탐지

AI를 이용한 정적 분석만으로 악성코드의 특징들을 찾아내어 동적 분석 없이 높은 탐지율로 악성코드를 추출해냈다. 학습에 사용한 데이터는 peframe으로 파일들의 특성을 추출하였으며, 데이터 전처리와 분석은 word2vec 모델을 사용하였다. 학습 모델은 LGBM 을 사용하였으며, 입력 벡터는 word2vec 모델을 사용하여 학습을 진행했다. 악성코드 탐지 및 특성 추출 방법 PEFrame을 통해 파일에 대한 데이터를 정적 분석하여 해당 파일의 특성들을 전부 추출하여 사용하였다 파일 하나당 한 개의 텍스트 파일에 정적 분석 데이터를 담았으며, 총 1만개의 텍스트 파일이 존재한다. PeFrame 분석 결과를 모델에 돌리기 위해서 단어 임베딩 방법론 중 하나인 Word2Vec을 활용하였다. 사용목적 1. 추..

AI

[AI 문서 분류] AI를 이용한 문서 분류 프로그램 (최종)

최종적인 문서 및 파일 자동 분류 프로그램이 완성되었습니다. AI를 이용했다기 보단 필터링에 더 집중이 많이되었습니다 한국에서는 위와 같은 자동 분류 프로그램이 많이 없는걸로 알고 있는데 의미있게 코드들을 수정해주시면 감사하겠습니다. # 제목 기반 자동 분류 def title_classification(directory_list, file_list): result_dict = {} index_dict = {} origin_directory_list = directory_list.copy() origin_file_list = file_list.copy() # 첫번째 단계 : 데이터 전처리 (data preprocess) tmp_dir_list = data_preprocess(directory_list) t..

AI

[AI 문서 분류] Word2Vec를 이용한 파일 유사도 검사

Word2Vec 모델을 이용하여 폴더와 파일간의 유사도 검사를 해볼것이다. 인자값으로 폴더의이름과 파일들의 이름을 받아 폴더와 각 파일명들을 비교할 것이다. Word2Vec모델에 없는 단어일 경우 다음 단계로 패스시킬 것이다. def word2vec_similarity(directory_list, file_list): model = Word2Vec.load('모델 경로') tmp_dict = {} classificated_dir_index = 0 if jpype.isJVMStarted(): jpype.attachThreadToJVM() okt = Okt() # 형태소 분석 for file_index in range(len(file_list)): max_similarity = 0 file_morphs = ..

AI

[AI 문서 분류] 파이썬을 이용한 자모 단위 필터링

자모단위로 분류하는 알고리즘 구현 -정확도 낮음 jamo 모듈은 글자를 자모단위로 쪼개주는 역할을 한다 아 -> ㅇ + ㅏ 자소서 -> ㅈ + ㅏ + ㅅ + ㅗ + ㅅ + ㅓ 예를 들어 폴더명을 자소서라고 짓는다고 가정 파일이 자기소개서 일경우 당연히 자소서 폴더에 들어간다 하지만 서소자 파일인 경우에도 자모 단위로 쪼개면 ㅅ + ㅓ + ㅅ + ㅗ + ㅈ + ㅏ ㅈ + ㅏ + ㅅ + ㅗ + ㅅ + ㅓ 자모의 개수대로 비교한다면 자소서가 들어가고 해당 위치에 매칭되는 값이 다름을 비교하고 기준치를 자모 수의 50%로 지정한다면 ㅅ + ㅗ = 위치와 글자가 동일 하므로 2개가 같음 자모의 수 6개의 50%인 3개에 미치지 못해 적용을 안시킬 수 있다 하지만 필자는 해당 자모 필터링을 최하위에 둘 예정이라 단..

AI

[AI 문서 분류] 파이썬을 이용한 파파고API 비동기화

!pip install aiohttp 비동기화를 설명하기 이전에 지난번 작성했던 번역 부분을 보겠다. a = start_trans("naver") a 번역해서 돌아오는 시간을 계산해본 결과 1~2초 정도 걸렸다 하지만 10개의 데이터를 보내면 대략 10~20초 사이 시간이 소모되는 것을 확인 할 수 있다. 만약 100개의 데이터를 보내고 최소 100초가 걸린다면, 우리는 사용하지 않을것이다. 우리가 해야할 것은 영어의 파일 이름일 경우 단체로 보내어 번역을 시켜줘야 하는데 이렇게 오래걸린다면 사용할 이유가 전혀 없다. 그렇다면 배열로 보내어 한번에 번역을 시키면 어떨까? 한글 데이터를 영어로 바꿔보겠다 파파고 번역기를 사용해본 결과 번역이 제데로 되지 않았다. 확장자 명과 싱글 쿼터를 제외하고도 제데로 ..

AI

[AI 문서 분류] 파이썬을 이용한 한글 외래어 표기법 매칭

지난 시간에 파파고 API를 사용하여 번역을 하였는데 일부 고유명사의 경우 한글로 번역이 안되는 결과를 볼 수 있었다. trans = get_translate("Skt") trans 이러한 경우에만 영어 발음 그대로 자모단위 필터링을 해주려고 한다. (예시- 에스케이티) import re def simple_filter(input_text): ENGS = ['a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T..

DevSecOps
'AI' 카테고리의 글 목록