Skip to content

xaiki/spoof-detect

Repository files navigation

Spoof Detect

Detect spoofed website by detecting logos from bank and financial entities in pages with ssl certificates that do not match.

The process is pretty simple:

  • [1/2] scrape gvt websites to get a list of entities.
    • [x] 🇦🇷 BCRA
    • [ ] other countries
  • [x] get logos, names and url
  • [x] navigate the url, extract the ssl certificate and look for img and tags with id or class logo (needs more heuristics) to make a db of logos
  • [x] screenshot the page and slice it into tiles generating YOLO annotations for the detected logos
  • [x] augment data using the logos database and the logoless tiles as background images
  • [x] train yolov5s
  • [x] feed everything to a web extension that will detect the logos in any page and show a warning if the SSL certificate mismatches the collected one. (this is actually a bit hacky, as yolov6 has A LOT of postprocessing and i can’t be bothered to reimplement it all in JS for TSJS to work, it currently relies on a rather hackish local deamon written in python)

running

# build the training dataset
docker-compose up --build --remove-orphans -d
docker-compose exec python ./run

# run the training on your machine or collab
# https://colab.research.google.com/drive/10R7uwVJJ1R1k6oTjbkkhxPDka7COK-WE
git clone https://github.com/ultralytics/yolov5  # clone repo
pip install -U -r yolov5/requirements.txt  # install dependencies
python3 yolov5/train.py --img 416 --batch 80 --epochs 100 --data ./ia/data.yaml  --cfg ./ia/yolov5s.yaml --weights ''

research

yolo

https://github.com/ModelDepot/tfjs-yolo-tiny https://github.com/Hyuto/yolov5-tfjs

augmentation

there were a lot of augmentation solutions out there, because it had better piplines and multicore support we went with:

but leaving the other here for refs

proveedores

http://www.bcra.gov.ar/SistemasFinancierosYdePagos/Proveedores-servicios-de-pago-ofrecen-cuentas-de-pago.asp http://www.bcra.gov.ar/SistemasFinancierosYdePagos/Proveedores-servicios-de-billeteras-digitales-Interoperables.asp

http://www.bcra.gob.ar/SistemasFinancierosYdePagos/Entidades_financieras.asp

certs in browsers

https://stackoverflow.com/questions/6566545/is-there-any-way-to-access-certificate-information-from-a-chrome-extension https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest#accessing_security_information https://chromium-review.googlesource.com/c/chromium/src/+/644858

papers

https://logomotive.sidnlabs.nl/downloads/LogoMotive_paper.pdf

About

IA + hacks + not beeing dumb === greater security.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published