1. (요약)경로 입력 후 하위 폴더 검색 비활성화 후 나오는 결과 &
초기 실행 결과
insert-> D:\Develop\ICT\TEST
search low? => 1.yes 2.no 2
.
..
Dir ->D:\Develop\ICT\TEST\1
Dir ->D:\Develop\ICT\TEST\2
Dir ->D:\Develop\ICT\TEST\3
Dir ->D:\Develop\ICT\TEST\4
Dir ->D:\Develop\ICT\TEST\5
File->D:\Develop\ICT\TEST\6.txt
185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
Save SHA256 to WhiteList
-------------------------------------------------
Dir ->D:\Develop\ICT\TEST\Virus
File->D:\Develop\ICT\TEST\vtapi2.py
41bf2433096bbd1c6bf975546cac3454ad1a843b2ced138735caa09b3c5fbc7a
Save SHA256 to WhiteList
-------------------------------------------------
========== Virus Total Loading ==========
=========================================
sha256 : 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
=========================================
ViRobot : None
AhnLab-V3 : None
ALYac : None
========== Virus Total Loading ==========
=========================================
sha256 : 41bf2433096bbd1c6bf975546cac3454ad1a843b2ced138735caa09b3c5fbc7a
=========================================
ALYac : None
ViRobot : None
AhnLab-V3 : None
========== clear ==========
계속하려면 아무 키나 누르십시오 . . .
2. (요약)경로 입력 후 하위 폴더 검색 활성화 후 결과 &
화이트리스트 DB에 이미 존재하는 파일에 대한 결과 &
VirusTotal API 검사 결과가 없는 파일에 대한 결과 &
VirusTotal API 검사 후 바이러스 검출된 파일에 대한 결과
insert-> D:\Develop\ICT\TEST
search low? => 1.yes 2.no 1
.
..
Dir ->D:\Develop\ICT\TEST\1
.
..
File->D:\Develop\ICT\TEST\1\TEST1.txt
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Save SHA256 to WhiteList
-------------------------------------------------
Dir ->D:\Develop\ICT\TEST\2
.
..
File->D:\Develop\ICT\TEST\2\TEST2.txt
d6ec6898de87ddac6e5b3611708a7aa1c2d298293349cc1a6c299a1db7149d38
Save SHA256 to WhiteList
Dir ->D:\Develop\ICT\TEST\Virus
.
..
File->D:\Develop\ICT\TEST\Virus\rdpwrap.dll
798af20db39280f90a1d35f2ac2c1d62124d1f5218a2a0fa29d87a13340bd3e4
Save SHA256 to WhiteList
-------------------------------------------------
File->D:\Develop\ICT\TEST\vtapi2.py
41bf2433096bbd1c6bf975546cac3454ad1a843b2ced138735caa09b3c5fbc7a
Already exsit in WhiteList
-------------------------------------------------
========== Virus Total Loading ==========
=========================================
sha256 : e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
=========================================
ALYac : None
ViRobot : None
AhnLab-V3 : None
========== Virus Total Loading ==========
=========================================
sha256 : d6ec6898de87ddac6e5b3611708a7aa1c2d298293349cc1a6c299a1db7149d38
=========================================
nProtect : None
ViRobot : None
AhnLab-V3 : None
ALYac : None
========== Virus Total Loading ==========
=========================================
sha256 : 15e2b0d3c33891ebb0f1ef609ec419420c20e320ce94c65fbc8c3312448eb225
=========================================
ALYac : None
ViRobot : None
AhnLab-V3 : None
========== Virus Total Loading ==========
=========================================
!!!!!!!!!! Sorry, No Match !!!!!!!!!!
=========================================
========== Virus Total Loading ==========
=========================================
!!!!!!!!!! Sorry, No Match !!!!!!!!!!
=========================================
========== Virus Total Loading ==========
=========================================
sha256 : 798af20db39280f90a1d35f2ac2c1d62124d1f5218a2a0fa29d87a13340bd3e4
=========================================
ViRobot : None
AhnLab-V3 : Unwanted/Win.Rdpwrap.C2410573
Delete '798af20db39280f90a1d35f2ac2c1d62124d1f5218a2a0fa29d87a13340bd3e4' because it has virus
========== clear ==========
계속하려면 아무 키나 누르십시오 . . .
[결과 정리]
1. 특정 경로를 입력하여
하위 폴더에 대한 검색 유무 요청 후
결과에 따라 실행
2. 각 파일에 대한 SHA256 값 계산 후
화이트리스트 DB(WhiteList.db)에 등록 후 결과 출력
3. 화이트리스트 DB에 계산한 SHA256이 이미 존재할 시
DB에 등록하지 않고 존재한다는 문자열 출력
4. VirusTotal API에 SHA256을 검사가 안 될 시
별도 DB(NoFind.db)에 등록 후
화이트리스트 DB에서 삭제 후 결과 출력
5. VirusTotal API에 SHA256을 검사했을 시
바이러스가 하나 이상 검출되면
화이트리스트 DB에서 삭제 및 파일 삭제 후 결과 출력
[수정할 부분]
1. 바이러스 검출 시 삭제가 아닌 파일명(확장자) 변경 후 로그 생성
2. Windows.h가 아닌 다른 헤더나 라이브러리 사용으로 다른 OS에서도 작동하도록 변경(리눅스 및 맥OS)
[사용한 언어 및 기능들 참고]
스터디그룹 프로젝트 - 화이트리스트 안티 바이러스 프로그램 1차 완성 :: RE_ATMOSPHERE (tistory.com)
흐아.. 대학교 2학년 때 시작했던 프로젝트가 드디어 완성되었네요...
전체적으로 보자면 하려고 했던 핵심 기능들만 거의 모두 구현 완료지만
설치 마법사나 GUI나 집단지성 투표 같은 부분은 혼자할 게 못 될 거 같으니... 슬슬 마무리 지어도 될 것 같습니다.
이 프로젝트 진행에 관한 결과를 블로그에 계속 작성하는 이유가
원래 이 블로그가 스터디그룹에서 공부한 부분을 기록 및 추후에 도움이 되기 위해서 만들었기 때문입니다.
그리고 '내가 이런 걸 하고 있다'라는 걸 이 게시물들을 볼 누군가에게 어필을 하고 싶은 마음도 있습니다.
스터디그룹을 했을 때 구현되었던 기능은
1. 경로 입력 후 하위 폴더 검색 유무 요청 및 파일 목록 열거
2. 해당 파일에 대한 메모리 매핑 파일 실행
3. DB 테이블 생성
이 3가지가 모두였습니다.
그 이후로는 혼자서 시간 날 때 틈틈히 구글링과 디버깅으로 결과를 보고 수정하면서 구현하였네요.
핵심 기능들은 거의 다 구현되었지만 그래도 아쉬운 부분은
1. DB파일(.db)에 대한 SHA256 계산 불가능(이상한 값 출력)
2. 바이러스 검출된 동일한 파일이 여러 경로에 존재할 시 모두 삭제 미구현
3. Free Public API로 인해 1분당 4개의 파일 제한이 있어 검사 속도가 느림
이 정도 될 거 같습니다.
해당 프로그램은 파이썬이 설치되지 않은 흔히 일반적으로 사용하는 컴퓨터에서도 실행되는지 확인 후
VirusTotal API를 개별 API를 입력 받도록 수정한 뒤에 배포를 할까 합니다.
안 그럼 한 분만이라도 겹치면 검사를 아예 못 해서.....
소스코드 같은 경우에는 저처럼 공부겸 참고할 겸 볼 사람들을 위해 깃허브에 올릴까 했지만
저 혼자한 건 아니기에 올리진 못 할 거 같네요.
만약 특정 기능 코드가 궁금하시면 댓글로 말씀해주세요!!
알림 확인 후 제가 구현한 부분이면 답글로 말씀드리겠습니다(_ _)
'IT' 카테고리의 다른 글
LG 울트라 PC GT(15U780-PA70K) - 윈도우 & 맥 & 리눅스 멀티부팅 설치 (0) | 2022.03.26 |
---|---|
LG 울트라 PC GT(15U780-PA70K) - Big Sur 11.6.5 & OpenCore 0.7.9 설치 (0) | 2022.03.26 |
[C++] Memory Mapped File / 메모리 매핑 파일 (0) | 2022.03.14 |
[Python] DB 데이터 TXT 파일로 추출 (0) | 2022.03.14 |
스터디그룹 프로젝트 - 화이트리스트 안티 바이러스 프로그램 1차 완성 (0) | 2022.03.07 |