ขอขอบคุณที่ AndrewT ที่โพสต์ลิงค์ในการสนทนามีงานวิจัยนี้เป็น refernce ในหนึ่งในคำตอบ คำตอบนี้ขึ้นอยู่กับบทความนี้ (พฤษภาคม 2558) และเน้นประเด็นที่ผู้ใช้ทั่วไปเข้าใจได้ (มีเนื้อหาเกี่ยวกับความปลอดภัยจำนวนมากสำหรับผู้ที่สนใจ)
คำตอบ: ทุกอย่างเกี่ยวกับช่องโหว่ของมัลแวร์ การใช้รูทหาช่องโหว่เป็นความเสี่ยงด้านความปลอดภัยอย่างมากและมีน้ำหนักเกินกว่าข้อดีอื่น ๆ
รากอ่อนและรากแข็งคืออะไร
ซอฟต์รูท: รูทสามารถหาได้โดยตรงจากการใช้งานชิ้นส่วนของซอฟต์แวร์ (เช่นรูทหาช่องโหว่) - โดยการติดตั้งบนอุปกรณ์โดยตรงหรือต้องการadb
เชลล์ผ่านการเชื่อมต่อพีซี
ฮาร์ดรูท: รูทได้มาจากการกระพริบ su ไบนารี่จากภายนอกผ่านแพ็คเกจอัพเดทหรือ ROM
ภัยคุกคามมัลแวร์ - โดยทั่วไป
แม้ว่าจะถูกต้องตามกฎหมายแต่ทว่าวิธีการรูทแบบคลิก - รูทที่สะดวกสบายหลายวิธีนั้นทำงานโดยการเจาะช่องโหว่ในระบบ Android หากไม่ได้รับการควบคุมอย่างรอบคอบผู้โจมตีมัลแวร์จะสามารถใช้ช่องโหว่ดังกล่าวเพื่อรับสิทธิ์การใช้งานรูทที่ไม่ได้รับอนุญาต
ตามที่อธิบายไว้ใน Android มัลแวร์โครงการจีโนม , 36.7% (1260) ตัวอย่างมัลแวร์ได้ฝังรากอย่างน้อยหนึ่งใช้ประโยชน์
การหาประโยชน์ที่ได้รับการออกแบบมาอย่างดีเหล่านี้ไม่ได้รับการปกป้องอย่างดี แต่ก็เป็นอันตรายอย่างยิ่งหากตกอยู่ในมือคนผิด
ใครคือผู้ให้บริการรูทหลักและในวงกว้างมันทำงานอย่างไร
Expolits รูทประเภทใด
กระดาษครอบคลุมการหาประโยชน์ 78 การศึกษา โดยทั่วไปลำดับของผลกระทบ (จากมากไปน้อยที่สุด ):
การหาประโยชน์เคอร์เนล:เนื่องจากตำแหน่งที่มีสิทธิพิเศษการกำหนดเป้าหมาย Linux Kernel เป็นเรื่องปกติเพื่อให้สามารถควบคุมอุปกรณ์ Android ได้อย่างครบถ้วน TowelRoot
การหาประโยชน์จากไลบรารี:การหาประโยชน์จากไลบรารีเป้าหมายที่ใช้โดยกระบวนการระบบ Android หรือไลบรารีภายนอกที่ใช้สำหรับสนับสนุนแอปพลิเคชันที่แตกต่างกันเช่นการหาประโยชน์จาก ZergRush, libsysutils ที่ใช้โดย Volume Manager daemon
แอพลิเคชันและการประยุกต์ใช้กรอบใบสมัครหาประโยชน์รากชั้น:ใช้ประโยชน์จากการกำหนดเป้าหมายการใช้งานระบบหรือบริการส่วนใหญ่รวมถึงความเสี่ยงที่ logics นำโดยsetuid
สาธารณูปโภคการใช้งานระบบหรือบริการ example เป็นsetuid
โปรแกรมที่มีช่องโหว่ที่มีอยู่ในอุปกรณ์ XoomFE เท่านั้นที่มีช่องโหว่ในการฉีดคำสั่ง
เคอร์เนลผู้ขายเฉพาะหรือไดรเวอร์:ผู้ขายปรับแต่งเคอร์เนล (เช่นสาขาเคอร์เนล Linux ที่กำหนดเองของ Qualcomm) หรือจัดให้มีไดรเวอร์อุปกรณ์เฉพาะผู้จำหน่ายสำหรับอุปกรณ์ต่อพ่วงต่างๆ (เช่นกล้องเสียง) รหัสดังกล่าวทำงานภายในพื้นที่เคอร์เนลและการประนีประนอมซึ่งยังสามารถนำไปสู่การควบคุมอุปกรณ์
ตัวเลขที่ชาญฉลาดช่องโหว่ดังแสดงในรูปด้านล่าง
มันยากแค่ไหนที่จะวางมือบน Exploit (Source หรือ Binary)?
ง่ายมาก. หาได้ง่ายจากการค้นหาโดย Google ทำให้ผู้เขียนมัลแวร์ใช้ประโยชน์จากการหาประโยชน์ดังกล่าวได้ Googling สำหรับการหาช่องโหว่ 73 ช่องทางทำให้ 68 รายการมีอยู่ - 46 พร้อม source code และ 22 พร้อมไบนารี
การหาประโยชน์เหล่านี้ทำงานอย่างไร
ข้อกำหนดที่สำคัญสำหรับการหาประโยชน์ในการทำงาน (สั่งจากยากที่สุดไปหาน้อยที่สุด ) ( แท็กมัลแวร์มีอินสแตนซ์เหล่านี้จำนวนมาก)
การโต้ตอบของผู้ใช้ที่ต้องการ: (6 จาก 78 การศึกษา)
- ขอให้ผู้ใช้ดาวน์โหลดแอปและขัดจังหวะการติดตั้งด้วยตนเอง
- ขอให้ผู้ใช้บูตเข้าสู่การกู้คืนอย่างน้อยหนึ่งครั้ง
- ขอให้ผู้ใช้ใส่อุปกรณ์ด้วยตนเองในโหมด“ ประหยัดแบตเตอรี่”
- ขอให้ผู้ใช้เปิดแอพเฉพาะผู้ขายและกดปุ่ม
adb
เชลล์ที่ต้องการผ่านการเชื่อมต่อพีซี: (17 จากการศึกษา 78 ครั้ง) สำหรับการหาประโยชน์บางอย่างadb
จำเป็นต้องมีการเชื่อมต่อเชลล์เนื่องจากสาเหตุที่พบบ่อยที่สุดดังต่อไปนี้:
การหาประโยชน์สามารถแก้ไขการตั้งค่าlocal.prop
ที่เปิดใช้งานรูทสำหรับadb
เชลล์เท่านั้น
การหาประโยชน์จำเป็นต้องเขียนไปยังไฟล์ที่กลุ่มเชลล์เป็นเจ้าของและกลุ่มที่เขียนได้ (ไม่ใช่แบบเขียนได้ทั่วโลก)
การใช้ประโยชน์จากเป้าหมายเป็นกระบวนการ adb daemon ที่ต้องการให้กระบวนการโจมตีรันด้วยผู้ใช้เชลล์ ตัวอย่างเช่นRage Against the Cage เอาเปรียบเป้าหมายช่องโหว่ของ adb daemon ที่ขาดหายไปตรวจสอบค่าตอบแทนsetuid()
Reboot: (จากการศึกษา 6 จาก 78 ครั้ง) โดยทั่วไปการหาช่องโหว่จำนวนมากต้องการการรีบูตอย่างน้อยหนึ่งครั้ง ตัวอย่างเช่นการโจมตีลิงก์สัญลักษณ์จะอนุญาตให้ผู้โจมตีลบไฟล์ที่ระบบเป็นเจ้าของโดยมีสิทธิ์อ่อนเพื่อตั้งค่าลิงค์ที่ตำแหน่งเดียวกันเป็นไฟล์ที่ได้รับการป้องกัน หลังจากรีบูตสคริปต์ init ที่เกี่ยวข้องจะพยายามเปลี่ยนการอนุญาตของไฟล์ต้นฉบับเป็นแบบเขียนได้ทั่วโลกซึ่งในความเป็นจริงการเปลี่ยนแปลงการอนุญาตของไฟล์ที่เชื่อมโยง
ไม่มีหรือได้รับอนุญาต: (จากการศึกษา 44 ใน 78) การหาประโยชน์ในหมวดหมู่นี้ไม่มีข้อกำหนดที่เข้มงวด แต่บางอย่างอาจต้องใช้สิทธิ์ Android บางอย่างเช่นREAD LOGS
เพื่อให้เจ้าของกระบวนการวางในกลุ่มผู้ใช้บางกลุ่ม
Anti-Virus สามารถตรวจพบช่องโหว่เหล่านี้ได้หรือไม่?
เนื่องจากการเจาะรูทนั้นมีความไวสูงและอาจถูกมัลแวร์จาก Android หลายตัวมันเป็นที่คาดหวังว่าซอฟต์แวร์ป้องกันไวรัสบนแพลตฟอร์ม Android สามารถระบุส่วนใหญ่ได้รวมถึงแอพพลิเคชั่นของผู้ให้บริการรูท โดยรวมแล้วผลลัพธ์แสดงให้เห็นว่าผลิตภัณฑ์ด้านความปลอดภัยที่ล้ำสมัยบนแพลตฟอร์ม Android ยังคงไม่สามารถจัดการช่องโหว่ของรูทได้อย่างมีประสิทธิภาพ
4 ตัวแทนผลิตภัณฑ์ป้องกันไวรัส Android ถูกนำมาใช้เพื่อทดสอบการให้บริการใหญ่ที่สุด (ชื่อไม่เปิดเผย)มี 167 การหาประโยชน์ เนื่องจากเดิมการดาวน์โหลดการหาประโยชน์จากฐานข้อมูลผู้ให้บริการได้บรรจุรหัสการหาประโยชน์ที่แท้จริงและใช้กลไกการตรวจจับการงัดแงะศึกษาการสร้าง 3 รุ่นที่แตกต่างกันสำหรับการหาประโยชน์ทุกครั้ง:
หาประโยชน์จากต้นฉบับโดยตรงจากเซิร์ฟเวอร์ของผู้ให้บริการด้วยการบรรจุและตรวจจับการงัดแงะ
Unpacked exploit exploit ซึ่งจะเปิดเผยตรรกะการหาประโยชน์ที่แท้จริงทั้งหมดไปยังผลิตภัณฑ์ต่อต้านไวรัส
การหาประโยชน์จากการบรรจุซ้ำอีกครั้งเมื่อปิดการตรวจจับการงัดแงะ
ใช้ประโยชน์จากไบนารีที่ออกแบบโดยผู้ให้บริการรูทขนาดใหญ่นั้น“ สะอาด”อย่างน่าประหลาดใจเนื่องจากซอฟต์แวร์ป้องกันไวรัสที่สำคัญทั้งหมดมีปัญหาในการตรวจจับพวกมันดังตารางด้านล่าง
ข้อสรุป
ง่าย อยู่ห่างจากวิธีการของรูทซอฟท์เว้นเสียแต่ว่าคุณจะสามารถรับมือกับผลที่จะตามมา