Skip to content

Commit 66f2f51

Browse files
にゅーすたいる (github#33)
2 parents 82ffc7f + e35e862 commit 66f2f51

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

src/sc-problems/web-chat-and-encryption.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,15 @@ problems:
9292
D 社は, Web アプリケーションを用いたチャットサービスを提供する日本の中小企業である。利用者は, ブラウザを用いてチャットサービス(以下, サービス Dという)にアクセスして,
9393
他の利用者やりとりをする。他の利用者と一対一でチャットを行える機能(以下, ダイレクトメッセージ機能という)に加え,
9494
複数の利用者でチャットを行える機能(以下, グループチャット機能という)も提供している。
95-
Web アプリケーションから送信されたメッセージ情報は D 社サーバに蓄積され, 送信者と受信者の間でやりとりされる。
96-
 サービス D は組織での利用も想定しており, 組織内の利用者同士でのみチャットを行える機能(以下, 組織内チャット機能という)を提供している。
95+
Web アプリケーションから送信されたメッセージ情報は D 社サーバに蓄積され, 送信者と受信者の間でやりとりされる。
96+
97+
サービス D は組織での利用も想定しており, 組織内の利用者同士でのみチャットを行える機能(以下, 組織内チャット機能という)を提供している。
9798
組織内チャット機能においては, 組織によって管理された複数のグループが存在し, 利用者はそれぞれのグループ内でチャットを行える。
9899
さらにセキュリティ対策の観点から, 指定したユーザのみが所属できるグループ(以下, 関係者グループという)を設定できるようにしている。
99100
また, 組織内チャット機能においては, 公開グループと非公開グループの2種類のグループが存在し,
100-
前者はサービス D に実装された一覧表示機能により不特定多数の利用者が参加可能であるが, 後者はそうではない。
101-
 また D 社内では, D サービスの組織内チャット機能を利用して, 他の従業員や部署とのコミュニケーションを行っている。
101+
前者はサービス D に実装された一覧表示機能により不特定多数の利用者が参加可能であるが, 後者はそうではない。
102+
103+
また D 社内では, D サービスの組織内チャット機能を利用して, 他の従業員や部署とのコミュニケーションを行っている。
102104
さらに利用者からの直接的なフィードバックを得るために, 公開グループ(以下, D 社公開グループという)を設けている。
103105
D 社公開グループは, 全従業員および任意で参加した一般利用者が参加している。
104106

@@ -121,14 +123,14 @@ D 社公開グループは, 全従業員および任意で参加した一般利
121123
サービス S は, インターネット上での情報漏洩を監視し, 漏洩情報を D 社に通知するサービスである。D 社では, これに加えて,
122124
利用者のプロフィールや送信されたメッセージも監視対象にし, 認証トークン漏洩の早期発見を目指している。
123125
 サービス D から発行された認証トークンは, すべてハッシュ化されてサービス S に送信され, 漏洩の検出対象に登録される。
124-
 サービス S からの通知を受けた D 社は, 自動的に通知情報を解析し, 漏洩した可能性のある認証トークンを失効させるなどの対応を行っている。
126+
サービス S からの通知を受けた D 社は, 自動的に通知情報を解析し, 漏洩した可能性のある認証トークンを失効させるなどの対応を行っている。
125127

126128
## 【脆弱性を悪用したセッション情報の持ち出し】
127129

128130
ある日, D 社公開グループの利用者から, 本文が空のメッセージが表示されているという報告が相次いでいることが判明した。
129-
翌日, 開発部の G さんが報告のあったグループのチャット画面を自身のアカウントを用いて閲覧したところ, 利用者 X からのメッセージが表示されていた。
130-
さらに, G さんがメッセージを表示して間もなく, 同じ送信者から新たなメッセージが送信され, いづれも本文が空であることが確認された
131-
以下に G さんが取得したチャット画面のスクリーンショットを示す。
131+
後日, 開発部の G さんが報告のあったグループのチャット画面を自身のアカウントを用いて閲覧したところ, 利用者 X からのメッセージが表示されていた。
132+
さらに, G さんがメッセージを表示して間もなく, 同じ利用者から新たなメッセージが1件送信され, これらはいづれも本文が空であることが確認された
133+
 以下に G さんが取得したチャット画面のスクリーンショットを示す。
132134

133135
![図1](/images/sc-problems/web-chat-and-encryption/fig1.png)
134136
↑図1:利用者 X からのメッセージを含むグループチャット機能の画面
@@ -200,7 +202,7 @@ G さんは, 利用者 X は `[ A ]` と呼ばれる脆弱性を悪用す
200202
## 【開発機密の漏洩】
201203

202204
ある日, D 社の開発部門の担当者である H さんが, インターネット上に D 社の開発機密が漏洩していることを確認した。
203-
D 社は重大なインシデントが発生したと判断し, `[ B ]` であることを考慮して, 社内規定に基いて各部門の長で構成された緊急対策本部を設置した
205+
D 社は重大なインシデントが発生したと判断し, `[ B ]` であることを考慮して, 社内規定に基いて経営者及び各部門の長で構成された緊急対策本部を設置した
204206
緊急対策本部は, 漏洩した情報を確認し, 漏洩の原因を調査することにした。
205207
 表1に, 同日のサービス D の接続ログ(一部抜粋)を以下に示す。
206208

@@ -223,12 +225,12 @@ D 社は重大なインシデントが発生したと判断し, `[ B ]`
223225
↑ 表1:同日のサービス D の接続ログ(一部抜粋)
224226
 注記:`aaa.bbb.ccc`, `xxx.yyy.zzz` から始まる IP アドレスは, それぞれ国内のアドレス, 国外のアドレスを示す。
225227

226-
上記のログより, 緊急対策本部は G さんの認証トークンが漏洩していたと結論付け, 初動対応として G さんのトークンを含むすべてのトークンを失効させた。
227-
 さらに, セッションの管理方法を是正するため, 開発部に対して, ログインをした `[ C ]` と, リクエストをした `[ C ]` が異なる場合は,
228+
上記のログより, 緊急対策本部は G さんの認証トークンが漏洩していたと結論付け, 初動対応として G さんのトークンを含むすべてのトークンを失効させた。
229+
さらに, セッションの管理方法を是正するため, 開発部に対して, ログインをした `[ C ]` と, リクエストをした `[ C ]` が異なる場合は,
228230
そのリクエストを拒否して認証トークンを失効させるよう指示した。
229231

230-
この是正措置により, これ以上の情報漏洩を防げたことが確認され, 緊急対策本部は解散した。
231-
 D 社は, 現在運用されているサービス D のセキュリティを見直すことにした。
232+
この是正措置により, これ以上の情報漏洩を防げたことが確認され, 緊急対策本部は解散した。
233+
D 社は, 現在運用されているサービス D のセキュリティを見直すことにした。
232234

233235
<!--problems-->
234236

src/styles/sc-problems/problem.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ td {
126126
width: fit-content;
127127
}
128128

129-
@media (min-width: 600px) {
129+
@media (min-width: 800px) {
130130
.tabs {
131131
display: flex;
132132
justify-content: space-between;

0 commit comments

Comments
 (0)