Cloak And Dagger Exploit ใช้บริการโอเวอร์เลย์และบริการการเข้าถึงเพื่อจี้ระบบ

สิ่งที่พวกเราที่ XDA เคยมองว่าเป็นการพิสูจน์แนวคิดเรื่องช่องโหว่ด้านความปลอดภัย ได้รับการยืนยันโดยนักวิทยาศาสตร์คอมพิวเตอร์ที่ Georgia Institute of Technology ในแอตแลนตา ทีมงานให้รายละเอียดว่าเรียกว่าอะไร”เสื้อคลุมและกริช"การหาประโยชน์ซึ่งสามารถเข้าควบคุม UI ของ Android เวอร์ชันส่วนใหญ่ (รวมถึง 7.1.2) เนื่องจากเป็นธรรมชาติ จึงแก้ไขได้ยากและตรวจพบได้ยากด้วย

Cloak and Dagger เป็นช่องโหว่ที่ใช้ประโยชน์จากสิทธิ์สองประการเพื่อควบคุม UI โดยไม่ให้โอกาสผู้ใช้สังเกตเห็นกิจกรรมที่เป็นอันตราย การโจมตีใช้สิทธิ์สองประการ: SYSTEM_ALERT_WINDOW ("วาดไว้ด้านบน") และ BIND_ACCESSIBILITY_SERVICE ("ก11ป") ที่ใช้กันทั่วไปในแอป Android

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

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

เราตั้งทฤษฎีเกี่ยวกับช่องโหว่ดังกล่าวไว้เมื่อสองสามเดือนก่อน โดยเราจะสร้างแอปพลิเคชันพิสูจน์แนวคิดที่ใช้ SYSTEM_ALERT_WINDOW และ BIND_ACCESSIBILITY_SERVICE เพื่อวาดการซ้อนทับบนหน้าจอการป้อนรหัสผ่านในแอป XDA Labs และสกัดกั้นการป้อนข้อมูลที่สำคัญเพื่อปัด รหัสผ่าน แอปพลิเคชันนี้ที่เราจินตนาการไว้จะเป็นแอปพลิเคชันจัดการการหมุนอัตโนมัติซึ่งจะใช้การซ้อนทับเพื่อจุดประสงค์ในการวาดกล่องที่มองไม่เห็นบนหน้าจอ ควบคุมการหมุน (แทนที่จะขอ WRITE_SETTINGS ซึ่งจะยกธง) และบริการการเข้าถึงเพื่อให้ผู้ใช้ควบคุมโปรไฟล์หมุนอัตโนมัติในแต่ละแอป พื้นฐาน ตามทฤษฎี นี่อาจเป็นตัวอย่างหนึ่งของแอปพลิเคชันที่ใช้ "cloak-and-dagger" อย่างไรก็ตาม ไม่มีทีมใดในทีมของเรายินดีเสี่ยง บัญชีนักพัฒนาซอฟต์แวร์โดยการท้าทายระบบสแกนแอปอัตโนมัติของ Google เพื่อดูว่าการใช้ประโยชน์จากการพิสูจน์แนวคิดของเราจะได้รับอนุญาตใน Play หรือไม่ เก็บ.

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

อย่างที่คุณเห็น การโจมตีจะไม่ปรากฏแก่ผู้ใช้และให้สามารถควบคุมอุปกรณ์ได้เต็มรูปแบบ ปัจจุบัน Android ทุกเวอร์ชันตั้งแต่ Android 5.1.1 ถึง Android 7.1.2 มีความเสี่ยงต่อสิ่งนี้ หาประโยชน์โดยพิจารณาจากข้อเท็จจริงที่ว่ามันใช้ประโยชน์จากสิทธิ์สองประการ มิฉะนั้นจะใช้เพื่อให้ถูกต้องตามกฎหมายโดยสมบูรณ์ วัตถุประสงค์

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

คุณจะป้องกันตัวเองในเวอร์ชันก่อน Android O ได้อย่างไร และเช่นเคย ให้ติดตั้งเฉพาะแอปที่คุณเชื่อถือจากแหล่งที่คุณเชื่อถือ ตรวจสอบให้แน่ใจว่าสิทธิ์ที่พวกเขาร้องขอนั้นสอดคล้องกับสิ่งที่คุณคาดหวัง

โฆษกของ Google ระบุว่าสำหรับผู้ใช้ทั่วไปหลายร้อยล้านคน Play Store ป้องกัน จะให้การแก้ไขที่จำเป็นเพื่อป้องกันการโจมตีของเสื้อคลุมและกริช การดำเนินการนี้จะบรรลุผลสำเร็จได้อย่างไรนั้นยังไม่ชัดเจน แต่หวังว่าจะเกี่ยวข้องกับวิธีการตรวจจับเมื่อมีการใช้สิทธิ์ทั้งสองนี้อย่างที่เป็นอันตราย ฉันสงสัยว่าจะสามารถตรวจจับกรณีดังกล่าวได้ทั้งหมด ดังนั้นไม่ว่าในกรณีใด จะดีที่สุดสำหรับคุณในการตรวจสอบสิทธิ์ที่มอบให้กับแต่ละแอปพลิเคชันที่คุณติดตั้ง