[사용한 언어]
C++
MYSQL
Python
[구현된 기능]
1. 원하는 경로 입력시 해당 경로에 존재하는 파일 목록 열거
2. 각 파일에 대한 SHA256 값 계산
3. 파일의 경로, SHA256 값 DB에 저장
4. VirusTotal API를 사용하여 각 SHA256 값 검사
5. VirusTotal API에서 바이러스 검출 시 해당 파일의 SHA256 DB에서 삭제 및 파일 삭제
(3, 5번으로 인해 화이트리스트 DB가 만들어진다.)
[부족한 점]
1. 개인 VirusTotal API를 사용해서 할당량 문제로 각 파일당 검사하는데 20초 소모
2. .db 파일은 SHA256 값 계산이 제대로 안 됨
3. 같은 파일이 여러 경로에 존재할 시 DB에서는 삭제되지만 실제 파일은 코드 오류로 인해 하나를 제외하면 삭제가 안 됨
4. DB에서 중복된 값을 제거하지 못 하여 검사할 때마다 DB 용량이 늘어남
[앞으로 구현해야할 점]
1. 같은 파일이 여러 경로에 존재해도 전부 삭제하도록 수정
2. 원래 목표에 맞게 DB에 있는 SHA256 값과 파일의 SHA256을 비교후 진행하도록 수정
3. DB에서 중복된 값을 제거하도록 수정
4. 바이러스 검출된 파일에 대한 응답 여부 결정하도록 수정
'IT' 카테고리의 다른 글
[C++] Memory Mapped File / 메모리 매핑 파일 (0) | 2022.03.14 |
---|---|
[Python] DB 데이터 TXT 파일로 추출 (0) | 2022.03.14 |
스터디그룹 프로젝트 원하던 기능까지 구현 완료 (0) | 2022.03.02 |
사용했던 이어폰&헤드폰 간단(?) 후기 (0) | 2022.03.01 |
LMC8.4 Helena R2 (0) | 2022.02.16 |