【第2回】ブラック・オア・ホワイト
2020年11月01日(日)

【第2回】ブラック・オア・ホワイト

当時学生だった頃に流行ってたマイケルジャクソンの曲のタイトル。

ミュージックビデオの中で、色々な国の人の顔が次々に変化していくモーフィング映像の部分が特に好きでした。
外国人の表情や髪型、瞳の色を眺めながら、子供ながらに、
「日本って、日本人って個性薄いなあー」って思い知らされた気がしました。

https://www.youtube.com/watch?gl=US&hl=ja&client=mv-google&v=F2AitTPI5U0&nomobile=1

先日、会員制の有料サイトを運営している会社から、
ウェブサイトのセキュリティ対策に困っているというご相談をいただきました。

詳しいお話を聞いてみると、海外から悪意のある攻撃を受けているとのことでした。
近年、ニュースなんかでもよく耳にする機会が増えたサーバー攻撃というやつですね。

そもそも、サーバーって何?っていう方のために簡単にご説明しますと、
サーバーとは、ウェブサイトを構成するファイルやデータが保管されている入れ物の事です。
その入れ物の中身は、インターネットを経由して誰でもアクセスする事が出来る訳です。
そう、誰でも見れるから怖いのです。

ハッカー、アタッカーという人達は、
故意にファイルの中身をこじ開けて大切な情報を盗もうとしているのです。
盗んだデータの中には、お客様のクレジットカード情報なんかが入っている場合があるから厄介です。
仮面ライダーの宿敵ショッカーよりも、ハッカーの方が陰湿でタチが悪い軍団ですね。

そこで普段はゆるーいサーファーが変身して悪の組織に立ち向かいます。
悪の軍団からクライアントのウェブサイトを護るためにサーフライダーは今日も波に乗るのである。
なんか違いますね。。。

さて、本題に戻って、
ハッカーの攻撃する場所は決まっています。
それは、ウェブサイトにある「入力フォーム」です。
お問合せや、サイト内検索窓など、文字を入力できて送信ボタンがある場所さえあれば、攻撃が可能になります。

それでは攻撃って、具体的に何をしてくるの?
大きく分けて2つの方法があります。

1つ目は「クロスサイトスクリプティング」
これは、サイト乗っ取りやページの改ざんなど、どちらかというと悪戯して喜んでるイメージです。

2つ目は「SQLインジェクション」
こちらのほうが悪質で、データベースを直接狙って、パスワードなどのログイン情報を盗む手口。
知らない間に、自分に成り済ましてバンバン買い物されちゃってるイメージです。

どちらにしても標的になって狙われているのは事実。
このままでは危ないということで、ミッションを引き受けました。
こうして、見えない海外の悪者達との闘いが始まったのです。

ぼくが使ったのはオープンソースのWAF、「mod_security」という無料で入手できるソフトウェアです。
WAFというのは、「ウェブ・アプリケーション・ファイアーウォール」の頭文字をとったもの。
日本語で読むなら「ワフ」。
今は偉そうにコラムなんか書いていますが、昔は打合せで「Wahoo」とメモするほど無知でした。

これをサーバーにインストールして有効にする事で
ハッカーの攻撃パターンを見極めて、悪意のあるアクセスかどうか判断します。
攻撃じゃない場合は普通にサイトを表示しますが、パターンに一致すればサイトを見せないようにします。

ここで、気をつけなくてはならないのが、
インストールして、はい完了!という訳ではなく、継続した運用を必要とする対策という点にあります。
分かり易くいうと、ハッカーのアクセスがあるたびに「ブラックリスト」に追記していく必要があるからです。
これは、運用コストもかかるし、予算やマンパワー的にも現実的じゃないです。

そこで、ある程度、手離れを良くする目的で選んだ対策が、「ホワイトリスト」方式です。
そうです、「ブラック」の永遠のライバル「ホワイト」の登場です。
最初にパターンに一致する条件をきつめに設定し、徐々に緩めていく感じです。

一旦は逮捕されそうになって警察まで連れて行かれたけど、
取調室でカツ丼食べてる時に真犯人が現れて、無実が証明され釈放された、と言えば分かり易いかも。

そして、「このパターンは攻撃っぽいけど、このアクセスは正常なアクセスなんだよ」
というリストを書いた名簿みたいなのを「ホワイトリスト」と呼んでいます。

サイトのコンテンツが動的に複雑に構成されていればいる程、誤認逮捕者は増えてきます。
ホワイトリスト運用は、「こいつ悪人面してるけど、本当はいいやつなんだよな〜」という見抜く目がが必要な手法。
つまり、サイト全体の構成や動きを熟知していないと難しいのです。

下手すると、正しいアクセスを閉め出してしまい、
ページが表示されなかったり、データが更新されなかったり、
サービスに不具合が生じますので気をつける必要があります。

「デバックモード」と「本番モード」の切替が出来るので、
1ヵ月はデバックモードでテストしてから本番適用の方がいいと思います。

善悪の白黒付けたがる僕としては、
ブラック企業のホワイトリスト作成よりも、
ホワイト企業のブラックリスト作成のオファーの方が嬉しいです。

ぴぃちゃんち