セキュリティ(2) 05A2013 大川内 斉
今回の内容 様々なセキュリティに関する技術がある中で 今回は、実際の攻撃(アタック)についての検証を行った
バッファオーバーフロー (バッファオーバーラン) ・セキュリティホールを悪用した攻撃で、システムが想定しているサイズ以上の大量をデータをバッファに送り込むことにより、システムを機能停止にしたり、意図的なデータを与えることにより、制御が奪われてしまう 対策 パッチ(修正プログラム)を当てる バッファサイズを指定できる命令を使う 自動的なチェック機能
バッファオーバーフローの例 実行例 { int m; ・・・・ } int main() char str[3]; test() { int m; ・・・・ } int main() char str[3]; char str2[3]; ・・・・ printf("str = %s\n",str); printf(“str2 = %s\n",str2); scanf("%s",&str); printf("str = %s\n",str); printf("str = %s\n",str2); test(); 実行例
バッファオーバーフローの仕組み 配列の領域や戻り値アドレスはそれぞれ独立しているのではなく スタックの中身 不正なプログラムコードと偽のアドレスでオーバーフロー test()の内部変数mの領域 main()への戻り値アドレス str2の格納領域(3バイト) 不正な プログラムを実行 偽のアドレスで書き換える strの格納領域(3バイト) 配列の領域や戻り値アドレスはそれぞれ独立しているのではなく 連続した領域(実際には余分に取っている)に格納されている
・ターゲットのホストまたはサービスを利用できなくすることが目的。過負荷をかけたり、例外処理によってサービスを停止させる DoS攻撃(サービス拒否攻撃) ・ターゲットのホストまたはサービスを利用できなくすることが目的。過負荷をかけたり、例外処理によってサービスを停止させる ping flood、mail bomb、smurfアタックなど DDos(分散サービス拒否攻撃) ・DoS攻撃の分散型で、多くのコンピュータがターゲットに対して行う攻撃。攻撃主は不正なプログラムを仕掛けられ踏み台となったコンピュータ 踏み台 踏み台 踏み台 アタッカー ターゲット
pingコマンド ・ TCP/IPのネットワークでパケットが接続先まで 届いているかを確認 相手先ホストに対してICMPのエコー要求パケットを送信し、相手からICMPエコー応答パケットが返信されれば接続できる ① ICMPエコー要求 ② ICMPエコー応答
ping floodの検証 5% 100% 0% 0% 通常時のネットワーク状況 Ping flood時のネットワーク状況 単純な攻撃法だが効果はある ファイアウォールやルータ等でICMPパケットを破棄する 受け付けるパケット数を制限する(通常のpingと見分ける)
今後の予定 攻撃法の検証と分析 コンピュータウィルス セキュリティに関連するソフトの作成
参考資料 サイト ・Wikipedia http://ja.wikipedia.org/wiki/ ・IT用語辞典e-Words http://e-words.jp/ ・ITpro http://itpro.nikkeibp.co.jp/ 書籍 ・ハッカーの教科書