Bắt đầu từ nhật ký, không phải từ phỏng đoán
Khi có gì đó trên tài khoản GitHub của bạn trông khác đi, bước đầu tiên hữu ích là lấy một bản ghi do bạn kiểm soát thay vì dựng lại sự việc từ trí nhớ. Nhật ký bảo mật cá nhân của GitHub chính là bản ghi đó.
Nhật ký bảo mật cá nhân của GitHub chứa các hành động trong 90 ngày gần nhất. Nguồn
Vì nhật ký chỉ giới hạn trong một khoảng thời gian gần đây, hãy xuất sớm. Các sự kiện nằm ngoài khoảng đó sẽ không xuất hiện về sau, và bạn không thể khôi phục chúng bằng cách chờ đợi.
Nhật ký nằm ở đâu và bạn có thể lọc những gì
Nhật ký có trong phần Cài đặt tài khoản, mục Lưu trữ (Archives), Nhật ký bảo mật (Security log) và hỗ trợ các bộ lọc như người thực hiện, kho lưu trữ và hành động. Nguồn
Các bộ lọc quan trọng hơn khối lượng thô. Thu hẹp theo người thực hiện, kho lưu trữ hoặc hành động giúp bạn cô lập đúng khoảng thời gian và bề mặt bạn quan tâm, thay vì cuộn qua những hoạt động thường ngày không liên quan.
Xuất một bản sao riêng tư trước khi phân tích
Menu Xuất (Export) tải xuống dưới dạng JSON hoặc CSV; các bộ lọc được hỗ trợ có thể thu hẹp bản xuất. Nguồn
Hãy coi tệp đã xuất là tài liệu nhạy cảm. Nó chứa bản ghi hoạt động của tài khoản, gồm cả người thực hiện và hành động, và có thể để lộ bối cảnh cá nhân hoặc tổ chức. Giữ nó ở nơi riêng tư, chỉ chia sẻ với những người trực tiếp giúp bạn điều tra, và tránh dán nó vào các luồng công khai hay trình theo dõi vấn đề (issue tracker). Nếu sau này bạn cần gửi một bản cho đội hỗ trợ nền tảng, hãy chia sẻ bản xuất đã lọc hẹp nhất trả lời được câu hỏi của họ.
Dựng bảng tính dòng thời gian sự cố
Bản xuất nhật ký là một danh sách sự kiện, không phải một câu chuyện. Hãy chuyển nó thành bảng tính để các quan sát, diễn giải và câu hỏi còn mở luôn tách rời nhau. Một cấu trúc đơn giản là đủ:
| Cột | Nội dung điền vào | Vì sao quan trọng |
|---|---|---|
| Sự kiện | Nhãn ngắn cho việc đã xảy ra | Giúp dòng dễ quét lại về sau |
| Thời gian | Dấu thời gian như được ghi, kèm ghi chú múi giờ | Tránh nhầm thứ tự |
| Người thực hiện | Tài khoản hoặc định danh được ghi là đã hành động | Xác định nguồn được ghi, không phải một con người |
| Hành động | Nhật ký nói đã làm gì | Giữ dòng mang tính sự thật |
| Độ tin cậy | Bạn chắc chắn đến đâu rằng dòng này liên quan và được đọc đúng | Tách dòng vững chắc khỏi dòng suy đoán |
| Câu hỏi mở | Điều bạn vẫn cần kiểm tra | Ngăn giả định biến thành sự thật |
Điền bảng tính từ bản xuất, mỗi sự kiện bạn cho là liên quan một dòng. Dùng cột độ tin cậy một cách trung thực: một dòng bạn đọc trực tiếp từ bản xuất vững chắc hơn một dòng bạn suy ra từ thay đổi bạn nhận thấy. Khi bạn nhận thấy một thay đổi nhưng không tìm được sự kiện khớp, hãy ghi nó là câu hỏi mở thay vì kết luận.
Tách hành động đã quan sát khỏi bằng chứng về người thực hiện
Đây là phần mà hầu hết dòng thời gian làm sai. Một mục trong nhật ký cho bạn biết bản ghi nói điều gì đã xảy ra và định danh người thực hiện nào được gắn vào. Bản thân nó không xác lập được con người cụ thể nào đang ngồi trước bàn phím. Thiết bị dùng chung, phiên bị dùng lại, thông tin đăng nhập bị xâm phạm và tự động hóa hợp pháp đều có thể tạo ra các mục trông như một người đang hành động.
Hãy giữ hai hướng suy nghĩ trong đầu khi rà soát:
- Đã quan sát: sự kiện, thời gian, người thực hiện và hành động như được ghi.
- Chưa xác lập: ai thực sự thực hiện, vì sao, và liệu định danh người thực hiện có tương ứng với người bạn giả định hay không.
Chỉ viết kết luận vào nhóm thứ hai khi bạn có bằng chứng độc lập. Cho đến lúc đó, chúng thuộc về cột câu hỏi mở.
Đừng đọc một sự kiện bị thiếu như bằng chứng rằng không có gì
Một khoảng trống trong bản xuất không phải bằng chứng của việc không có hoạt động. Nhật ký chỉ bao phủ một khoảng gần đây xác định, và bản xuất phản ánh các bộ lọc bạn đã áp dụng. Nếu bạn lọc theo một kho lưu trữ, các sự kiện ở kho lưu trữ khác sẽ không xuất hiện. Nếu thay đổi bạn lo lắng xảy ra ngoài khoảng đó, nó sẽ không có ở đó. Hãy ghi các khoảng vắng là lỗ hổng cần điều tra, không phải lời trấn an.
Nếu bạn đã mất quyền truy cập
Nếu bạn hoàn toàn không thể đăng nhập để vào nhật ký, hãy ngừng cố dựng lại sự việc từ bên ngoài và dùng quy trình khôi phục tài khoản chính thức của GitHub. Khôi phục là con đường trả lại khả năng rà soát tài khoản cho bạn. Đừng nhờ bên thứ ba truy cập tài khoản thay bạn, và đừng coi việc đặt lại mật khẩu đơn thuần là đã hoàn tất điều tra; khi quyền truy cập trở lại, hãy xuất nhật ký và dựng dòng thời gian cho giai đoạn quanh thay đổi đó.
Danh sách kiểm tra ngắn
- Xuất nhật ký bảo mật trước khi cửa sổ 90 ngày trôi tiếp.
- Lưu bản xuất ở nơi riêng tư và ghi lại ngày giờ cùng múi giờ của lần xuất.
- Áp dụng bộ lọc để cô lập khoảng thời gian và bề mặt bạn quan tâm, rồi xuất lại khung nhìn đã thu hẹp nếu thấy hữu ích.
- Dựng bảng tính với các cột sự kiện, thời gian, người thực hiện, hành động và độ tin cậy.
- Đánh dấu mỗi dòng là đã quan sát hay suy luận, và giữ các câu hỏi mở tách riêng.
- Ghi các sự kiện bị thiếu là lỗ hổng, không phải bằng chứng rằng không có gì.
- Nếu mất quyền truy cập, hãy dùng khôi phục chính thức trước, rồi quay lại bước 1.
Một bước tiếp theo hữu ích
Khi đã có dòng thời gian, câu hỏi tiếp theo thường là những tài khoản nào khác được liên kết với cùng tên hoặc định danh. Đó là một nhiệm vụ khác với việc đọc nhật ký bảo mật, và nó có phương pháp riêng: xem cách tìm mọi tài khoản liên kết với một cái tên. Hãy giữ hai cuộc điều tra tách biệt để phát hiện từ cuộc này không bị nhầm thành bằng chứng trong cuộc kia.