- ตรวจพบส่วนขยาย Chrome 287 รายการที่ส่งประวัติการท่องเว็บของผู้ใช้ออกไปภายนอก ผ่านไปป์ไลน์สแกนอัตโนมัติบนพื้นฐานของ MITM (การโจมตีแบบคนกลาง)
- ส่วนขยายเหล่านี้ถูกติดตั้งรวมกันประมาณ 37.4 ล้านครั้ง คิดเป็นราว 1% ของผู้ใช้ Chrome ทั่วโลก
- พฤติกรรมการรั่วไหลของข้อมูลเกี่ยวข้องกับโบรกเกอร์ข้อมูลรายใหญ่และบริษัทขนาดเล็กหลายแห่ง เช่น Similarweb, Curly Doggo, Offidocs, Big Star Labs
- จากการวิเคราะห์พบว่า ส่วนขยายบางรายการใช้เทคนิคเข้ารหัส เช่น ROT47, AES‑256, LZ‑string เพื่ออำพรางข้อมูล URL ก่อนส่งออก
- นี่ไม่ใช่แค่การละเมิดความเป็นส่วนตัว แต่เป็นภัยคุกคามร้ายแรงที่อาจนำไปสู่ความเสี่ยงด้านความปลอดภัย เช่น การเปิดเผย URL ของเครือข่ายภายในองค์กรและคอนโซลผู้ดูแลระบบ
การสร้างไปป์ไลน์สแกนอัตโนมัติ
- ทีมวิจัยได้สร้างระบบอัตโนมัติที่ครอบ เบราว์เซอร์ Chrome ในสภาพแวดล้อม Docker ด้วย MITM proxy และวัด ความสัมพันธ์ของทราฟฟิกขาออก ตามความยาวของ URL
- หากปริมาณข้อมูลที่ส่งเพิ่มขึ้นตามความยาว URL ก็จะตัดสินว่าส่วนขยายนั้นส่ง URL ออกไปภายนอก
- การสแกนดำเนินการ 2 ขั้นตอน และใช้เวลารวม 930 CPU-days
- ขั้นแรกทดสอบ URL 4 ระดับความยาว และหากตรวจพบอัตราส่วนที่น่าสงสัย (
0.1 ≤ R < 1.0) จะตรวจซ้ำด้วยความยาวเพิ่มอีก 6 ระดับ
การตรวจจับและวิเคราะห์การรั่วไหลของข้อมูล
- ยืนยันแล้วว่า ส่วนขยาย 287 รายการ ส่งประวัติการท่องเว็บไปยังเซิร์ฟเวอร์ภายนอก
- ยอดติดตั้งรวมของส่วนขยายเหล่านี้อยู่ที่ ประมาณ 37.4 ล้านครั้ง หรือราว 1% ของผู้ใช้ Chrome ทั่วโลก
- ข้อมูลที่รั่วไหลถูกส่งไปยัง Similarweb, Curly Doggo, Offidocs, Big Star Labs เป็นต้น และบางส่วนถูกเก็บซ้ำผ่านสแครปเปอร์ Kontera
- จากการติดตาม IP ที่เก็บข้อมูลจริงด้วย เซิร์ฟเวอร์ Honeypot พบว่า 5 ช่วง IP หลัก เช่น HashDit, Blocksi AI Web Filter, Kontera เข้าถึงซ้ำๆ
ผู้เล่นหลักและความเชื่อมโยง
- ใช้การวิเคราะห์แบบ OSINT เพื่อตรวจสอบ อีเมลนักพัฒนา นโยบายความเป็นส่วนตัว และข้อมูลใบรับรอง ของแต่ละส่วนขยาย
- ยืนยันได้ว่าส่วนขยาย “Similar Sites” ของ Similarweb เชื่อมโยงกับสแครปเปอร์ Kontera รวมถึง Curly Doggo และ Offidocs
- Big Star Labs ใช้รูปแบบโค้ดเดียวกับ Similarweb และมีความเป็นไปได้สูงว่าเป็นองค์กรเดียวกัน
กรณีการรั่วไหลที่เป็นตัวแทน
- Poper Blocker: ทำให้อ่านยากด้วย ROT47 แล้วส่ง URL ไปยัง
api2.poperblocker.com
- Stylish: เข้ารหัส URL ด้วย AES‑256 และการเข้ารหัสกุญแจสาธารณะ RSA ก่อนส่งไปยัง
userstylesapi.com
- BlockSite และ Video Ad Blocker Plus: ส่ง URL โดยใช้การบีบอัด LZ‑string UTF16 และใช้สคีมาข้อมูลเดียวกัน
- Similarweb: ส่งข้อมูลการท่องเว็บที่เข้ารหัส URL หลายชั้นไปยัง
rank.similarweb.com
- WOT (Web of Trust) : เข้ารหัส URL ด้วยการเข้ารหัสแบบกำหนดเองบนพื้นฐาน XOR โดยมีโครงสร้างเดียวกับ Similarweb
- Smarty, CrxMouse, ApkOnline, Knowee AI, Super PiP เป็นต้น ก็ส่งข้อมูลผ่าน URL พารามิเตอร์, เฮดเดอร์, Google Analytics API ตามลำดับ
ขนาดของภัยคุกคามและผลกระทบ
- ผู้ใช้ประมาณ 37.4 ล้านคน หรือเทียบเท่ากับ ขนาดประชากรของโปแลนด์ ได้รับผลกระทบ
- แม้ว่าส่วนขยายบางรายการอาจจำเป็นต้องเข้าถึงประวัติการท่องเว็บตามหน้าที่การทำงาน แต่หลายรายการ เก็บข้อมูลโดยไม่มีความยินยอมอย่างชัดเจน
- ข้อมูลที่รั่วไหลสามารถถูกนำไปใช้ใน การกำหนดเป้าหมายโฆษณา การสอดแนมองค์กร และการขโมยเซสชัน
- โดยเฉพาะในสภาพแวดล้อมองค์กร มีความเสี่ยงที่ URL ภายใน ของพนักงานที่ใช้ส่วนขยายประเภท “เพิ่มประสิทธิภาพการทำงาน” จะถูกเปิดเผย
บทสรุปและคำเตือน
- ในบรรดาส่วนขยายที่วิเคราะห์ พบว่าหลายรายการใช้ เทคนิคการเข้ารหัสและการอำพรางโดยเจตนา เพื่อหลบเลี่ยงการตรวจจับ
- สิ่งนี้ไม่ใช่บั๊กธรรมดา แต่ถูกมองว่าเป็น โมเดลธุรกิจที่ตั้งอยู่บนการเก็บข้อมูล
- ควรตระหนักว่า ซอฟต์แวร์ที่ใช้ฟรีแต่ ไม่ใช่โอเพนซอร์ส อาจทำให้ผู้ใช้กลายเป็น ‘สินค้า’
- เมื่อติดตั้งส่วนขยาย Chrome การ ตรวจสอบสิทธิ์และแหล่งที่มา เป็นสิ่งจำเป็น
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ราว ๆ 15 ปีก่อนเคยทำ ส่วนขยาย Chrome ที่มีฟังก์ชันเฉพาะอย่างหนึ่งและค่อนข้างได้รับความนิยม
ขายมันไปได้หลายพันดอลลาร์แล้วก็ลืมไป แต่พอมามองตอนนี้ก็เห็นแพตเทิร์นชัดเจนว่าคนไม่หวังดี เข้าซื้อส่วนขยายปกติเหล่านี้แล้วนำข้อมูลผู้ใช้ไปหากำไร
เคยเห็นหลายกรณีด้วยตัวเอง
มีการสรุปประเด็นที่เกี่ยวข้องไว้ใน GitHub discussion
คล้ายกับที่เกมเมอร์ขายตัวละครเลเวลสูง หรือบัญชีโซเชียลมีเดียเปลี่ยนเจ้าของ
ตอนนี้แนวหน้าด้านความปลอดภัยใหม่อยู่ในพื้นที่อย่างส่วนขยายเบราว์เซอร์ การเชื่อมต่อคลาวด์ และสิทธิ์เข้าถึงแอป
หากให้สิทธิ์เข้าถึง Gmail หรือ Google Drive ทั้งหมดกับแอปไหนก็ตาม ก็อาจเสี่ยงต่อ ransomware ได้
โดยไม่เหลือร่องรอยในระบบปฏิบัติการเครื่องเลย และโปรแกรมสแกนไวรัสก็ตรวจไม่พบ
ขั้นตอนตรวจสอบความปลอดภัยก็ยุ่งยากเกินไป การเพิกถอนสิทธิ์ทีละรายการเป็นเรื่องทรมาน
จำเป็นต้องมีวิธีที่ดีกว่านี้
แม้จะห้ามการขายส่วนขยายไม่ได้ แต่ควรเข้มงวด กระบวนการตรวจสอบของ Chrome Web Store ให้มากขึ้น
แต่ความรับผิดชอบนี้ควรให้ ผู้ให้บริการสโตร์ เป็นผู้จัดการ ไม่ใช่โยนให้บุคคลทั่วไป
ได้สรุปวิธีป้องกันตัวเองไว้สำหรับเวลาที่ส่วนขยายที่เคยเชื่อถือกลายเป็นมัลแวร์
brave://flags/#brave-extension-network-blockingแต่อยากรู้ว่ามี เครื่องมือที่ช่วย audit codebase ของส่วนขยายแบบ deterministic หรือไม่
ผมใช้เฉพาะ ส่วนขยายโอเพนซอร์ส เท่านั้น
เชื่อถือเฉพาะกรณีที่เปิดเผยโค้ดและผู้พัฒนาไม่ได้นิรนาม เช่น uBlock Origin, SponsorBlock
Chrome Web Store แทบจะเป็น ตลาดที่ไร้การกำกับดูแล และ Google ก็เก็บแต่รายได้
โอเพนซอร์สคือมาตรการความปลอดภัยขั้นต่ำที่ทำให้ตรวจโค้ดได้เองก่อนติดตั้ง
ช่องทางแจกจ่ายโอเพนซอร์สอื่น ๆ อย่าง pip, npm, rpm ก็เหมือนกัน
มีการพูดคุยที่เกี่ยวข้องใน GitHub discussion
แนวทางแบบ “ปรับปรุงระบบให้ดีขึ้น” สมจริงกว่า “อย่าเชื่อ Google”
Firefox หรือ Safari เหมาะกับการตั้งค่าแบบนี้มากกว่า Chrome
โค้ดของส่วนขยายส่วนใหญ่มัก ถูก obfuscate แต่ทุกคนก็ยังดูซอร์สโค้ดได้
วิธีดูมีสรุปไว้ใน ลิงก์นี้
ผมเองก็ดูแลส่วนขยายเล็ก ๆ ที่มีผู้ใช้ราว 2,000 คน และมักได้รับ ข้อเสนอซื้อเพื่อนำไปเปลี่ยนเป็นโค้ดอันตราย อยู่บ่อย ๆ
ตัวอย่างคือ One Click Image Saver
ลูกสาวที่เรียนประถมใช้ Google Classroom บน Chromebook ที่โรงเรียน แต่แทบไม่มีข้อจำกัดเรื่องส่วนขยายเลย
ทุกครั้งที่ล็อกอิน Chrome จะขึ้นแจ้งเตือนว่า “ส่วนขยายถูกลบออกเนื่องจากกิจกรรมที่เป็นอันตราย”
เพราะงั้นจึงคิดว่า ใช้เฉพาะส่วนขยายโอเพนซอร์สหรือทำเองเลยจะดีกว่า
ถ้าเป็นฟังก์ชันง่าย ๆ ก็เขียนเองด้วย Tampermonkey ได้ และตรวจโค้ดเองได้ด้วย
ช่วงนี้ผมเองก็ทำส่วนขยายส่วนใหญ่ใช้เอง
Tampermonkey แก้ไขและตรวจโค้ดได้ง่าย และยัง ใช้เครื่องมือ AI ช่วยตรวจสอบความปลอดภัย ได้สะดวก
ผมปิด การอัปเดตอัตโนมัติของซอฟต์แวร์ทุกตัว
คำพูดที่ว่า “ถ้าไม่อัปเดตทันทีจะโดนแฮ็ก” เป็นภาพลวงตา
กลับกัน รู้สึกว่าโอกาสโดนแฮ็กหลังอัปเดตมีมากกว่าเสียอีก
ส่วนขยายที่ไม่น่าเชื่อถือมีโอกาสสูงว่าสักวันจะ ถูกขายต่อแล้วกลายเป็นโค้ดอันตราย
เพราะอย่างนั้นผมจึงติดตั้งแค่ uBlock Origin
ทั้งหมดส่งมาที่อีเมลสาธารณะที่ Google บังคับให้เปิดเผย
แต่กลับไม่มีอีเมลที่มีประโยชน์สักฉบับ
เพราะงั้นผมจึงเชื่อถือแค่ uBlock Origin, Bitwarden และส่วนขยายที่ตัวเองทำ
ตัวอย่างคือ Old Reddit Redirect
แต่ก่อนเคยใช้ Tree Style Tab ทว่าเดี๋ยวนี้ Firefox รองรับแท็บแนวตั้งในตัว แล้ว จึงไม่จำเป็นอีกต่อไป
การติดตั้งส่วนขยายใหม่เสี่ยงเกินไป
ก่อนที่ Raymond Hill จะ fork กลับมาพัฒนาใหม่
ส่วนขยายจำนวนมากเก็บ URL parameter อย่าง
"u": "https://www.google.com/search?q=target"จากคำค้นหาซึ่งไม่ได้หมายถึงแค่ประวัติการท่องเว็บเท่านั้น แต่ยังอาจ ขโมยโทเคนยืนยันตัวตน ได้ด้วย
เพราะโทเคนแบบนั้นถือว่าเปิดเผยต่อสาธารณะอยู่แล้ว
น่าสงสัยว่าทำไม Google ซึ่งเป็นหนึ่งในบริษัทที่ร่ำรวยที่สุดในโลก ถึงไม่แก้ปัญหานี้เอง
ตอนบล็อกตัวบล็อกโฆษณากลับขยันมาก แต่เรื่องนี้ปล่อยทิ้งไว้
ถ้าเป็นเช่นนั้น คำถามที่สำคัญกว่าคือ “ทำไมถึงไม่เปิดเผย”
มีการแชร์คำสั่งสำหรับแสดง ID ของส่วนขยาย Chrome ทั้งหมดที่ติดตั้งบน macOS
จากนั้นนำผลลัพธ์ไปเทียบกับรายการส่วนขยายอันตรายได้
สามารถรัน bad_browser_extension_check_osx.sh ได้ตรงจากเทอร์มินัล