웹 사이트

웹 사이트

확장 프로그램

확장 프로그램

image.png

image.png

구분 내용
개요 머신러닝 모델을 기반으로 웹 사이트 URL을 분석하여 피싱 여부를 판단
XGBoost 기반의 머신러닝 모델을 활용해 URL을 분석하고,
피싱 여부를 판별하는 Chrome 확장 프로그램웹 애플리케이션을 제공
참여 인원 4명(백엔드 2명, 웹 프론트엔드 2명)
전체 기술 스택 Machine Learning: XGBoost, SVM, MLP, RandomForest
Backend: Python, Flask
DataBase: MySQL
DevOps: AWS(EC2, RDS, S3, ALB, CloudFront, ACM, Route53, CodeDeploy), GitHub Actions
핵심 기여 1. SVM, XGBoost 모델을 동일한 전처리 데이터셋으로 학습·비교
  1. Accuracy, Precision, Recall, F1-score, 교차 검증 평균 정확도를 기준으로 모델 성능 평가

  2. 웹 페이지 소스 코드의 링크 태그, 리다이렉션 횟수 등을 분석하는 Content 기반 피처 추출 알고리즘 설계·구현

  3. Flask 기반 피싱 URL 판별 백엔드 API 구현 및 React 프론트엔드 연동

  4. GitHub Actions 기반 CI/CD 파이프라인 을 구축하여 AWS(EC2, RDS, S3, ALB, CloudFront, CodeDeploy) 환경에 백엔드·프론트엔드 배포 자동화

  5. 팀장으로서 주제 선정, 기획, 모델 비교 기준 정의 및 개발 전반 주도 | | 문제 해결 | 1. 모델 선정 기준의 불명확성 문제 • 단일 테스트 정확도만으로는 실서비스에 적합한 모델 판단이 어렵고, 과적합 및 일반화 성능 저하 우려 존재 → 교차 검증 기반 평균 정확도와 fold 간 편차를 포함한 다중 지표 평가 방식 도입 → 교차 검증 안정성과 오탐률 분석 결과를 종합해 **XGBoost를 최종 모델로 선정

  6. 실시간 서비스 적용 시 성능·비용 부담 문제** • 피처 수 증가로 인한 학습 시간 증가 및 서비스 확장 시 비용 부담 발생 → 피처 중요도 분석을 통해 중요도가 낮은 피처 제거 후 재학습 → 응답시간 **2.88초 → 1.08초(약 62% 감소)**로 개선해 실시간 탐지에 적합한 모델 효율성 확보

3. 실시간 탐지 신뢰성 확보 문제 • 오탐 발생 시 보안 서비스 신뢰도 저하 우려 **** → 혼동 행렬 분석을 통해 False Negative 비율을 지속적으로 점검 → XGBoost 모델에서 오탐률을 2.3% 이하로 유지하며 안정적인 탐지 성능 확보 | | GitHub 링크 | https://github.com/hs-phishing/web-phishing-detection | | 배포 링크 | 확장 프로그램: https://chromewebstore.google.com/detail/catch-phishing/lcjnjlhedbbckkcenidmfokbpchnimji?hl=ko&pli=1

웹 사이트: https://www.catch-phishing.site (서버 비용으로 인해 현재 서비스 중단) | | 자료 | 발표 자료: https://docs.google.com/presentation/d/1QgMuFiSmjMbLDnu-FpLyyCD8o-Qmn9AY/edit?usp=sharing&ouid=104382857428857441544&rtpof=true&sd=true

판넬: https://drive.google.com/file/d/1mqNfCnHpuZh21cJON2I46beKAsHGEHPQ/view?usp=sharing |