솜이의 데브로그

악성 url 판단 기준 정하기 본문

Security/이프로_Phishing Fishing

악성 url 판단 기준 정하기

somsoming 2021. 7. 26. 00:03

악성 url 여부를 판단할 수 있는 인공지능 모델을 만들고자한다.

일단 악성 url 데이터셋을 많이 수집해야한다!

 

우리는 두가지 방법으로 수집하기로 했다

 

1) 웹사이트 이용하기. ( ex: phishtank, UCI Machine Learning Repository: Phishing Websites Data Set 등)

 API를 이용해 해당 사이트에 저장되어있는 데이터베이스를 가져다 쓸 수 있을 듯.

 

2) 설문조사를 통해 데이터 수집

 -> 받는 사람들만 많이 받고 안받는 사람들은 많이 안받아서 많이 모이지는 않았지만 최근에 스미싱에 쓰이는 url 들의 경우 전체 url이 아닌 줄여진 형태의 url을 많이 사용하기 때문에 이러한 데이터들을 수집할 수 있었다.

 

이제 모아진 url들을 분석해야하는데, 먼저 줄여진 url들은 어떻게 복구할 지에 대한 방법을 세워야한다.

검색해보면 긴 url을 줄여주는 서비스는 많은데, 반대읙 경우는 복구를 해야하기 때문에 정확도를 보장할 수 없고 전자보다 더 케이스가 적었다.

이러한 서비스를 제공하는 사이트들 중 Free api 를 제공하는 사이트들을 찾았다.

ex)  https://unshorten.me/

 

Free URL Un-Shortener - Unshorten URLS like goo.gl, bit.ly and many more

What is Unshorten.me Unshorten.me is a free service to Un-Shorten the URLs created by URL shortening services. Unshorten.me can un-shorten URLs created by different services like goo.gl (Google), fb.me (Facebook), t.co (Twitter), bit.ly, TinyURL, ow.ly amo

unshorten.me

 

이렇게 복구한 url들을 기준으로 먼저 문자 형태만 보고 특징을 뽑아보았다.

 

- url 단축 여부

- url의 길이 (악성 url의 경우 길이기 긴 경우가 많음. 그렇지만 정상 사이트인데도 접속 주소가 길어지는 경우도 많기 때문에 이 기준은 보류..)

- 서브 도메인 개수

- 중간에 // 로 들어가는 것이 있는지

- IP 주소가 드러나는지

- http:// 와 https:// 여부..  사실 이것도 최근에는 https를 많이 사용하기는 하지만 아직 http로 하는 것도 많기 때문에 이게 뚜렷한 기준이 될지는 잘 모르겠음..

- 주소 중간에 '-' 의 여부

 

 

사용할 인공지능 모델 구조?

 

-> LSTM, GRU CNN에 기반한 단어벡터 내부에서의 공간 특징 고려하는 접근 가능.

 

 

일단은 이러한 모델구조보다는 선정한 feature 중심으로 전처리해서 분류하는 classification 문제로 푸는것으로 생각..