ไอที ธุรกิจ

Chrome เวอร์ชั่นใหม่ จะใช้ AdBlock ไม่ได้แล้ว !

Thaiware
อัพเดต 24 ม.ค. 2562 เวลา 10.04 น. • เผยแพร่ 24 ม.ค. 2562 เวลา 10.02 น. • moonlightkz
Google มีแผนปรับรูปแบบการทำงานของ Extension ให้เข้มงวดขึ้น มีผลให้ AdBlock ไม่สามารถใช้งานได้อีกต่อไปด้วย

เป็นข่าวที่น่าจะสะเทือนใจผู้ใช้หลายๆ คน แต่เจ้าของเว็บน่าจะรู้สึกดีใจ สำหรับการที่ 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 อาจจะพิจารณาและปรับเปลี่ยนโครงสร้างของของมันให้ทำงานได้สมบูรณ์กว่านี้ ก็ต้องติดตามกันต่อไปว่าสุดท้ายมันจะออกมาท่าไหน

ดูข่าวต้นฉบับ