กลับไปยังบล็อก

การแยกสภาพแวดล้อมเบราว์เซอร์แยกอะไร? คำอธิบายจากฟิงเกอร์พรินต์ถึงการตรวจสอบ

การแยกสภาพแวดล้อมเบราว์เซอร์แยกอะไรกันแท้? คำอธิบายครบทุกมิติจากฟิงเกอร์พรินต์ถึงการตรวจสอบ

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

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

สี่ชั้นของการแยกสภาพแวดล้อม: ขาดชั้นเดียวก็มีช่องโหว่

สภาพแวดล้อมที่แยกได้มาตรฐานต้องทำให้สี่ชั้นเป็นอิสระพร้อมกัน:

ชั้นที่หนึ่ง: ฟิงเกอร์พรินต์อุปกรณ์ เบราว์เซอร์จะ "รั่วไหลแบบพาสซีฟ" พารามิเตอร์หลายสิบรายการให้เว็บไซต์ — เวอร์ชันระบบปฏิบัติการ ความละเอียดหน้าจอ รายการฟอนต์ ผลการเรนเดอร์ Canvas/WebGL/Audio จำนวนเธรดฮาร์ดแวร์ สองสภาพแวดล้อมแม้ IP ต่างกัน แต่ถ้าชุดพารามิเตอร์นี้ตรงกัน แพลตฟอร์มก็ตัดสินได้ว่าเป็นอุปกรณ์เครื่องเดียวกัน ก้าวแรกของการแยกสภาพแวดล้อมคือให้แต่ละสภาพแวดล้อมสร้างชุดพารามิเตอร์ฟิงเกอร์พรินต์ของตัวเอง มีรายละเอียดที่ควรสังเกต: ฟิงเกอร์พรินต์ไม่ได้ยิ่งสุ่มยิ่งดี พารามิเตอร์ต้องสอดคล้องกัน — ระบบ Windows ที่จับคู่ฟอนต์เฉพาะของ Mac ก็เป็นคู่ผสมที่น่าสงสัยในตัวเอง ดังนั้นเครื่องมือที่พัฒนาจนเต็มที่แล้วจะสร้างฟิงเกอร์พรินต์ตาม "คู่ผสมที่สมเหตุสมผลของระบบและอุปกรณ์ทั่วไป" ไม่ใช่สุ่มมั่ว

ชั้นที่สอง: เขตเวลาและภาษา ตรรกะของชั้นนี้ถูกเข้าใจผิดบ่อยที่สุด: เขตเวลาและภาษาไม่ควรเลือกเอง แต่ควรตาม IP อัตโนมัติ — พร็อกซีออกที่ประเทศไหน สภาพแวดล้อมก็ใช้เขตเวลาและภาษาของประเทศนั้นอัตโนมัติ IP อเมริกาคู่กับเวลา UTC+8 และหน้าจอภาษาจีน แพลตฟอร์มมองแวบเดียวก็รู้ว่าสภาพแวดล้อมถูกควบคุม

ชั้นที่สาม: ทางออกเครือข่าย แต่ละสภาพแวดล้อมผูกพร็อกซีของตัวเอง ชั้นนี้กำหนดว่า "คุณออนไลน์จากไหน" โปรโตคอลหลัก ๆ คือ HTTP และ SOCKS5 โดย SOCKS5 ครอบคลุมทราฟฟิกอย่าง WebRTC ที่อาจรั่ว IP จริง — จัดการ WebRTC ตอนสร้างสภาพแวดล้อมเป็นมาตรฐาน ไม่อย่างนั้นสองชั้นแรกทำดีแค่ไหน แค่ IP จริงรั่วครั้งเดียวก็เปิดโปงหมด

ชั้นที่สี่: ข้อมูลในเครื่อง คุกกี้ สถานะล็อกอิน LocalStorage, IndexedDB สิ่งเหล่านี้คือร่องรอยการใช้งานของบัญชี พื้นที่จัดเก็บในเครื่องของสภาพแวดล้อมที่แยกจะถูกแบ่งพาร์ติชันทางกายภาพ: สภาพแวดล้อม A มองไม่เห็นและแตะต้องข้อมูลใด ๆ ของสภาพแวดล้อม B ไม่ได้ ปิดแล้วเปิดใหม่ สถานะล็อกอินของแต่ละฝ่ายยังอยู่ครบถ้วน

สี่ชั้นนี้ประกอบเข้าด้วยกันจึงเป็นเรื่องราวที่สมบูรณ์ว่า "คนสองคนที่ต่างกันสนิทกำลังใช้คอมพิวเตอร์สองเครื่องที่ต่างกัน" โซลูชันในตลาดจำนวนไม่น้อยทำได้แค่หนึ่งหรือสองชั้น — และช่องโหว่นั่นแหละคือประตูของการเชื่อมโยง

แผนภาพแนวคิดการแยกสภาพแวดล้อมเบราว์เซอร์: ห้องแยกอิสระสองห้อง แต่ละห้องมีฟิงเกอร์พรินต์ นาฬิกา ภาษา คุกกี้เป็นของตัวเอง สายไปเซิร์ฟเวอร์ของตัวเองแยกกันไม่สัมผัสกัน

สร้างสภาพแวดล้อมแยกจากศูนย์: ห้าขั้นตอน

เอาหลักการลงมือปฏิบัติ ขั้นตอนสร้างสภาพแวดล้อมจริง ๆ เป็นมาตรฐานค่อนข้างมาก ยกตัวอย่างขั้นตอนทั่วไปของเบราว์เซอร์ฟิงเกอร์พรินต์ยอดนิยม:

  1. สร้างสภาพแวดล้อม เลือกโปรไฟล์ระบบ: ตั้งชื่อสภาพแวดล้อม (ตามธุรกิจหรือแพลตฟอร์ม จะจัดการง่ายขึ้น) เลือกโปรไฟล์ระบบปฏิบัติการ — Windows, Mac หรือ Android — ซึ่งกำหนดโครงพื้นฐานของฟิงเกอร์พรินต์
  2. สร้างฟิงเกอร์พรินต์: คลิกเดียวได้ชุดพารามิเตอร์ครบ ชั้นเรนเดอร์ Canvas, WebGL, Audio ใช้ค่าเริ่มต้นได้เลย — ค่าเริ่มต้นถูกออกแบบตามคู่ผสมที่สมเหตุสมผล ถ้าไม่มีเหตุผลชัดเจนไม่แนะนำให้แก้มั่ว
  3. ตั้งค่าพร็อกซี: กรอกที่อยู่พร็อกซี เลือกโปรโตคอล (HTTP/SOCKS5) เครื่องมือจะทดสอบการเชื่อมต่อก่อน ต่อได้จึงให้บันทึก — สังเกตประเทศทางออกที่แสดงในผลทดสอบ ยืนยันว่าตรงกับโปรไฟล์บัญชี
  4. เขตเวลาและภาษาตามอัตโนมัติ: เปิด "เขตเวลาตาม IP" และ "ภาษาตาม IP" ให้สองรายการนี้ตรงกับทางออกเสมอ อย่าตั้งเอง
  5. นำเข้าคุกกี้ตามความจำเป็น: ย้ายบัญชีเก่าให้นำเข้าสถานะล็อกอินเดิม ให้สภาพแวดล้อมเริ่มงานพร้อมประวัติ บัญชีใหม่เริ่มจากสถานะสะอาด

ทั้งขั้นตอนมักใช้เวลาไม่เกินสองนาที ที่กินเวลาจริงไม่ใช่การสร้างสภาพแวดล้อม แต่เป็นสองเรื่องต่อจากนั้น: จัดกลุ่มสภาพแวดล้อมหลักร้อยตามธุรกิจ และจัดการคลังพร็อกซีให้เป็นระบบเดียว — พอสเกลขึ้นมาสองเรื่องนี้จะกลายเป็นงานประจำ ถ้าทีมมีหลายคนใช้สภาพแวดล้อมพร้อมกัน ต้องเพิ่มชั้นการจัดการสิทธิ์ บทความก่อนหน้าเรื่อง การจัดการความร่วมมือในทีมอธิบายการตั้งค่าบทบาทไว้ละเอียดพอสมควร

แยกสำเร็จหรือไม่ ให้การตรวจสอบเป็นตัวตัดสิน

สร้างสภาพแวดล้อมเสร็จไม่ได้แปลว่าการแยกมีผลแล้ว การตรวจสอบคือขั้นตอนที่ถูกข้ามบ่อยที่สุดในทั้งกระบวนการ และเป็นขั้นที่ไม่ควรข้ามที่สุด วิธีทำง่ายมาก:

เปิดสภาพแวดล้อมสองตัว ให้แต่ละตัวเข้าหน้าตรวจจับ IP หน้าเดียวกัน แล้วเทียบสี่เรื่อง: สองสภาพแวดล้อมแสดง IP ต่างกันหรือไม่ เขตเวลาของแต่ละตัวตรงกับที่ตั้งของ IP หรือไม่ ภาษาและภูมิภาคเข้ากันหรือไม่ และการประเมินรวมของหน้าตรวจสะอาดหรือไม่ ข้อใดไม่ผ่านแปลว่ามีบางชั้นแยกไม่อยู่ ย้อนกลับไปไล่ตรวจ

คุณค่าของขั้นนี้คือเปลี่ยน "ฉันคิดว่าแยกแล้ว" เป็น "ฉันยืนยันแล้วว่าแยก" สภาพแวดล้อมใหม่ก่อนใช้งานตรวจหนึ่งรอบ ก่อนงานเป็นชุดสุ่มตรวจหนึ่งรอบ เปลี่ยนพร็อกซีแล้วต้องตรวจทุกครั้ง — นิสัยสามรอบการตรวจนี้กันเหตุระดับพื้นฐานได้เกือบทั้งหมด ในชั้นนี้ MakoBrowser ฝังการตรวจเหล่านี้ไว้ในขั้นตอนเปิดสภาพแวดล้อม: ทุก Profile ตอนเริ่มจัดเขตเวลาและภาษาให้ตรงอัตโนมัติ การทดสอบการเชื่อมต่อพร็อกซีถูกฝังไว้ก่อนการบันทึก การตรวจสอบจาก "เรื่องที่ต้องจำไปทำ" กลายเป็น "เรื่องที่ไม่ต้องคิดถึง"

พนักงานชายเปิดหน้าต่างสภาพแวดล้อมสองบานเคียงกันใน MakoBrowser แต่ละบานแสดงหน้าตรวจพิกัดแผนที่ของภูมิภาคต่างกัน ตรงกลางมีเครื่องหมายถูกสีเขียวแสดงว่าการตรวจสอบการแยกผ่าน

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

คำถามที่พบบ่อย

โหมดไม่ระบุตัวตนของเบราว์เซอร์ทั่วไปนับเป็นการแยกสภาพแวดล้อมหรือไม่? ไม่นับ โหมดไม่ระบุตัวตนแค่ไม่เก็บร่องรอยในเครื่อง ฟิงเกอร์พรินต์อุปกรณ์ IP จริง เขตเวลาและภาษายังโชว์เหมือนเดิม แถมหน้าต่างไม่ระบุตัวตนยังใช้สัญญาณเหล่านี้ร่วมกัน มันแก้เรื่อง "อย่าทิ้งร่องรอยในคอมฉัน" ไม่ใช่ "อย่าให้แพลตฟอร์มจำได้ว่าเป็นอุปกรณ์เครื่องเดียวกัน"

สภาพแวดล้อมสร้างเสร็จแล้วต้องเปลี่ยนฟิงเกอร์พรินต์เป็นระยะหรือไม่? ไม่ต้องเปลี่ยนบ่อย คุณค่าของฟิงเกอร์พรินต์อยู่ที่ความคงเส้นคงวา — บัญชีหนึ่งใช้ชุดพารามิเตอร์สมเหตุสมผลหนึ่งชุดไปนาน ๆ เหมือนคนไม่เปลี่ยนหน้าตาทุกวัน เปลี่ยนเมื่อแพลตฟอร์มอัปเกรดกฎฟิงเกอร์พรินต์ หรือสภาพแวดล้อมใช้นานจนมีสัญญาณผิดปกติ แค่ปรับพารามิเตอร์ละเอียด ไม่ใช่รื้อสร้างใหม่ทั้งหมด

คอมเครื่องเดียวเปิดหลายสภาพแวดล้อมแยก ประสิทธิภาพไหวไหม? เบราว์เซอร์ฟิงเกอร์พรินต์สมัยใหม่จัดสรรทรัพยากรตามความต้องการ สภาพแวดล้อมว่างแทบไม่กินทรัพยากร เปิดพร้อมกันไม่เกินสิบสภาพแวดล้อมบนคอมสำนักงานทั่วไปไม่มีแรงกดดัน สภาพแวดล้อมเยอะและต้องใช้งานพร้อมกันเยอะ ลองตั้งสภาพแวดล้อมที่ไม่ค่อยใช้ให้เปิดเมื่อต้องการ

ตอนตรวจสอบพบ IP รั่วต้องทำอย่างไร? เช็ก WebRTC ก่อน: เป็นแหล่งรั่วที่พบมากที่สุด ยืนยันว่า WebRTC ในสภาพแวดล้อมปิดอยู่หรือวิ่งผ่านโหมดพร็อกซี จากนั้นเช็กว่าพร็อกซีรองรับโปรโตคอลที่ว่า และในการตั้งค่าสภาพแวดล้อมมีการตั้งค่าพร็อกซีระดับระบบตกค้างอยู่ไหม ไล่ทีละชั้นแล้วทดสอบซ้ำจนกว่าจะสะอาด


สรุปแล้ว การแยกสภาพแวดล้อมเบราว์เซอร์คือวิชาเรื่อง "ความครบถ้วน": ฟิงเกอร์พรินต์ เขตเวลาและภาษา พร็อกซี ข้อมูลในเครื่อง — สี่ชั้นเป็นอิสระจากกันเท่านั้นจึงเรียกว่าแยก ขาดชั้นเดียวแพลตฟอร์มก็มีวิธีร้อยบัญชีของคุณต่อกัน ส่วนการตรวจสอบคือทางเดียวที่เปลี่ยน "ดูเหมือนแยกแล้ว" เป็น "ยืนยันแล้วว่าแยก"

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