การอัปเดต Chrome ล่าสุดของ Google ออกแล้ว และคราวนี้บริษัท ยังไม่ได้สับเปลี่ยนคำพูด เกี่ยวกับแพตช์ความปลอดภัยหนึ่งในสองแพตช์ประกอบด้วย:
Google ทราบดีว่าการใช้ประโยชน์จาก CVE-2023-3079 มีอยู่ในป่า
ไม่มีการใช้คำฟุ่มเฟื่อยแบบ XNUMX องศาอย่างที่เรามักจะเห็นจาก Google มาก่อน เพื่อบอกว่าบริษัท “รับทราบรายงาน” ถึงการแสวงประโยชน์
คราวนี้เป็น "เรารับรู้ทั้งหมดด้วยตัวเอง" ซึ่งแปลได้ตรงกว่าคือ "เรารู้ว่ามิจฉาชีพกำลังใช้สิ่งนี้ในทางที่ผิดขณะที่เราพูด" เนื่องจากรายงานข้อบกพร่องนั้นมาจากกลุ่มวิจัยภัยคุกคามของ Google โดยตรง
ตามปกติ นี่หมายความว่า Google กำลังตรวจสอบการโจมตีที่กำลังดำเนินอยู่ (ไม่ว่าจะกับ Google เองหรือองค์กรภายนอกบางแห่ง เราไม่ทราบ) ซึ่ง Chrome ถูกเจาะโดยช่องโหว่ด้านความปลอดภัยที่ไม่รู้จักก่อนหน้านี้
ข้อบกพร่องอธิบายง่ายๆ ดังนี้: พิมพ์ความสับสนใน V8 (เป็นที่เข้าใจกันว่า Google ไม่ได้พูดอะไรมากไปกว่านี้ในขั้นตอนนี้)
ดังที่เราได้อธิบายไปก่อนหน้านี้ ก พิมพ์สับสน จุดบกพร่องเกิดขึ้นเมื่อคุณจัดหาโปรแกรมที่มีข้อมูลจำนวนมากซึ่งควรจะแยกวิเคราะห์ ตรวจสอบ ประมวลผล และดำเนินการด้วยวิธีเดียว...
…แต่ภายหลังคุณสามารถหลอกลวงให้โปรแกรมตีความข้อมูลด้วยวิธีที่แตกต่างออกไป ไม่ได้รับอนุญาต ไม่ถูกต้อง และอาจเป็นอันตรายได้
อธิบายอันตรายจากความสับสนประเภท
ลองนึกภาพว่าคุณกำลังเขียนโปรแกรมในภาษาซี (ไม่สำคัญว่าคุณจะรู้จักภาษาซีหรือไม่ คุณก็สามารถทำตามได้)
ใน C คุณมักจะประกาศตัวแปรทีละตัว ดังนั้นไม่เพียงแต่จองหน่วยความจำที่สามารถจัดเก็บได้ แต่ยังส่งสัญญาณไปยังโปรแกรมว่าควรใช้ตัวแปรเหล่านั้นอย่างไร
ตัวอย่างเช่น:
ยาวยาว int JulianDayNumber; ลงชื่อ char* ชื่อลูกค้า;
การประกาศตัวแปรแรกสงวนไว้ 64 บิตสำหรับจัดเก็บค่าจำนวนเต็มแบบเก่าธรรมดาซึ่งแสดงถึงจำนวนวันทางดาราศาสตร์ (ในกรณีที่คุณสงสัย บ่ายวันนี้คือ JDN 23157 – วันจูเลียนเริ่มต้นตอนเที่ยงวัน ไม่ใช่เที่ยงคืน เนื่องจากนักดาราศาสตร์มักทำงานในตอนกลางคืน โดยเที่ยงคืนเป็นวันทำงานของพวกเขา)
ส่วนที่สองสงวนไว้ 64 บิตสำหรับจัดเก็บที่อยู่หน่วยความจำซึ่งสามารถพบสตริงข้อความของชื่อลูกค้าได้
อย่างที่คุณจินตนาการได้ คุณไม่ควรผสมค่าทั้งสองนี้เข้าด้วยกัน เพราะตัวเลขที่เหมาะสมและปลอดภัย หากใช้เป็นตัวเลขวัน เช่น 23157 แทบจะไม่ปลอดภัยหากใช้เป็นที่อยู่หน่วยความจำ
ดังที่คุณเห็นจากการถ่ายโอนข้อมูลหน่วยความจำของโปรแกรม Windows ที่กำลังทำงานอยู่ ที่อยู่หน่วยความจำต่ำสุดที่จัดสรรไว้สำหรับการใช้งานจะเริ่มต้นที่ 0x00370000
ซึ่งมีค่าเป็นทศนิยม 3,604,480 ซึ่งมากกว่าจำนวนวันที่เหมาะสมใดๆ
ที่อยู่หน่วยความจำจริงที่ใช้โดย Windows จะแปรผันไปตามกาลเวลา เพื่อทำให้รูปแบบหน่วยความจำของคุณยากขึ้นสำหรับมิจฉาชีพที่จะคาดเดา ดังนั้นหากคุณเรียกใช้โปรแกรมเดียวกัน คุณจะได้รับค่าต่างๆ แต่ค่าเหล่านั้นจะคล้ายกัน:
และ (แม้ว่าจะอยู่ด้านล่างของภาพด้านบน) ที่อยู่หน่วยความจำของส่วนข้อมูลผู้ใช้รันไทม์เมื่อโปรแกรมนี้ทำงานจาก 0x01130000
ไปยัง 0x01134FFF
ซึ่งแสดงถึงช่วงวันที่ที่ไม่น่าเป็นไปได้คือ 22 กรกฎาคม 44631 ถึง 16 สิงหาคม 44687
แน่นอน หากคุณพยายามผสมตัวแปรทั้งสองเข้าด้วยกัน คอมไพเลอร์ควรพยายามเตือนคุณ เช่น:
JulianDayNumber = ชื่อลูกค้า; ชื่อลูกค้า = JulianDayNumber; คำเตือน: การกำหนดสร้างจำนวนเต็มจากตัวชี้โดยไม่ต้องโยน คำเตือน: การกำหนดสร้างตัวชี้จากจำนวนเต็มโดยไม่ต้องโยน
ตอนนี้ ถ้าคุณเคยเขียนโปรแกรมด้วยภาษา C คุณจะรู้ว่าเพื่อความสะดวก คุณสามารถประกาศตัวแปรด้วยการตีความที่แตกต่างกันหลายแบบโดยใช้ union
คำหลักเช่นนี้:
ยูเนี่ยน { long long int JulianDayNumer; ลงชื่อ char* ชื่อลูกค้า; } ข้อมูล;
ตอนนี้คุณสามารถอ้างอิงตัวแปรเดียวกันในหน่วยความจำได้สองวิธี
ถ้าคุณเขียน data.JulianDayNumber
คุณตีความข้อมูลที่เก็บไว้เป็นจำนวนเต็มได้อย่างน่าอัศจรรย์ แต่การเขียน data.CustomerName
บอกคอมไพเลอร์ว่าคุณกำลังอ้างอิงที่อยู่หน่วยความจำ แม้ว่าคุณกำลังเข้าถึงข้อมูลที่เก็บไว้เดียวกัน
สิ่งที่คุณทำ ไม่มากก็น้อย กำลังยอมรับกับคอมไพเลอร์ว่าบางครั้งคุณจะปฏิบัติต่อข้อมูลที่คุณมีเป็นวันที่ และในบางครั้งเป็นที่อยู่หน่วยความจำ และนั่น คุณต้องรับผิดชอบในการจดจำว่าการตีความใดใช้ในช่วงเวลาใด ในรหัส
คุณอาจตัดสินใจที่จะมีตัวแปรที่สองหรือที่เรียกว่า a tag
(โดยทั่วไปจะเป็นจำนวนเต็ม) เพื่อไปพร้อมกับคุณ union
เพื่อติดตามว่าคุณกำลังทำงานกับข้อมูลประเภทใดอยู่ในขณะนี้ ตัวอย่างเช่น:
struct { แท็ก int; ยูเนี่ยน { long long int JulianDayNumer; ลงชื่อ char* ชื่อลูกค้า; } ข้อมูล; } ค่า;
คุณอาจตัดสินใจว่าเมื่อ value.tag
ถูกตั้งค่าเป็น 0
ข้อมูลยังไม่ถูกเตรียมใช้งาน 1
หมายความว่าคุณกำลังจัดเก็บวันที่ 2
หมายความว่าเป็นที่อยู่หน่วยความจำ และสิ่งอื่นๆ ที่แสดงถึงข้อผิดพลาด
คุณไม่ควรให้ใครมายุ่งกับเรื่องนั้น value.tag
การตั้งค่า มิฉะนั้นโปรแกรมของคุณอาจทำงานผิดพลาดอย่างมาก
ตัวอย่างที่น่ากังวลมากขึ้นอาจเป็นดังนี้:
struct { แท็ก int; // 1 = แฮช, 2 = ตัวชี้ฟังก์ชันยูเนี่ยน { แฮชถ่านที่ไม่ได้ลงชื่อ [16]; // เก็บโครงสร้างแฮชแบบสุ่ม { void* openfunc; // หรือ void* closefunc ที่ผ่านการตรวจสอบอย่างระมัดระวังสองตัว; // ตัวชี้รหัสเพื่อดำเนินการในภายหลัง } ตรวจสอบ; } } ค่า;
ขณะนี้ เรากำลังโอเวอร์โหลดบล็อกหน่วยความจำเดียวกัน ดังนั้นบางครั้งเราจึงสามารถใช้หน่วยความจำนี้เพื่อจัดเก็บแฮชขนาด 16 ไบต์ และบางครั้งเพื่อจัดเก็บพอยน์เตอร์ขนาด 8 ไบต์สองตัวสำหรับฟังก์ชันที่โปรแกรมของเราจะเรียกใช้ในภายหลัง
ชัดเจนเมื่อไหร่ value.tag == 1
เรายินดีที่จะให้ซอฟต์แวร์ของเราจัดเก็บสตริงขนาด 16 ไบต์ใดๆ ลงในหน่วยความจำที่จัดสรรไว้สำหรับยูเนี่ยน เนื่องจากแฮชเป็นการสุ่มเทียม ดังนั้นการรวบรวมไบต์ใดๆ จึงมีโอกาสเท่าๆ กัน
แต่เมื่อ value.tag == 2
โค้ดของเราจะต้องระมัดระวังเป็นพิเศษ ไม่อนุญาตให้ผู้ใช้ให้ที่อยู่ฟังก์ชันที่ไม่ถูกต้อง ไม่น่าเชื่อถือ และไม่รู้จักเพื่อดำเนินการในภายหลัง
ลองจินตนาการว่าคุณสามารถส่งค่าให้กับรหัสนี้ได้ในขณะที่แท็กถูกตั้งค่าเป็น 1 ดังนั้นจึงไม่ได้รับการตรวจสอบและตรวจสอบความถูกต้อง...
…แต่ในภายหลัง ก่อนที่โปรแกรมจะใช้ค่าที่เก็บไว้จริงๆ คุณสามารถหลอกรหัสให้เปลี่ยนแท็กเป็น 2 ได้
จากนั้นรหัสจะยอมรับที่อยู่ฟังก์ชันที่ไม่ผ่านการตรวจสอบของคุณว่า "รู้จักและยืนยันแล้วว่าปลอดภัย" (แม้ว่าจะไม่ใช่ก็ตาม) และจะส่งการทำงานของโปรแกรมอย่างไว้วางใจไปยังตำแหน่งปลอมในหน่วยความจำที่คุณแอบเลือกไว้ล่วงหน้า
และนั่นคือสิ่งที่เกิดขึ้นในข้อผิดพลาดเกี่ยวกับความสับสนของประเภท แม้ว่าจะใช้ตัวอย่างที่ประดิษฐ์ขึ้นและเรียบง่าย
หน่วยความจำที่จะใช้งานได้อย่างปลอดภัยหากได้รับการจัดการทางเดียวจะถูกส่งไปยังโปรแกรมอย่างมุ่งร้ายเพื่อประมวลผลด้วยวิธีอื่นที่ไม่ปลอดภัย
จะทำอย่างไร?
ตรวจสอบว่าคุณใช้ Chrome หรือ Chromium เวอร์ชันล่าสุด
คุณต้องการ Chrome 114.0.5735.106 หรือใหม่กว่าบน Mac และ Linux และ 114.0.5735.110 หรือใหม่กว่าบน Windows
Microsoft Edge ซึ่งใช้ Chromium ก็ได้รับผลกระทบจากข้อผิดพลาดนี้เช่นกัน
Microsoft มีจนถึงตอนนี้ [2023-06-06T16:25:00Z] ตั้งข้อสังเกตว่า
Microsoft ตระหนักถึงช่องโหว่ล่าสุดที่มีอยู่ในธรรมชาติ เรากำลังทำงานอย่างแข็งขันเพื่อออกแพตช์ความปลอดภัย
ขณะนี้ Edge เป็นเวอร์ชัน 114.0.1823.37 ดังนั้นจึงมีหมายเลขกำกับไว้ ช้ากว่านั้น ควรรวมแพทช์ CVE-2023-3079 ของ Microsoft
วิธีตรวจสอบเวอร์ชันของคุณและบังคับให้อัปเดตหากมีเวอร์ชันที่คุณยังไม่ได้รับ:
- Google Chrome. เมนูสามจุด (⋮) > การช่วยเหลือ > เกี่ยวกับโครม
- Microsoft Edge การตั้งค่าและอื่น ๆ (…) > ความช่วยเหลือและข้อเสนอแนะ > เกี่ยวกับไมโครซอฟต์เอดจ์
ยินดีต้อนรับคุณ
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตไอสตรีม. ข้อมูลอัจฉริยะ Web3 ขยายความรู้ เข้าถึงได้ที่นี่.
- การสร้างอนาคตโดย Adryenn Ashley เข้าถึงได้ที่นี่.
- ซื้อและขายหุ้นในบริษัท PRE-IPO ด้วย PREIPO® เข้าถึงได้ที่นี่.
- ที่มา: https://nakedsecurity.sophos.com/2023/06/06/chrome-zero-day-this-exploit-is-in-the-wild-so-check-your-version-now/
- :มี
- :เป็น
- :ไม่
- :ที่ไหน
- $ ขึ้น
- 1
- ลด 15%
- 16
- 22
- 25
- 70
- a
- สามารถ
- เกี่ยวกับเรา
- ข้างบน
- แน่นอน
- ยอมรับ
- การเข้าถึง
- กระทำ
- คล่องแคล่ว
- อย่างกระตือรือร้น
- ที่เกิดขึ้นจริง
- จริง
- ที่อยู่
- ที่อยู่
- ความก้าวหน้า
- กับ
- ทั้งหมด
- จัดสรร
- อนุญาต
- ตาม
- แล้ว
- ด้วย
- ทางเลือก
- แม้ว่า
- an
- และ
- ใด
- ทุกคน
- สิ่งใด
- เป็น
- AS
- At
- โจมตี
- สิงหาคม
- ผู้เขียน
- รถยนต์
- ทราบ
- background-image
- ตาม
- BE
- เพราะ
- รับ
- ก่อน
- กำลัง
- ดีกว่า
- ปิดกั้น
- ชายแดน
- ด้านล่าง
- Bug
- แต่
- by
- โทรศัพท์
- มา
- CAN
- ระมัดระวัง
- กรณี
- ศูนย์
- อย่างแน่นอน
- ตรวจสอบ
- ตรวจสอบแล้ว
- Chrome
- โครเมียม
- รหัส
- ชุด
- สี
- บริษัท
- ความสับสน
- บริโภค
- ความสะดวกสบาย
- ได้
- หน้าปก
- Crooks
- ขณะนี้
- Dangerous
- อันตราย
- ข้อมูล
- วันที่
- วัน
- วัน
- ตัดสินใจ
- ส่ง
- อธิบาย
- ต่าง
- โดยตรง
- ส่งไป
- แสดง
- do
- ไม่
- การทำ
- Dont
- เป็นคุ้งเป็นแคว
- กอง
- ขอบ
- ทั้ง
- อื่น
- ปลาย
- พอ ๆ กัน
- ความผิดพลาด
- แม้
- เคย
- เผง
- ตัวอย่าง
- ดำเนินการ
- การปฏิบัติ
- ที่มีอยู่
- ที่มีอยู่
- อธิบาย
- เอาเปรียบ
- การหาประโยชน์
- ภายนอก
- ไกล
- ชื่อจริง
- ปฏิบัติตาม
- สำหรับ
- บังคับ
- พบ
- ราคาเริ่มต้นที่
- ฟังก์ชัน
- ฟังก์ชั่น
- ได้รับ
- กำหนด
- Go
- ของ Google
- บัญชีกลุ่ม
- มี
- ที่เกิดขึ้น
- มีความสุข
- กัญชา
- มี
- ความสูง
- รู
- โฉบ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- HTML
- HTTPS
- if
- ภาพ
- ภาพ
- in
- ประกอบด้วย
- รวมถึง
- เป็นรายบุคคล
- การตีความ
- เข้าไป
- IT
- ITS
- ตัวเอง
- กรกฎาคม
- เพียงแค่
- เก็บ
- ทราบ
- ที่รู้จักกัน
- ที่มีขนาดใหญ่
- ต่อมา
- ล่าสุด
- แบบ
- ซ้าย
- น้อยลง
- กดไลก์
- น่าจะ
- ลินุกซ์
- ที่ตั้ง
- นาน
- ต่ำที่สุด
- Mac
- ทำ
- ทำให้
- จัดการ
- ขอบ
- เรื่อง
- ความกว้างสูงสุด
- วิธี
- หน่วยความจำ
- ไมโครซอฟท์
- Microsoft Edge
- กลาง
- อาจ
- ข้อมูลเพิ่มเติม
- หลาย
- ชื่อ
- จำเป็นต้อง
- แต่
- คืน
- ไม่
- ปกติ
- ตอนนี้
- จำนวน
- หมายเลข
- of
- ปิด
- มักจะ
- เก่า
- on
- ONE
- เพียง
- or
- องค์กร
- อื่นๆ
- ของเรา
- ออก
- เกิน
- ของตนเอง
- ปะ
- แพทช์
- พอล
- ที่ราบ
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- ตำแหน่ง
- โพสต์
- ที่อาจเกิดขึ้น
- ก่อนหน้านี้
- กระบวนการ
- โครงการ
- โปรแกรม
- ให้
- สุ่ม
- พิสัย
- ที่ได้รับ
- เมื่อเร็ว ๆ นี้
- อ้างอิง
- ญาติ
- การปล่อย
- ความทรงจำ
- รายงาน
- เป็นตัวแทนของ
- การวิจัย
- กลุ่มวิจัย
- สำรอง
- ความรับผิดชอบ
- ขวา
- วิ่ง
- วิ่ง
- ปลอดภัย
- เดียวกัน
- กล่าว
- คำพูด
- ที่สอง
- Section
- ความปลอดภัย
- แพทช์รักษาความปลอดภัย
- เห็น
- เห็น
- ความรู้สึก
- ชุด
- การตั้งค่า
- น่า
- ลงนาม
- คล้ายคลึงกัน
- ที่เรียบง่าย
- ง่ายดาย
- So
- จนถึงตอนนี้
- ซอฟต์แวร์
- ของแข็ง
- บาง
- บางสิ่งบางอย่าง
- ระยะ
- เริ่มต้น
- เริ่มต้น
- จัดเก็บ
- เก็บไว้
- เชือก
- ส่ง
- อย่างเช่น
- จัดหาอุปกรณ์
- ควร
- SVG
- TAG
- การ
- บอก
- กว่า
- ที่
- พื้นที่
- ของพวกเขา
- แล้วก็
- ที่นั่น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- นี้
- เหล่านั้น
- แต่?
- การคุกคาม
- เวลา
- ครั้ง
- ไปยัง
- ด้านบน
- ลู่
- การเปลี่ยนแปลง
- โปร่งใส
- การรักษาเยียวยา
- ลอง
- สอง
- ชนิด
- เป็นปกติ
- เข้าใจได้
- สหภาพ
- ไม่ทราบ
- ไม่แน่
- บันทึก
- เมื่อ
- URL
- ใช้
- มือสอง
- ผู้ใช้งาน
- การใช้
- มักจะ
- ตรวจสอบความถูกต้อง
- ความคุ้มค่า
- ความคุ้มค่า
- การตรวจสอบแล้ว
- รุ่น
- ต้องการ
- คำเตือน
- คือ
- ทาง..
- วิธี
- we
- ยินดีต้อนรับ
- คือ
- อะไร
- เมื่อ
- ว่า
- ที่
- ในขณะที่
- ป่า
- จะ
- หน้าต่าง
- กับ
- ไม่มี
- สงสัย
- งาน
- การทำงาน
- จะ
- เขียน
- การเขียน
- ยัง
- เธอ
- ของคุณ
- ลมทะเล