情報危機管理
「危機管理」はどこでも必要。(部屋に鍵をかけるとか、ミサイル防衛構想とか、、、)
「情報」はネットワークの発達により、簡単に「危機」がやってくる。
「事件」と「対策」
・計算機をダウンさせた
実例:
| (1) プロセスを何個 fork() できるか試して見た。
(2) メモリーをどれだけ malloc() できるか試して見た。
|
---|
対策:
| 該当者のアカウントが剥奪された。
|
---|
・不正な計算機資源の利用
実例:
| メールサーバで大規模な計算を行っていた。
|
---|
対策:
| ユーザプロセスを監視。nice を使うように教育。
|
---|
実例:
| ディスクを大量に消費(フリーソフトのコンパイル・インストール)
|
---|
対策:
| ディスク・クォータ (quota) を使い、制限。必要なソフトは管理者がインストール。
|
---|
・メールの不適切な利用
実例:
| 添付メールをクラス全員にばら撒く。
|
---|
対策:
| 一通の大きさを制限(1MB)
|
---|
実例:
| ウィルス付きメールが来る。
|
---|
対策:
| 受信時にスキャンして隔離する(procmail)。副作用として一部添付メールが受信できない。
|
---|
例: | チェーンメール・ネズミ講・デマ情報
|
---|
対策: | 教育
|
---|
誹謗中傷・プライバシー侵害
運用ポリシー
・商業利用
・利用料金
・組織のネットワークの私的利用
・サーバー開設の可否
Webページの対象
ユニバーサルアクセス、バリアフリー
異なる価値観
自由な情報発信
運用規約・管理組織
運用規約(運用ポリシーの成文化)
システム管理組織(ポリシーを実現する人たち)
・技術的なこと・法律的なこと・経営的なこと
技術的なこと(監視を含む)と人間教育の問題
不正アクセスとセキュリティ
認証(パスワード)
・パスワードの管理(個人・システム管理者)
・パスワード認証の仕組み
UNIX のパスワードファイル
・/etc/passwd /etc/shadow
tkikuchi@nws% /www/bin/htpasswd -c passwd tokio
New password: ← 見えない hogehoge と入力
Re-type new password: ← 同じく
Adding password for user tokio
tkikuchi@nws% cat passwd
tokio:WI/U/s091SyLs
tkikuchi@nws% cat pass.c
#include <stdio.h>
#include <crypt.h>
main() {
char *salt = "WI";
char *passwd;
char *plain = "hogehoge";
passwd = crypt(plain, salt); # 暗号化
printf("%s\n", passwd);
}
tkikuchi@nws% gcc -o pass pass.c
tkikuchi@nws% ./pass
WI/U/s091SyLs
|
・crack というプログラム -- あてずっぽうのパスワード解読プログラム
(ログインを繰り返したら怪しまれるので、パスワードファイルを手に入れて
自分のマシンで実行する)
・パスワードは何通り?
A-Za-z0-9(62文字)/長さ8文字 ... 218,340,105,584,896通り
a-z0-9(36文字)/長さ6文字 ...... 2,176,782,336通り
1通りを試すのに 1μ秒として全部試すのにどのくらい時間がかかるだろうか?
組織の内部と外部を分ける
1. 外部へアクセスできるホスト・PC
2. 外部からアクセスできるサーバ
Proxy(代理)サーバの利用と管理
システム侵入の手口
1. サーバの脆弱性(vulnerability)を突く
2. 裏口を開ける
3a. パスワードファイルを取る
3b. パケットスニッファ(packet sniffer)を仕掛ける
4. 正規ユーザになりすます
サーバの脆弱性とは? ... バッファ・オーバフロー(buffer overflow)
・バッファ・オーバフローするプログラムの例
#include
main() {
char buf[4];
gets(buf);
puts(buf);
}
|
sscanf() でなく fgets() + sscanf() を使う.
printf() でなく snprintf() を使う.
(man ... を読む)
・脆弱性の例
匿名性の悪用
・Web 掲示板
・Proxy
・フリーメール
電子メールによる広告(SPAM)
・メールの不正中継
・振り分け(パターン、確率)
暗号