GithubHelp home page GithubHelp logo

mws2019_f.se's Introduction

Intelligent Blocker

悪性サイトをブラックリストやドメイン情報から検知し,ユーザが悪性サイトに接するリスクを軽減できるFirefox対応のアドオン機能である.

説明

本アドオンは悪性サイト,またはその可能性が高いサイトをブラックリストや予測機能を用いて解析し,アクセスする前にその旨を通知するものである.これにより,ユーザが悪性サイトに接触するリスクを軽減することができる.本機能のアルゴリズムは以下の決定木図で表すことができる.

  1. ユーザが一時的に許可するユーザホワイトリストにURLが登録済みで,かつ登録から一定期間内であればアクセスを許可する.
  2. 含まれていない場合は,そのURLがブラックリストに含まれている場合にはアクセスの前に警告画面に遷移する.ブラックリストに含まれていない場合はドメイン情報をもとに悪性ドメインの可能性があるかを予測する.
  3. 悪性ドメインの可能性がある場合はホワイトリストを参照する.ホワイトリストに含まれている場合はアクセスを許可し,含まれていない場合は警告画面を表示する.
  4. 悪性ドメインの可能性が低い場合は,その通信がhttpかどうかを調べる.httpの場合は注意画面で表示する.httpsの場合は証明書期限を調べ,証明書の期限が90日より短い場合は警告画面を表示し,それより長い場合はアクセスを許可する.

アルゴリズム

実行環境(2019/09/30現在)

  • Firefox(69.0.1)

インストール

以下にインストールのデモアニメーションがあるので,説明と一緒に参考にして下さい.

  1. 保存したいディレクトリ下で次のコマンドを実行する.$ git clone https://github.com/akazs/MWS2019_F.SE.git

  2. Firefoxを開き,URLバーにabout:debugging#/runtime/this-firefoxと入力する.

  3. 画面内の一時的なアドオン読み込み中...(for English ver. Load Temporary Add-on...)ボタンを押し,先ほどcloneしたディレクトリのbackground.jsを選択して,開く.

  4. Intelligent Blockerというアドオンが追加されていれば,インストール成功.

インストールのデモ

実行のデモ

それぞれのデモでは,対象となるサイトへアクセスする前に警告を出すことに成功している.また,上記の決定木図の通り,警告画面を対象サイトごとに変更することに成功している.

ブラックリストに載っているドメインの時のデモ

ブラックリストに載っているドメインを検索しようとした時のデモである. 以下のデモでは,http://081.co.ukというphisingサイトへのアクセスを試みている.

上記のサイトはブラックリストに載っている本当のphishingサイトであるため,アクセスには細心の注意を払って下さい.

http通信を使用しているサイトの時のデモ

http通信を使用しているサイトにアクセスしようとしている時のデモである. 以下では,http://example.comというhttp通信を使用しているサイトへのアクセスを試みている.

悪質なサイトである可能性がある時のデモ

我々のアルゴリズムで悪質なサイトである可能性があるドメイン名であると判断されたサイトにアクセスしようとしている時のデモである. 以下では,https://fd7fs7fadf7fd.comという架空のドメインではあるが,我々のアルゴリズムで悪性サイトのドメインであると判断したものへのアクセスを試みている.

悪性であると判断するアルゴリズムは次の3つの特徴に着目している.

- 証明書の有効期間が90日より短いこと
- ドメインが10文字以上であること
- ドメインに英数字が混在していること

1つ目の証明書の有効期間が90日より短いことという特徴のうち,有効期間に着目したのは,"Hunting Malicious TLS Certificates with Deep Neural Networks"を参考文献としている.この文献から今回はFirefoxアドオンから取得可能なSSL証明書の有効期間の情報を用いた.そして,その期間を90日以内としたのは,Let’s Encryptなど代表的なフリー証明書の有効期間がデフォルトで90日であるためである.

2つ目および3つ目の特徴については"A Classification Method of Unknown Malicious Websites Using Address Features of each Network Address Class"を参考文献としている.

ライセンス

MIT

製作者

アドバイザー

矢内直人(大阪大学 大学院情報科学研究科 セキュリティ工学講座(藤原研究室) 助教)

mws2019_f.se's People

Contributors

akazs avatar kzk-is avatar maxcafe avatar takemr avatar wanidon avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

takemr kodai-sato

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.