- เกิดเหตุการณ์ด้านความปลอดภัยที่ ทราฟฟิกการอัปเดตของเว็บไซต์ทางการ Notepad++ ถูกเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์ของผู้โจมตี
- การโจมตีเกิดขึ้นผ่าน การเจาะระบบในระดับโครงสร้างพื้นฐานของผู้ให้บริการโฮสติ้ง ไม่ใช่ช่องโหว่ในโค้ดของ Notepad++ เอง
- การโจมตีดำเนินต่อเนื่อง ตั้งแต่เดือนมิถุนายน 2025 จนถึงวันที่ 2 ธันวาคม โดยนักวิจัยด้านความปลอดภัยหลายรายประเมินว่าเป็นฝีมือของ กลุ่มแฮ็กเกอร์ที่ได้รับการสนับสนุนจากรัฐบาลจีน
- ผู้โจมตีมุ่งเป้าไปที่ Notepad++ เวอร์ชันเก่าที่มีกระบวนการตรวจสอบการอัปเดตไม่รัดกุม เพื่อแจกจ่ายอัปเดตอันตราย
- หลังจากนั้นมีการเสริมความปลอดภัยด้วย การย้ายเว็บไซต์, การเพิ่มความเข้มงวดในการตรวจสอบใบรับรองและลายเซ็น, และการนำ XML signature มาใช้
ภาพรวมของเหตุการณ์
- หลังประกาศด้านความปลอดภัย (เปิดตัว v8.8.9) ได้มีการสืบสวนร่วมกับผู้เชี่ยวชาญภายนอกและผู้ให้บริการโฮสติ้งรายเดิม
- ผลการวิเคราะห์พบว่า ผู้โจมตีสามารถทำ การเจาะระบบในระดับโครงสร้างพื้นฐานที่ดักจับและเปลี่ยนเส้นทางทราฟฟิกอัปเดตที่ไปยัง notepad-plus-plus.org
- การเจาะระบบเกิดขึ้นที่ เซิร์ฟเวอร์ของผู้ให้บริการโฮสติ้ง ไม่ใช่ในโค้ดของ Notepad++
- มีการคัดเลือกเปลี่ยนเส้นทางทราฟฟิกของผู้ใช้บางรายไปยังเซิร์ฟเวอร์ของผู้โจมตี เพื่อส่งมอบ manifest การอัปเดตอันตราย
ช่วงเวลาการโจมตีและผู้อยู่เบื้องหลัง
- การโจมตี เริ่มต้นตั้งแต่เดือนมิถุนายน 2025
- นักวิจัยด้านความปลอดภัยอิสระหลายรายคาดว่าเป็น กลุ่มแฮ็กเกอร์ที่ได้รับการสนับสนุนจากรัฐบาลจีน
- ลักษณะเด่นคือเป็นการโจมตีที่ทำอย่างจำกัดวงและคัดเลือกเป้าหมายอย่างเฉพาะเจาะจง
ผลการสืบสวนของผู้ให้บริการโฮสติ้ง
- ผู้ให้บริการยืนยันว่า เซิร์ฟเวอร์ถูกเจาะระบบจนถึงวันที่ 2 กันยายน 2025
- ในวันดังกล่าวมีการอัปเดต kernel และ firmware และหลังจากนั้นรูปแบบลักษณะเดียวกันก็หายไปจาก log
- ผู้โจมตียังคงมี ข้อมูลรับรองของบริการภายใน อยู่จนถึงวันที่ 2 ธันวาคม ทำให้ยังสามารถเปลี่ยนเส้นทางทราฟฟิกบางส่วนได้
- จากการวิเคราะห์ log พบว่า ลูกค้ารายอื่นไม่ได้ตกเป็นเป้าหมาย และมีเพียงโดเมนของ Notepad++ เท่านั้นที่ถูกเล็งโจมตี
- หลังวันที่ 2 ธันวาคม
- แก้ไขช่องโหว่และเปลี่ยนข้อมูลรับรองเสร็จสิ้น
- ไม่พบร่องรอยการเจาะระบบลักษณะเดียวกันในเซิร์ฟเวอร์อื่น
- มีการแนะนำให้ลูกค้าเปลี่ยนรหัสผ่าน SSH, FTP/SFTP, MySQL และตรวจสอบบัญชีผู้ดูแลระบบ WordPress
สรุป (TL;DR)
- เซิร์ฟเวอร์ shared hosting ถูกเจาะระบบจนถึงวันที่ 2 กันยายน 2025 และหลังจากนั้นผู้โจมตียังคง รักษาข้อมูลรับรองภายในไว้จนถึงวันที่ 2 ธันวาคม
- ผู้โจมตีใช้ประโยชน์จาก จุดอ่อนในการตรวจสอบการอัปเดตของ Notepad++ เพื่อแจกจ่ายอัปเดตอันตราย
- มาตรการเสริมความปลอดภัยทั้งหมดเสร็จสิ้นหลังวันที่ 2 ธันวาคม และสามารถป้องกันการโจมตีเพิ่มเติมได้
การตอบสนองและการเสริมความปลอดภัย
- ย้ายเว็บไซต์ Notepad++ ไปยัง ผู้ให้บริการโฮสติ้งรายใหม่ที่มีระดับความปลอดภัยสูงกว่า
- เครื่องมืออัปเดตภายในของ Notepad++ อย่าง WinGup ตั้งแต่ v8.8.9 เป็นต้นไป
- เพิ่มฟังก์ชัน ตรวจสอบใบรับรองและลายเซ็น ของไฟล์ติดตั้งที่ดาวน์โหลดมา
- ใช้ ลายเซ็น XMLDSig กับการตอบกลับ XML จากเซิร์ฟเวอร์อัปเดต
- ตั้งแต่ v8.9.2 เป็นต้นไป การตรวจสอบใบรับรองและลายเซ็นจะถูก บังคับใช้
- แนะนำให้ผู้ใช้ ติดตั้ง v8.9.1 แบบแมนนวล
ข้อมูลเพิ่มเติมและข้อจำกัดของการสืบสวน
- ตัวบ่งชี้การถูกเจาะระบบ (Indicator of Compromise, IoC) ยังไม่สามารถระบุได้
- มีการวิเคราะห์ log ของเซิร์ฟเวอร์ราว 400GB แต่ ไม่พบ IoC ที่เป็นรูปธรรม เช่น binary hash, โดเมน, IP
- มีการขอ IoC จากผู้ให้บริการโฮสติ้งเช่นกัน แต่ไม่ได้รับข้อมูล
- Ivan Feigl จาก Rapid7 ได้แบ่งปันผลการสืบสวนแยกต่างหาก และมี IoC ที่เฉพาะเจาะจงมากกว่า อยู่ในมือ
บทสรุป
- การโจมตีครั้งนี้เป็น การบิดเบือนกระบวนการอัปเดตแบบเจาะจงเป้าหมายผ่านการเจาะโครงสร้างพื้นฐานโฮสติ้ง
- ปัญหาได้รับการแก้ไขแล้วผ่านการเสริมความปลอดภัยและการย้ายเซิร์ฟเวอร์
- ในอนาคต Notepad++ กำลังเดินหน้า เสริมความแข็งแกร่งของระบบตรวจสอบการอัปเดต เพื่อป้องกันการโจมตีลักษณะเดียวกัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ผมคิดว่าตัวเองค่อนข้างปลอดภัยจากปัญหาแบบนี้ เพราะมีนิสัยใช้ไฟร์วอลล์บล็อกการเข้าถึงอินเทอร์เน็ตของโปรแกรมถ้าไม่ได้จำเป็นจริงๆ
โปรแกรมแก้ไขข้อความไม่มีเหตุผลอะไรเลยที่จะต้องเข้าถึงอินเทอร์เน็ต
ผมอัปเดตผ่าน
wingetเท่านั้น และส่วนใหญ่ก็ดึงตัวติดตั้งจาก GitHub เข้าใจว่าการเปลี่ยนแพ็กเกจทำได้ผ่าน PR เท่านั้น ไม่ได้สมบูรณ์แบบแต่ก็ไว้ใจได้พอสมควรผมเลื่อนการอัปเดตมาตลอดเลยยังใช้เวอร์ชัน 8.5.8 อยู่ เลยอดคิดไม่ได้ว่าสุดท้ายแล้วมันทำให้ผมปลอดภัยกว่าหรือเปล่า
อยากได้ข้อมูลที่ชัดเจนกว่านี้ว่าเกิดอะไรขึ้นจริงกับคนที่ได้รับอัปเดตที่ติดเชื้อ
ถ้ามีเครื่องมือสำหรับตรวจสอบเช็กซัมของไฟล์ Notepad++ ที่ติดตั้งอยู่ก็น่าจะช่วยได้มาก
แถมในประกาศยังมีคำผิดเยอะจนสงสัยว่า หรือจริงๆ แล้วเป็นฝีมือของแฮ็กเกอร์ที่มีรัฐหนุนหลังกันแน่ เป็นไปได้ไหมว่าเวอร์ชันใหม่เองต่างหากที่เป็นมัลแวร์?
ถ้ามีระบบ web of trust ที่ให้เพื่อนๆ ทดลองอัปเดตก่อนแล้วเราค่อยเชื่อผลลัพธ์ก็คงดี
ระบุว่าเวอร์ชัน 8.8.1 หรือต่ำกว่านั้นปลอดภัย และมีการเผยแพร่ SHA256 checksums ของแต่ละเวอร์ชันไว้บน GitHub
การตรวจดูโค้ดด้วยตัวเองสำคัญกว่าการเปิดอัปเดตอัตโนมัติ
คิดว่าโอกาสที่แอปสุ่มๆ จะติดอัปเดตอันตรายมีสูงกว่ามาก เลยค่อยอัปเดตด้วยตัวเองเป็นครั้งคราว
ผมรอดจากการโจมตีครั้งนี้ได้เพราะใช้ Chocolatey
ผู้ดูแลแพ็กเกจทำการฮาร์ดโค้ด SHA256 checksumไว้ และไม่ได้ใช้ WinGuP เลย
นี่แหละคือจุดที่เห็นข้อดีของ package managerชัดเจน
เราไม่รู้เลยว่าเซิร์ฟเวอร์อัปเดตมีช่องโหว่ไหมหรือมีการตรวจสอบเช็กซัมหรือเปล่า เลยไม่ไว้ใจระบบอัปเดตในตัว
ผมใช้
choco update notepadplusplusหรือwinget upgrade Notepad++.Notepad++จัดการแทนน่าจะเป็นไปได้ว่าเหตุการณ์นี้เกี่ยวข้องกับประกาศของ Notepad++ เรื่องไต้หวัน
แต่ซอฟต์แวร์ควรแยกออกจากการเมือง ถึงจะเห็นด้วยกับเป้าหมายทางการเมืองก็ไม่จำเป็นต้องเอามาปนกับโค้ด
เครื่องมือสารพัดประโยชน์ที่ดูแลโดยทีมเล็กๆ ทำให้กังวลเสมอ
แค่ตัวติดตั้งบางส่วนถูกแฮ็กก็ทำให้หลายบริษัทตกอยู่ในความเสี่ยงจากsupply chain attackได้แล้ว
จะวิเคราะห์ทราฟฟิกเองด้วยเครื่องมืออย่าง Wireshark หรือ Burp Suite ก็ได้
ไฟร์วอลล์แบบนี้ก็ทำได้ทั้งบน Windows และ Linux
ว่ากันว่าทราฟฟิกของผู้ใช้บางรายถูกรีไดเร็กต์ไปยังเซิร์ฟเวอร์ของผู้โจมตีจนได้รับmanifest อัปเดตที่เป็นอันตราย
ผมสงสัยว่าผู้ใช้กลุ่มไหนถูกเลือกเป็นเป้าหมาย แต่ในบทความพูดแค่ว่าน่าจะเป็นแฮ็กเกอร์ที่ได้รับการสนับสนุนจากรัฐบาลจีน
ผมสงสัยว่าระบบเป้าหมายถูกเจาะจริงๆ อย่างไร
เวอร์ชันก่อน 8.8.7 ใช้ใบรับรองแบบ self-signed และคีย์ถูกเปิดเผยไว้บน GitHub
การโจมตีครั้งนี้เป็นการโจมตีแบบแทรกแซงด้วยมือที่เล็งผู้ใช้บางส่วนในเอเชียเท่านั้น
ผมมองว่าไม่ควรโทษผู้ให้บริการโฮสติ้งอย่างเดียว นักพัฒนาก็มีส่วนรับผิดชอบด้วย
สุดท้ายก็เหลือคำถามว่า “แล้วฉันควรทำยังไงกับ Notepad++?”
ผมมักจะปิดฟีเจอร์ตรวจหาอัปเดตทันทีหลังติดตั้งซอฟต์แวร์ใหม่
ต่อให้การโจมตีแบบนี้จะเกิดไม่บ่อย แต่ผมคิดว่าคำขออัปเดตมันเปิดเผยลายนิ้วมือของเครื่องและข้อมูลตำแหน่งที่ตั้งของคอมพิวเตอร์ผม
การทำthreat modelingเพื่อรักษาระดับความปลอดภัยที่สมจริงจึงสำคัญ