확장 프로그램: Catch Phishing Chrome Extension
웹 사이트: https://www.catch-phishing.site/
최근 주요 웹 사이트를 모방한 피싱 사이트가 증가하면서 사용자를 유도하여 악성코들르 감염시키고, 개인정보와 금융 정보를 탈취하는 사이버 범죄가 빈번히 발생하고 있습니다.
본 서비스는 URL을 분석해 피싱 여부를 판별하는 머신너링 모델 XGBoost를 기반으로 Chrome 확장 프로그램과 웹 애플리케이션을 제공합니다.
사용자는 이를 통해 웹 사이트의 피싱 확률과 분석 결과를 실시간으로 확인하고, 안전하게 웹을 탐색할 수 있습니다.
- 피싱으로 판별된 이유와 해당 사이트의 상세 정보를 제공하여 분석 결과의 신뢰성과 이해도를 높임.
- Chrome 확장 프로그램: URL에 마우스를 올리기만 해도 피싱 여부를 미리 알려줌.
- 웹 애플리케이션: 사용자가 입력한 URL에 대해 피싱 여부를 사전에 탐지
- 축적된 데이터베이스(DB)를 바탕으로 매달 정기적으로 모델을 업데이트해 탐지 정확도를 향상.
- 사전 학습된 모델의 예측과 블랙리스트를 활용해 사용자에게 즉각적인 피드백을 제공.
머신러닝 기반 피싱 사이트 탐지
- XGBoost 모델을 이용하여 복잡한 데이터 패턴을 학습해 정확하고 정밀한 피싱 사이트 탐지
- 테스트&사용 머신러닝 모델: XGBoost, MLP, Random Forest, SVM
백엔드
- Flask를 활용하여 Python 기반의 경량 웹 프레임워크를 통해 실시간 탐지 API 제공
- AWS 클라우드를 이용하여 확장 가능하고 안전한 인프라를 통해 효율적인 데이터 처리 및 모델 배포
프론트엔드
확장 프로그램
사용 데이터셋: https://www.kaggle.com/datasets/akashkr/phishing-website-dataset
-
중요도와 상관관계 분석
- 피처 중요도 분석과 상관관계 분석을 통해 불필요한 피처를 제거.
- 주요 피처만 남겨 모델의 성능 평가를 진행.
-
과적합 방지
- 학습 데이터에 지나치게 맞춰지는 것을 방지하여, 새로운 데이터에서도 일반화 성능을 유지.
- 이를 위해 적절한 피처 선택과 모델의 정규화 기법을 활용.
-
모델 단순화
- 중요하지 않은 피처를 제거해 모델의 복잡도를 낮추고, 모델이 과적합되지 않도록 조정.
- 결과적으로 계산량이 줄어들어 학습 시간이 단축되고, 예측 속도가 향상됨.
![]() |
![]() |
---|
URL 기반 피처, 도메인 기반 피처, 컨텐츠 기반 피처로 나누어 피싱 여부를 정확히 판별하여 높은 정밀도를 제공
![]() |
![]() |
---|---|
![]() |
![]() |
- XGBoost 테스트 정확도:
0.9713
- MLP 테스트 정확도:
0.9765
- XGBoost는 트리 기반 모델로, 자체적인 과적합 방지 기법이 잘 적용되어 있음.
- 훈련 데이터에서 매우 높은 정확도를 보이며, 교차 검증 결과 과적합이 발생하지 않았음을 확인.
- 교차 검증 성능과 훈련 데이터의 혼동 행렬 분석을 종합적으로 고려.
- 높은 테스트 정확도와 적은 오탐률을 보이는 XGBoost를 최종 선정.
- 교차 검증 평균 정확도에서 XGBoost가 MLP보다 더 높은 성능을 보여, 새로운 데이터에서도 더 일관적인 성능을 보일 가능성이 큼.
URL을 실시간으로 분석하여 피싱 사이트로 의심될 경우 경고 메시지를 표시.
사용자가 판별하고자 하는 웹 사이트의 URL에 마우스 오버할 때, 해당 URL이 피싱 사이트인지 아닌지를 즉시 판별하여
사용자는 매번 별도의 피싱 판별 웹 사이트를 방문하지 않고도 확장 프로그램을 통해 실시간으로 피싱 판별 결과를 받을 수 있어 편의성 향상
![]() |
![]() |
---|
확장 프로그램은 위와 같이 활성화/비활성화 버튼을 통해 사용자가 원하는 시점에 손쉽게 켜거나 끌 수 있어 사용자 편의성을 극대화.
확장 프로그램에서 자세히 보기를 클릭하면, 웹 사이트로 이동하여 피싱 판별 대상 웹 사이트의 상세 정보와 피싱 판별 이유 확인 가능
또한, 웹 사이트에 직접 접속하여 URL을 입력하면 피싱 여부를 확인할 수 있으며,
머신러닝 모델을 통해 판별된 피싱 확률과 피싱 판별에 영향을 미친 주요 피처들도 확인할 수 있어 이해도와 신뢰성을 높임.


정상 사이트로 판별될 경우, 머신러닝 모델을 통해 판별된 피싱 확률 과 웹 사이트의 상세 정보 제공

피싱 사이트로 판별될 경우, 머신러닝 모델을 통해 분석된 피싱 확률, 웹 사이트의 상세 정보, 피싱 판별 이유에 해당하는 주요 피처 정보를 제공