Sandworm Lazarus แฟ้มคดี / CASE-015

CASE-015ระดับ 3 · มองผ่านตาผู้โจมตีมีพื้นฐานมาบ้าง

Zero‑day & ห่วงโซ่อุปทาน

Zero‑days & Supply‑chain Attacks

ซอฟต์แวร์ทุกชิ้นที่เราใช้ สร้างจากชิ้นส่วนของคนอื่นนับร้อยนับพันชิ้น เราไว้ใจมันทั้งหมดโดยไม่รู้ตัว บทนี้จะพาไปดูว่าช่องโหว่ที่ยังไม่มีใครรู้ (Zero-day) น่ากลัวแค่ไหน และทำไม “อัปเดต” ที่ควรช่วยเรา กลับกลายเป็นประตูให้คนร้ายได้

เขียนและวาดภาพโดย Sandworm เวลาอ่าน ประมาณ 17 นาที ภาพอธิบาย 5 ภาพ อ่านจบแล้วจะ เข้าใจวงจรช่องโหว่และห่วงโซ่อุปทาน

สีในภาพประกอบของแฟ้มนี้: แดง ผู้โจมตีเหลือง จุดเสี่ยงเขียว การป้องกันฟ้า ข้อมูลของเรา

01ช่องโหว่เป็นเรื่องของทุกคน The whole chain

ลองนึกถึงร้านข้าวมันไก่ที่เราชอบกิน เจ้าของร้านต้มข้าวเอง ทำน้ำจิ้มเอง แต่ข้าวสารซื้อจากโรงสี ไก่รับจากฟาร์ม ซีอิ๊วมาจากโรงงาน ถ้าวันหนึ่งซีอิ๊วเจ้าหนึ่งปนเปื้อน ทุกร้านที่ใช้ซีอิ๊วเจ้านั้นก็พลอยมีปัญหาไปด้วย ทั้งที่ร้านเองไม่ได้ทำอะไรผิดเลย

ซอฟต์แวร์ก็เป็นแบบเดียวกันเป๊ะ แอปหรือเว็บที่เราใช้ทุกวัน ผู้พัฒนาเขียนเองจริง ๆ แค่ส่วนบนสุด ที่เหลือประกอบจาก “ชิ้นส่วนสำเร็จรูป” ที่คนอื่นเขียนไว้แล้วนับร้อยนับพันชิ้น เราเรียกชิ้นส่วนเหล่านี้ว่า ไลบรารี (library) หรือ dependency การรวมผู้ผลิต ผู้ส่งต่อ และผู้ใช้ทั้งหมดนี้เรียกว่า ห่วงโซ่อุปทานซอฟต์แวร์ (software supply chain)

บทนี้เล่าถึงจุดอ่อนสองแบบที่เกิดในห่วงโซ่นี้ แบบแรกคือ ช่องโหว่ (vulnerability) จุดบกพร่องที่เผลอทำพลาดไว้ และแบบที่สองน่ากลัวกว่า คือเมื่อมีคน จงใจวางยา ลงในชิ้นส่วนที่ทุกคนไว้ใจ ทั้งสองแบบมีจุดร่วมเดียวกัน คือมันกระทบคนจำนวนมากพร้อมกัน เพราะทุกคนใช้ชิ้นส่วนเดียวกัน

ศัพท์น่ารู้: ช่องโหว่ (Vulnerability) vs ช่องโหว่ Zero-day
ช่องโหว่คือจุดบกพร่องในซอฟต์แวร์ที่อาจถูกใช้โจมตีได้ ส่วน Zero-day (ช่องโหว่วันศูนย์) คือช่องโหว่ที่ ผู้พัฒนายังไม่รู้ จึงยัง “มีเวลาศูนย์วัน” ในการแก้ และยังไม่มีแพตช์ให้ใคร มันจึงอันตรายเป็นพิเศษ เพราะไม่มีใครเตรียมป้องกันได้เลย

02วงจรชีวิตของช่องโหว่ The vulnerability lifecycle

ช่องโหว่ทุกตัวมี “ชีวิต” ของมัน ตั้งแต่เกิดในโค้ดเงียบ ๆ จนถึงวันที่ถูกปิดสนิท ระหว่างทางมีสองช่วงที่อันตรายเป็นพิเศษ และการเข้าใจสองช่วงนี้คือหัวใจของบททั้งบท

FIG 01ชีวิตของช่องโหว่หนึ่งตัว

บันทึกเป็นภาพ
แถบแดงคือช่วง Zero-day: ผู้โจมตีรู้ช่องโหว่ แต่ยังไม่มีแพตช์ให้ใครป้องกัน แถบเหลืองคือช่วง N-day: แพตช์ออกแล้วแต่หลายระบบยังไม่อัปเดต ซึ่งกลายเป็นช่วงที่เกิดการโจมตีจริงมากที่สุด
อ่านภาพนี้เป็นข้อความ
  1. มีช่องโหว่อยู่แล้วตั้งแต่เขียนโค้ด แต่ยังไม่มีใครรู้
  2. ช่วง Zero-day: ผู้โจมตีค้นพบก่อน เริ่มใช้โจมตีเงียบ ๆ ยังไม่มีแพตช์ป้องกัน
  3. ผู้พัฒนารู้ตัว แจ้งอย่างมีความรับผิดชอบ แล้วออกแพตช์
  4. ช่วง N-day: แพตช์มีแล้ว แต่หลายระบบยังไม่อัปเดต ผู้โจมตีไล่เจาะเครื่องที่ยังไม่แพตช์
  5. อัปเดตครบ ปิดช่องโหว่ การโจมตีเส้นนี้จบลง

คนส่วนใหญ่กลัวช่วง Zero-day เพราะมันลึกลับและป้องกันไม่ได้ ซึ่งก็น่ากลัวจริง แต่ความจริงที่หลายคนไม่รู้คือ การโจมตีที่เกิดขึ้น จริง ๆ ส่วนใหญ่อาศัยช่องโหว่แบบ N-day ต่างหาก คือช่องที่แพตช์ออกมาแล้ว รายละเอียดเปิดเผยหมดแล้ว แต่เหยื่อยัง “ขี้เกียจอัปเดต” ผู้โจมตีแค่หยิบแพตช์มาดูว่าแก้อะไร ก็รู้ทันทีว่าช่องอยู่ตรงไหน แล้วไล่ยิงเครื่องที่ยังไม่อัปเดต

ศัพท์น่ารู้: N-day และแพตช์ (Patch)
N-day คือช่องโหว่ที่แพตช์ออกมาแล้ว “N วัน” แต่ยังมีคนไม่อัปเดต ส่วนแพตช์คือตัวแก้ไขที่ผู้พัฒนาปล่อยมาปิดช่องโหว่ บทเรียนสำคัญ: การออกแพตช์ไม่ได้แปลว่าปลอดภัยทันที มันปลอดภัยต่อเมื่อ “ติดตั้ง” แล้วเท่านั้น

03CVE & CVSS: ทะเบียนและคะแนน CVE & CVSS

พอมีช่องโหว่เกิดขึ้นทุกวันเป็นพัน ๆ ตัว โลกก็ต้องมีวิธีเรียกชื่อให้ตรงกัน ไม่งั้นคุยกันไม่รู้เรื่อง ระบบที่ใช้กันทั่วโลกคือ CVE ย่อมาจาก Common Vulnerabilities and Exposures เป็นเหมือน “เลขทะเบียนบ้าน” ของช่องโหว่แต่ละตัว เช่น CVE-2021-44228 แปลว่าช่องโหว่ที่ขึ้นทะเบียนในปี 2021 ลำดับที่ 44228 ทุกคนทั่วโลกอ้างถึงเลขเดียวกันนี้

ทะเบียน CVE ดูแลโดยองค์กรชื่อ MITRE ภายใต้การสนับสนุนของหน่วยงานรัฐบาลสหรัฐฯ ชื่อ CISA และมีหน่วยงานที่ได้รับมอบหมายให้ออกเลข CVE (เรียกว่า CNA) อยู่ทั่วโลกกว่า 400 แห่ง เช่น บริษัทซอฟต์แวร์ใหญ่ ๆ ที่ออกเลขให้ผลิตภัณฑ์ของตัวเองได้

แต่รู้แค่ชื่อยังไม่พอ เราต้องรู้ด้วยว่า “รุนแรงแค่ไหน” ตรงนี้ใช้คะแนนชื่อ CVSS (Common Vulnerability Scoring System) ให้คะแนนจาก 0 ถึง 10 ตามความง่ายในการโจมตีและความเสียหายที่เกิดได้ รุ่นที่ใช้กันปัจจุบันคือ CVSS v4.0

FIG 02มาตรวัดความรุนแรง CVSS

บันทึกเป็นภาพ
ยิ่งคะแนนสูง ยิ่งต้องรีบจัดการ ช่องโหว่ระดับ Critical (9.0–10.0) คือสิ่งที่ทีมความปลอดภัยทิ้งทุกอย่างมาแก้ก่อน ทั้ง Log4Shell และ xz-utils ที่เราจะเล่าต่อไป ต่างได้คะแนนเต็ม 10.0
อ่านภาพนี้เป็นข้อความ
  1. None (0.0): ไม่มีผลกระทบ
  2. Low (0.1–3.9): ต่ำ
  3. Medium (4.0–6.9): ปานกลาง
  4. High (7.0–8.9): สูง
  5. Critical (9.0–10.0): วิกฤต ต้องรีบที่สุด

Log4Shell และ xz-utils ได้คะแนนเต็ม 10.0 ซึ่งเป็นระดับวิกฤตสูงสุด

เกร็ดที่ควรรู้สำหรับคนที่จะทำงานสายนี้: ในช่วงที่ผ่านมามีการปรับวิธีทำงานของฐานข้อมูลช่องโหว่ โดยหน่วยงานกลางจะเน้นลงรายละเอียดเฉพาะช่องโหว่ที่กระทบวงกว้างหรือถูกใช้โจมตีจริงก่อน และหันไปใช้คะแนนที่ผู้ออกเลข CVE (CNA) ให้มาเป็นหลักมากขึ้น เพราะจำนวนช่องโหว่เพิ่มเร็วเกินกว่าจะให้คะแนนเองได้ทุกตัว บทเรียนคือ อย่าดูแค่ตัวเลข CVSS อย่างเดียว ต้องดูด้วยว่าช่องนั้น “ถูกใช้โจมตีจริงอยู่หรือยัง”

04แจ้งอย่างมีความรับผิดชอบ Coordinated disclosure

สมมติเราเป็นนักเรียนที่บังเอิญเจอช่องโหว่ในเว็บของบริษัทหนึ่ง เราควรทำอะไร ป่าวประกาศลงโซเชียลเลยไหม คำตอบคือ ไม่ เพราะถ้าเราประกาศก่อนที่บริษัทจะแก้ทัน คนร้ายทั้งโลกก็เห็นพร้อมกัน แล้วรีบเอาไปโจมตีก่อนมีแพตช์ เท่ากับเราเปิดช่วง Zero-day ให้คนร้ายเอง

วิธีที่ถูกต้องเรียกว่า การเปิดเผยอย่างมีการประสานงาน (coordinated disclosure) คือแจ้งผู้พัฒนาเป็นการส่วนตัวก่อน ให้เวลาเขาแก้ (ปกติ 90 วันเป็นมาตรฐานที่หลายคนใช้) แล้วค่อยเปิดเผยต่อสาธารณะพร้อมกับแพตช์ หลายบริษัทมีช่องทางรับแจ้งและโครงการให้รางวัล (bug bounty) สำหรับคนที่รายงานช่องโหว่อย่างถูกต้อง นี่คือเส้นทางของ “แฮกเกอร์หมวกขาว” ที่ถูกกฎหมายและได้รับการยกย่อง

ความเชื่อ

“เจอช่องโหว่ก็ต้องรีบประกาศให้โลกรู้ทันที จะได้เตือนทุกคน”

ความจริง

ถ้าประกาศก่อนมีแพตช์ เท่ากับบอกวิธีเจาะให้คนร้ายฟรี ๆ ในขณะที่เหยื่อยังป้องกันไม่ได้ การแจ้งผู้พัฒนาก่อนและรอให้แก้เสร็จ คือการเตือนที่ “ปลอดภัยกว่า” สำหรับทุกคน

และเมื่อแพตช์ออกมาแล้ว หน้าที่ก็ย้ายมาอยู่ที่ฝั่งผู้ใช้ คือต้อง จัดการแพตช์ (patch management) ให้เป็นระบบ รู้ว่าเครื่องไหนใช้อะไรบ้าง อัปเดตตัวสำคัญก่อน ทดสอบว่าไม่พัง แล้วทยอยปล่อย ยิ่งทำเร็ว ช่วง N-day ก็ยิ่งสั้น โอกาสโดนก็ยิ่งน้อย

05เมื่ออัปเดตกลายเป็นอาวุธ Poisoned updates

ตลอดบทที่ผ่านมา เราพร่ำบอกให้ “อัปเดตเสมอ” ซึ่งถูกต้อง แต่มีการโจมตีแบบหนึ่งที่พลิกคำแนะนำนี้กลับหัว คือเมื่อ ตัวอัปเดตเอง คือสิ่งที่มีพิษ ผู้โจมตีไม่ได้เจาะเครื่องเราโดยตรง แต่ไปเจาะที่ ผู้พัฒนาต้นทาง แล้วแอบฝังโค้ดร้ายลงในอัปเดตของจริง ก่อนที่มันจะถูกเซ็นรับรองและส่งถึงเรา

FIG 03อัปเดตของแท้ที่มีพิษแอบแฝง

บันทึกเป็นภาพ
จุดที่คนร้ายแทรกคือ “สายการประกอบ” ของผู้พัฒนา ก่อนการเซ็นรับรอง อัปเดตที่ออกมาจึงมีลายเซ็นถูกต้องทุกประการ ลูกค้าทุกองค์กรติดตั้งด้วยความไว้ใจ เพราะมันมาจากผู้พัฒนาตัวจริง นี่คือเหตุผลที่การโจมตีแบบนี้ร้ายแรงมาก
อ่านภาพนี้เป็นข้อความ
  1. ผู้พัฒนาซอฟต์แวร์สร้างและเซ็นรับรองตัวอัปเดตของจริง
  2. ผู้โจมตีเจาะเข้าระบบ build แล้วแทรกโค้ดร้ายก่อนการเซ็นรับรอง อัปเดตจึงดูเป็นของแท้ทุกประการ
  3. ลูกค้าหลายพันองค์กรติดตั้งอัปเดตอัตโนมัติด้วยความไว้ใจ เพราะมันมาจากผู้พัฒนาตัวจริง

06Log4Shell: ช่องโหว่ในของที่ลืม Log4Shell

คราวนี้มาดูจุดอ่อนอีกแบบ ไม่ใช่การจงใจวางยา แต่เป็นช่องโหว่ธรรมดาในชิ้นส่วนเล็ก ๆ ที่บังเอิญถูกใช้กันทั้งโลก ชื่อของมันคือ Log4Shell และมันสอนบทเรียนสำคัญข้อหนึ่ง: เราป้องกันของที่เราไม่รู้ว่าเราใช้อยู่ไม่ได้

พระเอกของเรื่องคือไลบรารีชื่อ Log4j เป็นเครื่องมือเล็ก ๆ สำหรับ “จดบันทึก” (logging) ว่าโปรแกรมทำอะไรไปบ้าง ฟังดูไม่มีพิษภัย แต่มันถูกฝังอยู่ในแอป เซิร์ฟเวอร์ และบริการนับไม่ถ้วนทั่วโลก ปัญหาคือมันมักไม่ได้ถูกเรียกใช้ตรง ๆ แต่ “ติดมา” กับไลบรารีอื่นอีกที ฝังลึกหลายชั้นจนเจ้าของแอปเองไม่รู้ด้วยซ้ำว่ามีมันอยู่

FIG 04Log4j ที่ซ่อนอยู่ลึกในต้นไม้

บันทึกเป็นภาพ
นี่คือ “ต้นไม้ของไลบรารี” (dependency tree): แอปของเราเรียกใช้ไลบรารีไม่กี่ตัว แต่แต่ละตัวก็ลากไลบรารีอื่นตามมาอีกเป็นทอด ๆ Log4j มักอยู่ปลายกิ่งลึกสุด ที่เราไม่เคยเลือกและไม่เคยเห็น
อ่านภาพนี้เป็นข้อความ
  1. แอปของคุณ: คุณเขียนเองแค่ส่วนบนสุด
  2. ไลบรารีที่คุณเรียกใช้โดยตรง เช่น เฟรมเวิร์กทำเว็บ
  3. ไลบรารีย่อยอีกชั้น ที่มาพ่วงกับไลบรารีข้างบนเองโดยคุณไม่ได้เลือก
  4. Log4j (CVE-2021-44228) ฝังลึกอยู่หลายชั้น คุณไม่เคยเรียกมันตรง ๆ และไม่รู้ว่ามันอยู่ในแอป

กิ่งอื่นที่ไม่ได้ลาก Log4j มาด้วย ก็ปลอดภัยจากช่องโหว่นี้

07xz-utils: ประตูหลังที่เกือบสำเร็จ The xz backdoor

คดีสุดท้ายน่าขนลุกที่สุด เพราะมันรวมทั้งการวางยาและความเปราะบางของโลกโอเพนซอร์สไว้ด้วยกัน และมันเกือบสำเร็จแบบที่แทบไม่มีใครทันสังเกต

xz-utils เป็นเครื่องมือบีบอัดไฟล์เล็ก ๆ ที่ฝังอยู่ในระบบปฏิบัติการ Linux แทบทุกตัวบนโลก ดูแลโดยอาสาสมัครไม่กี่คน ในปี 2024 มีคนใช้ชื่อว่า “Jia Tan” ค่อย ๆ เข้ามาช่วยพัฒนาอย่างขยันขันแข็งเป็นเวลากว่าสองปี จนได้รับความไว้ใจให้เป็นผู้ดูแลร่วม ระหว่างนั้นยังมีบัญชีลึกลับหลายบัญชีคอยกดดันผู้ดูแลคนเดิมให้ปล่อยอำนาจ เมื่อได้สิทธิ์แล้ว เขาก็ค่อย ๆ แอบฝัง ประตูหลัง (backdoor) ลงในโค้ด อย่างแนบเนียนจนแทบมองไม่เห็น

คดี xz สอนเราว่า ในโลกโอเพนซอร์ส “ความไว้ใจ” เองก็เป็นช่องโหว่ได้ ผู้โจมตีที่อดทนพอจะใช้เวลาเป็นปี ๆ สะสมความน่าเชื่อถือ แล้วค่อยใช้มันในวินาทีสำคัญ

08ป้องกัน: SBOM & ลายเซ็น Defending the chain

เรื่องห่วงโซ่อุปทานฟังดูใหญ่โตเกินตัวสำหรับคนทั่วไป แต่หลักคิดในการป้องกันกลับตรงไปตรงมา และนักพัฒนารุ่นใหม่ควรรู้ไว้ตั้งแต่ต้น มันมีสี่ชั้น

FIG 05สี่ชั้นป้องกันห่วงโซ่อุปทาน

บันทึกเป็นภาพ
หัวใจคือ “รู้ว่ามีอะไรอยู่ในระบบ” ก่อน แล้วค่อยป้องกันทีละชั้น SBOM ช่วยให้วันที่ช่องโหว่ใหม่โผล่มา เราตอบได้ทันทีว่ากระทบเราไหม แทนที่จะมานั่งค้นหาเป็นวัน ๆ อย่างที่หลายองค์กรเจอตอน Log4Shell
อ่านภาพนี้เป็นข้อความ
  1. รู้ว่ามีอะไรอยู่ในระบบ (SBOM): ทำบัญชีรายการส่วนประกอบซอฟต์แวร์ทั้งหมด เหมือนฉลากโภชนาการ
  2. ตรวจลายเซ็นดิจิทัล (Code signing): รับเฉพาะอัปเดตที่เซ็นรับรองถูกต้องจากผู้พัฒนาตัวจริง
  3. ติดตามประกาศช่องโหว่: เฝ้าดู CVE และคำแนะนำจากผู้พัฒนา รู้ก่อนว่ามีอะไรต้องรีบแพตช์
  4. จัดการแพตช์ให้เป็นระบบ: มีขั้นตอนทดสอบและอัปเดตที่รวดเร็ว ลดช่วง N-day ให้สั้นที่สุด
ศัพท์น่ารู้: SBOM และ Code signing
SBOM (Software Bill of Materials) คือ “บัญชีรายการส่วนผสม” ของซอฟต์แวร์ บอกว่าข้างในประกอบด้วยไลบรารีอะไรบ้าง รุ่นไหน เหมือนฉลากโภชนาการบนห่ออาหาร ส่วน Code signing คือการที่ผู้พัฒนาเซ็นรับรองโค้ดด้วยลายเซ็นดิจิทัล เพื่อให้ผู้ใช้ตรวจได้ว่าของจริงและไม่ถูกแก้ไขระหว่างทาง

กฎระเบียบของโลกก็กำลังขยับไปทางนี้ เช่น กฎหมายความมั่นคงไซเบอร์ของสหภาพยุโรป (Cyber Resilience Act) ที่เริ่มมีผลบังคับหน้าที่รายงานช่องโหว่ในช่วงเดือนกันยายน 2026 ซึ่งผลักดันให้ผู้ผลิตต้องรับผิดชอบความปลอดภัยของซอฟต์แวร์ตลอดอายุการใช้งานมากขึ้น รวมถึงการจัดทำ SBOM

สำหรับนักเรียนหรือนักพัฒนามือใหม่ เริ่มง่าย ๆ ได้เลย: ใช้ไลบรารีจากแหล่งทางการ หมั่นอัปเดต dependency ให้เป็นรุ่นใหม่ และลองใช้เครื่องมือตรวจช่องโหว่ในโปรเจกต์ (dependency scanning) ที่หลายแพลตฟอร์มมีให้ฟรี แค่นี้ก็ปิดช่องส่วนใหญ่ได้แล้ว

09สรุปให้จำ Recap

ในโลกที่ซอฟต์แวร์ทุกชิ้นสร้างจากชิ้นส่วนของคนอื่น ความปลอดภัยของเราผูกกับความปลอดภัยของทั้งห่วงโซ่ ห้าข้อนี้คือแก่นของบท

  • Zero-day คือช่องที่ยังไม่มีแพตช์ แต่การโจมตีจริงส่วนใหญ่อาศัยช่วง N-day ที่คนขี้เกียจอัปเดต
  • CVE คือเลขทะเบียน CVSS คือคะแนนความรุนแรง 0–10 ระดับ Critical ต้องรีบที่สุด
  • เจอช่องโหว่ให้แจ้งผู้พัฒนาก่อน อย่าป่าวประกาศก่อนมีแพตช์ (coordinated disclosure)
  • อัปเดตเองก็ถูกวางยาได้ ถ้าต้นทางถูกเจาะ อย่างคดี SolarWinds ตรวจลายเซ็นช่วยได้
  • รู้ว่ามีอะไรในระบบด้วย SBOM จะได้ตอบได้ทันทีว่าช่องโหว่ใหม่กระทบเราไหม

ลองทบทวนดู

ทำไมช่องโหว่ Zero-day ถึงอันตรายเป็นพิเศษ

เพราะผู้พัฒนายังไม่รู้ว่ามีช่องนี้ จึงยังไม่มีแพตช์ให้ใครป้องกัน (“มีเวลาศูนย์วันในการแก้”) ผู้โจมตีที่รู้ก่อนจึงเจาะได้โดยไม่มีใครตั้งตัว

ทำไมการโจมตีจริงส่วนใหญ่กลับใช้ช่องโหว่ N-day ไม่ใช่ Zero-day

เพราะ Zero-day หายากและมีค่า แต่ N-day มีอยู่เกลื่อน คือช่องที่แพตช์ออกแล้วและเปิดเผยวิธีแก้หมดแล้ว ผู้โจมตีแค่ดูว่าแพตช์แก้อะไร ก็รู้ช่อง แล้วไล่ยิงเครื่องที่ยังไม่อัปเดต ซึ่งมีเยอะมาก

ถ้าเราบังเอิญเจอช่องโหว่ในเว็บของบริษัทหนึ่ง ควรทำอย่างไร

แจ้งบริษัทเป็นการส่วนตัวก่อน ให้เวลาเขาแก้ แล้วค่อยเปิดเผยพร้อมแพตช์ (coordinated disclosure) ไม่ควรประกาศลงโซเชียลทันที เพราะจะเท่ากับเปิดช่วง Zero-day ให้คนร้ายทั้งโลกในขณะที่เหยื่อยังป้องกันไม่ได้

คดี SolarWinds ต่างจากช่องโหว่ทั่วไปอย่างไร

มันไม่ใช่จุดบกพร่องที่เผลอทำพลาด แต่เป็นการ “จงใจวางยา” ผู้โจมตีเจาะระบบสร้างซอฟต์แวร์ของผู้พัฒนา แล้วฝังโค้ดร้ายในอัปเดตของจริงก่อนเซ็นรับรอง อัปเดตที่ติดเชื้อจึงมีลายเซ็นถูกต้อง และถูกลูกค้าติดตั้งด้วยความไว้ใจ

SBOM ช่วยเราตอน Log4Shell ได้อย่างไร

SBOM คือบัญชีรายการส่วนประกอบของซอฟต์แวร์ ถ้ามีไว้ก่อน พอ Log4Shell โผล่มา เราเปิดดูได้ทันทีว่าแอปไหนของเราใช้ Log4j รุ่นไหนบ้าง แทนที่จะเสียเวลาเป็นวัน ๆ ไล่ค้นหาเองเหมือนที่หลายองค์กรเจอ