はじめに
最近、企業や官公庁を狙ったサイバー攻撃や個人情報漏洩のニュースを目にする機会が増えました。
そんな中、私の自作アプリが、フィッシング詐欺対策にも役立つのではないかと思ったので紹介します。
作ろうと思ったきっかけ
私はポイ活をしています。
ポイ活の中には、移動や歩数によって広告動画の再生権を獲得し、その広告を視聴することでポイントを得るものがあります。
ところが、広告動画にはよくある問題があります。
それは、
「閉じるボタンが小さい」
ことです。
閉じるボタンを押したつもりが広告ページへ飛ばされる。
ひどいものだと、何も操作していないのに広告ページへ遷移することもあります。
ポイントよりもストレスが溜まります。
そこで、
望まないリンクには飛ばないようにできないだろうか
と考えたのが、このアプリを作るきっかけでした。
開発を進めるうちに、この仕組みは広告対策だけでなく、フィッシングメールやSMS詐欺による偽サイトへの誘導を防ぐことにも有効なのではないかと思うようになりました。
アプリの仕様を考える
まずはどのような仕組みにするかを考えました。
ブラウザアプリとして作る
広告やメールのURLをタップした際に起動されるのは、デフォルトに設定されたブラウザです。
つまり、リンクのアクセス要求を受け取るためにはブラウザとして動作する必要があります。
そこで、このアプリはブラウザアプリとして実装することにしました。
リンクのアクセス要求を受け取った時に、
- 許可されたサイトならアクセス
- 未許可ならブロック
という動作を行います。
ブラックリスト方式ではなくホワイトリスト方式
広告のリンク先は毎回異なります。
そのため、
「このサイトは危険だからブロックする」
というブラックリスト方式では管理しきれません。
そこで、
「許可したサイト以外はすべてブロックする」
ホワイトリスト方式を採用しました。
許可対象はドメイン単位で管理します。
これにより、一度許可したサイト内であれば、ページ遷移のたびに許可操作をする必要がありません。
許可操作は簡単に
当初は手動でドメインを登録することも考えました。
しかし、URLやドメインを毎回入力するのは面倒です。
そこで、
- アクセスをブロック
- ブロックしたドメインを通知
- 通知をタップすると許可リストへ追加
- そのままアクセス実行
という流れにしました。
また、古い通知が残り続けるのも煩わしいため、通知は一定時間後に自動で消えるようにします。
ブラウザは好きなものを使いたい
ブラウザ機能そのものはAndroidの共通機能で実現できます。
ただ、普段使いのブラウザがある人も多いと思います。
そこで、
- Chrome
- Edge
- Firefox
など、インストール済みブラウザを選択できる仕組みを用意しました。
アクセスを許可した後は、設定したブラウザへ引き継ぎます。
仕様をまとめると
- ブラウザアプリとして動作する
- ドメイン単位の許可リストを持つ
- 許可リストの確認・編集ができる
- ブロックしたドメインを通知する
- 通知タップで許可リスト登録とアクセス実行を行う
- 通知は一定時間後に自動削除する
- アクセス先を開くブラウザを選択できる
この仕様をベースに開発を開始しました。
開発開始
自分自身、ソフトウェア開発の経験は長く、実業務ではありませんがAndroidアプリ作成にチャレンジしたこともありましたが、それからはしばらく離れていました。
しかも、以前チャレンジしてた当時に触っていたJava中心の時代から状況も大きく変わっています。
そこで活用したのがAIでした。
まずAIに基本的なブラウザアプリを作成してもらい、その上へ機能を追加していく形で開発を進めました。
- AIに指示出し
- コード生成
- 動作確認
- 改善点の洗い出し
- 修正方針決定
を繰り返しながら、少しずつ理想の形に近づけていきました。
完成したアプリを使ってみた
実際に使ってみると、自分が欲しかった機能がしっかり実現できていました。
広告の誤タップによる不要なページ遷移も防げています。
ただし万能ではありません。
広告によっては外部ブラウザを起動せず、アプリ内ブラウザで表示するものもあります。
そういった仕組みには対応できません。
しかし、使い続けるうちに別の効果に気付きました。
フィッシング詐欺対策にも使えるのでは?
最近よく耳にするのが、
- フィッシングメール
- SMS詐欺(スミッシング)
です。
これらは、
- 決済に失敗しました
- 本日中の対応が必要です
- 荷物の再配達の指示をしてください
といった文言で利用者を焦らせ、
本文中のURLへアクセスさせようとします。
アクセス先には本物そっくりの偽サイトが用意されており、
IDやパスワードを入力すると情報が窃取される仕組みです。
見た目には判断が難しいですが、このアプリの場合、許可していないドメインへのアクセスはブロックされます。
そのため、
- 間違ってリンクをタップしてもアクセスしない
- ブロック通知によって怪しいドメインだと気付ける
という効果が期待できます。
個人情報漏洩事件やフィッシング被害が増えている今、意外と実用性のあるアプリになったのではないかと思っています。
現在クローズドテスト実施中
Google Playでの公開に向けて、現在クローズドテストを実施しています。
Monba!を試してみたい方や、
- フィッシング詐欺対策
- スミッシング対策
- 広告の誤タップ防止
に興味のある方は、ぜひご協力いただけると嬉しいです。
紹介ページはこちらです。
テスト参加をご希望の方はメールでご連絡ください。
※アプリをダウンロードするGoogleアカウント(Gmailアドレス)をご連絡ください。
※テスター登録後にGoogle Playのダウンロードページへアクセスできるようになります。
おわりに
今回の開発では、コード作成にAIを積極的に活用しました。
驚くほど素早くコードを生成してくれる一方で、時には実装上問題のある提案をすることもあります。
やはり最終的には、開発者自身が内容を理解し、確認することが重要だと感じました。
そんな経緯で生まれたアプリです。
もし興味を持っていただけたら、ぜひ使ってみてください。
ご意見やご感想もお待ちしています。