よく出てくる用語
・JIS Q 27001 機密性、完全性、可用性
・不正のトライアングル(機会、動機、正当化)
・エクストリームプログラミング
・VXLAN
・LRU
・OpenGL、PNG、SVG、TIFF
・CASCADE、RESTRICT、SET DEFALT、SET NULL
・セッションハイジャック
マルウェア
マルウェアとは、コンピュータやスマホに害を与える目的で作られたプログラムの総称です。
スパイウェア
個人情報(パスワードやクレジットカード情報など)をこっそり収集します。
・マクロウィルス
ウイルス
他のファイルに寄生して増殖し、データを壊したり動作を不安定にします。
ワーム
自分自身でネットワークを通じて拡散するマルウェアです。
トロイの木馬
一見便利なソフトのように見せかけて、裏で情報を盗みます。
ランサムウェア
ファイルを暗号化して使えなくし、「元に戻してほしければお金を払え」と要求します。
マクロウィルス
アプリケーションの「マクロ機能」を悪用して感染・拡散するマルウェアの一種です。
例えば、Microsoft Excel や Microsoft Word には、作業を自動化する「マクロ(VBA)」という機能があります。
マクロウイルスはこの仕組みを使って、
- ファイルを開いた瞬間に自動実行される
- 他のファイルに自分をコピーする
- 勝手にメール送信やデータ改ざんを行う
といった動きをします。
感染の流れ(よくあるパターン)
- メールで「請求書です」「重要資料です」などのExcel/Wordファイルが届く
- 開くと「マクロを有効にしてください」と表示される
- 有効にした瞬間、ウイルスが実行される
👉 この「有効にしてください」が最大の罠です
データベースの第2正規化と第3正規化の違い
👉 「何に依存しているか」が違いの本質です。
第2正規化(2NF)
👉 主キーの“一部”にだけ依存している列をなくす
主キーが複合キー(2つ以上の組み合わせ)のときに起きる問題。
例
注文テーブル
--------------------------------
注文ID | 商品ID | 商品名 | 数量
--------------------------------
1 | A | りんご | 2
1 | B | みかん | 1
主キー:注文ID + 商品ID
でも…
- 商品名 → 商品IDだけで決まる
👉 注文IDいらないよね?
問題点
- 同じ商品名が何度も出る(冗長)
- 修正ミスが起きる
解決(第2正規化)
注文テーブル
注文ID | 商品ID | 数量
商品テーブル
商品ID | 商品名
👉 「複合キーの一部だけに依存する列」を分離する
👉 主キー以外の列に依存している列をなくす(=間接依存を排除)
第3正規化(3NF)
例
社員テーブル
--------------------------------
社員ID | 部署ID | 部署名
--------------------------------
1 | D1 | 営業
2 | D2 | 開発
主キー:社員ID
でも…
- 部署名 → 部署IDで決まる
👉 社員ID関係なくね?
問題点
- 部署名を何度も書く
- 部署名変更で不整合
解決(第3正規化)
社員テーブル
社員ID | 部署ID
部署テーブル
部署ID | 部署名
👉 「主キー以外に依存してる関係」を分離
超シンプルまとめ
| 正規化 | ポイント |
|---|---|
| 第2正規化 | 主キーの一部依存を排除 |
| 第3正規化 | 主キー以外への依存を排除 |
イメージで覚えると一発
- 第2正規化
👉「主キー全部見てないやつ、出ていけ」 - 第3正規化
👉「お前、他の列に頼ってるな?出ていけ」
一言で言うと
- 2NF:部分依存の排除
- 3NF:推移的依存の排除
セキュリティ情報
- CVE → 脆弱性そのものに付く「番号」
- CVSS → 脆弱性の「危険度スコア」
- CWE → 脆弱性の「種類(原因)」
- JVN → 日本向けの「情報まとめサイト」
① JVN
👉 日本版の脆弱性ポータル
- IPAとJPCERT/CCが運営
- 日本語でわかりやすく脆弱性情報を提供
- 対策や影響もまとめてある
💡イメージ
「日本語で読める公式まとめサイト」
② CVE
👉 脆弱性に付く「世界共通ID」
- 例:CVE-2024-12345
- 1つの脆弱性に1つの番号
- 世界中で共通認識できる
💡イメージ
「脆弱性のマイナンバー」
③ CVSS
👉 脆弱性の「危険度スコア」
- 0.0〜10.0で評価
- 9.0以上 → 超ヤバい
- 攻撃のしやすさ・影響範囲などで計算
💡イメージ
「この脆弱性どれくらいヤバいの?」を数値化
④ CWE
👉 脆弱性の「種類・原因」
- 例:
- SQLインジェクション
- バッファオーバーフロー
- 設計・実装ミスの分類
💡イメージ
「なんでこの脆弱性が起きたのか」
まとめ(超重要)
| 用語 | 役割 | たとえ |
|---|---|---|
| CVE | 脆弱性のID | 名前・番号 |
| CVSS | 危険度 | 強さ・ヤバさ |
| CWE | 原因・種類 | 病名 |
| JVN | 情報サイト | 病院の掲示板 |
一言で整理すると
- CVEで特定して
- CVSSで優先度決めて
- CWEで原因分析して
- JVNで日本語で確認する
TCPスキャン、SYNスキャン、FINスキャン、NULLスキャン
| スキャン | 特徴 | バレやすさ |
|---|---|---|
| TCPスキャン | 普通に接続する | バレやすい |
| SYNスキャン | 途中でやめる | ややバレにくい |
| FINスキャン | 変なパケット送る | バレにくい |
| NULLスキャン | フラグなし | バレにくい |
① TCPスキャン(フルコネクト)
👉 正式名称:TCP connect scan
- 普通に接続(3ウェイハンドシェイク)する
- OSの機能を使うので簡単
動き
- SYN送る
- SYN/ACK返る(←ポート開いてる)
- ACK送る(接続完了)
💡特徴
- 確実にわかる
- ログに残る(バレやすい)
② SYNスキャン(ハーフオープン)
👉 一番よく使われる
動き
- SYN送る
- SYN/ACK返る(←開いてる)
- RST送って切断(接続しない)
💡特徴
- 接続完了しない
- ログに残りにくい
- 高速
👉通称:「ステルススキャン」
③ FINスキャン
👉 TCPフラグのFINだけ送る
動き動き
- 閉じてるポート → RST返る
- 開いてるポート → 無反応
💡特徴
- ちょっと変態なやり方
- 古いOSや設定だとバレにくい
⚠️注意
- Windowsは効かないことが多い
④ NULLスキャン
👉 フラグを何も立てずに送る
動き
- 閉じてる → RST
- 開いてる → 無反応
💡特徴
- かなり異常なパケット
- IDS回避に使われることがある
重要な違いまとめ
| 項目 | TCP | SYN | FIN | NULL |
|---|---|---|---|---|
| 接続する? | する | しない | しない | しない |
| 正常通信? | YES | 半分 | NO | NO |
| 検知されやすさ | 高い | 中 | 低 | 低 |
| 信頼性 | 高い | 高い | 低め | 低め |
超ざっくり覚え方(試験用)
- TCP → 正攻法(正直者)
- SYN → 途中で逃げる(ずるい)
- FIN → 終了だけ送る(変)
- NULL → 何もなし(もっと変)
ブルートフォースアタック、辞書攻撃、逆ブルートフォースアタック、レインボーテーブル攻撃
これも全部「パスワードを突破する攻撃」だけど、狙い方と効率の考え方が違う。
一発で整理できるようにいく👇
全体イメージ
| 攻撃 | 何を固定する? | 何を変える? | 特徴 |
|---|---|---|---|
| ブルートフォース | なし | 全部試す | 力技 |
| 辞書攻撃 | よくある単語 | 単語リスト | 効率重視 |
| 逆ブルートフォース | パスワード | ユーザー | ロック回避 |
| レインボーテーブル | ハッシュ | 事前計算 | 超高速 |
① ブルートフォースアタック
👉 総当たり攻撃
- すべての組み合わせを試す
- 例:aaaa → aaab → aaac …
💡特徴
- 確実に当たる(理論上)
- めちゃくちゃ遅い
👉イメージ
「鍵を全部試す」
② 辞書攻撃
👉 よく使われるパスワードだけ狙う
- “password”“123456”“qwerty”など
- 実際の漏洩データを元にしたリストも使う
💡特徴
- ブルートフォースより圧倒的に速い
- 人間のクセを利用
👉イメージ
「ありがちな鍵だけ試す」
③ 逆ブルートフォースアタック
👉 発想が逆
- 1つのパスワードを固定(例:123456)
- いろんなユーザーに試す
💡特徴
- アカウントロック対策を回避しやすい
- 「弱い人」を探す戦略
👉イメージ
「同じ鍵で家を片っ端から試す」
④ レインボーテーブル攻撃
👉 ハッシュ解読のチート技
- パスワードそのものではなく
→ ハッシュ値(暗号化された値)を対象にする - あらかじめ
→「ハッシュ ⇔ 元のパスワード」の対応表を作っておく
💡特徴
- めちゃくちゃ速い(検索するだけ)
- ただし
- ソルト付きだとほぼ無効
👉イメージ
「答えが載ってるカンニング帳」
超重要な違い(試験ポイント)
| 観点 | 見分け方 |
|---|---|
| 力技か? | → ブルートフォース |
| リスト使う? | → 辞書攻撃 |
| ユーザーを変える? | → 逆ブルートフォース |
| ハッシュを解読? | → レインボーテーブル |
実務での防御ポイント
- ブルートフォース / 辞書
→ ロック・多要素認証 - 逆ブルートフォース
→ パスワードの使い回し禁止 - レインボーテーブル
→ ソルト付きハッシュ(超重要)
一言まとめ
- ブルートフォース:全部試す
- 辞書攻撃:よくあるのだけ
- 逆ブルートフォース:人を変える
- レインボー:事前に答え作っとく
ブルートフォースアタック、辞書攻撃、逆ブルートフォースアタック、レインボーテーブル攻撃
CVE CCE CWE CPE CVSSの違い
セキュリティの世界でよく出てくる略語ですが、役割がそれぞれ違います。
ざっくり言うとこうです。
| 用語 | 何を表す? | 例 |
|---|---|---|
| CVE | 脆弱性そのもののID | 「Windowsの○○に脆弱性」 |
| CCE | セキュリティ設定ミスのID | 「パスワードポリシーが弱い」 |
| CWE | 脆弱性の“種類” | 「SQLインジェクション」 |
| CPE | 製品名の標準表記 | 「Windows 11」「Apache」 |
| CVSS | 危険度スコア | 「深刻度 9.8」 |
1. CVE
CVE
「実際に発見された脆弱性」に付く管理番号です。
たとえば:
- CVE-2025-12345
- CVE-2024-3094
みたいな形式。
イメージ
「この脆弱性を世界共通で識別する番号」
例
- Apacheにリモートコード実行脆弱性
- FortiGateの認証回避
- Windowsの権限昇格
これら1件ごとにCVE番号が付きます。
目的
ベンダーごとに名前が違うと混乱するので、
世界共通IDを付けている。
2. CCE
CCE
「危険な設定」や「設定不備」に付く番号。
CVEとの違い
- CVE → ソフトウェアの欠陥
- CCE → 管理者の設定ミス
例
- Guestアカウント有効
- パスワード期限なし
- SMBv1有効
- ファイアウォール無効
など。
イメージ
「脆弱な設定の辞書」
3. CWE
CWE
「脆弱性のタイプ・設計上の弱点」を分類したもの。
例
- CWE-79 → XSS
- CWE-89 → SQL Injection
- CWE-787 → Out-of-bounds Write
CVEとの関係
CVEは「個別事件」
CWEは「原因の種類」
例
「SQLインジェクションがあった」
↓
その脆弱性にCVEが付く
↓
種類としてはCWE-89
イメージ
- CVE = 事故番号
- CWE = 事故の種類
4. CPE
CPE
製品名を標準化した識別子。
例
cpe:2.3:o:microsoft:windows_11
目的
ツール同士で
「どの製品の脆弱性か」
を正確に判断するため。
よく使う場面
脆弱性スキャンツール。
例えば:
- このサーバーはApache 2.4
- Apache 2.4に該当するCVEあり
という照合に使われる。
イメージ
「製品の正式な機械用名前」
5. CVSS
CVSS
脆弱性の危険度を数値化する仕組み。スコア例
| スコア | 危険度 |
|---|---|
| 0.1〜3.9 | Low |
| 4.0〜6.9 | Medium |
| 7.0〜8.9 | High |
| 9.0〜10.0 | Critical |
例
- CVSS 9.8 → 超危険
- CVSS 3.1 → 低危険
評価内容
評価内容
例えば:
- ネット経由で攻撃できる?
- 認証不要?
- 管理者権限取れる?
- ユーザー操作必要?
などから点数化。
全部の関係をまとめると
製品(CPE)
↓
脆弱性(CVE)
↓
脆弱性の種類(CWE)
↓
危険度(CVSS)
設定ミス系はCCE
実務でよく見る組み合わせ
例えば:
CVE-2025-9999
CWE-89
CVSS 9.8
Affected: Apache Tomcat
意味は:
- Tomcatに
- SQL Injection系の脆弱性があり
- 危険度は9.8
ということ。
特にITインフラ運用や情シスだと、
- CVE → パッチ対応判断
- CVSS → 優先順位
- CPE → 影響確認
- CWE → 開発者向け原因分析
でよく使います。



コメント