คุณควรปิดการใช้งานการแยกไซต์ใน Google Chrome
เบ็ดเตล็ด / / November 29, 2021
ถึงตอนนี้คุณคงเคยได้ยินเกี่ยวกับ 'Spectre' ซึ่งเป็นข้อบกพร่องด้านความปลอดภัยที่ได้รับการขนานนามว่าเป็นลางไม่ดีที่ ส่งผลกระทบต่อซีพียูที่ทันสมัยเกือบทั้งหมด. และถูกต้องแล้ว เนื่องจากช่องโหว่นั้นเกี่ยวข้องกับแอปพลิเคชันและเว็บไซต์ที่ชั่วร้ายซึ่งเข้าถึงข้อมูลจากพื้นที่ที่ไม่ควรมีอยู่จริง เพื่อจัดการกับปัญหานี้โดยเฉพาะ เบราว์เซอร์ได้พัฒนากลไกการรักษาความปลอดภัยที่หลากหลาย และการใช้งานเฉพาะสำหรับ Chrome นั้นก็คือการแยกไซต์
เปิดตัวครั้งแรกใน Chrome v63 เป็นฟีเจอร์ความปลอดภัยเสริม ตอนนี้การแยกไซต์ทำงานโดยค่าเริ่มต้นตั้งแต่เวอร์ชัน 67 ในทางเทคนิคแล้ว มันค่อนข้างเชี่ยวชาญในการลดการโจมตีเพื่อดำเนินการเชิงคาดเดา (ซึ่งอิงตาม Spectre) เนื่องจากกระบวนการแซนด์บ็อกซ์ที่ใช้
แต่ก็เหมือนกับทุกสิ่งที่ดี มันมาในราคา — ให้เจาะจงคือ ประสิทธิภาพ ดังนั้น การปิดใช้งาน Site Isolation จะปรับปรุงการทำงานของ Chrome หรือไม่ มันคุ้มค่าที่จะแลกกับการรักษาความปลอดภัยหรือไม่? มาหาคำตอบกัน
อสุรกายและการแยกไซต์
เช่นเดียวกับเบราว์เซอร์อื่นๆ Google Chrome อนุญาตให้คุณเปิดหลายเว็บไซต์โดยใช้แท็บที่ต่างกัน ก่อนการนำ Site Isolation ไปใช้ แท็บต่างๆ จะใช้เพื่อแชร์กระบวนการทั่วไป ซึ่งสมเหตุสมผลเนื่องจากงานซ้ำซ้อนจะทำให้ทรัพยากรระบบสูญเปล่า อย่างไรก็ตาม นั่นเป็นสถานการณ์ที่เหมาะสำหรับการโจมตีที่เป็นอันตรายโดยอิงจากการออกแบบ CPU ที่มีข้อบกพร่อง — Spectre
ไมโครโปรเซสเซอร์สมัยใหม่ใช้การดำเนินการเก็งกำไรเพื่อโหลดข้อมูลจากหน่วยความจำระบบล่วงหน้าไปยัง แคช CPU ที่เร็วกว่ามาก เพื่อปรับปรุงประสิทธิภาพโดยรวม อย่างไรก็ตาม นี่เป็นโอกาสพิเศษที่โค้ดที่เป็นอันตรายจะแจ้งให้ CPU ดึงข้อมูลที่สำคัญไปยังแคชโดยใช้กระบวนการที่แชร์กัน เมื่อข้อมูลอยู่ในแคชของ CPU ข้อมูลนั้นจะไม่มีการป้องกัน (ตรงกันข้ามกับหน่วยความจำระบบ) และสามารถขโมยได้ง่าย
สมมติว่าคุณเปิดแท็บอยู่สองสามแท็บ — แท็บหนึ่งเปิดบัญชีธนาคารของคุณ และอีกแท็บหนึ่งเปิดเว็บไซต์สุ่ม ในทางทฤษฎี อย่างหลัง โดยมีเจตนาร้าย สามารถเจาะเข้าไปในแคช CPU ที่ใช้โดย แท็บเดิมแล้วโหลดและอ่านข้อมูลได้ทุกที่ตั้งแต่รายละเอียดการเข้าสู่ระบบไปจนถึงการเข้ารหัส กุญแจ
ในขณะที่มันค่อนข้างยากที่จะจินตนาการถึงเหตุการณ์ที่เกิดขึ้นเนื่องจากแคชของ CPU ที่จำกัด (ซึ่งเป็นเพียงเศษเสี้ยวเล็กน้อยเมื่อเปรียบเทียบ กับหน่วยความจำของระบบ) โค้ดที่เป็นอันตรายจะกำหนดว่าข้อมูลใดที่จะขโมยโดยเปรียบเทียบความแตกต่างระหว่างการเข้าถึง CPU ความเร็ว ท้ายที่สุดแล้ว หากสิ่งต่าง ๆ เร็วกว่าปกติ แสดงว่ามีสาเหตุมาจากข้อมูลที่อยู่ในแคชของ CPU อยู่แล้วโดยการเก็งกำไรที่แม่นยำ
เมื่อพบช่องโหว่ของ Spectre เบราว์เซอร์เริ่มใช้วิธีแก้ปัญหาต่างๆ (เช่นตัวจับเวลาความละเอียดที่ต่ำกว่าเพื่อลดความแม่นยำในการกำหนดความเร็วในการเข้าถึง CPU) เพื่อกำจัดการโจมตีแบบกำหนดเป้าหมาย อย่างไรก็ตาม สิ่งเหล่านี้ไม่ใช่วิธีที่สมบูรณ์แบบในการต่อต้านภัยคุกคามจาก Spectre จึงเป็นเหตุผลของการแยกไซต์
การแยกไซต์ตามชื่อจะแยกแท็บออกจากกันโดยสมบูรณ์โดยการสร้างกระบวนการแยกกันสำหรับ iframes ทั้งหมด (ลิงก์ภายนอกที่ฝังไว้) รวมถึงขั้นตอนที่เหมือนกันกับแท็บอื่นๆ เนื่องจากกระบวนการที่ใช้ร่วมกันมีส่วนสำคัญในการช่วยตรวจสอบโค้ดที่เป็นอันตรายและอ่านข้อมูลจาก แท็บอื่น ๆ การใช้กระบวนการอิสระของการแยกไซต์ทำงานได้ดีในการบรรเทาดังกล่าว ช่องโหว่
เมื่อดูตัวอย่างก่อนหน้านี้ของเรา เมื่อเปิดการแยกไซต์ พอร์ทัลบัญชีธนาคารของคุณจะทำงานบนกระบวนการที่แตกต่างไปจากเดิมอย่างสิ้นเชิง และไม่แชร์สิ่งใดที่คล้ายกับแท็บอื่น 'การแยก' นี้ช่วยลดความเป็นไปได้ในการขโมยข้อมูลในกรณีที่มีการละเมิดให้เหลือน้อยที่สุด
เพิ่มหน่วยความจำโอเวอร์เฮด
ดังนั้น คุณต้องสงสัยว่าการแยกไซต์นั้นมีค่าใช้จ่ายต่อประสิทธิภาพหรือไม่ เนื่องจากหน่วยความจำระบบเพิ่มเติมที่ใช้โดยแต่ละกระบวนการอิสระ — แท็บเบราว์เซอร์ ตาม บล็อกความปลอดภัยออนไลน์ของ Google, การใช้งานความปลอดภัยใช้ RAM มากกว่า 10-13% มากกว่าถ้าฟีเจอร์นี้ไม่ได้เปิดใช้งานตั้งแต่แรก
มาดูกันว่าในทางปฏิบัติตัวเลขนี้แม่นยำแค่ไหน เมื่อไม่ได้เปิดใช้งานการแยกไซต์ ภาพหน้าจอด้านล่างจะแสดงเว็บไซต์สองแห่งที่ใช้ iframes ที่คล้ายกันจำนวนมาก มีเพียงสองแท็บเท่านั้นที่มีงานต่อเนื่องที่แยกจากกัน โดยไม่มีกระบวนการที่เป็นอิสระสำหรับ iframes ใดๆ
บันทึก: ภาพหน้าจอจะแสดงโดยใช้ตัวจัดการงานในตัวของ Chrome ในการเข้าถึง ให้เปิดเมนู Chrome ชี้ไปที่เครื่องมือเพิ่มเติม แล้วคลิกตัวจัดการงาน
แท็บคู่เดียวกันกับที่เปิดใช้งานการแยกไซต์จะแสดงในภาพหน้าจอถัดไป อย่างที่คุณเห็น มีกระบวนการเพิ่มเติมเพิ่มขึ้นอย่างมากเนื่องจาก iframes ที่ใช้โดยแต่ละไซต์ นอกจากนี้ กระบวนการที่คล้ายคลึงกันยังถูกแบ่งออกเป็นสองขั้นตอนเพื่อลดโอกาสที่การโจมตีด้วยการดำเนินการเก็งกำไรจะประสบผลสำเร็จ หากคุณคำนวณ (โดยไม่คำนึงถึงงานของเบราว์เซอร์และการประมวลผล GPU) ทั้งสองไซต์จะใช้หน่วยความจำเพิ่มขึ้นประมาณ 33%
การใช้หน่วยความจำสูงกว่าที่ Google ระบุไว้อย่างมาก อย่างไรก็ตาม ให้พิจารณาตัวเลขที่มากกว่า 10-13% ของค่าเฉลี่ยระยะยาว ไซต์และแม้แต่หน้าเว็บแต่ละหน้าก็แตกต่างกันไปตามจำนวนกระบวนการและหน่วยความจำที่ต้องการในบางครั้ง ดังนั้นสถานการณ์ข้างต้นจึงถือได้ว่าเป็นค่าผิดปกติ
ไม่ว่า Site Isolation จะส่งผลในระดับปานกลาง หรือในกรณีนี้ การเพิ่มขึ้นของหน่วยความจำโอเวอร์เฮด
ความปลอดภัยเทียบกับ ประสิทธิภาพ
การปิดใช้งานการแยกไซต์ส่งผลให้การใช้หน่วยความจำลดลงและอาจเพิ่มประสิทธิภาพในอุปกรณ์ระดับล่างได้ อย่างไรก็ตาม Chrome ค่อนข้างดี เชี่ยวชาญในการจัดการหน่วยความจำที่มีอยู่ โดยการระงับแท็บที่ไม่ได้ใช้ เนื่องจากการใช้หน่วยความจำแตกต่างกันอย่างมากในแต่ละไซต์ จึงไม่มีคำตอบที่แน่ชัด บนอุปกรณ์ที่มีหน่วยความจำระบบสูง ความแตกต่างในประสิทธิภาพควรเล็กน้อย
แต่นี่คือสิ่งที่จับได้ เนื่องจากการนำ Site Isolation มาใช้ Chrome ควรจะยกเลิกมาตรการตอบโต้ที่มีอยู่ก่อนแล้วต่อการโจมตี Spectre เมื่อเวลาผ่านไป ดังนั้น การปิดใช้งานจะทำให้เสี่ยงต่อการโจมตีที่มุ่งร้ายมากยิ่งขึ้น
เมื่อชั่งน้ำหนักทั้งสองแล้ว ช่องโหว่ที่อาจเกิดขึ้นจาก Spectre รวมกับการใช้ข้อมูลส่วนบุคคลที่เพิ่มมากขึ้นเรื่อยๆ ทำให้การปิด Site Isolation เป็นความคิดที่ไม่ดี เว้นแต่ว่าคุณกำลังท่องเว็บบนเครื่องระดับล่างและไม่ได้ใช้ข้อมูลส่วนบุคคลใด ๆ คุณควรพิจารณาปิดการใช้งานคุณสมบัติความปลอดภัยที่สำคัญนี้เท่านั้น
ปิดการใช้งานการแยกไซต์
การปิดใช้งานการแยกไซต์จะทำให้คอมพิวเตอร์ของคุณเสี่ยงต่อการคุกคามด้านความปลอดภัยที่สำคัญ อย่างไรก็ตาม หากคุณต้องการปิดใช้งานคุณลักษณะนี้ ด้านล่างนี้เป็นขั้นตอนเฉพาะในการทำเช่นนั้น
คำเตือน: เมื่อปิดใช้งานการแยกไซต์ โปรดงดเว้นจากการใช้ข้อมูลการท่องเว็บส่วนบุคคลบนเว็บไซต์ใดๆ เช่นเดียวกับการจัดเก็บข้อมูลที่ละเอียดอ่อนบน Chrome เช่นรหัสผ่าน
ขั้นตอนที่ 1: บนแท็บใหม่ ให้พิมพ์ chrome://flags แล้วกด Enter เพื่อเข้าถึงการตั้งค่าสถานะทดลองของ Chrome
ขั้นตอนที่ 2: พิมพ์ Site Isolation ลงในแถบค้นหา จากนั้นกด Enter
ขั้นตอนที่ 3: คุณควรเห็นแฟล็ก Chrome สองรายการที่มีป้ายกำกับว่าการแยกเว็บไซต์ที่เข้มงวด และ การเลือกไม่ใช้การแยกเว็บไซต์
- ตั้งค่าสถานะการแยกไซต์ที่เข้มงวดเป็นปิดใช้งาน อุปกรณ์เฉพาะอาจมีการตั้งค่านี้เป็นปิดใช้งานโดยค่าเริ่มต้น หากเป็นกรณีนี้ ไม่ต้องทำอะไรเลย
- ตั้งค่าแฟล็ก Site Isolation Trial Opt Out เป็น Opt-Out (ไม่แนะนำ)
จากนั้นคลิก Relaunch Now เพื่อใช้การเปลี่ยนแปลง
ขั้นตอนที่ 5: การแยกไซต์ถูกปิดใช้งาน หากต้องการตรวจสอบ ให้พิมพ์ chrome://process-internals ในแท็บใหม่ จากนั้นกด Enter
โหมดการแยกไซต์ควรอ่านว่าปิดการใช้งานเพื่อแสดงการยืนยัน หากต้องการเปิดใช้การแยกเว็บไซต์ในภายหลัง ให้ย้อนกลับและเปลี่ยนการตั้งค่าสถานะเป็นเหมือนเดิม แล้วเริ่ม Chrome ใหม่
ไม่ มันไม่คุ้มที่จะเสี่ยง
ไม่รับประกันการปิดใช้งานคุณลักษณะด้านความปลอดภัยที่สำคัญของ Chrome เช่น การแยกไซต์เพื่อลดการใช้หน่วยความจำ โดยเฉพาะอย่างยิ่งการพิจารณาว่าแต่ละไซต์ใช้หน่วยความจำต่างกันอย่างไร ดังนั้น จึงไม่ควรแสวงหาประสิทธิภาพที่เพิ่มขึ้นจากค่าใช้จ่ายที่อาจเกิดขึ้นจากข้อมูลส่วนบุคคลของคุณ หากคุณกำลังดิ้นรนกับประสิทธิภาพ คุณทำได้เสมอ ลองใช้เบราว์เซอร์สำรอง เช่น Firefox Quantum ที่มีหน่วยความจำน้อยกว่า Chrome มากก่อนที่จะทำอะไรผื่น