เริ่มจากบันทึก ไม่ใช่การคาดเดา
เมื่อมีบางอย่างในบัญชี GitHub ของคุณดูผิดไป ก้าวแรกที่มีประโยชน์คือดึงบันทึกที่คุณควบคุมได้ แทนที่จะพยายามนึกย้อนเหตุการณ์จากความจำ บันทึกความปลอดภัยส่วนบุคคลของ GitHub คือบันทึกนั้น
บันทึกความปลอดภัยส่วนบุคคลของ GitHub มีการกระทำย้อนหลัง 90 วัน แหล่งที่มา
เนื่องจากบันทึกจำกัดอยู่ในช่วงเวลาล่าสุด ควรส่งออกแต่เนิ่น ๆ เหตุการณ์ที่อยู่นอกช่วงเวลาจะไม่ปรากฏในภายหลัง และคุณไม่สามารถกู้คืนได้ด้วยการรอ
บันทึกอยู่ที่ไหนและกรองอะไรได้บ้าง
บันทึกนี้อยู่ใน Settings ของบัญชีที่ Archives, Security log และรองรับตัวกรอง เช่น ผู้กระทำ (actor) รีโพซิทอรี และการกระทำ แหล่งที่มา
ตัวกรองสำคัญกว่าปริมาณข้อมูลดิบ การจำกัดตามผู้กระทำ รีโพซิทอรี หรือการกระทำช่วยให้คุณแยกช่วงเวลาและพื้นที่ที่สนใจออกมาได้ แทนที่จะเลื่อนดูกิจกรรมปกติที่ไม่เกี่ยวข้อง
ส่งออกสำเนาส่วนตัวก่อนวิเคราะห์
เมนู Export ดาวน์โหลดเป็น JSON หรือ CSV และตัวกรองที่รองรับสามารถจำกัดการส่งออกได้ แหล่งที่มา
ถือว่าไฟล์ที่ส่งออกเป็นข้อมูลอ่อนไหว เพราะมีบันทึกกิจกรรมของบัญชี รวมถึงผู้กระทำและการกระทำ และอาจเผยบริบทส่วนบุคคลหรือขององค์กร เก็บไว้ในที่ส่วนตัว แชร์เฉพาะกับผู้ที่ช่วยคุณสอบสวนโดยตรง และหลีกเลี่ยงการวางในกระทู้สาธารณะหรือ issue tracker หากภายหลังต้องส่งสำเนาให้ทีมสนับสนุนของแพลตฟอร์ม ให้แชร์เฉพาะไฟล์ที่กรองแคบที่สุดซึ่งตอบคำถามของพวกเขาได้
สร้างเวิร์กชีตไทม์ไลน์เหตุการณ์
ไฟล์บันทึกที่ส่งออกคือรายการเหตุการณ์ ไม่ใช่เรื่องเล่า แปลงเป็นเวิร์กชีตเพื่อแยกข้อสังเกต การตีความ และคำถามที่ยังค้างอยู่ให้ชัดเจน โครงสร้างง่าย ๆ ที่ใช้ได้:
| คอลัมน์ | ใส่อะไร | ทำไมสำคัญ |
|---|---|---|
| Event | ป้ายสั้น ๆ ว่าเกิดอะไรขึ้น | ทำให้แถวอ่านง่ายในภายหลัง |
| Time | เวลาตามที่บันทึกไว้ พร้อมระบุเขตเวลา | ป้องกันการเรียงลำดับผิด |
| Actor | บัญชีหรือตัวระบุที่บันทึกว่าเป็นผู้กระทำ | ระบุแหล่งที่บันทึก ไม่ใช่ตัวบุคคล |
| Action | สิ่งที่บันทึกบอกว่าถูกทำ | ทำให้แถวเป็นข้อเท็จจริง |
| Confidence | คุณมั่นใจแค่ไหนว่าแถวนี้เกี่ยวข้องและอ่านถูกต้อง | แยกแถวที่ชัดเจนออกจากแถวที่คาดเดา |
| Open question | สิ่งที่คุณยังต้องตรวจสอบ | หยุดไม่ให้สมมติฐานกลายเป็นข้อเท็จจริง |
กรอกเวิร์กชีตจากไฟล์ที่ส่งออก หนึ่งแถวต่อหนึ่งเหตุการณ์ที่คุณตัดสินว่าเกี่ยวข้อง ใช้คอลัมน์ confidence อย่างซื่อสัตย์ แถวที่คุณอ่านโดยตรงจากไฟล์ที่ส่งออกนั้นหนักแน่นกว่าแถวที่คุณอนุมานจากการเปลี่ยนแปลงที่สังเกตเห็น หากคุณเห็นการเปลี่ยนแปลงแต่หาเหตุการณ์ที่ตรงกันไม่พบ ให้บันทึกเป็นคำถามที่ยังค้างอยู่ ไม่ใช่ข้อสรุป
แยกการกระทำที่พบเห็นออกจากหลักฐานว่าใครเป็นผู้ทำ
นี่คือส่วนที่ไทม์ไลน์ส่วนใหญ่ทำผิด รายการในบันทึกบอกคุณว่าบันทึกกล่าวว่าเกิดอะไรขึ้นและมีตัวระบุผู้กระทำใดแนบอยู่ แต่ไม่ได้พิสูจน์ด้วยตัวเองว่ามนุษย์คนใดอยู่ที่คีย์บอร์ด อุปกรณ์ที่ใช้ร่วมกัน เซสชันที่ใช้ซ้ำ ข้อมูลรับรองที่ถูกบุกรุก และระบบอัตโนมัติที่ชอบด้วยกฎหมาย ล้วนสร้างรายการที่ดูเหมือนมีคนลงมือได้ทั้งสิ้น
ขณะตรวจสอบ ให้แยกความคิดเป็นสองคอลัมน์ในใจ:
- พบเห็น: เหตุการณ์ เวลา ผู้กระทำ และการกระทำตามที่บันทึกไว้
- ยังไม่ยืนยัน: ใครลงมือ physically เพราะอะไร และตัวระบุผู้กระทำตรงกับบุคคลที่คุณคิดหรือไม่
เขียนข้อสรุปลงในหมวดที่สองเฉพาะเมื่อคุณมีหลักฐานอิสระเท่านั้น จนกว่าจะถึงตอนนั้น ให้เก็บไว้ในคอลัมน์คำถามที่ยังค้างอยู่
อย่าตีความเหตุการณ์ที่หายไปว่าไม่มีอะไรเกิดขึ้น
ช่องว่างในไฟล์ที่ส่งออกไม่ใช่หลักฐานว่าไม่มีความเคลื่อนไหว บันทึกครอบคลุมช่วงเวลาล่าสุดที่กำหนดไว้ และไฟล์ที่ส่งออกสะท้อนตัวกรองที่คุณใช้ หากคุณกรองตามรีโพซิทอรี เหตุการณ์ในรีโพซิทอรีอื่นจะไม่ปรากฏ หากการเปลี่ยนแปลงที่คุณกังวลเกิดขึ้นนอกช่วงเวลา ก็จะไม่มีอยู่ในนั้น บันทึกการหายไปเป็นช่องว่างที่ต้องสอบสวน ไม่ใช่ความสบายใจ
หากคุณสูญเสียการเข้าถึง
หากคุณลงชื่อเข้าใช้เพื่อเข้าถึงบันทึกไม่ได้เลย ให้หยุดพยายามสร้างเหตุการณ์ขึ้นใหม่จากภายนอก และใช้กระบวนการกู้คืนบัญชีอย่างเป็นทางการของ GitHub การกู้คืนคือเส้นทางที่คืนความสามารถในการตรวจสอบบัญชีของคุณ อย่าขอให้บุคคลภายนอกเข้าถึงบัญชีแทนคุณ และอย่าถือว่าการรีเซ็ตรหัสผ่านเพียงอย่างเดียวคือการสอบสวนที่เสร็จสมบูรณ์ เมื่อการเข้าถึงกลับมา ให้ส่งออกบันทึกและสร้างไทม์ไลน์สำหรับช่วงเวลารอบ ๆ การเปลี่ยนแปลง
เช็กลิสต์สั้น ๆ
- ส่งออกบันทึกความปลอดภัยก่อนที่หน้าต่าง 90 วันจะเลื่อนผ่านไป
- เก็บไฟล์ที่ส่งออกไว้เป็นส่วนตัว และบันทึกวันที่และเขตเวลาของการส่งออก
- ใช้ตัวกรองเพื่อแยกช่วงเวลาและพื้นที่ที่สนใจ แล้วส่งออกมุมมองที่กรองแล้วหากเป็นประโยชน์
- สร้างเวิร์กชีตด้วยคอลัมน์ event, time, actor, action และ confidence
- ทำเครื่องหมายแต่ละแถวว่าพบเห็นหรืออนุมาน และแยกคำถามที่ยังค้างอยู่ออกมา
- บันทึกเหตุการณ์ที่หายไปเป็นช่องว่าง ไม่ใช่หลักฐานว่าไม่มีอะไรเกิดขึ้น
- หากสูญเสียการเข้าถึง ให้ใช้การกู้คืนอย่างเป็นทางการก่อน แล้วกลับไปที่ขั้นตอนที่ 1
ก้าวต่อไปที่มีประโยชน์
เมื่อคุณมีไทม์ไลน์แล้ว คำถามถัดไปมักเป็นว่ามีบัญชีอื่นใดเชื่อมโยงกับชื่อหรือตัวระบุเดียวกัน ซึ่งเป็นงานที่แตกต่างจากการอ่านบันทึกความปลอดภัย และมีวิธีการของตัวเอง: ดู วิธีค้นหาบัญชีทั้งหมดที่เชื่อมโยงกับชื่อ แยกการสอบสวนสองเรื่องนี้ออกจากกัน เพื่อไม่ให้สิ่งที่พบในเรื่องหนึ่งถูกเข้าใจผิดว่าเป็นหลักฐานในอีกเรื่องหนึ่ง