Tirith เป็นเครื่องมือโอเพนซอร์สและข้ามแพลตฟอร์มใหม่ที่สามารถตรวจจับการโจมตีแบบ Homoglyph ในสภาพแวดล้อม command-line โดยการวิเคราะห์ URL ในคำสั่งที่ผู้ใช้พิมพ์และหยุดการทำงานของคำสั่งนั้น ๆ
Severity: สูง
System Impact:
- Shell environments (เช่น zsh, bash, fish, PowerShell) ที่เสี่ยงต่อการโจมตี Homoglyph
- ระบบปฏิบัติการ Windows, Linux, macOS (ที่รองรับการใช้งาน Tirith)
- ไม่รองรับ Windows Command Prompt (cmd.exe) ซึ่งยังคงเป็นช่องโหว่
- Git repositories และ Docker registries (เสี่ยงต่อ Supply-chain risks ผ่าน typosquatting)
Technical Attack Steps:
- ผู้โจมตีสร้างโดเมนที่ดูเหมือนถูกต้องตามกฎหมายโดยใช้อักขระ Homoglyph (อักขระที่มองเห็นคล้ายกันแต่ต่างกันทางเทคนิค) ใน URL
- ผู้ใช้ถูกหลอกให้คัดลอกและวางหรือพิมพ์คำสั่งที่มี URL ปลอมแปลงเหล่านี้ลงในสภาพแวดล้อม command-line (เช่น zsh, bash, fish, PowerShell)
- เนื่องจากเทอร์มินัลยังคงแสดงผลอักขระ Unicode, ANSI escapes และอักขระที่มองไม่เห็นได้ ทำให้ผู้ใช้มองเห็น URL เป็นของจริงในขณะที่คอมพิวเตอร์ตีความอักขระที่ผิดปกติอย่างถูกต้อง
- เครื่องมือ Tirith จะเข้ามา Hook การทำงานของ Shell และวิเคราะห์ URL ในคำสั่งที่ป้อน
- หาก Tirith ตรวจพบอักขระ Homoglyph หรือรูปแบบการโจมตีอื่น ๆ ใน URL หรือคำสั่งนั้น ๆ จะทำการหยุดการดำเนินการของคำสั่งเพื่อป้องกันการโจมตี
Recommendations:
Short Term:
- พิจารณาติดตั้ง Tirith ในสภาพแวดล้อม command-line ที่ใช้งาน (zsh, bash, fish, PowerShell) เพื่อเพิ่มการป้องกันการโจมตี Homoglyph และ Terminal Injection
- เพิ่มความระมัดระวังเป็นพิเศษเมื่อคัดลอกหรือพิมพ์คำสั่งที่มี URL โดยเฉพาะจากแหล่งที่ไม่คุ้นเคยหรือไม่น่าเชื่อถือ ตรวจสอบ URL อย่างละเอียดด้วยตาเปล่าและเครื่องมือตรวจสอบหากเป็นไปได้
- หลีกเลี่ยงการใช้ ‘pipe-to-shell’ patterns (เช่น curl | bash) จากแหล่งที่ไม่รู้จักหรือไม่น่าเชื่อถือโดยตรง
Long Term:
- ให้ความรู้แก่ผู้ใช้งาน โดยเฉพาะนักพัฒนาและผู้ดูแลระบบ เกี่ยวกับการโจมตีแบบ Homoglyph, Terminal Injection และความเสี่ยงจากการคัดลอกคำสั่งจากแหล่งภายนอก
- ใช้มาตรการรักษาความปลอดภัยแบบหลายชั้นในสภาพแวดล้อมการพัฒนาและปฏิบัติงาน เช่น การยืนยันตัวตนแบบหลายปัจจัย (MFA) และการตรวจสอบโค้ด เพื่อลดความเสี่ยงจาก Supply Chain Attacks
- ตรวจสอบและอัปเดตเครื่องมือและซอฟต์แวร์ความปลอดภัยอย่างสม่ำเสมอ เพื่อให้แน่ใจว่าสามารถตรวจจับภัยคุกคามล่าสุดและช่องโหว่ได้
- จำกัดสิทธิ์การเข้าถึง (Least Privilege) สำหรับผู้ใช้และกระบวนการ เพื่อลดผลกระทบหากเกิดการโจมตีสำเร็จ
Share this content: