CNN๊ธฐ๋ฐ์ Malware Detector์ ๊ฐ๋ฐํฉ๋๋ค. ๊ฐ๋ฐ ์ธ์ด๋ ํ์ด์ฌ์ด๋ฉฐ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ Pytorch๋ฅผ ์ฌ์ฉํด์ AI Model์ ๊ตฌํํฉ๋๋ค. Flask๋ฅผ ์ฌ์ฉํด์ Rest-ful Api๋ฅผ ๊ตฌ์ถํ๊ณ Dockerizing์ ํตํด ๋ฐฐํฌํฉ๋๋ค.
- command
- http://<server.ip>/job//build?token=<TOKEN_NAME> : ์คํฌ๋ฆฝํธ์ค์ ์ ํตํด์ ์๊ฒฉ์์ ๋น๋๋ฅผ ์ํํ๋๋กํฉ๋๋ค.
docker pull jenkins
docker run -d -p 8080:8080 -v /Users/kimjeongwoo/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins
Docker๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ํ๊ฒ ๊ตฌ์ถ, ํ
์คํธ ๋ฐ ๋ฐฐํฌํ ์ ์์ผ๋ฉฐ, ์ํํธ์จ์ด๋ฅผ ์ปจํ
์ด๋๋ผ๋ ํ์คํ๋ ์ ๋์ผ๋ก ํจํค์งํ ์ ์์ต๋๋ค.
Dockerfile์์ฑ์ ํตํด์ ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ๊ตฌ์ถํ๊ณ Deploy ํ ์ ์์ต๋๋ค.
FROM pytorch/pytorch
RUN mkdir /webapp
WORKDIR /webapp
COPY requirements.txt /webapp
RUN pip install --no-cache-dir -r requirements.txt
COPY app /webapp/app
COPY file /webapp/file
COPY detector_sectionInfo_allData.prm /webapp/
COPY wsgi.py /webapp/
ENV FILE /webapp/detector_sectionInfo_allData.prm
CMD gunicorn --access-logfile - \
-b 0.0.0.0:8080 -w 4 \
--preload wsgi:app
์ ์ฑ์ฝ๋ ํ์ง๋ฅผ ์ํด์๋ Malware ์๊ทธ๋์ฒํจํด์ ์ฐพ์์ผํฉ๋๋ค. ํ์ง๋ง ์ด๋ ๋ณ์ฑ Malware์์๋ ๋ถ์ํด๋ด๊ธฐ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ๋ณ์ฑ Malware์ ํ์ง๋ฅผ ์ํด์ Structural Entropy์ ๊ฐ์ Feature๊ฐ ์กด์ฌํฉ๋๋ค. File์ ํน์ง์ ๋ํ๋ด๋ Structural Entropy์ ๋ถ์์ ํตํด ๋ณ์ฑ Malware๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์งํฉ๋๋ค. ๊ทธ๋ฌ๋ CNN์ ํตํด Structural Entropy๋ฅผ ๋ถ์ํ๋ฉด ์๊ธฐ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด๋ฅผ ํ์ผ์ ๊ตฌ์กฐ์ ๋ณด๋ฅผ ํตํด์ ๊ฐ์ ์์ผ ์ ์ฑ์ฝ๋ ํ์ง๊ธฐ๋ฅผ ๊ตฌํํฉ๋๋ค.