จากเหตุการณ์ที่ CrowdStrike ซอฟต์แวร์ความปลอดภัย อัปเดตโปรแกรมจนทำให้ Windows จอฟ้าสร้างผลกระทบในระดับโลก ประเด็นหนึ่งที่ถูกหยิบยกมาก็คือ Windows เป็นระบบเปิดมากเกินไป ทำให้ซอฟต์แวร์สามารถเข้าถึงได้ระดับเคอร์เนล ถ้าใช้ระบบปิดแบบบางระบบปฏิบัติการ ก็คงไม่เกิดปัญหาแบบนี้แล้ว
มีข้อมูลที่น่าสนใจในช่วงท้ายของรายงานเหตุการณ์นี้จาก The Wall Street Journal ซึ่งอ้างว่าได้สอบถามไปยังตัวแทนของไมโครซอฟท์ในประเด็นดังกล่าว บอกว่า Windows ไม่สามารถทำระบบปิดแบบนั้นได้ เนื่องจากบริษัททำข้อตกลงกับคณะกรรมาธิการยุโรป (European Commission) ไว้ตั้งแต่ปี 2009 กำหนดให้ซอฟต์แวร์ความปลอดภัย ต้องเข้าถึงอุปกรณ์ได้ในระดับเดียวกับที่ Windows สามารถเข้าถึงได้ รายละเอียดเรื่องนี้สามารถดูจากเอกสารที่เว็บของไมโครซอฟท์ได้
รายงานไม่ได้บอกว่าคณะกรรมาธิการยุโรปมีมุมมองเรื่องนี้อย่างไรต่อระบบปฏิบัติการอื่น ที่ปิดไม่ให้เข้าถึงระดับเคอร์เนลได้ โดยยกตัวอย่าง macOS ของแอปเปิล ที่แจ้งนักพัฒนาเมื่อปี 2020 ว่าได้ปิดช่องทางเข้าถึงในระดับเคอร์เนลทั้งหมด ผู้พัฒนาซอฟต์แวร์ความปลอดภัยบางรายเลยต้องออกแบบโปรแกรมใหม่ทั้งหมดให้รับกับการเปลี่ยนแปลงนี้
ที่มา: The Wall Street Journal ผ่าน Neowin
Comments
จะออกอัพเดทความปลอดภัยระดับองค์กรแบบปลอดภัยมากเอง เดี่ยวก็โดนหาว่ากีดกันทางการค้าอีก เหมือนจะเดินไปทางไหนก็ไม่ได้ ทำอะไรมากเกินไปก็ไม่ได้ ทำให้ Product มีครบทุกอย่างจบที่เดียวก็ไม่ได้อีก เหมือนเป็นเจ้าของตลาดที่เอาของที่ตัวเองมาขายเองไม่ได้หมดทุกอย่าง ต้องแบ่งเค้กให้คนนั้นคนนี้เอามาขายบ้าง แต่พอคนข้างนอกที่เอาเค้กมาขายก่อเรื่องคนที่รับจบก็เป็นเจ้าของตลาด
แล้วทำไม Mac ถึงทำได้นะ 🤔🤔
ส่วนแบ่งในตลาดไม่มีนัยสำคัญที่เข้าข่ายผูกขาดตลาดได้
ส่วนแบ่งตลาด ยังน้อยอยุ่ แต่ตอนนี้เหมือนจะเร่ิมเยอะแล้ว ก็เหมือน ดรอย กับ ไอโอเอส
ประเด็นหลักผมว่ามันควรมีระบบที่ rollback หลัง update หรือ ignore ตัวที่เป็นปัญหา ได้มากกว่านะ
ลองดูคลิปนี้ link
คนนี้เขาเป็น windows dev เก่า เขาอธิบายค่อนข้างละเอียด
Crowdstrike มันรันใน kernel mode ซึ่งปกติ พวก driver จะรันได้มันต้องผ่านการ test อย่างละเอียด (WHQL)
ซึ่งตัวแอพ crowdstrike เองน่าจะผ่านการทดสอบมา
แต่แอพ crowdstrike มันจะ load p-code เพื่อปรับปรุงการตรวจจับตลอดเวลา
P-code มันก็คือโปรแกรมเล็กๆ ที่ไม่ผ่านการ sign ใดๆ แถมยังรันใน kernel mode แค่ bug อย่าง null pointer reference ก็เอาเครื่องร่วงได้
ที่งงคือ เซลน่าจะขายเก่ง + มีคำว่า AI + เคยจับมัลแวร์ที่คนอื่นจับไม่ได้มา ถึงได้ใช้กันแทบจะทั้งโลกแบบนี้
ขอบคุณครับ comment นี้ชัดเจนมาก
ความเสี่ยงตรงนี้เกิดขึ้นเพราะบริษัทต่างๆจำเป็นต้องเชื่อใจ Crowdstrike เพื่อแลกกับการ detect สิ่งผิดปกติในเครื่องแบบ real time ซึ่ง code ในส่วนของการตรวจจับมัลแวร์หรือการโจมตีต่างๆที่มีการอัพเดทเรื่อยๆนี่แหละที่วัดดวงเอาว่ามีบั๊กอะไรรึเปล่า
ในเมื่อมี requirement ที่ต้องการซอร์ฟแวร์ที่ทำงานระดับนี้อยู่ ส่วนของ OS (Windows) ก็ทำอะไรไม่ได้มาก นอกจากจะพัฒนาวิธี rollback แบบอัตโนมัติให้ซอร์ฟแวร์กลุ่มนี้เรียกใช้ได้สะดวกกรณีเกิดเหตุการณ์ในลักษณะนี้
..: เรื่อยไป
ของแบบนี้มันไม่ได้มี req ละเอียดขนาดนั้นหรอกครับ ในโลกความจริง ก็ใช้วิธีอะไรก็ได้ ขอให้มันกันไวรัส หรือการโจมตีใดๆได้
ถ้าเรียลจัดๆ คือ ซื้ออะไรก็ได้ที่ราคาสมเหตุผล ประสิทธิภาพดี และ auditor ไม่ตั้งคำถามเยอะ
ส่วนตัวผมว่ามันแก้ได้ไม่ยากนะครับ
หลักการคือ “ถ้าไม่ทดสอบก็อย่าอัพเดท” หรือถ้าเลี่ยงไม่ได้ “จำกัดความเสียหาย”
ตัว crowdstrike ควรจะมี server ที่ทดสอบ p-code ของตัวเองก่อน อย่างน้อยแค่ up แล้วไม่พัง หรือควรมีเมคคานิคในการปล่อย update แบบค่อยๆ rollout หรือมี update server ฝั่งลูกค้า เช่น update ไปที่ส่วนกลางของลูกค้า แล้วให้ system admin เลือกเอาเองว่าจะปล่อยหรือไม่ ตอนไหน
ฝั่งไมโครซอฟท์ ก็ไม่ควรให้ app ที่ไม่ผ่านการทดสอบเข้ามารันบน kernel หรือถ้าจะรันจริง ต้องให้แน่ใจว่ามีมาตรการ mitigate risk (เช่นข้างบน) แต่แนวทาง ms ไม่ใช่แบบนั้น
ส่วนฝั่งคนใช้งาน น่าจะต้องรู้ล่ะ ว่าเรื่องแบบนี้มันคือความเสี่ยง มาตรการการควบคุม 3rd party น่าจะต้องเข้มข้นขึ้น
เอาจริงๆ เท่าที่ได้ยินมา CloudStrike ก็ rollout แบบบางส่วนแล้วครับ ไม่ใช่ทุกเครื่องที่ลง CloudStrike บน Windows ได้กลายเป็นผู้ประสบภัยกันทุกๆคน
คงต้องรอฟัง post-mortem report รวมถึงแนวทางการป้องกันจากทางผู้ผลิตแล้วละครับ ไม่งั้นลูกค้าคงได้มีปันใจไม่ต่อสัญญากันแน่ๆ
อันนี้ชัดเจนมาก ขอบคุณครับ
+++
ระยะยาวก็คงจะค่อยทำมั้งครับ แต่ไม่ใช่การปิดตรงๆแบบ Macแล้วบอกswหาวิธีอื่นเอง ภาพของ msไม่ใช่ปิดแต่คือเป็นมิตร
อย่างกรณีประกาศยกเลิกการติดตั้งDriver printerในปี2027 คาดว่าอย่างอื่นก็คงค่อยๆทะยอยมา
ส่วนโปรแกรมด้านความปลอดภัย MSเองก็มีของพวกนี้เหมือนกัน กรณี crowdstrike คนไม่รู้ด่า msตามข่าว ก็น่าเห็นใจ แต่ไม่ใช่ว่าเรื่องนี้ msจะมีแต่เสียไม่มีได้นะครับ คงมีคนเลิกใช้บ้างละ แน่นอนว่าถ้าเปลี่ยนใจ msเองเป็นหนึ่งในตัวเลือก
OS ที่มีข้อจำกัดเยอะมันจะเหมาะกับการเอามาทำ server ได้อย่างไร ไม่มีความยืดหยุ่น ปรับแต่งได้น้อย นี่คือเหตุผลว่าทำไม macOS ถึงไม่ชนะ Linux กับ Windows ในโดเมนนี้
หลักๆ Microsoft Windows ได้เด่นเรื่อง backward compatibility ครับ แอพที่พัฒนาโดย Win32 ยังใช้รันได้อยู่จนทุกวันนี้ ไม่ต้องรีคอมไพล์ใหม่
แต่ Apple นั้น อยู่ๆ พี่นึกจะตัดก็ตัด แอพ 32-bit ทุกวันนี้ก็รันไม่ได้ แม้แต่จะบน Intel Mac ก็ตาม แต่ดันมี Game Porting Toolkit ที่รัน Windows 32-bit app บน Apple Silicon ได้เฉย
แต่ไอ้ backward compatibility นี่แหละที่ hold back Windows ให้ดักดานอยู่ในบางประเด็น เพราะไม่กล้าแตะอะไรที่กระทบ legacy มันเหมือนดาบสองคม บางจุด คือ หน้าตาเดิมย้อนไป Windows 95 เลยก็มี
คือเค้าก็เคยพยายามจะหักใน Windows 8 แล้วก็โดนถล่มเละะะะะะะะะะะ user ด่ากระจาย คือเค้าบังคับ user ให้ปรับตัวไม่ได้เพราะฐาน user มันเยอะมากซะจนถ้าหักเลยก็จะเจอแรงต้านเยอะล่ะครับ
ถ้าคิดจริง ๆ UI ของ Windows 8 เนี่ยมัน make sense มากเลยนะ (ถึงอาจจะคิดไม่ได้ครอบคลุมหลาย ๆ user case) เช่น start menu แบบ fullscreen นี่ ถ้าเราสังเกต Gnome 3 กับ MacOS นี่ทำกันมานานมากละ แต่คนใช้วินโดวส์บอก "ชั้นใช้จอสามสิบนิ้ว จะเอามาครอบทั้งจอทำพระบิดาใคร" ก็เลยต้องเอาออกไป
ตอนนั้นจำได้ว่าผมเม้นไปว่า หน้าจอโคตรใหญ่ ทำไมต้องทำ UI เล็ก ๆ แล้วคนต้องมานั่งเลื่อนเมาส์สกรอลล์ๆ หาล่ะ ทุกวันนี้ผมก็ยังต้องสกรอลล์เมาส์อยู่ (แต่อันนี้สาเหตุหลักคือ search บน Windows มันห่วยและเน้นสิ่งที่ไม่อยู่ในเครื่องมากเกินไป)
มันคือดาบที่คมที่สุดของ Windows ตัดตัวเองก็ได้ ตัดคนอื่นก็ขาดเหมือนกัน
ของคนอื่นที่ว่า: macOS, Linux
วินโดวที่มาไกล ขนาด นี้ ก้เพราะ ทำมารองรับกับทุกฮาร์ดแวร์ ทุกซอฟแวร์ นะ เอามามาลง มาติดตั้งก็ง่าย แต่นั้นแหละ ง่าย ก็นำปัญหามา จอฟ้าบ่อย ซื่อแรมมาเสียบงา่ย แต่ปัญหาอาจเกิด จอฟ้าได้
ประมาณนี้แหละที่อยากจะบอก
แต่นี่คือเพิ่งรู้ (หรือลืม) ว่า mac ปิดไปแล้ว 😩 แล้วทำงานกันยังไงนั่น
ก็กดสูตรไปเรียกใช้คำสั้งตรงๆไม่ได้ ต้องเรียกใช้ผ่านเคอร์แนลapiเท่าที่มี มีoverheadเพิ่มเข้ามา แต่เวลามีปัญหาก็ทำให้เคอร์แนลแพนิคยาก
ลงไม่ kernel ไม่ได้ ก็แสดงว่า ver Mac ตรวจสอบไม่ได้เท่า
หรือเป็นเรื่องเงินซะมากกว่า และเห็นด้วยกับ windows แบบระบบปิด(แค่บางส่วน) ระบบเปิดเกินก็ไม่ใช่ว่าจะดี
จริงๆ ก็ปิดมากอยู่นะฮะ 😅 ไม่ได้เปิดโล่งโจ้งขนาดนั้น