DigiCert ทำใบรับรอง code signing หายไป 27 ใบ เพราะไฟล์สกรีนเซฟเวอร์ไฟล์เดียว
DigiCert หนึ่งใน Certificate Authority รายใหญ่ที่สุดของโลก ถูกโจมตีผ่านไฟล์สกรีนเซฟเวอร์ที่ส่งเข้ามาทางแชตฝ่ายสนับสนุนลูกค้า โปรแกรมป้องกันไวรัสของพวกเขาบล็อกมันถึงสี่ครั้ง แต่เจ้าหน้าที่ยังคงกดเปิดต่อ
DigiCert เป็นหนึ่งใน Certificate Authority รายใหญ่ที่สุดของโลก พวกเขาออกใบรับรองดิจิทัลที่บอกคอมพิวเตอร์ของคุณว่า "ซอฟต์แวร์นี้ปลอดภัยที่จะรัน" เมื่อคุณติดตั้งแอปพลิเคชันที่มีลายเซ็น ระบบปฏิบัติการจะตรวจลายเซ็นนั้นกับสายใบรับรอง (certificate chain) ที่ย้อนกลับไปยัง CA อย่าง DigiCert
ในเดือนเมษายน 2026 ผู้ไม่หวังดีเปิดแชตฝ่ายสนับสนุนลูกค้าบนพอร์ทัลของ DigiCert ที่ใช้ Salesforce เป็นพื้นฐาน แล้วส่งไฟล์ ZIP ที่ปลอมเป็นภาพหน้าจอของลูกค้า ข้างในเป็นไฟล์ .scr ซึ่งเป็นไฟล์สกรีนเซฟเวอร์ของ Windows ที่ทำงานได้เหมือนโปรแกรม
ระบบป้องกันปลายทาง CrowdStrike ของ DigiCert บล็อกมัน เจ้าหน้าที่ฝ่ายสนับสนุนลองอีกครั้ง ถูกบล็อกอีก ครั้งที่สาม ครั้งที่สี่ ถูกบล็อกทุกครั้ง
ความพยายามครั้งที่ห้าผ่านไปได้
เครื่องหนึ่ง แล้วก็สองเครื่อง
เครื่องแรกที่ถูกโจมตีถูกตรวจพบและแยกออกจากเครือข่ายภายในหนึ่งวัน การตอบสนองที่ดี
เครื่องที่สองที่ถูกโจมตีไม่ถูกตรวจพบนานสิบสองวัน เพราะอะไร เพราะ "ช่องว่างของเซ็นเซอร์ระบบป้องกันปลายทาง" (endpoint protection sensor gap) — เครื่องนั้นไม่มี EDR ครอบคลุม หรือไม่มีใครตรวจดูข้อมูล telemetry ของมัน
Certificate Authority — องค์กรที่ธุรกิจทั้งหมดคือความน่าเชื่อถือ — มีเครื่องหนึ่งในสภาพแวดล้อมฝ่ายสนับสนุนของตัวเองที่ไม่มีระบบตรวจจับปลายทางที่ทำงานได้ นานสิบสองวันที่ผู้โจมตีเข้าถึงได้
27 ใบรับรอง
ผู้โจมตีได้ใบรับรอง code signing แบบ EV ไป 27 ใบ ในที่สุด DigiCert เพิกถอนใบรับรองทั้งหมด 60 ใบ รวมถึงใบรับรองที่น่าสงสัยอีก 16 ใบที่พบระหว่างการสอบสวน
ใบรับรองเหล่านี้ถูกใช้ลงนามมัลแวร์ตระกูล Zhong Stealer ซึ่งเชื่อมโยงกับอาชญากรรมไซเบอร์และการขโมยสกุลเงินดิจิทัลในจีน มัลแวร์นั้นมีลายเซ็นดิจิทัลที่ถูกต้องจาก CA ที่เชื่อถือได้ ระบบปฏิบัติการจึงปฏิบัติกับมันเหมือนซอฟต์แวร์ที่ถูกกฎหมาย
นี่คือสิ่งที่ทำให้การที่ CA ถูกโจมตีต่างจากการละเมิดข้อมูลทั่วไป รหัสผ่านที่ถูกขโมยส่งผลกระทบต่อบัญชี คีย์ API ที่ถูกขโมยส่งผลกระทบต่อบริการ แต่ใบรับรอง code signing ที่ถูกขโมยส่งผลกระทบต่อความน่าเชื่อถือโดยตรง ทุกระบบปฏิบัติการ ทุกแอปสโตร์ ทุกเอนด์พอยต์ในองค์กร ต่างไว้ใจลำดับชั้นของ CA เมื่อ CA ถูกโจมตี ความไว้ใจนั้นก็ถูกเปลี่ยนเป็นอาวุธ
ความล้มเหลวที่แท้จริง
โปรแกรมป้องกันไวรัสทำงานถูกต้องแล้ว สี่ครั้งจากห้าครั้ง ระบบอัตโนมัติทำในสิ่งที่ควรทำทุกอย่าง ความล้มเหลวอยู่ที่คนที่คอยสั่งข้ามมันซ้ำแล้วซ้ำเล่า
นี่คือรูปแบบที่เราเห็นได้ทั่วไป ทีมรักษาความปลอดภัยสร้างสถาปัตยกรรมป้องกันเชิงลึกด้วย EDR, sandboxing, การแบ่งส่วนเครือข่าย และระบบแจ้งเตือน แล้วคนฝ่ายสนับสนุนก็เปิดไฟล์เพราะลูกค้าขอร้องด้วยดี ชุดระบบรักษาความปลอดภัยที่ซับซ้อนที่สุดในโลก ก็ทนไม่ได้กับผู้ใช้ที่กด "อนุญาต" ห้าครั้ง
แต่การโทษเจ้าหน้าที่ฝ่ายสนับสนุนไม่ได้ตอบคำถามจริง ระบบนั่นเองที่ยอมให้เจ้าหน้าที่ฝ่ายสนับสนุนรับไฟล์อำนวงานผ่านช่องทางแชต ระบบนั่นเองที่ยอมให้ลองติดต่อกันห้าครั้งหลังจากบล็อกไปแล้วสี่ครั้ง ระบบนั่นเองที่ไม่ตั้งธงว่า "ผู้ใช้คนนี้กำลังบายพาสโปรแกรมป้องกันไวรัสซ้ำ ๆ" เป็นเหตุการณ์ด้านความปลอดภัย และระบบนั่นเองที่มีเครื่องซึ่งไม่มี EDR ครอบคลุมอยู่ในสภาพแวดล้อมที่จัดการใบรับรอง code signing
คนเป็นคนกด แต่ระบบเป็นคนปล่อยให้กด
ใบรับรอง code signing มีค่าแค่ไหน
ใบรับรอง code signing แบบ EV ที่ถูกต้องจาก CA ที่เชื่อถือได้ เป็นหนึ่งในสิ่งที่มีค่าที่สุดที่ผู้โจมตีจะขโมยได้ มีค่ากว่ารหัสผ่าน มีค่ากว่าคีย์ API และในมุมหนึ่งก็มีค่ากว่าคีย์เข้ารหัสเสียอีก
ด้วยใบรับรอง code signing ที่ถูกขโมยมา ผู้โจมตีสามารถลงนามมัลแวร์ให้ผ่าน SmartScreen, Gatekeeper และรายการอนุญาตขององค์กรทุกแห่งได้ พวกเขาสามารถเผยแพร่อัปเดตของซอฟต์แวร์ที่มีลายเซ็นอยู่แล้วให้ดูถูกต้องตามกฎหมาย พวกเขาสามารถบายพาสนโยบายการอนุญาตเฉพาะแอปพลิเคชันในสภาพแวดย์องค์กร และพวกเขาสามารถผ่านระบบควบคุมความปลอดภัยทั้งหมดที่ต่อกันอยู่ซึ่งพึ่งพาการตรวจสอบลายเซ็น
ทั้งห่วงโซ่อุปทานซอฟต์แวร์ไว้ใจสายใบรับรอง เมื่อ CA ถูกโจมตี สายใบนั้นก็ขาด แต่ไม่มีใครรู้จนกว่ามัลแวร์ที่ถูกลงนามจะถูกค้นพบ
ใบรับรองที่ถูกโจมตี 11 ใบ ถูกพบเพราะสมาชิกในชุมชนรายงานว่ามันเชื่อมโยงกับมัลแวร์ ไม่ใช่จากการตรวจตราภายในของ DigiCert แต่เป็นชุมชน
รูปแบบ
เพียงเดือนนี้เดือนเดียว:
- ClickUp ฝังคีย์ API ไว้ในซอร์ส JavaScript ของหน้าเว็บ รีเควสต์เดียว ได้ที่อยู่อีเมล 959 รายการ
- CLI ของ Bitwarden ถูกโจมตีผ่าน npm แล้วเก็บเกี่ยวคีย์ SSH และข้อมูลรับรองคลาวด์จากเครื่องของนักพัฒนา
- Vercel เก็บตัวแปรสภาพแวดล้อมในรูปแบบที่ผู้โจมตีถอดรหัสได้ นานถึงสองเดือน
- DigiCert ทำใบรับรอง code signing หายไปเพราะไฟล์สกรีนเซฟเวอร์ไฟล์เดียว
ทุกกรณีข้างต้นเกี่ยวข้องกับข้อมูลรับรองที่ดำรงอยู่ในรูปของสิ่งที่คัดลอกได้ ไม่มีขอบเขตสิทธิ์ ไม่มีการผูกกับฮาร์ดแวร์ และไม่มีปัจจัยที่สองเมื่อนำไปใช้
วิธีแก้ไม่ใช่โปรแกรมป้องกันไวรัสที่ดีกว่า ไม่ใช่การอบรมที่มากขึ้น ไม่ใช่เอกสารนโยบายฉบับใหม่ วิธีแก้คือข้อมูลรับรองที่คัดลอกไม่ได้ คีย์ที่ไม่ดำรงอยู่ในรูปไฟล์ การลงนามที่ต้องมีฮาร์ดแวร์อยู่ด้วย และจุดยึดความน่าเชื่อถือ (trust anchor) ที่ผูกกับอุปกรณ์ทางกายภาพด้วยตรรกะทางคณิตศาสตร์ ไม่ใช่กับข้อความที่ใครก็วางลงในหน้าต่างแชตได้
---
แหล่งอ้างอิง: