情報セキュリティの3要素とは
情報セキュリティの3要素とは、機密性、完全性、可用性のことです。システムが守るものを、この3つで言い表します。
事故が起きたとき、どの要素が破られたかが分かれば、原因も直し方もすぐ見つかります。
小さな会社の共有サーバで、月曜の朝に3つの問題が起きました。給与表を社外の人が読み、請求書の金額が書き換えられ、サーバが半日止まりました。
このレッスンのゴール
メモ
システムが守るべきものと、それを脅かす脅威を挙げることができる。
キーワード
| ことば | いみ |
|---|---|
| 機密性 | 許された人だけが情報を見られること |
| 完全性 | 情報が正しく、勝手に変えられていないこと |
| 可用性 | 必要なときに使えること |
| 脅威 | 害を与えるかもしれない原因 |
| 脆弱性 | 守りの弱いところ |
| 攻撃 | 脅威が実際に行われること |
学生が入力するセルは、このプレビューでは空白です。
3要素は守るものの3つの面
機密性は、見てよい人だけが見られることです。完全性は、情報が正しく、誰かに勝手に変えられていないことです。可用性は、使いたいときに使えることです。
3つは別々の性質です。1つが守られても、他の2つが守られているとは限りません。
事故を3要素に分ける
| 要素 | 守ること | 破られた例 | 主な守り方 |
|---|---|---|---|
| 機密性 | 見てよい人だけが見る | 給与表を社外の人が読んだ | 権限、暗号化 |
| 完全性 | 勝手に変えさせない | 請求書の金額が書き換わった | 変更の記録、ハッシュ |
| 可用性 | 必要なときに使える | サーバが半日止まった | バックアップ、冗長化 |
学生が入力するセルは、このプレビューでは空白です。
機密性はファイルの権限で守る
Linux では、ファイルごとに、読める人がモードで決まっています。600 なら、読み書きできるのは所有者だけです。
自分のホームフォルダに、給与表に見立てたファイルを作り、モードを変えて、stat で見ましょう。stat -c "%A %n" は、モードの文字とファイル名だけを表示します。
給与表に見立てたファイル
echo "salary list" > secret.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
所有者だけが読み書き
chmod 600 secret.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
モードを見る
stat -c "%A %n" secret.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
完全性は変更に気づけること
書き換えを完全に防ぐのは難しいので、変わったことに気づく仕組みも大切です。その1つがハッシュです。
ハッシュは、内容から作る、決まった長さの文字列です。内容が1文字でも変わると、ハッシュは大きく変わります。sha256sum で試しましょう。
請求書に見立てたファイル
echo "pay 1000 yen" > report.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
最初のハッシュ
sha256sum report.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
金額を書き換える
echo "pay 9000 yen" > report.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
書き換えたあとのハッシュ
sha256sum report.txtここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
可用性はサービスが動いていること
可用性は、止まらず動いていることです。サービスが動いているかは、systemctl is-active で調べられます。
このラボのサーバでは、定期実行を担当する cron が動いています。動いていれば active と表示されます。
cron は動いているか
systemctl is-active cronここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
よくある間違い
注意
「情報を外に漏らさなければ、安全だ」と考える人が多くいます。でも、書き換えられても、止まっても、事故です。3要素のすべてに、守り方を用意しましょう。
脅威、脆弱性、攻撃は別のもの
脅威は、害を与えるかもしれない原因です。たとえば、悪意のある人、ミス、停電、火事です。
脆弱性は、守りの弱いところです。たとえば、誰でも読めるモードや、更新していないソフトです。攻撃は、脅威が脆弱性を突いて、実際に行うことです。
脆弱性を減らせば、同じ脅威でも被害は小さくなります。