Skip to content

A project that developed an AI-based voice phishing detection model and a web-based simulator

Notifications You must be signed in to change notification settings

gdd72582/Voice_Phishing_Detection_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ž ๋”ฅ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ๋ณด์ด์Šคํ”ผ์‹ฑ ํƒ์ง€ ์‹œ์Šคํ…œ

Python PyTorch Flask License Status

๐Ÿšจ ์‹ค์‹œ๊ฐ„ ์›น ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ: ๋ฌธ์žฅ ๋‹จ์œ„ ์˜ˆ์ธก๊ณผ ํ†ตํ™” ์ „์ฒด ์œ„ํ—˜๋„๋ฅผ ์ฆ‰์‹œ ์‹œ๊ฐํ™”

Simulator Demo


๐Ÿ“‹ ๋ชฉ์ฐจ


๐ŸŒŸ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

๋ณด์ด์Šคํ”ผ์‹ฑ์€ ๋งค๋…„ ํ”ผํ•ด๊ฐ€ ๊ธ‰์ฆํ•˜๋Š” ์‹ฌ๊ฐํ•œ ์‚ฌํšŒ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ํ†ตํ™” ๋‚ด์šฉ์„ ๋ฌธ์žฅ ๋‹จ์œ„๋กœ ๋ถ„์„ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ตํ™” ์ „์ฒด์˜ ๋ณด์ด์Šคํ”ผ์‹ฑ ์œ„ํ—˜๋„๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” AI ๋ชจ๋ธ์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
์ตœ์ข…์ ์œผ๋กœ ์›น ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ์ž‘ํ•˜์—ฌ, ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹ค์‹œ๊ฐ„ ์˜ˆ์ธก๊ณผ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ํ•ต์‹ฌ ํŠน์ง•

  • ๋ฌธ์žฅ ๋‹จ์œ„ ๋ถ„์„: ํ†ตํ™” ๋‚ด์šฉ์„ ๋ฌธ์žฅ๋ณ„๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์ •๋ฐ€ํ•œ ํƒ์ง€
  • ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ: ์›น ๊ธฐ๋ฐ˜ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ์ฆ‰์‹œ ๊ฒฐ๊ณผ ํ™•์ธ
  • ๊ณ„์ธต์  ํ‰๊ฐ€: ๋ฌธ์žฅ๋ณ„ ํ™•๋ฅ ๊ณผ ํ†ตํ™” ์ „์ฒด ์œ„ํ—˜๋„๋ฅผ ๋™์‹œ ์ œ๊ณต
  • Criticality ๋ฐ˜์˜: ์ค‘์š” ๋ฌธ์žฅ์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ ์ •ํ™•ํ•œ ํ‰๊ฐ€

๐Ÿš€ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ“Š ์‹ค์‹œ๊ฐ„ ๋ถ„์„

  • ์Œ์„ฑ โ†’ ํ…์ŠคํŠธ ๋ณ€ํ™˜ (Web Speech API)
  • ๋ฌธ์žฅ๋ณ„ ๋ณด์ด์Šคํ”ผ์‹ฑ ํ™•๋ฅ  ์‹ค์‹œ๊ฐ„ ์ถœ๋ ฅ
  • ํ†ตํ™” ์ข…๋ฃŒ ์‹œ ์ „์ฒด ์œ„ํ—˜๋„ ํ‰๊ฐ€

๐ŸŽจ ์‹œ๊ฐํ™”

  • ๋ฌธ์žฅ๋ณ„ ์œ„ํ—˜๋„ ๊ทธ๋ž˜ํ”„
  • ํ†ตํ™” ์ „์ฒด ์œ„ํ—˜๋„ ๊ฒŒ์ด์ง€
  • ์‹ค์‹œ๊ฐ„ ํ”ผ๋“œ๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค

๐Ÿ”ง ๋ชจ๋ธ ๊ด€๋ฆฌ

  • ๋‹ค์–‘ํ•œ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ๋น„๊ต ์‹คํ—˜
  • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹
  • ๋ชจ๋ธ ์„ฑ๋Šฅ ์‹œ๊ฐํ™”

๐Ÿ—‚๏ธ ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ์ „์ฒ˜๋ฆฌ

๐Ÿ“ˆ ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ

  • ์ถœ์ฒ˜: ๊ธˆ์œต๊ฐ๋…์› ๋ณด์ด์Šคํ”ผ์‹ฑ ์‚ฌ๋ก€, AIHub ์ •์ƒ ํ†ตํ™”
  • ๊ตฌ์„ฑ: ์ •์ƒ ํ†ตํ™” 148๊ฑด, ๋ณด์ด์Šคํ”ผ์‹ฑ ํ†ตํ™” 102๊ฑด
  • ๋ฌธ์žฅ ์ˆ˜: ์•ฝ 10,000๊ฐœ (Criticality ๋ ˆ์ด๋ธ” ํฌํ•จ)

๐Ÿ”„ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •

  1. ๋ฌธ์žฅ ๋ถ„๋ฆฌ: ํ†ตํ™” ๋‚ด์šฉ์„ ๋ฌธ์žฅ ๋‹จ์œ„๋กœ ๋ถ„ํ• 
  2. ํ…์ŠคํŠธ ์ •์ œ: ๋ถˆ์šฉ์–ด ์ฒ˜๋ฆฌ, ์˜คํƒˆ์ž ์ •์ œ
  3. Criticality ๋ ˆ์ด๋ธ”๋ง: ํ•ต์‹ฌ ๋ฌธ์žฅ ์‹๋ณ„ ๋ฐ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ
  4. ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•: EDA ๊ธฐ๋ฐ˜ ๊ธฐ๋ฒ• (๋žœ๋ค ์‚ฝ์ž…/์‚ญ์ œ/์Šค์™‘)

๐Ÿงฌ ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜

๐Ÿ”น ๋ฌธ์žฅ ๋‹จ์œ„ ๋ชจ๋ธ

KoBERT โ†’ BiLSTM โ†’ Attention โ†’ Softmax
  • ์ž„๋ฒ ๋”ฉ: KoBERT (ํ•œ๊ตญ์–ด ํŠนํ™” BERT)
  • ์‹œํ€€์Šค ์ธ์ฝ”๋”: BiLSTM + Attention
  • ์ถœ๋ ฅ: ๋ฌธ์žฅ๋ณ„ ๋ณด์ด์Šคํ”ผ์‹ฑ ํ™•๋ฅ 

๐Ÿ”น ํ†ตํ™” ๋‹จ์œ„ Aggregation

  • ๋ฌธ์žฅ ๋‹จ์œ„ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ค‘ ํ‰๊ท  ๋˜๋Š” threshold ๊ธฐ๋ฐ˜์œผ๋กœ ํ†ตํ•ฉ
  • Criticality ๋ ˆ์ด๋ธ” ๋ฐ˜์˜ํ•˜์—ฌ ์ค‘์š” ๋ฌธ์žฅ์— ๋” ํฐ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ

๐Ÿ”ฌ ์‹คํ—˜ ๊ฒฐ๊ณผ

Model Validation F1 Test F1 ๊ฐœ์„ ํญ
KoBERT+BiLSTM 0.960 0.726 +0.122
RNN 0.921 0.645 +0.036
GRU 0.909 0.645 +0.054
Transformer 0.899 0.635 +0.065
SVM 0.835 - +0.100

๐Ÿ“Š ์„ฑ๋Šฅ ๋ถ„์„

  • ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•: ํ‰๊ท  +2.3% accuracy ํ–ฅ์ƒ
  • Attention: ๋ชจ๋ธ์— ๋”ฐ๋ผ ์„ฑ๋Šฅ ์ฆ๊ฐ
  • Regularization: ์ผ๋ถ€ ๋ชจ๋ธ์—์„œ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ ํ•˜๋ฝ

๐Ÿ’ป ์›น ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

  • Frontend: HTML/CSS/JavaScript
  • Backend: Flask + PyTorch
  • Speech-to-Text: Web Speech API
  • ๋ชจ๋ธ: KoBERT + BiLSTM

๐ŸŽฎ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ์‹ค์‹œ๊ฐ„ ์Œ์„ฑ โ†’ ๋ฌธ์žฅ ์ธ์‹ โ†’ ๋ฌธ์žฅ๋ณ„ ๋ณด์ด์Šคํ”ผ์‹ฑ ํ™•๋ฅ  ์ถœ๋ ฅ
  • ํ†ตํ™” ์ข…๋ฃŒ ์‹œ ์ „์ฒด ์œ„ํ—˜๋„ ํ‰๊ฐ€
  • ์ง๊ด€์ ์ธ ์›น ์ธํ„ฐํŽ˜์ด์Šค

โš™๏ธ ์„ค์น˜ ๋ฐ ์‹คํ–‰

๐Ÿ“‹ ์š”๊ตฌ์‚ฌํ•ญ

  • Python 3.8+
  • PyTorch 1.9+
  • Flask 2.0+
  • transformers
  • numpy, pandas

๐Ÿ”ง ์„ค์น˜ ๋ฐฉ๋ฒ•

# 1. ์ €์žฅ์†Œ ํด๋ก 
git clone https://github.com/your-username/Voice_Phishing_Detection_System.git
cd Voice_Phishing_Detection_System

# 2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™”
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 3. ์˜์กด์„ฑ ์„ค์น˜
pip install -r requirements.txt

# 4. ์›น ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์‹คํ–‰
cd simulation/test/biLSTM_demo
python app.py

๐Ÿš€ ์‹คํ–‰ ๋ฐฉ๋ฒ•

  1. ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:5000 ์ ‘์†
  2. ๋งˆ์ดํฌ ๊ถŒํ•œ ํ—ˆ์šฉ
  3. ํ†ตํ™” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์ž‘
  4. ์‹ค์‹œ๊ฐ„ ๊ฒฐ๊ณผ ํ™•์ธ

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

Voice_Phishing_Detection_System/
โ”œโ”€โ”€ README.md                    
โ”œโ”€โ”€ requirements.txt             
โ”œโ”€โ”€ .gitignore                   
โ”œโ”€โ”€ assets/                      # ์ด๋ฏธ์ง€ ๋ฐ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ
โ”œโ”€โ”€ data/                        # ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ๋ถ„์„ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ sample_dataset.csv       
โ”‚   โ”œโ”€โ”€ test_dataset.csv         
โ”‚   โ”œโ”€โ”€ data_description.md      
โ”‚   โ””โ”€โ”€ analysis/                
โ”œโ”€โ”€ model/                       # ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ๊ตฌํ˜„
โ”‚   โ”œโ”€โ”€ biLSTM.py               
โ”‚   โ”œโ”€โ”€ gru.py                  
โ”‚   โ”œโ”€โ”€ rnn.py                  
โ”‚   โ”œโ”€โ”€ transformer.py          
โ”‚   โ””โ”€โ”€ embedding.py            
โ”œโ”€โ”€ preprocessing/               # ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
โ”‚   โ”œโ”€โ”€ data_cleaning.py        
โ”‚   โ”œโ”€โ”€ augmentation.py         
โ”‚   โ”œโ”€โ”€ eda.py                  
โ”‚   โ””โ”€โ”€ eda_append.py           
โ”œโ”€โ”€ gru_demo/                   # GRU ์›น ๋ฐ๋ชจ
โ”‚   โ”œโ”€โ”€ app.py                  # Flask ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
โ”‚   โ”œโ”€โ”€ aggregation.py          # ๊ฒฐ๊ณผ ์ง‘๊ณ„ ๋กœ์ง
โ”‚   โ”œโ”€โ”€ gru_phishing_model.h5   # GRU ๋ชจ๋ธ
โ”‚   โ”œโ”€โ”€ templates/              # HTML ํ…œํ”Œ๋ฆฟ
โ”‚   โ”œโ”€โ”€ static/                 # CSS/JS ์ •์  ํŒŒ์ผ
โ””โ”€โ”€ results/                    # ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ฐ ์‹œ๊ฐํ™”
    โ”œโ”€โ”€ figures/                
    โ”œโ”€โ”€ ๋ฐœํ‘œ.pdf
    โ””โ”€โ”€ ๋ณด๊ณ ์„œ.docx    

โš–๏ธ ์ฃผ์š” ์ธ์‚ฌ์ดํŠธ

โœ… ๋ฐ์ดํ„ฐ ๋ฐ ์ „์ฒ˜๋ฆฌ

  • Criticality ๋ ˆ์ด๋ธ” ์ถ”๊ฐ€๋กœ ๋ฌธ์žฅ๋ณ„ ์ค‘์š”๋„ ๋ฐ˜์˜
  • ๋ถˆ์šฉ์–ด ์ œ๊ฑฐ ๋ฐ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์œผ๋กœ ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ ๊ฐœ์„ 

โœ… ๋ชจ๋ธ๋ง ๋ฐ ์„ฑ๋Šฅ

  • KoBERT ๊ธฐ๋ฐ˜ BiLSTM์ด ๊ฐ€์žฅ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ ๊ธฐ๋ก
  • Attention ์‹œ๊ฐํ™”๋ฅผ ํ†ตํ•ด ํ•ต์‹ฌ ๋ฌธ์žฅ์— ๋†’์€ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ ํ™•์ธ

โœ… ์‹คํ—˜ ์„ค๊ณ„ ๋ฐ ๊ด€๋ฆฌ

  • ๋‹ค์–‘ํ•œ Aggregation ์ „๋žต ๋น„๊ต ์‹คํ—˜
  • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹๊ณผ ์‹œ๊ฐํ™” ๊ธฐ๋ฐ˜ ์„ฑ๋Šฅ ๊ฒ€์ฆ

๐ŸŽฏ ๊ฒฐ๋ก  ๋ฐ ํ–ฅํ›„ ๊ณ„ํš

๐Ÿ† ์„ฑ๊ณผ

  • ๋ฌธ์žฅ+ํ†ตํ™” ๋‹จ์œ„ ๊ณ„์ธต์  ํƒ์ง€ ์‹œ์Šคํ…œ ์„ค๊ณ„
  • KoBERT + BiLSTM ์กฐํ•ฉ์˜ ์ตœ๊ณ  ์„ฑ๋Šฅ ๋‹ฌ์„ฑ
  • ์‹ค์‹œ๊ฐ„ ์›น ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ๊ฐœ๋ฐœ ์™„๋ฃŒ

๐Ÿ”ฎ ํ•œ๊ณ„ ๋ฐ ๊ฐœ์„  ๋ฐฉํ–ฅ

  • ๋ฐ์ดํ„ฐ ๋‹ค์–‘์„ฑ: ๋ณด์ด์Šคํ”ผ์‹ฑ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ์ˆ˜์ง‘ ํ•„์š”
  • ๋ชจ๋ธ ๊ฐœ์„ : Adaptive thresholding๊ณผ ์‹œ๊ณ„์—ด ๊ธฐ๋ฐ˜ ๋ชจ๋ธ ๋„์ž… ์˜ˆ์ •
  • ์‹คํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ: ์‹ค์ œ ํ†ตํ™” ํ™˜๊ฒฝ์—์„œ์˜ ์„ฑ๋Šฅ ๊ฒ€์ฆ
  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ: ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

๐Ÿ“š ์ฐธ๊ณ  ๋ฌธํ—Œ

About

A project that developed an AI-based voice phishing detection model and a web-based simulator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages