馬場 健聡 情報実験第 2 回 2010/04/23 (初版作成:河野 仁之) 最低限UNIX(1) パスワードの基礎 馬場 健聡 情報実験第 2 回 2010/04/23 (初版作成:河野 仁之)
もくじ パスワードの必要性・重要性 パスワード盗用による被害 悪いパスワード・良いパスワード UNIX におけるパスワード管理
日常におけるパスワード 本当に使っていい 人間なのかを認証 するもの 銀行口座, クレジットカードの暗証番号 自動証明書発行装置 (ACM) の暗証番号 SNS (mixiなど) のログインパスワード などなど・・ 本当に使っていい 人間なのかを認証 するもの ACM 要調査
したがってパスワードによる認証を行っている UNIX におけるパスワード UNIX も複数の人間で PC を共有することを前提に設計 システム管理者 (スーパーユーザ, root) と一般利用者 (ユーザ) root がユーザに利用権限(アカウント)を配布 アカウントを持たない人による不正利用を防ぐことが必要 したがってパスワードによる認証を行っている
利用者全員に適切なパスワードの設定が義務づけられる パスワードは 不正利用の防御策 利用開始手続き(ログイン)時の認証 ユーザ名 + パスワード 利用者全員に適切なパスワードの設定が義務づけられる
パスワードの盗用危険性 インターネットに繋がっている PC は悪い人達から常にパスワードクラック (パスワードを見破る行為) などの攻撃を受けている 甘い(悪い)パスワードをつけると, すぐにパスワードが盗用されてしまう…
パスワードが盗用されると どのような被害に遭うのか? パスワードが盗用されると どのような被害に遭うのか?
パスワードが盗用された時のの被害 第一段階 : 本人が困る 第二段階 : 周囲の人が困る 第三段階 : 世界の人が困る 本人情報やデータの流出、悪用、破壊 例えば明日朝 9 時締切のレポートが消える 第二段階 : 周囲の人が困る 個人情報の流出, 共用システムやその中の資源が破壊 例えば inex の website が消える 第三段階 : 世界の人が困る 乗っ取られた PC を足がかりに他の PC が攻撃される
本人が困る パスワードクラックにより, A さんのパスワードを入手 A さんに成り済ましてログイン PC の不正利用(クラック)開始 ! 攻撃ではない単語で!!それまでに出てきた単語を使用!! パスワードクラック、ダ兼情報の取得、スパムの用語説明
周囲の人が困る 世界の人が困る パスワードクラックにより root アカウントを入手 PC 内の全ユーザの情報を見放題 クラックした PC を利用して、他の PC へパスワードクラック 出来るだけ多くの数の PC をクラックし, 次の(よりよい)獲物へ
クラックされた PC の行く末 一度クラックされた PC のホスト情報は裏で出回る 最終的にはホスト名の廃止へ セキュリティーの甘いホストであると認識され, どんどん攻撃を受ける 数ヶ月ごとにパスワードを盗まれる ! 最終的にはホスト名の廃止へ そういえば情報実験機には joho21 というPC がありませんね… このスライドがブラックすぎると思ったら消してくださいね (2007/10/12, 光田)
パスワードは PC を守る盾
「PC を守る盾」になるためには どんなパスワードでも 「PC を守る盾」になるとは限らない 自分だけの「良い」パスワードをつける事が重要 甘い(悪い)パスワードは全く無意味 自分だけの「良い」パスワードをつける事が重要
「良い」パスワードのつけ方 大文字、小文字、数字、記号を少なくと も 8 文字以上 並べる 制限文字数を超えて並べた場合、先頭が有効とされる 辞書に載っているような単語, 個人情報などから容易に連想できる単語はパスワードにしない
なぜ 8 文字以上なのか?? 全件探索: Brute Force Attack 長いパスワードならばクラックは困難 パスワードとして可能なすべての組み合わせを試す 長いパスワードならばクラックは困難 400 万アタック/秒 (Core2 Duo T8300 (2.4GHz) マシン 1 台相当)では … 5 文字 : 約 23 分 30 秒 6 文字 : 約 35 時間 7 文字 : 約 129 日 8 文字 : 約 31 年 9 文字 : 約 2809 年 *パスワードに使う文字を アルファベットの大文字・小文字, 数字, ~@#$%^&*()_+-=[]{},.\“/?:;` の全 89 文字とした場合
推測しやすいパスワードは ダメ !!! 例) 名前 馬場 健聡, ログイン名 kintore, 北海道札幌市在住, tel 012-333-4567 ログイン名, 名前, それに類するもの Baba, Takeaki, kintore, babakin, toretore 「sを$」「oを0」「iを1」など単純な規則「だけ」で変えたもの k1nt0re, Takeak1 個人情報から推測できるもの 012333-4, sapp-Hokk 例を変更
長くても推測しやすい パスワードはダメ !!! 1 辞書探索: Dictionary Attack 様々なデータから単語を抽出し, クラッキング用辞典を作成 登録単語総数は 100 万語とも… オンライン英和辞典で 8 万語 専門用語や趣味の単語まで網羅 Brute Force Attack よりも早くクラックされてしまう可能性大! 並びを考える こんなパスは駄目→なぜか??
長くても推測しやすい パスワードはダメ !!! 2 人名、辞書に載っている単語(英和問わず)、コマンド、固有名詞 上記の繰り返し, 逆綴り kuramoto, flower, aozora, adduser, salomon, japan 上記の繰り返し, 逆綴り flowerflower, rewolf マニアックな単語もダメ floccinaucinihilipilification antidisestablishmentarianism 全部同じ数字や同じ文字 1111111111, aaaaaaaaaa
パスワードマナー 人が打鍵しているところは見ない (視線をそらす) アカウント (パスワード) の貸し借りはしない パスワードは他人に教えない (管理者にも) パスワードは出来るだけメモせず、記憶する メモする場合絶対 捨てない ・ 見せない ・ なくさない 別のマシンでは別のパスワードを使う パスワードは頻繁に変更する 初期パスワードは最初のログイン時に変更
UNIX における パスワード管理
UNIX におけるパスワード管理 UNIX (Linux) ではデータは「ファイル」という形で記録, 管理 ファイルを整理するために「ディレクトリ(フォルダ)」 が存在 ディレクトリ自身もファイルの一種 中に格納されているファイル名一覧が明記 パスワード等の利用者に関する情報もファイルとして保存 /etc ディレクトリの passwd, shadow, group で ユーザー情報を記録, 管理 話が代わるので、その説明 UNIX システムの管理者の話
Passwd, shadow, group ファイル ユーザの基本情報を記録. ユーザは閲覧可 Shadow 暗号化されたパスワード情報を記録. ユーザは閲覧不可 Group グループの基本情報を記録 UNIX には柔軟な管理の目的でグループという概念がある. どのユーザも必ずいずれかのグループに属している.
Shadow ファイルと暗号化 1 Shadow ファイルの中身 addii:$1$Utev74.c$dyH520./rf0pQydGHu6f01:14962:0:99999:7:::0 adom:$1$yfr59.ND$n0FRdB.GTdsC9.Hyr4dTr3:14965:0:99999:7:::0 adison:$1$e.H/te0$prwgyr6GYr5.kOC.g3llX.:14968:0:99999:7:::0 adon:$1$y.JgtEf5$lp.TH..7esCf7fpHYre4./:14965:0:99999:7:::0 bob:$1$Dol/are4$r3M4h6.dlWYo9goIcGY64.:14961:0:99999:7:::0 david:$1$OgoWhdOf$uhBfrD./07c5TG43.ZqP/V:13965:0:99999:7:::0
Shadow ファイルと暗号化 2 暗号化されたパスワード パスワードは暗号化されて格納 古くは crypt が利用されていた. addii:$1$Utev74.c$dyH520./rf0pQydGHu6f01 暗号化されたパスワード パスワードは暗号化されて格納 暗号化には MD5 が利用される 古くは crypt が利用されていた.
パスワードの暗号化 MD5 を使うための記号 暗号化に使う 乱数(Salt) 暗号化された パスワードの実体 MD5 をつかうと… addii:$1$Utev74.c$dyH520./rf0pQydGHu6f01 MD5 を使うための記号 暗号化に使う 乱数(Salt) 暗号化された パスワードの実体 MD5 をつかうと… dyH520./rf0pQydGHu6f01 = cript(Passwd, $1$Utev74.c) このように暗号化の手順は非常に簡単 ログイン時は入力したパスワードを暗号化し, それが /etc/shadow の内容と一致するかを判断
まとめ UNIX では アカウント ユーザーがコンピュータを利用する権限 パスワード アカウントの利用者認証 「良い」パスワードじゃないと無意味 UNIX では アカウント情報を /etc 以下の passwd, shadow, group に記録
実習では 実習編では情報実験機にアカウントを作成します。あなただけの「よい」アカウント名とパスワードを 考えてください! パスワードクラックをかけます。破られてしまった人には追加のレポートを課すので、覚悟していて下さい!
参考文献1 ・ 強力なパスワード: その作り方と使い方 Microsoft https://www.microsoft.com/japan/protect/yourself/password/create.mspx ・WIDE インターネット概論 第08回(2004/11/26) 「パーソナル・セキュリティhttp://www.soi.wide.ad.jp/class/20040025/materials_for_student/08/gairon-2004f08-RELEASE.pdf ・IT用語辞典 e-Words – セキュリティ – http://e-words.jp/p/c-security.html ・IT media 「覚えやすく破られにくいパスワードを作る方法」 http://www.itmedia.co.jp/enterprise/articles/0911/26/news020.html
参考文献2 ・ITpro 「攻撃は 15 分で完了する」 -- 不正侵入, その実際の手口 http://itpro.nikkeibp.co.jp/article/COLUMN/20060803/245101/ ・良いパスワードとは http://www.7key.jp/security/pw.html ・@IT --パスワードが安全か調べるには(John the Ripper編) http://www.atmarkit.co.jp/flinux/rensai/linuxtips/244johnripper.html ・パスワード自動生成ホームページ http://www.maido.co.jp/network/passmake2.html