日の出

自由気ままに思ったことを書きます。

セキュリティ:代表的な攻撃手法

情報社会で生きる限り、コンピュータとインターネットの使用は避けられない。身近に浸透したコンピュータとインターネットの中に潜む危険を知っておくというのが重要だ。そのためにはどのような攻撃手段があるのかを把握しておくのがいい。これを把握していれば、どのような場面で危険に遭遇しそうなのかをある程度予測できる。

 

 

 

Webアプリケーション

Webアプリケーションはプログラミングの仕方によって脆弱性を持つことがあり、外部からの攻撃を受ける可能性がある。以下にその代表的な例を挙げる。

 

バッファオーバーフロー

ブログラムの入力データは、一旦データ受け入れのための記憶領域(バッファ)に格納される。プログラムが想定しているサイズ以上の大量のデータを送り込んで、バッファを溢れさせることにより、システムの破壊を試みたり、あるいは悪意のあるプログラムを実行させたりする手法をバッファオーバーフロー攻撃という。

原因となる大容量のデータを受け付けないようにプログラムを作成しておく必要がある。

 

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

Webサイトを経由して悪意のあるスクリプト(プログラム)をWebブラウザ側で動作させる攻撃をクロスサイトスクリプティング攻撃という。

本来は信頼していないWebサーバーからはスクリプトは受け付けないように設定されている。しかし、この攻撃では信頼しているWebサーバーからスクリプトが送られているように見せることで、Webブラウザにそのスクリプトを実行させる。

入力内容の妥当性を検査し、不正な入力を排除するようにすることが重要となる。

 

SQLインジェクション

データベースを利用するアプリケーションに対して不正な操作を要求し、情報の改ざんや破壊を行う手法をSQLインジェクション攻撃という。

データベースの操作はSQLと呼ばれるルールの決まった文字列(プログラミング言語のようなものだ)を使って行われる。アプリケーションの入力データに不正な文字列を混入させることで、意図しない操作を実行させるのがSQLインジェクションの狙いとなる。

これも入力された文字列が妥当なものであるかを検査する必要がある。

 

その他の様々な攻撃手法

DoS/DDoS攻撃

大量のデータを送りつけることで、通信回線を渋滞に陥らせ、サーバを麻痺させる攻撃がDoS攻撃である。これを複数台のコンピュータが行うのがDDoS攻撃である。

 

トロイの木馬と踏み台攻撃

一見無害なプログラムを装ってユーザー自らに取り込ませ、コンピュータに侵入するマルウェア(悪意を持ったソフトウェアの総称:マルウェア)である。無闇にインターネットに公開されているデータをダウンロードすると、それがトロイの木馬だったということが起こりかねない。

トロイの木馬によってコンピュータが(水面下で)乗っ取られ、他のコンピュータに対して攻撃を行うことがある。例えば、知らぬ間に大量のメールを誰かに送信していたりなどのケースが考えられる。このように他人のパソコンに侵入して、そのパソコンから攻撃を行うことを踏み台攻撃という。トロイの木馬に感染させられ、DDoS攻撃に参加させられるようなことは避けたい。

 

ポートスキャン

通信用経路のポートを順番にアクセスして、通信可能となっているポートを調べることをポートスキャンという。ポートスキャンは本格的に攻撃をする前の準備作業で行われる。

 

フィッシング

有名企業などを装ったメールを送りつけることで偽のWebサイトに誘い込み、情報を抜き出す手法をフィッシングという。具体例としては銀行やクレジットカード会社を装い、WebサイトにアクセスさせIDやPWを入力させられるケースがある。

 

DNSキャッシュポイズニング

DNSサーバーに誤った管理情報を混入させ、偽のウェブサーバーに利用者を誘導する。

 

ゼロデイ攻撃

ソフトウェアが公開されてから、ソフトウェアの脆弱性が発見されアップデートされる前に、その脆弱性を突いて行われる攻撃をゼロデイ攻撃と呼ぶ。ソフトウェアは通常、バグなどの脆弱性を完全には失くせないものだと考えておいたほうがいい。表面に出てこなくともソフトウェアは完璧にバグが無いということはない。

 

 

 

my-hotnews.hatenablog.jp