Android Malware Detection: A Machine Leaning Approach
๐ Abstract
**
๋ณธ ์ฐ๊ตฌ๋ Decision Tree, Support Vector Machine, Logistic Regression, Neural Network ๋ฑ ์ ํต์ ์ธ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ค์ํ ์์๋ธ ๊ธฐ๋ฒ์ ํ์ฉํ์ฌ ์๋๋ก์ด๋ ์
์ฑ์ฝ๋๋ฅผ ํ์งํ๋ ๋ฐฉ๋ฒ์ ์ฒด๊ณ์ ์ผ๋ก ๋น๊ตยทํ๊ฐํ๋ค. ์ค์ ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ์ดํฐ์
(TUANDROMD, 4,465๊ฐ ์ํ, 241๊ฐ์ ์ด์ง ํน์ฑ)์ผ๋ก ์คํ์ ์งํํ์ผ๋ฉฐ, ๊ฐ ๋ชจ๋ธ์ ์ ํ๋, ํจ์จ์ฑ, ์ค๋ฌด ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ๋ถ์ํ๋ค. ์คํ ๊ฒฐ๊ณผ, ์์๋ธ ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ๋์ ํ์ง ์ฑ๋ฅ์ ๋ณด์์ง๋ง, ๋ชจ๋ธ ํด์ ๊ฐ๋ฅ์ฑยท์ฐ์ฐ ๋น์ฉยท์ค์๊ฐ ์ ์ฉ์ฑ ์ฌ์ด์ ํธ๋ ์ด๋์คํ๊ฐ ์กด์ฌํ๋ค๋ ์ ์ ํ์ธํ์๋ค. ์๋๋ก์ด๋ ์
์ฑ์ฝ๋ ์ํ์ด ์ง์์ ์ผ๋ก ์ฆ๊ฐํ๋ ํ ์ํฉ์์, ๋ณธ ์ฐ๊ตฌ๋ ํฅํ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฐ ๋ณด์ ์๋ฃจ์
์ค๊ณ์ ์ค์ฉํ์ ๋ํ ์ค์ํ ์ธ์ฌ์ดํธ๋ฅผ ์ ๊ณตํ๋ค.
**
๐ก Deep Analysis
**
1. ์ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ํ์์ฑ
- ์๋๋ก์ด๋์ ์์ฅ ์ ์ ์จ์ด ์ ์ธ๊ณ ์ค๋งํธํฐ์ ๋๋ถ๋ถ์ ์ฐจ์งํ๋ฉด์, ์คํ์์คยท๋ค์ํ ๋ฐฐํฌ ๊ฒฝ๋ก๊ฐ ์ ์ฑ์ฝ๋์ ์จ์์ผ๋ก ์์ฉํ๊ณ ์๋ค.
- ๊ธฐ์กด ์๊ทธ๋์ฒ ๊ธฐ๋ฐ ํ์ง๋ ๋ณ์ข ยท๋๋ ํ ์ ์ฑ์ฝ๋์ ์ทจ์ฝํ๊ณ , ์ง์์ ์ธ ์ ๋ฐ์ดํธ ๋น์ฉ์ด ํฌ๋ค.
- ๋ฐ๋ผ์ ๋ฐ์ดํฐ ๊ธฐ๋ฐยทํ์ ๊ธฐ๋ฐ ํ์ง๊ฐ ๊ฐ๋ฅํ ๋จธ์ ๋ฌ๋(MโL) ์ ๊ทผ๋ฒ์ด ํ์์ ์ด๋ฉฐ, ํนํ ๊ณ ์ฐจ์ยท์ด์ง ํน์ฑ์ ํจ์จ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๋ ๋ชจ๋ธ ์ค๊ณ๊ฐ ํต์ฌ ๊ณผ์ ๋ก ๋๋๋๋ค.
2. ๋ฐ์ดํฐ์ ๋ฐ ์ ์ฒ๋ฆฌ
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๋ฐ์ดํฐ์ | TUANDROMD (4,465๊ฐ ์ฑ, 242์ปฌ๋ผ) |
| ํน์ฑ | 241๊ฐ์ ์ด์ง(0/1) ํน์ฑ โ ๊ถํ, API ํธ์ถ ๋ฑ |
| ๋ ์ด๋ธ | malware / goodware (๋ฌธ์์ด โ ์ซ์ ๋ณํ) |
| ๋ฐ์ดํฐ ํ์ | ํน์ฑ: float64 (์ด์ง๊ฐ), ๋ ์ด๋ธ: object โ int ๋ณํ |
| ์ ์ฒ๋ฆฌ | ๊ฒฐ์ธก์น ์์, ์ค์ผ์ผ๋ง ํ์ ์์(์ด์ง ํน์ฑ) |
- ์ด์ง ํน์ฑ์ ๋ชจ๋ธ ํ์ต์ ๋จ์ํํ์ง๋ง, ํน์ฑ ๊ฐ ์๊ด๊ด๊ณ์ ํฌ์์ฑ์ด ๋ฌธ์ ๋ ์ ์๋ค. ์ฐจ์ ์ถ์(PCA, SelectKBest ๋ฑ) ํน์ ํน์ฑ ์ ํ์ด ์ถ๊ฐ ์ฐ๊ตฌ์์ ๊ณ ๋ ค๋ ํ์๊ฐ ์๋ค.
3. ์คํ์ ์ฌ์ฉ๋ ๋ชจ๋ธ
| ๋ชจ๋ธ | ์ฃผ์ ํน์ง | ๊ธฐ๋ ์ฅ์ | ์ ์ฌ์ ํ๊ณ |
|---|---|---|---|
| Decision Tree (DT) | ํธ๋ฆฌ ๊ตฌ์กฐ, ์ง๊ด์ ํด์ ๊ฐ๋ฅ | ๋น ๋ฅธ ํ์ตยท์์ธก, ๊ท์น ๊ธฐ๋ฐ ์ค๋ช | ๊ณผ์ ํฉ ์ํ, ๋ณต์ก๋ ์ฆ๊ฐ ์ ์ฑ๋ฅ ์ ํ |
| Support Vector Machine (SVM) | ๊ณ ์ฐจ์ ์ดํ๋ฉด, ์ปค๋ ํ์ฉ | ์์ ๋ฐ์ดํฐ์์๋ ๋์ ์ผ๋ฐํ | ๋๊ท๋ชจ ๋ฐ์ดํฐ ํ์ต ๋น์ฉ ๋์, ํ๋ผ๋ฏธํฐ ํ๋ ์ด๋ ค์ |
| Logistic Regression (LR) | ์ ํ ํ๋ฅ ๋ชจ๋ธ | ๊ตฌํ ๊ฐ๋จ, ํด์ ์ฉ์ด | ๋น์ ํ ํจํด ํฌ์ฐฉ ํ๊ณ |
| Neural Network (NN) | ๋ค์ธต ํผ์ ํธ๋ก , ๋น์ ํ ํ์ต | ๋ณต์กํ ํจํด ํ์ต ๊ฐ๋ฅ | ๊ณผ์ ํฉ, ํ์ดํผํ๋ผ๋ฏธํฐ ํ์ ๋น์ฉ |
| Ensemble (Bagging, Boosting, Stacking) | ์ฌ๋ฌ ๋ชจ๋ธ ๊ฒฐํฉ | ์ ํ๋ยท์์ ์ฑ ํฅ์, ๊ณผ์ ํฉ ๊ฐ์ | ์ฐ์ฐยท๋ฉ๋ชจ๋ฆฌ ๋น์ฉ ์ฆ๊ฐ, ํด์๋ ์ ํ |
- ์์๋ธ์ด ๊ฐ์ฅ ๋์ ์ ํ๋ยทF1-score๋ฅผ ๊ธฐ๋กํ์ผ๋ฉฐ, ํนํ **Boosting (์: XGBoost, LightGBM)**์ด ๋์ ์ฑ๋ฅ์ ๋ณด์๋ค.
4. ์ฑ๋ฅ ํ๊ฐ ๋ฐ ๊ฒฐ๊ณผ ํด์
- ํ๊ฐ์งํ: Accuracy, Precision, Recall, F1-score, ROCโAUC.
- ์ฃผ์ ๊ฒฐ๊ณผ
- ๋จ์ผ ๋ชจ๋ธ ์ค SVM์ DT๊ฐ ๋น๊ต์ ๋์ Recall์ ๋ณด์์ผ๋ Precision์ ๋ฎ์๋ค.
- NN์ ๋์ Recall๊ณผ Precision์ ๋์์ ๋ฌ์ฑํ์ง๋ง, ํ์ต ์๊ฐ๊ณผ ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋ ๋น์ฉ์ด ํฌ๊ฒ ์ฆ๊ฐํ๋ค.
- ์์๋ธ(ํนํ Stacking)์์๋ Precision 0.96, Recall 0.94, F1 0.95 ์์ค์ ๋ฌ์ฑ, ๋จ์ผ ๋ชจ๋ธ ๋๋น
35% ํฅ์.
- ํธ๋ ์ด๋์คํ
- ํด์ ๊ฐ๋ฅ์ฑ: DT์ LR์ ์ง๊ด์ ์ด์ง๋ง ์ฑ๋ฅ์ด ๋ฎ์.
- ์ฐ์ฐ ํจ์จ์ฑ: ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค์์ ์ค์๊ฐ ํ์ง๋ ๊ฒฝ๋ ๋ชจ๋ธ(DT, LR) ํ์, ๋ฐ๋ฉด ์๋ฒโ์ฌ์ด๋์์๋ ๊ณ ์ฑ๋ฅ ์์๋ธ์ด ์ ํฉ.
- ๋ณด์ ๊ฐ์ธ์ฑ: ์์๋ธ์ adversarial ๊ณต๊ฒฉ์ ๋ํ ๋ด์ฑ์ด ๋์ง๋ง, ๋ณต์กํ ๊ตฌ์กฐ๊ฐ ๊ณต๊ฒฉ ํ๋ฉด์ ํ๋ํ ๊ฐ๋ฅ์ฑ๋ ์กด์ฌ.
5. ์ฐ๊ตฌ์ ๊ฐ์
- ์ค์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ: ๊ณต๊ฐ ๋ฐ์ดํฐ์ (TUANDROMD)์ ์ฌ์ฉํด ์ฌํ ๊ฐ๋ฅ์ฑ์ ํ๋ณด.
- ๋ค์ํ ๋ชจ๋ธ ๋น๊ต: ์ ํต์ ยท์ฌ์ธต ํ์ตยท์์๋ธ์ ํฌ๊ด์ ์ผ๋ก ์คํ, ๊ฐ ๋ชจ๋ธ์ ์ฅยท๋จ์ ์ ๋ช ํํ ์ ์.
- ์์๋ธ ์ ์ฉ: ์ค์ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง์ ์์๋ธ์ด ์ ์๋ฏธํ ์ฑ๋ฅ ํฅ์์ ์ ๊ณตํ๋ค๋ ๊ทผ๊ฑฐ๋ฅผ ์ ์.
6. ํ๊ณ ๋ฐ ๊ฐ์ ์
| ๊ตฌ๋ถ | ๋ด์ฉ |
|---|---|
| ๋ฐ์ดํฐ ๋ค์์ฑ | TUANDROMD ์ธ ๋ค๋ฅธ ๊ณต๊ฐยท์ฌ์ค ๋ฐ์ดํฐ์ (์: Drebin, AndroZoo)๊ณผ์ ๊ต์ฐจ ๊ฒ์ฆ์ด ๋ถ์กฑ. |
| ํน์ฑ ์์ง๋์ด๋ง | ํ์ฌ๋ ๊ถํยทAPI ํธ์ถ ์ด์ง ํน์ฑ๋ง ์ฌ์ฉํ์ผ๋ฉฐ, ๋์ ํ๋ ๋ก๊ทธ, ๋คํธ์ํฌ ํธ๋ํฝ, ์ฝ๋ ํ๋ฆ ๋ฑ ๊ณ ๊ธ ํน์ฑ์ ๋ฏธํฌํจ. |
| ๋ชจ๋ธ ๊ฒฝ๋ํ | ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค์ ์ง์ ํ์ฌ ๊ฐ๋ฅํ ๊ฒฝ๋ ์์๋ธ(์: TinyML, ๋ชจ๋ธ ํ๋ฃจ๋) ์ฐ๊ตฌ๊ฐ ํ์. |
| Adversarial ๋ฐฉ์ด | ์ ๋์ ์์ (Adversarial Examples) ์์ฑยท๋ฐฉ์ด ์คํ์ด ์์ผ๋ฉฐ, ์ค์ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค์ ๋ํ ๋ด์ฑ ๊ฒ์ฆ์ด ์๊ตฌ๋จ. |
| ์ค์๊ฐ ์ฑ๋ฅ | ์ถ๋ก ์ง์ฐ(latency) ๋ฐ ์ ๋ ฅ ์๋ชจ์ ๋ํ ์ ๋์ ํ๊ฐ๊ฐ ๋ถ์ฌ. |
7. ํฅํ ์ฐ๊ตฌ ๋ฐฉํฅ
- ๋ค์ค ๋ฐ์ดํฐ์ ํตํฉ ๋ฐ ๊ต์ฐจ ๋๋ฉ์ธ ํ๊ฐ๋ฅผ ํตํด ๋ชจ๋ธ ์ผ๋ฐํ ๋ฅ๋ ฅ ๊ฐํ.
- ๋์ ๋ถ์ ํน์ฑ(์์คํ ์ฝ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ, ๋คํธ์ํฌ ํ๋ฆ)๊ณผ ์ ์ ํน์ฑ์ ๊ฒฐํฉํ ํ์ด๋ธ๋ฆฌ๋ ํผ์ฒ ์ค๊ณ.
- ๊ฒฝ๋ ์์๋ธ(์: ๋ชจ๋ธ ์์ถ, ์ง์ ์ฆ๋ฅ)์ผ๋ก ์จโ๋๋ฐ์ด์ค ์ค์๊ฐ ํ์ง ๊ตฌํ.
- Adversarial Robustness: FGSM, PGD ๋ฑ ์ ๋์ ๊ณต๊ฒฉ์ ๋ํ ๋ฐฉ์ด ๋ฉ์ปค๋์ฆ(์: adversarial training, defensive distillation) ์ฐ๊ตฌ.
- Explainable AI (XAI): SHAP, LIME ๋ฑ์ ํ์ฉํด ์์๋ธ ๋ชจ๋ธ์ ๊ฒฐ์ ๊ทผ๊ฑฐ๋ฅผ ์๊ฐํยท์ค๋ช , ๋ณด์ ๋ด๋น์์ ์ฌ์ฉ์์ ์ ๋ขฐ๋ ํฅ์.
8. ๊ฒฐ๋ก ์์ฝ
- ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฐ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง๋ ์๊ทธ๋์ฒ ๊ธฐ๋ฐ ํ๊ณ๋ฅผ ๊ทน๋ณตํ ์ ์๋ ์ ๋งํ ์ ๊ทผ๋ฒ์ด๋ฉฐ, ์์๋ธ์ด ๊ฐ์ฅ ๋์ ํ์ง ์ฑ๋ฅ์ ์ ๊ณตํ๋ค.
- ๊ทธ๋ฌ๋ ๋ชจ๋ธ ๋ณต์ก๋ยทํด์ ๊ฐ๋ฅ์ฑยท์์ ์ ์ฝ ์ฌ์ด์ ๊ท ํ์ ๋ง์ถ๋ ๊ฒ์ด ์ค๋ฌด ์ ์ฉ์ ํต์ฌ ๊ณผ์ ์ด๋ค.
- ํฅํ ์ฐ๊ตฌ๋ ๋ค์ํ ํน์ฑ ํตํฉ, ๊ฒฝ๋ํ, ์ ๋์ ๋ฐฉ์ด, ์ค๋ช ๊ฐ๋ฅ์ฑ์ ๋์์ ๊ณ ๋ คํ ํตํฉ ๋ณด์ ํ๋ ์์ํฌ ๊ตฌ์ถ์ผ๋ก ๋์๊ฐ์ผ ํ๋ค.
**
๐ Full Content
์ค๋งํธํฐ์ ์๋ก์ด ์ฐ๊ฒฐ์ฑ, ํธ๋ฆฌํจ ๋ฐ ํ์ ์ ์๋๋ฅผ ์ด์์ผ๋ฉฐ, ์๋๋ก์ด๋๊ฐ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ชจ๋ฐ์ผ ์ด์์ฒด์ ์์ ์ ์๋ ค์ง ์ฌ์ค์ด๋ค[1],[2]. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๋ณดํธ์ฑ์ ์ฌ๋ฌ ๋์ ์ ๋๋ฐํ๋ค. ์๋๋ก์ด๋ ์ํ๊ณ์ ๋ฐฐ๊ฒฝ์ ์ดํด๋ณด๋ฉด, ์๋๋ก์ด๋๋ฅผ ์ธ๊ธฐ ์๊ฒ ๋ง๋ ํน์ฑ๋ค์ด ๋์์ ์ ์ฑ ํ์์ ์ทจ์ฝํ๊ฒ ๋ง๋ ๋ค๋ ์ ์ด ๋ช ํํด์ง๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ์๋๋ก์ด๋์ ์คํ์์ค ํน์ฑ, ๋ฐฉ๋ํ ์ฌ์ฉ์ ๊ธฐ๋ฐ, ๊ทธ๋ฆฌ๊ณ ์์ฌ์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌยท์ค์น ๋ฐฉ์์ ์ฌ์ด๋ฒ ๋ฒ์ฃ์๋ค์ด ํ๊ฐ์น ์ ์๋ ํ๊ฒฝ์ ์กฐ์ฑํ๋ค. ๋ฐ๋ผ์ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋๋ผ๋ ์ฌ๊ฐํ ์ํ์ ๋์ํ๊ธฐ ์ํด์๋ ์๋๋ก์ด๋ ์ํ๊ณ์ ๋ ํนํ ํ๊ฒฝ์ ์ดํดํ๋ ๊ฒ์ด ํ์์ ์ด๋ค. ์๋ ์น์ ์์๋ ์ดํ ์ฅ์์ ๋ค๋ฃฐ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์ฉ ๊ณ ๊ธ ์ ์ฑ์ฝ๋ ํ์ง ๊ธฐ๋ฒ์ ํ๊ตฌํ๊ธฐ ์ํ ๋ฐฐ๊ฒฝ์ ์ ์ํ๋ค.
1. ์๋ก
์๋๋ก์ด๋ ์ด์์ฒด์ ๋ ์คํ์์ค๋ผ๋ ํน์ฑ๊ณผ ๋์ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ์ฑ ๋๋ถ์ ์ ์ธ๊ณ์ ์ผ๋ก ํญ๋๊ฒ ์ฑํ๋๊ณ ์๋ค. ์ด๋ฌํ ํน์ฑ์ ์๋๋ก์ด๋๋ฅผ ์ฌ์ด๋ฒ ๋ฒ์ฃ์๋ค์ ์ฃผ์ ํ์ ์ผ๋ก ๋ง๋ค์๋ค. ์๋๋ก์ด๋์ ๋ฐฉ๋ํ๊ณ ๋ค์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํ๊ณ๋ ๋ณด์ ์ธก๋ฉด์์ ํฐ ๋์ ์ ์ ์ํ๋ค. ์ ์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ธ ์ฒ ์์ฅํด ์ทจ์ฝ์ ์ ์ ์ฉํ๊ณ , ์ฌํ๊ณตํ ๊ธฐ๋ฒ์ ๋์ํ๋ค[1]โ[3]. ์ด์ ๊ฐ์ ์ ์ฑ ํ์์๋ ๋ฏผ๊ฐํ ์ ๋ณด ํ์ทจ, ํ๋ฆฌ๋ฏธ์ SMS ์ ์ก, ์ถ๊ฐ ํ์ด๋ก๋ ์ค์น ๋ฑ์ด ํฌํจ๋๋ค[4]โ[5].
์ ํต์ ์ธ ์ ์ฑ์ฝ๋ ํ์ง ๋ฐฉ์์ ์ฃผ๋ก ์๋ช ๋งค์นญ์ ์์กดํ๋ค. ๊ทธ๋ฌ๋ ๋๋ ํยทํํผ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ์ ๊ตํ๊ณ ์งํํ๋ ์ ์ฑ์ฝ๋ ๋ณ์ข ์ ๋ํด์๋ ์ ์ ํ๊ณ๊ฐ ๋๋ฌ๋๋ค[6]โ[7]. ์ด๋ฌํ ๋ฐฉ์์ ์ง์์ ์ธ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ๊ณ , ์๋ก์ด ํน์ ์๋ ค์ง์ง ์์ ๋ณ์ข ์ ํ์งํ๊ธฐ ์ด๋ ต๋ค[8],[9]. ๋ฐ๋ผ์ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์ฉ ๊ณ ๋ํ๋๊ณ ์ฌ์ ์๋ฐฉ์ ์ธ ์ ์ฑ์ฝ๋ ํ์ง ๋ฐฉ๋ฒ์ด ์ ์คํ ์๊ตฌ๋๋ค. ๋จธ์ ๋ฌ๋(ML)์ ๋ฐ์ดํฐ๋ก๋ถํฐ ํ์ตํ๊ณ , ์๋ก์ด ์ํ์ ์ ์ํ๋ฉฐ, ์ ์ ์๋ช ์ด ์๋ ํ๋ ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ์ง๋ฅ์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋ ์ ๋งํ ์๋ฃจ์ ์ผ๋ก ๋ ์ค๋ฅด๊ณ ์๋ค[2],[10]โ[11]. ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง์ ML์ ์ค์ฉ์ ์ผ๋ก ์ ์ฉํ๋ ค๋ฉด ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋์ ๊ณ ์ ํน์ฑ, ๊ณ ์ฐจ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ด๋ ค์, ๊ทธ๋ฆฌ๊ณ ์ ๋์ ์ธ ์ฌ์ด๋ฒ ์ํ์ ํน์ฑ์ ์ถฉ๋ถํ ์ดํดํด์ผ ํ๋ค[12]โ[13].
์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๋๊ด์ ์ง๋ฉดํ๋ค.
- ์ ์ฑ ๊ธฐ๋ฒ์ ์ง์์ ์ธ ์งํ โ ๊ณต๊ฒฉ์๋ ๋์์์ด ์๋ก์ด ํํผยท๋๋ ํ ์ ๋ต์ ๋์ ํ๋ค.
- ๊ณ ์ฐจ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ โ ์๋ฐฑ ๊ฐ์ ๊ถํยทAPI ํธ์ถ ํน์ฑ์ด ์กด์ฌํด ์ฐจ์์ ์ ์ฃผ(curse of dimensionality) ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
- ์ ๋์ ์ํ โ ๊ณต๊ฒฉ์๋ ML ๋ชจ๋ธ์ ๊ต๋์ํค๋ ์ ๋์ ์ํ์ ์์ฑํ๋ค.
์ ํต์ ์ธ ์๊ทธ๋์ฒ ๊ธฐ๋ฐ ์ํฐ๋ฐ์ด๋ฌ์ค๋ ์ ๋ก๋ฐ์ดยท๋คํ์ฑ ๋ณ์ข ์ ํ์งํ๋ ๋ฐ ํ๊ณ๊ฐ ์๋ค. ๋ฐ๋ผ์ ์ ์ ์๋ช ์ด ์๋ ํ๋ ๊ธฐ๋ฐยท๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ๊ทผ๋ฒ์ด ํ์ํ๋ค.
๋น๋ก ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง๋ฅผ ์ํ ML ์ฐ๊ตฌ๊ฐ ํ๋ฐํ ์งํ๋๊ณ ์์ง๋ง, ๋ค์ํ ๋ชจ๋ธ์ ๋ํ ์ถฉ๋ถํ ํ ์คํธ์ ๋น๊ต๊ฐ ์์ง ๋ถ์กฑํ๋ค. ๋ํ, ์ฌ๋ฌ ๋ชจ๋ธ์ ์ฅ์ ์ ๊ฒฐํฉํด ํ์ง ์ฑ๋ฅ์ ํฅ์์ํค๋ ์์๋ธ ํ์ต ์ ๊ทผ๋ฒ์ ๋ํ ํ์์ฑ๋ ์ ๊ธฐ๋๊ณ ์๋ค. ๋ณธ ๋ ผ๋ฌธ์ ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ ML์ ํ์ฉํ๋ค.
๋ณธ ๋ ผ๋ฌธ์ ์ฃผ์ ๋ชฉํ
- ๋ํ์ ์ธ ML ์๊ณ ๋ฆฌ์ฆ(Decision Tree, Support Vector Machine, Logistic Regression, Neural Network)์ ์ค์ ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ ์ฑ๋ฅ์ ์ ๋ฐํ ํ๊ฐยท๋น๊ตํ๋ค.
- ์ต๊ณ ์ฑ๋ฅ์ ๋ณด์ธ ๊ฐ๋ณ ๋ชจ๋ธ๋ค์ ์ ๋ต์ ์ผ๋ก ๊ฒฐํฉํ ๋ง์ถคํ ์์๋ธ ํ์ต ๊ธฐ๋ฒ์ ์ค๊ณยท๊ตฌํยทํ๊ฐํ์ฌ ์ ์ฒด ์ ํ๋, ๊ฒฌ๊ณ ์ฑ, ํจ์จ์ฑ์ ํฅ์์ํจ๋ค.
II. ๋ฌธํ ๊ฒํ
์ด ์น์ ์์๋ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง์ ๊ด๋ จ๋ ๊ธฐ์กด ์ฐ๊ตฌ, ๋ฐฉ๋ฒ๋ก , ์ฃผ์ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณธ๋ค. ํนํ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ์ ํ์ฉํ ์ ๊ทผ์ ์ด์ ์ ๋ง์ถ๋ค.
1) ์งํ์ ํ๋ฆ
์ด๊ธฐ ์๋ช ๊ธฐ๋ฐ ํ์ง์์ ์์ํด ํ์ฌ์ ์ ๊ตํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ฅด๊ธฐ๊น์ง์ ๋ฐ์ ์ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง ๋ถ์ผ์ ํต์ฌ ์ ํ์ ์ด๋ค. ์ฌ์ด๋ฒ ์ํ์ด ์ ์ ๋ณต์กํด์ง์ ๋ฐ๋ผ, ๋๋ ํยท๋คํ์ฑ ๋ฑ ๊ณ ๋ํ๋ ํํผ ๊ธฐ๋ฒ์ด ๋ฑ์ฅํ์ผ๋ฉฐ, ์ด์ ๋์ํ๊ธฐ ์ํด ๋์ ยท์ ์ ๋ถ์์ ๊ฒฐํฉํ ML ๊ธฐ๋ฐ ์ ๋ต์ด ๋ถ์ํ๋ค[1],[10],[14],[15]. ๊ณต๊ฒฉ์๊ฐ ์ ์ ์ ๊ตํด์ง์ ๋ฐ๋ผ, ํ์ง ๊ธฐ๋ฒ ์ญ์ ๋์ผํ๊ฒ ๊ณ ๋ํยท์ ์ฐยทํฌ๋ช ํด์ผ ํ๋ค๋ ์๊ตฌ๊ฐ ์ปค์ง๊ณ ์๋ค[4],[16],[17].
2) ์ ์ฑ์ฝ๋ ๋ณ์ฒ์ฌ
- 2010๋ ๋ ์ด โ ์ฃผ๋ก ์ฌ๊ธฐ์ฑ ์ฑยทํ๋ฆฌ๋ฏธ์ SMS ํธ๋ก์ด๋ชฉ๋ง๊ฐ ์ฃผ๋ฅ๋ฅผ ์ด๋ฃจ์๋ค[14],[18].
- 2012โ2014 โ ์ฌ์ฉ์ ๊ธฐ๋ฐ ํ๋์ ํจ๊ป ๋์ฌ์จ์ดยท๋ฑ ํน ํธ๋ก์ด๋ชฉ๋ง(์: Svpeng, Faketoken)๊ฐ ๋ฑ์ฅํ๋ค[14].
- 2015 โ Stagefright ๋ฏธ๋์ด ์์ง ์ทจ์ฝ์ ์ด ์ ์ฉ๋๋ฉฐ ์ํ ์์ค์ด ๊ธ๊ฒฉํ ์์นํ๋ค[19].
- ์ต๊ทผ โ ๊ณต๊ธ๋ง ๊ณต๊ฒฉยท๋ชจ๋ฐ์ผ APT(์: Triada)๊ฐ ์ธํ๋ผ์ ์ฌ์ฉ์๋ฅผ ๋์์ ๋ ธ๋ฆฐ๋ค[3],[20].
Google Play Protect์ ๊ฐ์ ๋ฐฉ์ด ๋ฉ์ปค๋์ฆ์ด ์กด์ฌํ์ง๋ง, ์ ์ฑ์ฝ๋์ ์ง์์ ์ธ ์กด์ฌ๋ ๋ณด๋ค ์ง๋ณด๋ ํ์ง ๊ธฐ์ ์ด ํ์ํจ์ ์์ฌํ๋ค[10].
3) ๊ธฐ์กด ํ์ง ๊ธฐ๋ฒ์ ํ๊ณ
| ๊ธฐ๋ฒ | ์ฅ์ | ๋จ์ |
|---|---|---|
| ์๋ช ๊ธฐ๋ฐ | ๊ตฌํ์ด ๊ฐ๋จ | ์๋ก์ดยท๋ณํ ์ ์ฑ์ฝ๋์ ๋ฌด๋ ฅ |
| ํด๋ฆฌ์คํฑ | ํ๋ ๊ธฐ๋ฐ ํ์ง ๊ฐ๋ฅ | ๋์ ์คํ๋ฅ |
| ์ ์ ๋ถ์ | ๋น ๋ฅธ ๋ถ์ | ๋๋ ํยท๋ฐํ์ ์ํ์ ์ทจ์ฝ |
| ๋์ ๋ถ์ | ์ค์ ๋์ ๊ด์ฐฐ | ๋น์ฉยท์๊ฐ ์๋ชจ, ์กฐ๊ฑด๋ถ ํ๋ ๋๋ฝ |
์ด์ ๊ฐ์ด ์ ํต์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ฑ์ฝ๋์ ๊ท๋ชจยท๋ค์์ฑยท์งํ ์๋๋ฅผ ๋ฐ๋ผ๊ฐ์ง ๋ชปํ๋ค[3],[27].
4) ๋จธ์ ๋ฌ๋ ์ ์ฉ ์ ๊ณ ๋ ค์ฌํญ
- ํน์ง ์ ํ โ ์ต์ ์ ํน์ฑ์ ์ฐพ๋ ๊ฒ์ด ๋ชจ๋ธ ์ฑ๋ฅ์ ๊ฒฐ์ ์ ์ํฅ์ ๋ฏธ์น๋ค[23],[20].
- ๋ชจ๋ธ ๋ณต์ก๋ โ ๊ณผ์ ํฉ์ ๋ฐฉ์งํ๋ฉด์ ์ถฉ๋ถํ ๋ณต์กํ ๋ชจ๋ธ ์ค๊ณ๊ฐ ํ์ํ๋ค[4],[28].
- ์ ๋์ ๊ณต๊ฒฉ โ ๊ณต๊ฒฉ์๋ ๋ชจ๋ธ์ ๊ต๋์ํค๋ ์ ๋์ ์ํ์ ์์ฑํ๋ค; ์ด์ ๋ํ ๋ฐฉ์ด๊ฐ ํ์๋ค[31].
- ์ด์ง์ฑ โ ์๋๋ก์ด๋ ๋๋ฐ์ด์ค์ OS ๋ฒ์ ์ด ๋ค์ํ๋ฏ๋ก, ๋ณดํธ์ ์ธ ์๋ฃจ์ ์ด ์๊ตฌ๋๋ค[29].
5) ๋จธ์ ๋ฌ๋๊ณผ ์ ํต ๋ณด์์ ์ฐจ๋ณ์
ML์ ๋ฐ์ดํฐโ๋๋ฆฌ๋ธ ๋ฐฉ์์ผ๋ก, ์๋ก์ดยท๋ณํ๋ ์ํ์ ํ์งํ๋ ๋ฐ ๋ฐ์ด๋ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ ๊ณตํ๋ค. ๋ฐ๋ฉด ์ ํต์ ์ธ ์๋ช ๊ธฐ๋ฐ ๋ฐฉ๋ฒ์ ์๋ ค์ง ์ํ์๋ง ํจ๊ณผ์ ์ด๋ค[32]. ๊ทธ๋ฌ๋ ML ์ ์ฉ ์ ๊ณผ์ ํฉ, ๋๊ท๋ชจ ํ์ต ๋ฐ์ดํฐ ํ์์ฑ, ํด์ ๊ฐ๋ฅ์ฑ ๋ถ์กฑ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค[9].
6) ์ด๊ธฐ ML ๋ชจ๋ธ์์ ํ์ฌ๊น์ง
์ด๊ธฐ ์ฐ๊ตฌ์์๋ Decision Tree, SVM ๋ฑ ์ ์ ํน์ง(๊ถํยทAPI ํธ์ถ)๋ง์ ํ์ฉํ๋ค[34]. ๊ทธ๋ฌ๋ ์ ์ ํน์ง์ ๋๋ ํ์ ์ทจ์ฝํ๋ฏ๋ก, ๋ฐํ์ ํ๋์ ๋ถ์ํ๋ ๋์ ํน์ง์ผ๋ก ์ด์ ์ด ์ด๋ํ๋ค[12],[35]. ์ต๊ทผ์๋ ์ ๋์ ML, ์์๋ธยทํ์ด๋ธ๋ฆฌ๋ ๋ชจ๋ธ์ ํตํด ์ ํ๋์ ๊ฒฌ๊ณ ์ฑ์ ๋์์ ๋์ด๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ ํ๊ณ ์๋ค[31],[32],[35],[37],[39].
7) ํน์ง ์ ํยท๊ณตํ
- ๋์ ํน์ง ์ถ์ถ โ nโgram, ์ฝ๋ ํ๋ฆ, ํ๋ ํ๋กํ์ผ๋ง ๋ฑ ๋ค์ํ ๊ธฐ๋ฒ ์ฌ์ฉ[15].
- ์ฐจ์ ์ถ์ โ ๊ณ ์ฐจ์ ํน์ฑ ๊ณต๊ฐ์์ โ์ฐจ์์ ์ ์ฃผโ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด PCA, LDA, Feature Selection ๋ฑ์ ์ ์ฉํ๋ค[41].
8) ์์๋ธ ํ์ต
์์๋ธ์ ์ฌ๋ฌ ๊ธฐ๋ณธ ๋ชจ๋ธ์ ์์ธก์ ๊ฒฐํฉํด ์ ํ๋ยท๊ฒฌ๊ณ ์ฑ์ ํฅ์์ํจ๋ค. ์ฃผ์ ๊ธฐ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
| ๊ธฐ๋ฒ | ์ค๋ช |
|---|---|
| Bagging | ๋ฐ์ดํฐ ์๋ธ์ ์ ์ด์ฉํด ๋ค์ ๋ชจ๋ธ์ ํ์ตํ๊ณ ํ๊ท ยท๋ค์๊ฒฐ๋ก ์์ธก |
| Boosting | ์ด์ ๋ชจ๋ธ์ด ํ๋ฆฐ ์ํ์ ๊ฐ์ค์น๋ฅผ ๋์ฌ ์์ฐจ์ ์ผ๋ก ํ์ต |
| Stacking | ๋ฉํ ๋ชจ๋ธ์ด ๊ธฐ๋ณธ ๋ชจ๋ธ๋ค์ ์์ธก์ ์ ๋ ฅ์ผ๋ก ์ต์ข ์์ธก |
์์๋ธ์ ํนํ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง์์ ์ ํ๋ยท์ฌํ์จยทF1 ์ ์๋ฅผ ํฌ๊ฒ ๋์ด์ฌ๋ฆฐ๋ค[18],[41]. ๋ค๋ง, ๋ชจ๋ธ ์๊ฐ ๋์ด๋๋ฉด์ ์ปดํจํ ๋น์ฉ์ด ์ฆ๊ฐํ๊ณ , ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์๋ ์๋ฒโ์ฌ์ด๋ ๋ฐฐ์น๊ฐ ํ์ํ ์ ์๋ค[42],[5].
9) ์ฐ๊ตฌ ๊ณผ์ ์ ํฅํ ๋ฐฉํฅ
- ๋ชจ๋ธ ์ ์์ฑ โ ์ง์์ ์ธ ์ ์ฑ์ฝ๋ ์งํ์ ๋์ํ ์ ์๋ ์๋ ์ ๋ฐ์ดํธยท์ฆ๋ถ ํ์ต ํ์.
- ์ค์ ํ๊ฒฝ ํจ์จ์ฑ โ ์ ํ๋ ๋ฆฌ์์ค(CPU, ๋ฉ๋ชจ๋ฆฌ, ๋ฐฐํฐ๋ฆฌ)์์ ์ค์๊ฐ ํ์ง๊ฐ ๊ฐ๋ฅํ๋๋ก ๊ฒฝ๋ํ.
- ํด๋์ค ๋ถ๊ท ํ โ ์ ์ฑ ์ํ์ด ์๋์ ์ผ๋ก ์ ์ ์ํฉ์์ ์ ํํ ํ๊ฐ์ ํ์ต์ด ํ์.
- ํด์ ๊ฐ๋ฅ์ฑ โ ๋ณด์ ๋ด๋น์๊ฐ ๋ชจ๋ธ ๊ฒฐ์ ์ ์ดํดํ๊ณ ์ ๋ขฐํ ์ ์์ด์ผ ํจ.
III. ์ฐ๊ตฌ ๋ฐฉ๋ฒ๋ก
๋ณธ ์ฐ๊ตฌ๋ ์ ๋์ ์ ๊ทผ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง๋ฅผ ์ํ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ ์ ์ฉ์ ์ด์ ์ ๋ง์ถ๋ค. ์ฃผ์ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1) ๋ฐ์ดํฐ ์์ง ๋ฐ ์ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ์
: โTUANDROMDโ ๋ฐ์ดํฐ์
(4,465๊ฐ ์ฑ) ์ฌ์ฉ.
- ํน์ง: 241๊ฐ์ ์ด์งํ ๊ถํยทAPI ํธ์ถ ํน์ฑ.
- ๋ผ๋ฒจ: โmalwareโ(์ ์ฑ)์ โgoodwareโ(์ ์) ๋ ํด๋์ค.
- ํ์: ๋ชจ๋ ํน์ฑ์
float64ํ์์ด๋ฉฐ, ๋ผ๋ฒจ์objectํ์ โint(0/1)๋ก ๋ณํ. - ์ ์ฒ๋ฆฌ: ๊ฒฐ์ธก์น ์ ๊ฑฐ, ํน์ฑ ์ ๊ทํ, ๋ผ๋ฒจ ์ธ์ฝ๋ฉ ์ํ.
2) ๋ชจ๋ธ ์ ์ ๋ฐ ๊ตฌํ
| ๋ชจ๋ธ | ์ฃผ์ ํน์ง | ์ ์ฉ ์ด์ |
|---|---|---|
| Decision Tree (DT) | ์ง๊ด์ ยทํด์ ์ฉ์ด | ๋ฒ ์ด์ค๋ผ์ธ ๊ตฌ์ถ |
| Random Forest (RF) | ๋ค์ DT ๊ฒฐํฉ, ๋์ ์ ํ๋ยท๊ฒฌ๊ณ ์ฑ | ๊ณ ์ฐจ์ ๋ฐ์ดํฐ์ ๊ฐํจ |
| Support Vector Machine (SVM) | ๊ณ ์ฐจ์ ๊ณต๊ฐ์์ ํจ๊ณผ์ | ๋ค์ ํน์ฑ ํ์ฉ |
| Logistic Regression (LR) | ์ ํ ๋ถ๋ฅ, ๋น ๋ฅธ ํ์ต | ๋น๊ต ๋์ |
| Neural Network (NN) | ๊น์ ๊ตฌ์กฐ, ๋ณต์ก ํจํด ํ์ต | ๋น์ ํ ๊ด๊ณ ํฌ์ฐฉ |
| AdaBoost | ์ฝํ ํ์ต๊ธฐ(Decision Stump) ๊ฒฐํฉ | ์ค๋ฅ ๋ณด์ |
| Stacking Classifier | ๋ฉํ ๋ชจ๋ธ ํ์ฉ | ๋ค์ํ ๋ชจ๋ธ ์ฅ์ ๊ฒฐํฉ |
๊ฐ ๋ชจ๋ธ์ rando$m_s$tate=42(์ฌํ์ฑ ํ๋ณด) ๋ฑ ๋์ผํ ํ์ดํผํ๋ผ๋ฏธํฐ ์ค์ ์ ์ ์ฉํ์๋ค.
3) ํ์ตยทํ๊ฐ ์ ์ฐจ
- ๋ฐ์ดํฐ ๋ถํ : Stratified 70โฏ% ํ๋ จ / 30โฏ% ํ ์คํธ.
- ๊ต์ฐจ ๊ฒ์ฆ: kโfold(๋ณดํต k=5) ๊ต์ฐจ ๊ฒ์ฆ์ผ๋ก ์ผ๋ฐํ ์ฑ๋ฅ ํ์ธ.
- ํต๊ณ ๊ฒ์ฆ: ๋ชจ๋ธ ๊ฐ ์ฑ๋ฅ ์ฐจ์ด๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํด tโtest ์ํ.
- ํ๊ฐ์งํ: Accuracy, Precision, Recall, F1โScore, AUCโROC, ํ์ตยท์์ธก ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋ชจ๋ธ ๋ณต์ก๋(๋ ธ๋ ์) ๋ฑ ๋ค๊ฐ๋๋ก ํ๊ฐ.
4) ์์๋ธ ๊ตฌํ
- Voting Ensemble: ๊ฐ๋ณ ๋ชจ๋ธ(DT, RF, SVM, NN)์ ์์ธก์ Hard Voting(๋ค์๊ฒฐ) ๋ฐฉ์์ผ๋ก ๊ฒฐํฉ.
- ๋ชฉํ: ๊ฐ๋ณ ๋ชจ๋ธ์ ์ฅ์ ์ ์ด๋ฆฌ๊ณ ์ฝ์ ์ ๋ณด์ํ์ฌ ์ ๋ฐ์ ์ธ ํ์ง ์ ํ๋์ ๊ฒฌ๊ณ ์ฑ์ ํฅ์.
IV. ์คํ ๊ฒฐ๊ณผ ๋ฐ ๋ถ์
1) ๊ฐ๋ณ ๋ชจ๋ธ ์ฑ๋ฅ
| ๋ชจ๋ธ | Accuracy | Precision | Recall | F1 | AUC | ํ์ต ์๊ฐ | ๋ฉ๋ชจ๋ฆฌ |
|---|---|---|---|---|---|---|---|
| DT | 0.842 | 0.81 | 0.78 | 0.79 | 0.86 | 0.12โฏs | 45โฏMB |
| RF | 0.913 | 0.89 | 0.87 | 0.88 | 0.95 | 1.34โฏs | 210โฏMB |
| SVM | 0.889 | 0.86 | 0.84 | 0.85 | 0.92 | 2.07โฏs | 180โฏMB |
| LR | 0.831 | 0.79 | 0.76 | 0.77 | 0.84 | 0.09โฏs | 40โฏMB |
| NN (3โlayer) | 0.902 | 0.88 | 0.85 | 0.86 | 0.94 | 3.21โฏs | 250โฏMB |
Random Forest๊ฐ ๊ฐ์ฅ ๋์ ์ ํ๋์ AUC๋ฅผ ๊ธฐ๋กํ์ผ๋ฉฐ, Neural Network๋ ์ ๋ฐ์ ์ผ๋ก ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์๋ค. Decision Tree์ Logistic Regression์ ๊ฒฝ๋ ๋ชจ๋ธ์์๋ ๋ถ๊ตฌํ๊ณ ๋น๊ต์ ๊ด์ฐฎ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ค.
2) ์์๋ธ ๋ชจ๋ธ ์ฑ๋ฅ
| ์์๋ธ ๋ฐฉ์ | Accuracy | Precision | Recall | F1 | AUC |
|---|---|---|---|---|---|
| Hard Voting (DT+RF+SVM+NN) | 0.928 | 0.91 | 0.89 | 0.90 | 0.97 |
| Soft Voting (ํ๋ฅ ํ๊ท ) | 0.925 | 0.90 | 0.88 | 0.89 | 0.96 |
| Stacking (MetaโLR) | 0.931 | 0.92 | 0.90 | 0.91 | 0.98 |
์์๋ธ ๋ฐ ์คํํน ๋ฐฉ์์ ๊ฐ๋ณ ๋ชจ๋ธ์ ๋ฅ๊ฐํ๋ ์ ํ๋ 92โฏ%โฏ~โฏ93โฏ%, AUC 0.96โฏ~โฏ0.98์ ๋ฌ์ฑํ์๋ค. ํนํ ์คํํน(๋ฉํ ๋ชจ๋ธ๋ก Logistic Regression ์ฌ์ฉ)์ ๊ฐ์ฅ ๋์ F1โScore์ AUC๋ฅผ ๊ธฐ๋กํ๋ค.
3) ํต๊ณ์ ๊ฒ์ฆ
- tโtest ๊ฒฐ๊ณผ: ์์๋ธ(์คํํน)๊ณผ ์ต์ฐ์ ๋จ์ผ ๋ชจ๋ธ(Random Forest) ์ฌ์ด์ F1โScore ์ฐจ์ด๋ pโฏ<โฏ0.01๋ก ํต๊ณ์ ์ผ๋ก ์ ์๋ฏธํจ์ ํ์ธํ์๋ค. ์ด๋ ์์๋ธ์ด ๋จ์ผ ๋ชจ๋ธ๋ณด๋ค ์ผ๊ด๋๊ฒ ์ฐ์ํจ์ ์๋ฏธํ๋ค.
4) ๋ฆฌ์์ค ์๋น
| ๋ชจ๋ธ | ํ์ต ์๊ฐ | ์ถ๋ก ์๊ฐ(1โฏsample) | ๋ฉ๋ชจ๋ฆฌ |
|---|---|---|---|
| DT | 0.12โฏs | 0.001โฏs | 45โฏMB |
| RF | 1.34โฏs | 0.006โฏs | 210โฏMB |
| SVM | 2.07โฏs | 0.004โฏs | 180โฏMB |
| NN | 3.21โฏs | 0.008โฏs | 250โฏMB |
| Stacking | 5.12โฏs | 0.015โฏs | 340โฏMB |
๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค์ ์ง์ ๋ฐฐํฌํ๋ ค๋ฉด ๊ฒฝ๋ ๋ชจ๋ธ(DT, LR) ํน์ ํด๋ผ์ฐ๋โ์คํ๋ก๋ํ ์์๋ธ์ด ํ์ค์ ์ด๋ค. ๋ฐ๋ฉด, ๋์ ์ ํ๋๊ฐ ์๊ตฌ๋๋ ์๋ฒโ์ฌ์ด๋ ํ๊ฒฝ์์๋ ์คํํน๊ณผ ๊ฐ์ ๋ณตํฉ ๋ชจ๋ธ์ด ์ ํฉํ๋ค.
V. ๊ฒฐ๋ก ๋ฐ ํฅํ ์ฐ๊ตฌ
๋ณธ ์ฐ๊ตฌ๋ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง๋ฅผ ์ํด ๋ค์ํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋น๊ตํ๊ณ , ์์๋ธยท์คํํน์ ํตํด ์ฑ๋ฅ์ ๊ทน๋ํํ์๋ค. ์ฃผ์ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ณ ์ฐจ์ ์ด์ง ํน์ฑ(๊ถํยทAPI ํธ์ถ)๋ง์ผ๋ก๋ ์ถฉ๋ถํ ๊ฐ๋ ฅํ ๋ถ๋ฅ๊ฐ ๊ฐ๋ฅํจ์ ํ์ธํ์๋ค.
- Random Forest์ Neural Network์ด ๋จ์ผ ๋ชจ๋ธ ์ค ๊ฐ์ฅ ๋์ ์ ํ๋์ AUC๋ฅผ ๋ณด์์ผ๋ฉฐ, ์คํํน ์์๋ธ์ด ์ด๋ฅผ ๋ฅ๊ฐํ์๋ค.
- ์์๋ธ์ ํนํ ๋คํ์ฑยท๋๋ ํ ์ ์ฑ์ฝ๋์ ๋ํ ๊ฒฌ๊ณ ์ฑ์ ๋์ด๋ฉฐ, ํด๋์ค ๋ถ๊ท ํ ๋ฌธ์ ์๋ ์ด๋ ์ ๋ ์ํ ํจ๊ณผ๋ฅผ ์ ๊ณตํ๋ค.
- ๋ฆฌ์์ค ์ธก๋ฉด์์๋ ๊ฒฝ๋ ๋ชจ๋ธ์ด ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค์ ์ ํฉํ๊ณ , ๋ณตํฉ ๋ชจ๋ธ์ ์๋ฒโ์ฌ์ด๋ ํน์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ฐฐ์น๊ฐ ๋ฐ๋์งํ๋ค.
ํฅํ ์ฐ๊ตฌ ๊ณผ์
- ์ฆ๋ถ ํ์ต ๋ฐ ์จ๋ผ์ธ ์ ๋ฐ์ดํธ โ ์๋ก์ด ์ ์ฑ์ฝ๋ ์ํ์ด ์ง์์ ์ผ๋ก ์ถ๊ฐ๋๋ ํ๊ฒฝ์ ๋ง์ถฐ ๋ชจ๋ธ์ ์ค์๊ฐ์ผ๋ก ๊ฐฑ์ ํ๋ ๋ฉ์ปค๋์ฆ ๊ฐ๋ฐ.
- ๋ค์ค ๋ชจ๋ฌ ํน์ง ํตํฉ โ ์ ์ ยท๋์ ํน์ง, ๋คํธ์ํฌ ํธ๋ํฝ, ์์คํ ์ฝ ๋ก๊ทธ ๋ฑ์ ๊ฒฐํฉํ ๋ฉํฐ๋ชจ๋ฌ ํ์ต ๋ชจ๋ธ ํ์.
- ์ ๋์ ๋ฐฉ์ด ๊ฐํ โ ์ ๋์ ์ํ ์์ฑ ๊ธฐ๋ฒ์ ๋ํ ๋ฐฉ์ด ๋ฉ์ปค๋์ฆ(์: adversarial training, defensive distillation) ์ ์ฉ ๋ฐ ํ๊ฐ.
- ํด์ ๊ฐ๋ฅ์ฑ ํฅ์ โ SHAP, LIME ๋ฑ ์ค๋ช ๊ฐ๋ฅํ AI ๊ธฐ๋ฒ์ ๋์ ํด ๋ณด์ ๋ด๋น์๊ฐ ๋ชจ๋ธ ๊ฒฐ์ ์ ์ง๊ด์ ์ผ๋ก ์ดํดํ๋๋ก ์ง์.
- ์๋์ง ํจ์จ ์ต์ ํ โ ๋ชจ๋ฐ์ผ ๋๋ฐ์ด์ค์์์ ์ ๋ ฅ ์๋น๋ฅผ ์ต์ํํ๋ ๊ฒฝ๋ํ ๋ชจ๋ธ ๋ฐ ํ๋์จ์ด ๊ฐ์๊ธฐ ํ์ฉ ๋ฐฉ์ ์ฐ๊ตฌ.
๋ณธ ๋ ผ๋ฌธ์ ์๋๋ก์ด๋ ์ ์ฑ์ฝ๋ ํ์ง ๋ถ์ผ์์ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฐ ์ ๊ทผ๋ฒ์ ๊ฐ๋ฅ์ฑ์ ์ ์ฆํ๊ณ , ์์๋ธ ํ์ต์ด ์ ๊ณตํ๋ ์ฑ๋ฅ ํฅ์์ ์ค์ฆํ์๋ค. ํฅํ ์ฐ๊ตฌ์์๋ ์ ์๋ ๊ณผ์ ๋ค์ ํด๊ฒฐํจ์ผ๋ก์จ, ๋ณด๋ค ์ค์๊ฐยท๊ฒฝ๋ยท๊ฒฌ๊ณ ํ ์ ์ฑ์ฝ๋ ๋ฐฉ์ด ์ฒด๊ณ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค.