From 77d3bad5fc23dac028ff1eb729fed0098474df4e Mon Sep 17 00:00:00 2001 From: PeyaPeyaPeyang Date: Sat, 10 Aug 2024 14:55:24 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E3=81=AB=E3=82=85=E3=83=BC=E3=81=99?= =?UTF-8?q?=E3=81=9F=E3=81=84=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sc-problems/web-chat-and-encryption.md | 28 ++++++++++++---------- src/styles/sc-problems/problem.css | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/sc-problems/web-chat-and-encryption.md b/src/sc-problems/web-chat-and-encryption.md index 0aef2ca..70ad611 100644 --- a/src/sc-problems/web-chat-and-encryption.md +++ b/src/sc-problems/web-chat-and-encryption.md @@ -92,13 +92,15 @@ problems: D 社は, Web アプリケーションを用いたチャットサービスを提供する日本の中小企業である。利用者は, ブラウザを用いてチャットサービス(以下, サービス Dという)にアクセスして, 他の利用者やりとりをする。他の利用者と一対一でチャットを行える機能(以下, ダイレクトメッセージ機能という)に加え, 複数の利用者でチャットを行える機能(以下, グループチャット機能という)も提供している。 -Web アプリケーションから送信されたメッセージ情報は D 社サーバに蓄積され, 送信者と受信者の間でやりとりされる。 - サービス D は組織での利用も想定しており, 組織内の利用者同士でのみチャットを行える機能(以下, 組織内チャット機能という)を提供している。 +Web アプリケーションから送信されたメッセージ情報は D 社サーバに蓄積され, 送信者と受信者の間でやりとりされる。 + +サービス D は組織での利用も想定しており, 組織内の利用者同士でのみチャットを行える機能(以下, 組織内チャット機能という)を提供している。 組織内チャット機能においては, 組織によって管理された複数のグループが存在し, 利用者はそれぞれのグループ内でチャットを行える。 さらにセキュリティ対策の観点から, 指定したユーザのみが所属できるグループ(以下, 関係者グループという)を設定できるようにしている。 また, 組織内チャット機能においては, 公開グループと非公開グループの2種類のグループが存在し, -前者はサービス D に実装された一覧表示機能により不特定多数の利用者が参加可能であるが, 後者はそうではない。 - また D 社内では, D サービスの組織内チャット機能を利用して, 他の従業員や部署とのコミュニケーションを行っている。 +前者はサービス D に実装された一覧表示機能により不特定多数の利用者が参加可能であるが, 後者はそうではない。 + +また D 社内では, D サービスの組織内チャット機能を利用して, 他の従業員や部署とのコミュニケーションを行っている。 さらに利用者からの直接的なフィードバックを得るために, 公開グループ(以下, D 社公開グループという)を設けている。 D 社公開グループは, 全従業員および任意で参加した一般利用者が参加している。 @@ -121,14 +123,14 @@ D 社公開グループは, 全従業員および任意で参加した一般利 サービス S は, インターネット上での情報漏洩を監視し, 漏洩情報を D 社に通知するサービスである。D 社では, これに加えて, 利用者のプロフィールや送信されたメッセージも監視対象にし, 認証トークン漏洩の早期発見を目指している。  サービス D から発行された認証トークンは, すべてハッシュ化されてサービス S に送信され, 漏洩の検出対象に登録される。 - サービス S からの通知を受けた D 社は, 自動的に通知情報を解析し, 漏洩した可能性のある認証トークンを失効させるなどの対応を行っている。 +サービス S からの通知を受けた D 社は, 自動的に通知情報を解析し, 漏洩した可能性のある認証トークンを失効させるなどの対応を行っている。 ## 【脆弱性を悪用したセッション情報の持ち出し】 ある日, D 社公開グループの利用者から, 本文が空のメッセージが表示されているという報告が相次いでいることが判明した。 -翌日, 開発部の G さんが報告のあったグループのチャット画面を自身のアカウントを用いて閲覧したところ, 利用者 X からのメッセージが表示されていた。 -さらに, G さんがメッセージを表示して間もなく, 同じ送信者から新たなメッセージが送信され, いづれも本文が空であることが確認された。 -以下に G さんが取得したチャット画面のスクリーンショットを示す。 +後日, 開発部の G さんが報告のあったグループのチャット画面を自身のアカウントを用いて閲覧したところ, 利用者 X からのメッセージが表示されていた。 +さらに, G さんがメッセージを表示して間もなく, 同じ利用者から新たなメッセージが1件送信され, これらはいづれも本文が空であることが確認された。 + 以下に G さんが取得したチャット画面のスクリーンショットを示す。 ![図1](/images/sc-problems/web-chat-and-encryption/fig1.png) ↑図1:利用者 X からのメッセージを含むグループチャット機能の画面 @@ -200,7 +202,7 @@ G さんは, 利用者 X は `[ A ]` と呼ばれる脆弱性を悪用す ## 【開発機密の漏洩】 ある日, D 社の開発部門の担当者である H さんが, インターネット上に D 社の開発機密が漏洩していることを確認した。 -D 社は重大なインシデントが発生したと判断し, `[ B ]` であることを考慮して, 社内規定に基いて各部門の長で構成された緊急対策本部を設置した。 +D 社は重大なインシデントが発生したと判断し, `[ B ]` であることを考慮して, 社内規定に基いて経営者及び各部門の長で構成された緊急対策本部を設置した。 緊急対策本部は, 漏洩した情報を確認し, 漏洩の原因を調査することにした。  表1に, 同日のサービス D の接続ログ(一部抜粋)を以下に示す。 @@ -223,12 +225,12 @@ D 社は重大なインシデントが発生したと判断し, `[ B ]` ↑ 表1:同日のサービス D の接続ログ(一部抜粋)  注記:`aaa.bbb.ccc`, `xxx.yyy.zzz` から始まる IP アドレスは, それぞれ国内のアドレス, 国外のアドレスを示す。 -上記のログより, 緊急対策本部は G さんの認証トークンが漏洩していたと結論付け, 初動対応として G さんのトークンを含むすべてのトークンを失効させた。 - さらに, セッションの管理方法を是正するため, 開発部に対して, ログインをした `[ C ]` と, リクエストをした `[ C ]` が異なる場合は, +上記のログより, 緊急対策本部は G さんの認証トークンが漏洩していたと結論付け, 初動対応として G さんのトークンを含むすべてのトークンを失効させた。 +さらに, セッションの管理方法を是正するため, 開発部に対して, ログインをした `[ C ]` と, リクエストをした `[ C ]` が異なる場合は, そのリクエストを拒否して認証トークンを失効させるよう指示した。 -この是正措置により, これ以上の情報漏洩を防げたことが確認され, 緊急対策本部は解散した。 - D 社は, 現在運用されているサービス D のセキュリティを見直すことにした。 +この是正措置により, これ以上の情報漏洩を防げたことが確認され, 緊急対策本部は解散した。 +D 社は, 現在運用されているサービス D のセキュリティを見直すことにした。 diff --git a/src/styles/sc-problems/problem.css b/src/styles/sc-problems/problem.css index 9c9b681..1bffcfd 100644 --- a/src/styles/sc-problems/problem.css +++ b/src/styles/sc-problems/problem.css @@ -126,7 +126,7 @@ td { width: fit-content; } -@media (min-width: 600px) { +@media (min-width: 400px) { .tabs { display: flex; justify-content: space-between; From e35e8624a4bd5235283190016f01555cd9c0bb2c Mon Sep 17 00:00:00 2001 From: PeyaPeyaPeyang Date: Sat, 10 Aug 2024 14:58:29 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E3=81=AB=E3=82=85=E3=83=BC=E3=81=99?= =?UTF-8?q?=E3=81=9F=E3=81=84=E3=82=8B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/styles/sc-problems/problem.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/sc-problems/problem.css b/src/styles/sc-problems/problem.css index 1bffcfd..4087562 100644 --- a/src/styles/sc-problems/problem.css +++ b/src/styles/sc-problems/problem.css @@ -126,7 +126,7 @@ td { width: fit-content; } -@media (min-width: 400px) { +@media (min-width: 800px) { .tabs { display: flex; justify-content: space-between;