เบราว์เซอร์ Antidetect ทำงานอย่างไร: คำอธิบายทางเทคนิคฉบับสมบูรณ์

พื้นผิวลายนิ้วมือ การสร้างตัวตนที่สอดคล้องกัน การแยกพื้นที่จัดเก็บบนดิสก์ การกำหนดเส้นทางรายโปรไฟล์ และขีดจำกัดตามจริงของแนวทางนี้
เบราว์เซอร์ antidetect ทำสี่งาน คือเก็บข้อมูลการท่องเว็บของแต่ละโปรไฟล์แยกกัน ควบคุมตัวตนอุปกรณ์ที่แต่ละโปรไฟล์รายงาน กำหนดเส้นทางทราฟฟิกของแต่ละโปรไฟล์อย่างอิสระ และรักษาทั้งสามอย่างให้สอดคล้องกันตลอดเวลา บทความนี้พาไล่ดูว่าแต่ละงานทำอย่างไรในระดับกลไก และปิดท้ายด้วยสิ่งที่แนวทางนี้ทำไม่ได้
พื้นผิวลายนิ้วมือ
เริ่มจากสิ่งที่หน้าเว็บอ่านได้ เพราะทุกอย่างที่เหลือเป็นการตอบสนองต่อมัน สคริปต์บนเว็บไซต์ใดก็ถามคำถามกับเบราว์เซอร์ได้ และคำตอบอธิบายถึงเครื่อง พื้นผิวเหล่านี้จัดกลุ่มได้ตามธรรมชาติ
| พื้นผิว | สิ่งที่หน้าเว็บอ่าน |
|---|---|
| Navigator | ชื่อและเวอร์ชันเบราว์เซอร์ แพลตฟอร์ม รายการภาษา จำนวนตัวประมวลผลและหน่วยความจำที่รายงาน การรองรับระบบสัมผัส |
| หน้าจอ | ความกว้าง ความสูง พื้นที่ทำงานที่ใช้ได้ ความลึกสี อัตราส่วนพิกเซลของอุปกรณ์ |
| Canvas | พิกเซลที่ได้จริงจากการวาดข้อความและรูปทรงนอกหน้าจอ แล้วแฮชเป็นค่าที่เสถียร |
| WebGL | สตริงผู้ผลิตและตัวเรนเดอร์กราฟิก รวมถึงแฮชของฉากที่เรนเดอร์ |
| เสียง | ผลลัพธ์ของออสซิลเลเตอร์ที่ผ่านกราฟประมวลผลเสียง ซึ่งแตกต่างกันตามชุดซอฟต์แวร์ |
| ฟอนต์ | ฟอนต์ที่ติดตั้งอยู่ โดยอนุมานจากการวัดข้อความ |
| เขตเวลาและนาฬิกา | โซนและค่าชดเชยเวลาที่รายงาน เทียบกับต้นทางที่ทราฟฟิกเข้ามา |
| เครือข่าย | ที่อยู่เอง มุมมองของ WebRTC ต่อตัวเลือกการเชื่อมต่อ และรูปแบบของการจับมือ TLS |
ไม่มีแถวใดแถวเดียวที่ระบุตัวเครื่องได้ แต่การรวมกันทำได้ และการรวมกันก็เป็นจุดที่คำโกหกถูกจับได้เช่นกัน ค่าที่ไม่มีทางอยู่ในเครื่องจริงเครื่องเดียวกันเป็นสัญญาณที่ดังกว่าค่าใดค่าหนึ่งโดด ๆ
การเก็บข้อมูลทำได้ถูกและเงียบ ทุกค่าในตารางมีให้ทุกหน้าเว็บผ่าน API ที่มีเอกสารรองรับ โดยไม่มีการขออนุญาต และส่วนใหญ่มาถึงในวินาทีแรกของการเข้าชม ไม่ว่าคุณจะมีจุดยืนอย่างไรต่อแนวปฏิบัตินี้ มันคือข้อเท็จจริงถาวรของเว็บสมัยใหม่ และเป็นเส้นฐานที่เบราว์เซอร์ antidetect ถูกออกแบบมาเพื่อรับมือ
การสร้างตัวตนที่สอดคล้องกัน
วิธีตรงไปตรงมาคือดักทุกคำถามแล้วสุ่มคำตอบ ซึ่งล้มเหลวด้วยเหตุผลเชิงโครงสร้าง คำตอบอธิบายเครื่องเดียว จึงสัมพันธ์กัน และคำตอบที่สุ่มอย่างอิสระทำลายความสัมพันธ์เหล่านั้น User-Agent ของ Windows คู่กับฟอนต์ที่มีเฉพาะใน macOS ขนาดหน้าจอที่ไม่เคยมีแล็ปท็อปรุ่นใดวางจำหน่าย สตริงกราฟิกที่ไม่เคยอยู่ร่วมกับแพลตฟอร์มที่อ้าง ทุกข้อคือความขัดแย้งที่ตัวตรวจสอบทดสอบได้ในราคาถูก
ดังนั้นเบราว์เซอร์ antidetect ที่ใช้งานได้จริงจึงสร้างตัวตนเป็นชุด โดยเริ่มจากกลุ่มเครื่องจริงที่พบทั่วไป แล้วอนุมานทุกค่าจากตัวเลือกนั้น แพลตฟอร์มกำหนดรายการฟอนต์ที่สมเหตุสมผล สตริงกราฟิก และการรองรับระบบสัมผัส หน้าจอมาจากขนาดที่เครื่องกลุ่มนั้นวางจำหน่ายจริง ภาษาและเขตเวลามาจากภูมิภาคที่ตั้งใจไว้ของโปรไฟล์ ค่าต่าง ๆ สอดคล้องกันเพราะถูกเลือกพร้อมกันจากคำอธิบายของเครื่องเดียว
คุณสมบัติที่สองสำคัญไม่แพ้กัน คือชุดนั้นถูกจัดเก็บ มันถูกเขียนลงในโปรไฟล์ตอนสร้างโปรไฟล์ และทุกเซสชันรายงานค่าเดิม เพราะอุปกรณ์ที่เปลี่ยนไปในแต่ละครั้งที่เข้าชมอธิบายฮาร์ดแวร์ที่ไม่มีใครเป็นเจ้าของ ความเสถียรคือเกือบทั้งหมดของคำว่าสมเหตุสมผล
การแยกพื้นที่จัดเก็บบนดิสก์
งานจัดเก็บเป็นงานที่ไม่หรูหราที่สุดและเด็ดขาดที่สุด แต่ละโปรไฟล์เป็นเจ้าของไดเรกทอรีหนึ่ง และทุกอย่างที่เบราว์เซอร์บันทึกถาวรอยู่ข้างในนั้น ได้แก่ ฐานข้อมูลคุกกี้ Local Storage, IndexedDB, แคช HTTP, การลงทะเบียน service worker, สถานะส่วนขยาย, ประวัติ และข้อมูลรับรองที่บันทึกไว้ สองโปรไฟล์คือสองไดเรกทอรีที่ไม่ซ้อนทับกัน และเบราว์เซอร์ที่ทำงานแต่ละตัวชี้ไปที่ของตัวเอง
การไม่ซ้อนทับโดยสมบูรณ์คือคุณสมบัติที่ต้องตรวจ เพราะการแยกบางส่วนล้มเหลวอย่างเงียบ ๆ คุกกี้แยกง่าย แคชระบุเบราว์เซอร์ที่กลับมาได้ผ่านทรัพยากรที่มันเก็บไว้ Service worker เก็บตัวระบุได้และทำงานต่อระหว่างการเข้าชม IndexedDB คือที่ที่แอปพลิเคชันสมัยใหม่เก็บระเบียนที่มันเชื่อถือจริง ๆ การแยกที่ครอบคลุมที่เก็บยอดนิยมแต่ใช้ร่วมที่เก็บอื่น คือการแยกส่วนที่มองเห็นของปัญหาเท่านั้น
การคงอยู่คืออีกครึ่งหนึ่ง เซสชันสะสมคุณค่า ได้แก่ การตรวจสอบความปลอดภัยที่ผ่านแล้ว ประวัติการล็อกอินที่มั่นคง และรูปแบบของผู้เข้าชมที่กลับมา โปรไฟล์เก็บไดเรกทอรีของมันไว้ระหว่างเซสชัน ซึ่งทำให้งานบัญชีเป็นไปได้ การเขียนข้อมูลออกตอนปิดคือสิ่งที่ทำให้ไดเรกทอรีคงทน ซึ่งเป็นเหตุผลที่การฆ่ากระบวนการของโปรไฟล์กลางเซสชันอาจทำให้เสียเซสชันที่เพิ่งสร้างขึ้น
การกำหนดเส้นทางเครือข่าย
แต่ละโปรไฟล์มีเส้นทางของตัวเอง ซึ่งใช้เมื่อเบราว์เซอร์เริ่มทำงาน ทราฟฟิกจึงออกผ่านพร็อกซีของโปรไฟล์นั้นโดยไม่แตะการตั้งค่าระบบหรือเส้นทางของโปรไฟล์อื่น
- พร็อกซีผูกกับแต่ละโปรไฟล์ ไม่ใช่กับเครื่อง เบราว์เซอร์ทั่วไปใช้พร็อกซีของระบบ แต่ที่นี่ทุกโปรไฟล์ที่ทำงานเชื่อมต่อผ่านเอนด์พอยต์ของตัวเอง
- การแปลงชื่อโดเมนผ่านเส้นทางเดียวกันด้วย เพราะคำขอที่มาจากประเทศหนึ่งขณะที่การค้นหาชื่อมาจากอีกประเทศคือความขัดแย้งในชั้นเครือข่าย
- WebRTC ถูกจำกัดให้สอดคล้องกับเส้นทาง หากปล่อยไว้ มันอาจเปิดเผยตัวเลือกการเชื่อมต่อที่พร็อกซีไม่เคยแตะ
- เขตเวลาและภาษาถูกจับคู่กับประเทศของเส้นทาง เพราะที่อยู่เป็นค่าเดียวที่สร้างขึ้นเองไม่ได้ ส่วนที่เหลือของเรื่องราวจึงต้องสอดคล้องกับมัน
เส้นทางยังเป็นส่วนที่ควรตรวจสอบอย่างอิสระที่สุดด้วย เพราะซื้อมาจากบุคคลที่สาม การทดสอบเอนด์พอยต์ก่อนกำหนด และอ่านที่อยู่ที่สังเกตได้แทนที่อยู่ที่โฆษณาไว้ จะจับความล้มเหลวได้ขณะที่ยังเป็นปัญหาการตั้งค่า ไม่ใช่ปัญหาของบัญชี
สิ่งที่เบราว์เซอร์เปลี่ยนเอง
เครื่องมือเปลี่ยนคำตอบที่หน้าเว็บได้รับได้สองที่ และความแตกต่างระหว่างทั้งสองคือทางแยกทางเทคนิคที่สุดของหัวข้อนี้
| แนวทาง | วิธีทำงาน | จุดอ่อน |
|---|---|---|
| การฉีดสคริปต์ | ส่วนขยายหรือสคริปต์ที่ฉีดเข้าไปเขียนทับฟังก์ชันที่หน้าเว็บเรียก ทำให้การอ่าน canvas และการค้นหา navigator คืนค่าที่ถูกแทนที่ | ตัวเขียนทับเองมองเห็นได้ ฟังก์ชันที่ถูกแพตช์ถูกจำได้ว่าถูกแพตช์ และพื้นผิวใดที่ตัวฉีดลืมก็ยังตอบด้วยค่าจริง |
| ภายในโค้ดของเบราว์เซอร์เอง | การทำงานของเบราว์เซอร์ตอบด้วยค่าที่จัดเก็บของโปรไฟล์ ในเส้นทางโค้ดที่สร้างค่าจริง | สร้างและดูแลยากกว่ามาก จึงเป็นสิ่งที่ทำให้เครื่องมือที่สร้างขึ้นเฉพาะต่างจากส่วนขยาย |
การฉีดสคริปต์คือจุดเริ่มของหมวดนี้ และเพดานของมันเป็นที่เข้าใจกันดี คือหน้าเว็บตรวจได้ว่าฟังก์ชันเนทีฟยังดูเป็นเนทีฟหรือไม่ และเข้าถึงพื้นผิวเดียวกันผ่านเส้นทางที่การฉีดไม่ครอบคลุมได้ เบราว์เซอร์ antidetect ที่สร้างมาเฉพาะจึงทำการเปลี่ยนแปลงภายในเบราว์เซอร์เอง เพื่อให้ตัวตนที่จัดเก็บคือสิ่งที่การทำงานรายงานผ่านทุกเส้นทางที่อ่านมัน
การเปิดโปรไฟล์ทำอะไรจริง ๆ
- โหลดตัวตนที่จัดเก็บไว้ คือชุดค่าอุปกรณ์ที่สอดคล้องกันชุดเดียว ชุดเดิมกับครั้งก่อน
- เบราว์เซอร์เริ่มทำงานกับไดเรกทอรีของโปรไฟล์เอง ที่เก็บถาวรทุกแห่งจึงเป็นของโปรไฟล์
- ใช้เส้นทาง ได้แก่ พร็อกซี การแปลงชื่อผ่านพร็อกซี และ WebRTC ที่ถูกจำกัดให้อยู่ในเส้นทางนั้น
- เซสชันทำงาน สะสมสถานะไว้ในไดเรกทอรี
- เมื่อปิด สถานะถูกเขียนออก การเปิดครั้งถัดไปจึงต่อด้วยอุปกรณ์เดิม พื้นที่จัดเก็บเดิม และเส้นทางเดิม
ทุกส่วนของรายการนี้ตรวจสอบจากภายนอกได้ เปิดหน้าทดสอบลายนิ้วมือสองครั้งและเปรียบเทียบค่าระหว่างการเปิด ดูไดเรกทอรีโปรไฟล์บนดิสก์ อ่านที่อยู่ที่สังเกตได้ เครื่องมือในหมวดนี้ควรเชิญให้ตรวจสอบเช่นนั้น เพราะกลไกคือตัวผลิตภัณฑ์
ขีดจำกัดตามจริง
แนวทางนี้มีขอบเขต และการรู้ขอบเขตเป็นส่วนหนึ่งของการใช้อย่างชำนาญ
- มันทำให้เบราว์เซอร์ระบุตัวไม่ได้เลยไม่ได้ และไม่มีใครวัดคำกล่าวอ้างแบบนั้นได้อยู่แล้ว เป้าหมายที่เป็นจริงคือโปรไฟล์ที่ดูเป็นเครื่องธรรมดาที่สอดคล้องภายในและคงที่
- มันแก้ความขัดแย้งที่คุณสร้างเองไม่ได้ เส้นทางในประเทศหนึ่งกับเขตเวลาในอีกประเทศคือความผิดพลาดในการตั้งค่า และเครื่องมือทำได้เพียงทำให้การตั้งค่าที่ถูกต้องง่ายที่สุด
- มันไม่ครอบคลุมพฤติกรรม จังหวะเวลา ปริมาณ และจังหวะการทำงานถูกอ่านควบคู่กับสภาพแวดล้อม และกลุ่มบัญชีที่ทำงานพร้อมกันเป๊ะบอกตัวเองได้ไม่ว่าแต่ละสภาพแวดล้อมจะสะอาดเพียงใด
- มันไม่ครอบคลุมตัวตนที่แจ้งไว้ รายละเอียดการกู้คืนที่ใช้ร่วมกัน ช่องทางชำระเงินที่ใช้ร่วมกัน และข้อความที่ใช้ซ้ำ เชื่อมบัญชีผ่านบันทึกของแพลตฟอร์มเอง ซึ่งอยู่สูงกว่าเบราว์เซอร์มาก
- มันไม่เปลี่ยนกฎของแพลตฟอร์ม การแยกสภาพแวดล้อมแยกสภาพแวดล้อมที่ชอบธรรมออกจากกัน สิ่งที่แพลตฟอร์มอนุญาตเป็นการตัดสินใจของแพลตฟอร์ม และไม่มีการรับรองผลลัพธ์ใด ๆ บนแพลตฟอร์มที่เราควบคุมไม่ได้ที่นี่
อ่านขีดจำกัดเหล่านี้เป็นคำนิยาม ไม่ใช่ความผิดหวัง เบราว์เซอร์ antidetect คือเครื่องมือสร้างความสอดคล้อง ได้แก่ พื้นที่จัดเก็บแยกกัน ตัวตนที่คงที่และสมเหตุสมผล เส้นทางที่ตรงกัน ยึดไว้ด้วยกันรายโปรไฟล์และซ้ำเหมือนเดิมทุกครั้งที่เปิด นั่นคือกลไกทั้งหมด และสิ่งอื่นที่เขียนถึงหมวดนี้เป็นเพียงรูปแบบหนึ่งของมัน

