「事件報告/20201104-TOJ帳號權限意外變更」:修訂間差異
(→日誌分析) |
無編輯摘要 |
||
行 1: | 行 1: | ||
== 摘要 == |
== 摘要 == |
||
11/04 大量帳號變為管理員,原先懷疑 TOJ 有 Bug,但經調查後排除了這種可能,該結果是可經由管理介面做出的,從日誌發現是管理員帳號的一系列不當操作所致。 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== 時間軸 == |
== 時間軸 == |
||
行 11: | 行 7: | ||
== 發現 == |
== 發現 == |
||
11/04社課時間,社員報告自己的帳號變成管理員,經查管理介面發現 #2237 之後的帳號都變成 Level=Kernel、Class=Contest。 |
11/04 社課時間,社員報告自己的帳號變成管理員,經查管理介面發現 #2237 之後的帳號都變成 Level=Kernel、Class=Contest。 |
||
== 日誌分析 == |
== 日誌分析 == |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
以下日期皆為 11/04。 |
以下日期皆為 11/04。 |
||
於 2020年11月12日 (四) 08:56 的修訂
摘要
11/04 大量帳號變為管理員,原先懷疑 TOJ 有 Bug,但經調查後排除了這種可能,該結果是可經由管理介面做出的,從日誌發現是管理員帳號的一系列不當操作所致。
時間軸
發現
11/04 社課時間,社員報告自己的帳號變成管理員,經查管理介面發現 #2237 之後的帳號都變成 Level=Kernel、Class=Contest。
日誌分析
- 相關帳號
- 2478 - 逆境征服者
- 2886 - T21@admin
- 2999 - ConquerAdversity
以下日期皆為 11/04。
可發現於 15:18:40 時 T21@admin 於 192.168.4.29 更動了 ConquerAdversity 帳號,並且於 15:30:59 開始,ConquerAdversity 開始可以檢視管理介面,因此可推測 T21@admin 於 15:18:40 的更動將 ConquerAdversity 權限改為管理員。
後續發現 ConquerAdversity 與 逆境征服者 從 192.168.4.29 跟 192.168.4.100(Wifi) 不斷的操作管理介面。
另外,日誌中並無發現大量修改使用者的行為,因此推測大量使用者變成 Admin 並非透過修改使用者權限的介面修改所致。
時間 | 帳號 | IP | 操作 |
---|---|---|---|
14:59:30 | T21@admin | 192.168.4.29 | 登入 |
14:59:44 | T21@admin | 192.168.4.29 | 檢視了多筆 challenge/code |
15:09:43 | T21@admin | 192.168.4.103 | 登入 |
15:16:41 | T21@admin | 192.168.4.29 | 更動IP |
15:18:00 | T21@admin | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
15:18:08 | T21@admin | 192.168.4.103 | 更動IP |
15:18:40 | T21@admin | 192.168.4.29 | 更動IP,更動 ConquerAdversity 的權限 |
15:18:43 | T21@admin | 192.168.4.103 | 更動IP |
15:19:29 | T21@admin | 192.168.4.29 | 更動IP,查看管理 ConquerAdversity 權限的介面 |
15:19:43 | T21@admin | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
15:20:56 | T21@admin | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
15:21:01 | T21@admin | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
15:21:32 | T21@admin | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
15:21:39 | T21@admin | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
15:21:57 | T21@admin | 192.168.4.103 | 更動IP |
15:22:31 | T21@admin | 192.168.4.29 | 更動IP,查看管理 #4368 權限的介面 |
15:22:42 | T21@admin | 192.168.4.103 | 更動IP |
15:23:31 | T21@admin | 192.168.4.29 | 更動IP,查看管理 #4368 權限的介面 |
15:30:59 | ConquerAdversity | 192.168.4.29 | 查看管理 #2452 權限的介面 |
15:31:15 | ConquerAdversity | 192.168.4.29 | 更動 #2452 的權限 |
15:31:31 | ConquerAdversity | 192.168.4.29 | 查看管理 #2452 權限的介面 |
15:31:37 | ConquerAdversity | 192.168.4.29 | 更動 #2452 的權限 |
15:31:43 | ConquerAdversity | 192.168.4.29 | 查看管理 逆境征服者 權限的介面 |
15:31:49 | ConquerAdversity | 192.168.4.29 | 更動 逆境征服者 的權限 |
15:31:57 | ConquerAdversity | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
15:32:02 | ConquerAdversity | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
15:35:38 | ConquerAdversity | 192.168.4.100 | 更動IP |
15:35:48 | 逆境征服者 | 192.168.4.100 | 更動IP |
15:36:00 | 192.168.4.100 | 查看管理 kernel 群組的介面 | |
15:36:11 | 192.168.4.100 | 更動群組 | |
15:36:31 | 192.168.4.100 | 查看管理 kernel 群組的介面 | |
15:36:39 | 192.168.4.100 | 更動群組 | |
15:36:44 | 192.168.4.100 | 查看管理 kernel 群組的介面 | |
15:36:50 | 192.168.4.100 | 更動群組 | |
15:36:56 | 192.168.4.100 | 更動群組 | |
15:37:12 | 192.168.4.100 | 查看管理 normal_user 群組的介面 | |
15:38:31 | 192.168.4.100 | 查看管理 kernel 群組的介面 | |
15:40:03 | 192.168.4.29 | 更動群組 | |
15:48:05 | 192.168.4.29 | 查看管理 kernel 群組的介面 | |
15:48:20 | 192.168.4.29 | 更動群組 | |
15:50:39 | 192.168.4.100 | 查看管理比賽的介面 | |
15:51:07 | 逆境征服者 | 192.168.4.100 | 更動比賽 |
15:51:10 | 逆境征服者 | 192.168.4.100 | 更動比賽 |
15:51:49 | ConquerAdversity | 192.168.4.29 | 更動IP |
15:52:31 | 逆境征服者 | 192.168.4.29 | 更動IP |
15:55:42 | 逆境征服者 | 192.168.4.100 | 更動IP |
15:55:48 | 逆境征服者 | 101.10.X.X | 更動IP |
15:57:47 | ConquerAdversity | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
15:57:50 | ConquerAdversity | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
15:58:42 | ConquerAdversity | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
15:58:46 | ConquerAdversity | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
15:59:48 | 逆境征服者 | 101.10.X.X | 查看管理 ConquerAdversity 權限的介面 |
15:59:59 | 逆境征服者 | 101.10.X.X | 更動 ConquerAdversity 的權限 |
16:00:36 | 逆境征服者 | 101.10.X.X | 查看管理 ConquerAdversity 權限的介面 |
16:00:45 | 逆境征服者 | 101.10.X.X | 更動 ConquerAdversity 的權限 |
16:03:43 | ConquerAdversity | 101.10.X.X | 查看管理 ConquerAdversity 權限的介面 |
16:03:51 | ConquerAdversity | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
16:04:27 | T21@admin | 192.168.4.29 | 查看管理 ConquerAdversity 權限的介面 |
16:04:32 | T21@admin | 192.168.4.29 | 更動 ConquerAdversity 的權限 |
16:05:15 | T21@admin | 192.168.4.103 | 更動IP |
16:06:07 | 101.10.X.X | 查看管理 normal_user 群組的介面 | |
16:06:29 | 101.10.X.X | 查看管理 normal_user 群組的介面 | |
16:06:36 | T21@admin | 192.168.4.29 | 更動IP |
16:07:03 | 101.10.X.X | 更動群組 | |
16:07:05 | 101.10.X.X | 查看管理 kernel 群組的介面 | |
16:07:14 | T21@admin | 192.168.4.103 | 更動IP |
16:07:22 | 101.10.X.X | 更動群組 | |
16:08:14 | 逆境征服者 | 192.168.4.100 | 更動IP |
16:09:47 | 逆境征服者 | 192.168.4.100 | 更動 #4510 的權限 |
結論
根據研究 source code 過後的結果發現,會大量更改使用者權限的功能只有在 Group 出現,當 Group 的權限被修改時,會將所有屬於該 Group 的使用者權限改掉。因此推測是 15:36:00~15:48:20 這段期間的群組操作,更改到預設群組 normal_user 導致大量使用者變成 Admin。
至於為什麼是 #2237 以後的使用者才有被改成 Admin,推測原因是所有使用者已經先被改成了 Admin,而後續又有一次操作將群組權限改回一般權限,所以所有 normal_user 裡的使用者都將被改回一般權限,而經過實測,此操作速度很慢,因此應該是改道 #2236 的時候,TOJ 被關掉所以導致後面使用者的權限還留在 Admin,沒被改回來。
另外從日誌看起來,所有操作不像是系統故障所導致,比較像是人為有意識的在操作。
後續處理及建議
- TOJ 缺乏詳細的日誌紀錄,將修改程式碼,針對重要操作紀錄相關參數。
- 應妥善保管自己的帳號,離開電腦時應記得登出,特別是管理員帳號。