攻撃手法

ウイルス

トロイの木馬 -> 派生してワーム
キーロガースパイウェア

システムの攻撃方法

バッファオーバーフロー

スタックA

                                        • -

arr

n

                                        • -

リターンアドレス

                                        • -

スタックB

                                        • -

data

                                        • -

Cなどに昔から存在する脆弱性
バッファに対して、意図的にオーバーフローさせてあふれたデータを別なメモリ領域に上書きさせる。
リターンアドレスを書き換えてべつな関数を実行させることも可能。

シェルコード

攻撃者がシェルを起動させてコマンドを受け付けるようにするプログラム。
UnixLinuxにはsetuid機能がある。すなわち本人ではなくファイルのオーナの権限でプログラムを実行出来てしまう。

対策
OSおよび使用するソフトのバージョンを最新にしてパッチを適用させる。
ファイやウォールで不正アクセスを遮断する。

開発者としての対策
C/C++には脆弱性が多く含まれる。
脆弱性のある関数は使わない。strcpyなど。
バッファのサイズを厳しくチェックする。

バッファードオーバフローを利用した攻撃
1.シェルコード 最初にやること、シェルを起動させる。
2.ルートキット ログなどの侵入した形跡を改ざんする。
3.バックドア 次回侵入が楽になるようにする。
4.キーロガー コンピュータのキー入力を記録するソフト。

ハニーポット
有益そうな情報や資源がありそうな場所を用意する。
攻撃者をおびきよせる。

DoS攻撃
Denial of Service attack(サービス不能攻撃)
可用性を侵害する。

想定される被害
CPUやメモリを圧迫する。

原因
セキュリティホールを攻撃。
ネットワーク通信の仕組みを悪用。

Dos攻撃種類
1.SYN Flood攻撃
SYNパケットを大量に送りつける

2.UDP Flood攻撃
UDPポートにサイズの大きなパケットを大量に送り続ける

3.ICMP Flood攻撃
ICMP echo requestを大量に送り続ける

4.Smurf攻撃
発信元アドレスを偽装し、ターゲットホストが接続されたネットワークに攻撃をする。
すると、レスポンスが偽装されたアドレスに返ってくる。

5.Connection Flood
ターゲットのTCPポートに対してコネクションを確立しつづける

6.DDos攻撃
Distributed DoS
分散型DoS攻撃

7.DRDoS攻撃
Distributed Reflection DoS
分散反射型サービス不能攻撃

DoS攻撃対策
十分な帯域のネットワークを用いる。
十分な処理能力をもつサーバやネットワークを機器を用いる。

ディレクトリトラバーサル

Webサーバ内のファイル閲覧
Webサーバ内のファイルの改ざん

サーバ内のファイルを直接閲覧しているようなサイトで、
http://192.168.2.183:8080/dt/reader?fileName=../../../../../../../etc/passwd
などのパラメーターでファイルが読み取られてしまう脆弱性
%00は文字列の終端を表す。

対策

OSコマンドインジェクション

外部プログラムを呼び出しているようなシステムの脆弱性
OSコマンドを呼び出さなければいけなくなったら十分緊張すること。
; cat /etc/passwd

対策
; , [ ,] ,| ,< ,> ,\のサニタイズ

XSS

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

想定される被害
1.ブラウザが保存しているCookie値の盗み出し。
2.Javascriptによるウイルス
3.画面の書き換え

原因
1.JSのコードを注入できてしまう。
2.入力されたパラメータをそのまま表示させることで、意図せずHTMLの構造が変更される。

フォームが書き替わってしまう。

1.掲示板のシステムでjsが注入できた状態で保存できる (持続型)
2.パラメータを含んだURLを踏まされる (反射型)
※実行例
http://192.168.1.200:8080/xss/input.jsp?name=">


要素の中身を動的に生成しない
3.CSSを外部から読み込めるようにしない expression()関数を利用してスクリプトを記述できてしまう

SQLインジェクション

被害
1.データベースの内容が盗まれる
2.データベースの内容が書き換えられる
3. 不正ログイン
4.ストアドプロージャを利用したOSコマンドの実行

原因
1.任意のSQL文を注入できる
2.入力されたパラメーターをそのままSQL文に含めることで意図せずSQL文が変更される

対策
1.プレースホルダを利用する ? みたいなもの
2.プリペアドステートメントを使う

CSRF

被害
1.ログインユーザが利用可能なサービスの悪用
2.ログインユーザが可能な情報の改ざん

原因
1.想定外のページから任意のPOSTを送信する事が出来る

仕組み
何らかの方法で身元情報を保持している。
CookieのセッションID
Basic認証
SSLクライアント証明書

三者中継サーバからの自動POSTでもセッション情報は送信されてしまう。

対策
1.固定トークンを埋め込む
2.ワンタイムトークンを埋め込む
3.パスワードの再入力
4.リファラのチェック