Chrome แก้ไขช่องโหว่ 24 ช่อง เปิดใช้งานระบบความปลอดภัย “Sanitizer” PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

Chrome แก้ไขช่องโหว่ 24 ช่อง เปิดใช้งานระบบความปลอดภัย “เครื่องฆ่าเชื้อ”

เบราว์เซอร์ Chrome ล่าสุดของ Google 105 รุ่นออกแล้ว แม้ว่าหมายเลขเวอร์ชันเต็มจะแตกต่างกันมาก ขึ้นอยู่กับว่าคุณใช้ Windows, Mac หรือ Linux

บนระบบที่เหมือน Unix (Mac และ Linux) คุณต้องการ 105.0.5195.52แต่บน Windows คุณกำลังมองหา 105.0.5195.54.

ตาม Google เวอร์ชันใหม่นี้มีการแก้ไขด้านความปลอดภัย 24 รายการแม้ว่าจะไม่มีการรายงานว่า "อยู่ในป่า" ซึ่งหมายความว่าไม่มีการแก้ไขซีโร่เดย์ในครั้งนี้

อย่างไรก็ตาม มีช่องโหว่หนึ่งที่ขนานนามว่า วิกฤตและอีกแปดอันดับ จุดสูง.

ข้อบกพร่องที่แก้ไขได้เพียงครึ่งเดียวคือการจัดการหน่วยความจำที่ผิดพลาด โดยมีเก้าข้อที่ระบุว่า ใช้หลังฟรี แมลงและสี่เช่น บัฟเฟอร์ล้น.

อธิบายประเภทข้อผิดพลาดของหน่วยความจำ

A ใช้หลังฟรี ตรงตามที่บอกไว้เป๊ะๆ: คุณมอบหน่วยความจำคืนเพื่อเพิ่มพื้นที่ว่างให้กับส่วนอื่นของโปรแกรม แต่ใช้งานต่อไปต่อไป ซึ่งอาจรบกวนการทำงานที่ถูกต้องของแอปของคุณ

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

…แต่ก่อนที่มันจะเริ่มใช้อินพุตที่ได้รับการตรวจสอบนั้น โค้ด "use-after-free" ที่มีปัญหาของคุณรบกวน และแทรกข้อมูลที่ไม่เก่าและไม่ปลอดภัยลงในส่วนเดียวกันของหน่วยความจำ

ทันใดนั้น โค้ดที่ปราศจากจุดบกพร่องที่อื่นในโปรแกรมทำงานราวกับว่ามันเป็นบั๊ก ต้องขอบคุณข้อบกพร่องในโค้ดของคุณที่ทำให้สิ่งที่อยู่ในหน่วยความจำใช้ไม่ได้

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

และ a บัฟเฟอร์ล้น หมายถึงข้อบกพร่องที่คุณเขียนข้อมูลลงในหน่วยความจำมากกว่าที่จะพอดีกับพื้นที่ที่จัดสรรให้กับคุณในตอนแรก (กอง เป็นศัพท์เฉพาะสำหรับการรวบรวมบล็อกหน่วยความจำที่ระบบกำลังจัดการอยู่)

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

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

ระบบ “ฆ่าเชื้อ”

อย่างมีความสุข เช่นเดียวกับการแก้ไขคุณสมบัติที่ไม่ควรจะมีเลย Google ได้ประกาศการมาถึงของคุณสมบัติใหม่ที่ เพิ่มการป้องกัน กับคลาสของข้อบกพร่องของเบราว์เซอร์ที่เรียกว่า การเขียนสคริปต์ข้ามไซต์ (ส.ส.).

ข้อบกพร่อง XSS เกิดจากการที่เบราว์เซอร์แทรกข้อมูลที่ไม่น่าเชื่อถือ เช่น จากแบบฟอร์มเว็บที่ส่งโดยผู้ใช้ระยะไกล ลงในหน้าเว็บปัจจุบันโดยตรง โดยไม่ตรวจสอบ (และลบ) เนื้อหาที่มีความเสี่ยงก่อน

ตัวอย่างเช่น ลองนึกภาพว่าคุณมีหน้าเว็บที่แสดงให้ฉันเห็นว่าสตริงข้อความที่ฉันเลือกนั้นมีลักษณะอย่างไรในแบบอักษรใหม่สุดเก๋ของคุณ

ถ้าฉันพิมพ์ข้อความตัวอย่าง Cwm fjord bank glyphs vext quiz (การแมชอัปภาษาอังกฤษและเวลส์ที่มีการวางแผนแต่มีความหมายที่คลุมเครือ ซึ่งประกอบด้วยตัวอักษรทั้ง 26 ตัวใน 26 ตัวอักษร ในกรณีที่คุณสงสัย) การใส่ข้อความที่แน่นอนนั้นลงในหน้าเว็บที่คุณสร้างขึ้นจะปลอดภัย

ตัวอย่างเช่น ใน JavaScript คุณสามารถเขียนเนื้อหาของหน้าเว็บใหม่ในลักษณะนี้ โดยแทรกข้อความที่ฉันให้มาโดยไม่มีการแก้ไขใดๆ:

document.body.innerHTML = " Cwm ฟยอร์ดธนาคารร่ายมนตร์ vex คำถาม"

แต่ถ้าโกงแล้วขอให้ "แสดง" สตริงข้อความ Cwm fjord<script>alert(42)</script> แทนที่จะทำเช่นนั้น คุณจะประมาทเลินเล่อ...

document.body.innerHTML = " Cwm ฟยอร์ด alert(42) "

…เพราะคุณจะอนุญาตให้ฉันฉีดโค้ด JavaScript ที่ไม่น่าเชื่อถือของ my เลือกโดยตรงเข้า ธุรกิจ หน้าเว็บที่โค้ดของฉันสามารถอ่านคุกกี้ของคุณและเข้าถึงข้อมูลที่อาจไม่ถูกจำกัด

ดังนั้นเพื่อให้สิ่งที่เรียกว่า ฆ่าเชื้อปัจจัยการผลิตของคุณ ง่ายขึ้น Chrome ได้เปิดใช้งานการสนับสนุนอย่างเป็นทางการสำหรับฟังก์ชันเบราว์เซอร์ใหม่ที่เรียกว่า setHTML().

สามารถใช้เพื่อส่งเนื้อหา HTML ใหม่ผ่านคุณลักษณะที่เรียกว่า Sanitizer อันดับแรก เพื่อที่ว่าถ้าคุณใช้รหัสนี้แทน...

document.body.setHTML(" Cwm ฟยอร์ด alert(42) ")

…จากนั้น Chrome จะสแกนสตริง HTML ใหม่ที่เสนอเพื่อหาปัญหาด้านความปลอดภัยก่อน และลบข้อความที่อาจก่อให้เกิดความเสี่ยงออกโดยอัตโนมัติ

คุณสามารถเห็นสิ่งนี้ในการดำเนินการผ่านทาง เครื่องมือสำหรับนักพัฒนา โดยเรียกใช้ด้านบน setHTML() รหัสที่ ปลอบใจ พร้อมต์แล้วดึง HTML จริงที่ถูกแทรกลงใน document.body ตัวแปรดังที่เราทำที่นี่:

สังเกตว่าแท็กสคริปต์ที่ไฮไลต์ได้รับการ "ฆ่าเชื้อ" จาก HTML ที่แทรกลงในหน้าในท้ายที่สุดอย่างไร

แม้ว่าเราจะใส่ a . ไว้อย่างชัดเจน <script> แท็กในอินพุตที่เราส่งผ่านไปยัง setHTML() ฟังก์ชัน โค้ดสคริปต์ถูกล้างโดยอัตโนมัติจากเอาต์พุตที่สร้างขึ้น

หากคุณต้องการเพิ่มข้อความที่อาจเป็นอันตรายลงในองค์ประกอบ HTML จริงๆ คุณสามารถเพิ่มอาร์กิวเมนต์ที่สองให้กับ setHTML() ฟังก์ชันที่ระบุเนื้อหาเสี่ยงประเภทต่างๆ ที่จะบล็อกหรืออนุญาต

ตามค่าเริ่มต้น หากละเว้นอาร์กิวเมนต์ที่สองนี้ตามที่กล่าวไว้ข้างต้น Sanitizer จะทำงานที่ระดับความปลอดภัยสูงสุดและล้างเนื้อหาที่เป็นอันตรายทั้งหมดที่ทราบโดยอัตโนมัติ

จะทำอย่างไร?

  • หากคุณเป็นผู้ใช้ Chrome ตรวจสอบว่าคุณทันสมัยโดยคลิก สามจุด > การช่วยเหลือ > เกี่ยวกับ Google Chromeหรือโดยการเรียกดู URL พิเศษ chrome://settings/help.
  • หากคุณเป็นโปรแกรมเมอร์เว็บ เรียนรู้เกี่ยวกับสิ่งใหม่ๆ Sanitizer และ setHTML() ฟังก์ชั่นโดยการอ่าน คำแนะนำจาก Google และ เอกสารเว็บ MDN.

อย่างไรก็ตาม ถ้าคุณใช้ Firefox Sanitizer พร้อมใช้งาน แต่ยังไม่ได้เปิดใช้งานโดยค่าเริ่มต้น คุณสามารถเปิดเพื่อดูข้อมูลเพิ่มเติมได้โดยไปที่ about:config และสลับ dom.security.sanitizer.enabled ตัวเลือก true.


ประทับเวลา:

เพิ่มเติมจาก ความปลอดภัยเปล่า