Output Diary

プログラミング × 読書 のアウトプットを発信しています

アプリケーションの弱点をついた攻撃手法と対策 Part1

f:id:kina_kq:20210508080454p:plain

 

攻撃者はありとあらゆる手法を使って、攻撃を仕掛けてきます。

今日はそれらの攻撃の種類を飽きるまでまとめてみたいと思います。

 

辞書攻撃(Dictionary Attack)

 

辞書攻撃とは、

辞書にのっている単語を次々と入力してパスワードの割り出しや暗号の解読に使われる方法のことです。

対策としては、

・人名や意味のあるパスワードを用いないこと

・記号や数字をランダムに組み合わせることが大事です。

 個人的に、ワンパスワードを使ってパスワード管理することをおすすめします。

 

総当り(ブルーフォース)攻撃

 

総当り攻撃とは、

英数字の組み合わせを一つずつ入力し不正アクセスを試みる攻撃です。

ブルーフォースの意味は、日本語で「強引な」とは「力ずく」という意味にあたります。

 

「なんだそれは、面倒くさいではないか!」という感じですが、

多くの場合プログラムされたコンピュータが行っているみたいです。

 

独立行政法人情報勝利推進機構が2008年に行った試験によると、

 

f:id:kina_kq:20210508081954p:plain


なんと英字4文字の場合、3秒で解読されるみたいです。

恐ろしやーといった感じです。

このデータはなかなか古いので、現在のパソコンだともっと速度速そうですね、、。

 

ちなみにこの試験で使用したパソコンのスペックは、Intel Core 2 Duo T7200 2.00GHz、メモリ:3GB だったそうです。

 

これらの攻撃から守る具体的な対策は、

・8桁以上のパスワードを設定する

・ログインロックを設定する

・2要素認証を設定する

があります。

 

ログインロックとは、

複数回パスワードを間違えたら数分間アカウントを停止するなどの設定のことです。

こうすることで、解読するのにさらに膨大な時間がかかることになるので、総当たり攻撃の対策として効果的であるといえます。

 

2要素認証とは、

パスワードだけでログインするのではなく、あらかじめ登録していた「電話番号」や「メールアドレス」に認証コードが送られそれを認証して初めてログイン出来るというものになります。手間がかかっているので、これも対策として有効だといえると思います。

 

パスワードリスト攻撃

 

パスワードリスト攻撃とは、

攻撃者が事前に入手したIDとパスワードのリストを使って不正アクセスを試みる攻撃です。複数のサイトで同じIDやパスワードを使いまわしている人は要注意です。どこかのタイミングでパスワードが漏れてしまったら大変なことになってしまいます。

対策としては、IDやパスワードを使いまわさないことです。

パスワード管理アプリを使ってパスワードをきちんと管理しましょう。

 

クロスサイトスクリプティングXSS

 

クロスサイトスクリプティングXSSとは、

Webアプリケーションの画面表示処理の脆弱性をついた攻撃です。

攻撃者は、入力フォームにスクリプト付のリンクを含む内容を入力し、Webアプリケーションに罠を仕掛けます。訪問してきた人がリンクをクリックすることによって、別のWebサイト(クロスサイト)に遷移し入力した個人情報を盗み出すといった攻撃手法です。

対策としては、開発時に入力値を制限したりして、制限を予めかけておくことが大切です。 

 

SQLインジェクション

 

SQLインジェクションとは、

Webアプリケーションのデータベースの処理の脆弱性をついた攻撃です。

入力画面でデータベースを操作するSQLコマンドを入力することで、データベースの内部の情報を不正に操作します。

対策として、これも同様、開発の段階で、SQLエスケープ処理、多層バリデーション、バインドメカニズムの実装、そしてログ管理などを行う必要があります。

 

参考

辞書攻撃(Dictionary Attack) | セコムトラストシステムズのBCP(事業継続計画)用語辞典

ブルートフォースアタック(総当たり攻撃)とは?そのやり方・実際にかかる時間・対策方法は?

クロスサイトスクリプティング(XSS)のセキュリティ対策とは? | セキュリティ対策 | CyberSecurityTIMES

SQLインジェクションを防ぐ対策とは|わかりやすく仕組みを解説|セキュリティコラム|株式会社網屋