「事件報告/20201104-TOJ帳號權限意外變更」:修訂間差異

出自TFcisWiki
跳至導覽 跳至搜尋
無編輯摘要
 
(未顯示由 2 位使用者於中間所作的 8 次修訂)
行 1: 行 1:
[[Category:TOJ]]
2237

== 摘要 ==
== 摘要 ==
11/04 大量帳號變為管理員,原先懷疑 TOJ 有 Bug,但經調查後排除了這種可能,該結果是可經由管理介面做出的,從日誌發現是管理員帳號的一系列不當操作所致。

== 相關帳號 ==
* 2478 - 逆境征服者
* 2886 - T21@admin
* 2999 - ConquerAdversity


== 時間軸 ==
== 時間軸 ==
行 12: 行 9:


== 發現 ==
== 發現 ==
11/04社課時間,社員發現大量TOJ帳號變成管理員權限
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 並非透過修改使用者權限的介面修改所致。
{| class="wikitable"
{| class="wikitable"
! 時間 || 帳號 || IP || 操作
! 時間 || 帳號 || IP || 操作
行 87: 行 96:
|-
|-
| 15:36:56 || || 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:38:31 || || 192.168.4.100 || 查看管理 kernel 群組的介面
行 109: 行 120:
|-
|-
| 15:55:48 || 逆境征服者 || 101.10.X.X || 更動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: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:58:46 || ConquerAdversity || 192.168.4.29 || 更動 ConquerAdversity 的權限
|-
| 15:59:48 || 逆境征服者 || 101.10.X.X || 查看管理 ConquerAdversity 權限的介面
|-
|-
| 15:59:59 || 逆境征服者 || 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: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: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:04:32 || T21@admin || 192.168.4.29 || 更動 ConquerAdversity 的權限
|-
|-
| 16:05:15 || T21@admin || 192.168.4.103 || 更動IP
| 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: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:14 || T21@admin || 192.168.4.103 || 更動IP
|-
| 16:07:22 || || 101.10.X.X || 更動群組
|-
|-
| 16:08:14 || 逆境征服者 || 192.168.4.100 || 更動IP
| 16:08:14 || 逆境征服者 || 192.168.4.100 || 更動IP
行 134: 行 167:


== 結論 ==
== 結論 ==
根據研究 source code 過後的結果發現,會大量更改使用者權限的功能只有在 Group 出現,當 Group 的權限被修改時,會將所有屬於該 Group 的使用者權限改掉。因此推測是 15:36:00~15:48:20 這段期間的群組操作,更改到預設群組 normal_user 導致大量使用者變成 Admin。

至於為什麼是 #2237 以後的使用者才有被改成 Admin,推測原因是所有使用者已經先被改成了 Admin,而後續又有一次操作將群組權限改回一般權限,所以所有 normal_user 裡的使用者都將被改回一般權限,而經過實測,此操作速度很慢,因此應該是改道 #2236 的時候,TOJ 被關掉所以導致後面使用者的權限還留在 Admin,沒被改回來。

另外從日誌看起來,所有操作不像是系統故障所導致,比較像是人為有意識的在操作。


== 後續處理 ==
== 後續處理及建議 ==
* 已透過 TOJ 管理介面將權限修正。
* TOJ 缺乏詳細的日誌紀錄,將修改程式碼,針對重要操作紀錄相關參數。
* 應妥善保管自己的帳號,離開電腦時應記得登出,特別是管理員帳號;無論不當操作是誤觸或是被盜用造成,擁有者都應對此負起責任。

於 2021年8月8日 (日) 21:52 的最新修訂


摘要

11/04 大量帳號變為管理員,原先懷疑 TOJ 有 Bug,但經調查後排除了這種可能,該結果是可經由管理介面做出的,從日誌發現是管理員帳號的一系列不當操作所致。

時間軸

  • 11/04 16:12:26 關閉 TOJ 網頁
  • 11/09 22:09:00 恢復 TOJ

發現

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 管理介面將權限修正。
  • TOJ 缺乏詳細的日誌紀錄,將修改程式碼,針對重要操作紀錄相關參數。
  • 應妥善保管自己的帳號,離開電腦時應記得登出,特別是管理員帳號;無論不當操作是誤觸或是被盜用造成,擁有者都應對此負起責任。