เป็นข่าวที่น่าจะสะเทือนใจผู้ใช้หลายๆ คน แต่เจ้าของเว็บน่าจะรู้สึกดีใจ สำหรับการที่ Google ออกมาประกาศว่าจะเพิ่มความเข้มงวดให้กับส่วนขยาย (Chrome extensions) ให้มีความปลอดภัยมากขึ้น
Chrome extensions เป็นคุณสมบัติหนึ่งที่เป็นจุดขายของเบราว์เซอร์ Chrome มันเปิดโอกาสให้ผู้ใช้เลือกเพิ่มความสามารถที่ช่วยอำนวยความสะดวกให้เรามาติดตั้งเองได้ผ่าน Chrome Web Store แต่ในขณะเดียวกัน มันก็กลายเป็นช่องทางที่ผู้ไม่ประสงค์ดีใช้ในการปล่อยมัลแวร์ออกมาโจมตีผู้ใช้ด้วยเช่นกัน
ทาง Google ก็ได้พยายามแก้ปัญหาเรื่องนี้มาโดยตลอด อย่างการแยกระดับการทำงานของส่วนขยายด้วย iframe เพื่อให้ส่วนขยายทำงานโดยไม่รุกล้ำไปถึงกระบวนการบนหน้าเว็บไซต์, ยกเลิกการติดตั้งส่วนขยายจากเว็บไซต์ภายนอก และล่าสุด Google ได้ประกาศพัฒนาคุณสมบัติใหม่ ให้ผู้ใช้ควบคุมการเข้าถึงข้อมูลของส่วนขยายได้แล้ว
โดย Google ได้เผยว่าเพื่อแก้ปัญหาส่วนขยายที่มีจุดประสงค์ร้ายในการเก็บเกี่ยวผลประโยชน์จากข้อมูลส่วนตัวของผู้ใช้ จะมีความเปลี่ยนแปลงใหญ่ๆ เกิดขึ้นไม่ว่าจะเป็นการเพิ่มอำนาจให้ผู้ใช้จัดการสิทธิ์ในการเข้าถึงข้อมูลของส่วนขยาย, ขั้นตอนการตรวจสอบส่วนขยายจะมีความเข้มงวดกว่าเก่า, โค๊ดของส่วนขยายจะต้องมีความชัดเจน ไม่มีการทำงานที่อ้างอิงถึงซอร์สโค๊ดภายนอก (Obfuscated code) โดยส่วนขยายที่เข้าข่ายในลักษณะดังกล่าว Google จะให้เวลา 90 วันในการอัพเดทแก้ไข หากไม่มีการแก้ก็จะถูกลบออกจากระบบทันที, เพิ่มความปลอดภัยให้กับบัญชีของนักพัฒนาด้วยการเข้าระบบแบบ 2 ชั้น และสุดท้ายคือ มาตรฐานไฟล์แบบใหม่ Manifest v3 ที่ช่วยให้ส่วนขยายมีความปลอดภัยมากขึ้น
แล้วมันเกี่ยวอะไรกับ Ad block (ตัวปิดกั้นโฆษณา) ล่ะ?
Manifest V3 ได้มีความเปลี่ยนแปลงเกี่ยวกับระบบการขอสิทธิ์ ซึ่งส่งผลให้การร้องขอเพื่อเข้าถึงข้อมูลทั้งหมดไม่สามารถทำได้ในขั้นตอนการติดตั้งส่วนขยายอีกต่อไป
ปัญหาก็คือ ส่วนขยายประเภท Ad blockers ส่วนใหญ่จะใช้ API ตัวหนึ่งที่เรียกว่า webRequest ซึ่งในปัจจุบันการทำงานของ webRequestAPI นั้น เมื่อตัวเว็บเบราว์เซอร์ร้องขอข้อมูลจากส่วนขยายในการตรวจสอบข้อมูลการร้องขอที่เรียกไปยังเครือข่ายที่ต้องการเชื่อมต่อ ตัวส่วนขยายจะสามารถแก้ไขคำร้องดังกล่าวได้ เช่น ยกเลิกคำร้องจากโดเมน, ลบคุกกี้, ลบ HTTP header ออกจากคำร้อง ซึ่งทั้งหมดนั้นเป็นเครื่องมือในการทำงานที่สำคัญของ Ad blocker ที่ใช้ในการปิดกั้นโฆษณา
เนื่องจาก ส่วนขยายจำเป็นต้องตรวจสอบคำร้อง (Request) และส่งคำตอบกลับไปในแต่ละคำร้อง ว่าอันไหนอนุญาต อันไหนไม่อนุญาต Google กล่าวว่ามันทำให้ความเร็วในการทำงานช้าลง และมองว่าตัว API นี้มีอำนาจมากเกินไป
ดังนั้น Google จึงนำเสนอ API ตัวใหม่ที่มีชื่อว่า declarativeNetRequest มาให้ใช้งานแทน โดยแทนที่จะให้อำนาจส่วนขยายในการตัดสินใจแต่ละคำร้อง จะถูกเปลี่ยนเป็น "ปิดกั้นคำร้องที่ดูคล้าย X", "อนุญาตคำร้องที่ดูเหมือน Y" และอนุญาตทุกคำร้องแทน ด้วยวิธีการนี้จะทำให้ Chrome ทำงานได้เร็วขึ้นกว่าเดิม
และเนื่องจาก Request ไม่ได้ถูกส่งไปยังส่วนขยายโดยตรงอีกต่อไป ทำให้ AD blocker หลายๆ ตัวไม่สามารถทำงานได้อีกต่อไป
ส่วนขยายยอดนิยมอย่าง uBlock Origin และ uMatrix will ทางนักพัฒนาได้เผยว่าไม่สามารถใช้งานได้อีกต่อไป อย่างไรก็ตาม ส่วนขยายประเภทปิดกั้นโฆษณาบางตัวยังคงสามารถใช้งานได้อยู่ อย่างเช่น AdBlock Plus ที่ทำงานโดยใช้ declarativeNetRequest API อยู่แล้ว ก็น่าจะอัพเดทให้ทำงานต่อได้ไม่ยาก
อย่างไรก็ตาม มีนักพัฒนาบางคนได้แสดงความวิตกกังวลต่อรูปแบบการทำงานของ API ตัวใหม่ว่า ปกติแล้ว URL ในแบล็กลิสต์ของ Ad block จะมีการเก็บแบบไฟล์แบบเข้ารหัส (Hashed form) c9j แต่ API ตัวใหม่จะมีการอ้างอิง URL ในรูปแบบของตัวอักษรธรรมดา ซึ่งง่ายต่อการถูกโจมตีด้วยมัลแวร์ และแฮกเกอร์สามารถเจาะดู URL ในลิสต์เพื่อหาทางตอบโต้ได้อีกด้วย
ในขณะนี้ Manifest V3 ยังอยู่ในช่วงทดสอบ ทาง Google อาจจะพิจารณาและปรับเปลี่ยนโครงสร้างของมันให้ทำงานได้สมบูรณ์กว่านี้ ก็ต้องติดตามกันต่อไปว่าสุดท้ายมันจะออกมาท่าไหน
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |