วิศวกรจากทีม Android Partner Vulnerability Initiative (APVI) ของ Google ตรวจพบว่า signing key ของผู้ผลิต Android ที่มีความสำคัญและควรจะถูกจะเก็บเป็นความลับอย่างรัดกุมกลับรั่วไหลหลายราย โดยในรายที่สามารถยืนยันได้แล้วมี Samsung, LG และ MediaTek รวมอยู่ด้วย ส่งผลให้อุปกรณ์ของผู้ใช้งานเกิดความเสี่ยงที่จะติดมัลแวร์จากการอัปเดตหรือติดตั้งแอปได้โดยไม่รู้ตัว
ทำไม Signing key จึงมีความสำคัญ มันคืออะไร
Signing key เปรียบเสมือนเป็น ‘ลายเซ็นดิจิทัล’ ของแอปใด ๆ ที่นักพัฒนาต้องเซ็นกำกับไว้เพื่อบ่งบอกถึงความเป็นเจ้าของ หากมีการอัปเดตหรือติดตั้งแอปใหม่ในระบบ Android จะทำการตรวจสอบตรงส่วนนี้เพื่อยืนยันว่ามันมาจากผู้พัฒนาดั้งเดิม
และในกรณีของผู้ผลิต Android จะลึกซึ้งลงไปกว่านั้นในกรณีแอปต่าง ๆ ที่เกี่ยวข้องกับอิมเมจ (รอม) ของระบบปฏิบัติการ เพราะมันทำให้ได้มาซึ่งสิทธิ์ของระบบในระดับสูง เช่นสิทธิ์ในการเข้าถึงข้อมูลส่วนตัวของผู้ใช้งาน
ผู้ผลิต Android แต่ละค่ายจะมี ID ของคีย์ที่ไม่ซ้ำกัน เรียกว่า UID หากอธิบายให้เห็นภาพคือ นักพัฒนาจาก Samsung จะไม่สามารถเข้าไปยุ่มย่ามกับแอปในระบบของ LG ได้ และในทางตรงกันข้าม นักพัฒนาจาก LG เองก็ไม่สามารถเข้าไปยุ่มย่ามกับแอปในระบบของ Samsung ได้เช่นกัน เพราะต่างฝ่ายต่างไม่ทราบ UID ของกันและกัน
แต่พอคีย์เกิดรั่วไหลออกมา ทำให้นักพัฒนาภายนอกสามารถนำ ‘ลายเซ็น’ เหล่านี้ ไปใส่ลงในแอปของตนเองเพื่อหลอก Android ให้คิดว่าเป็นแอปที่มีความน่าเชื่อถือ แล้วอัปเดตทับลงไปในแอปที่เกี่ยวข้องกับอิมเมจได้ ซึ่งอาจมีการฝังมัลแวร์ขโมยข้อมูลส่วนตัวหรือการโจมตีในรูปแบบอื่น ๆ มาเป็นของแถมหากกระทำโดยผู้ไม่ประสงค์ดี
แอปบน Play Store ยังปลอดภัย แต่ไม่ควรประมาท
Google ได้แจ้งไปยังผู้ผลิต Android รายต่าง ๆ เพื่อหาทางบรรเทาปัญหาและแก้ไขสถานการณ์นี้แล้ว พร้อมแนะนำให้แทนที่คีย์ชุดเก่าด้วยคีย์ชุดใหม่ (ซึ่งเป็นมาตรการที่ปกติควรทำเป็นระยะอยู่แล้ว คล้ายกับการเปลี่ยนรหัสผ่านของบัญชีต่าง ๆ) รวมถึงตรวจสอบหาที่มาที่ไปของการรั่วไหล เพื่อที่ในอนาคตจะได้ไม่เกิดเหตุการณ์ซ้ำรอยอีก
ทั้งนี้ ยังไม่ชัดเจนว่าคีย์ทั้งหลายรั่วไหลได้อย่างไร มาจากช่องทางไหน และเกิดขึ้นมาตั้งแต่เมื่อไหร่ โดยในรายของ Samsung และ LG นั้นค่อนข้างน่าตกใจ เพราะตรวจสอบย้อนหลังพบว่าคีย์รั่วไหลออกมาตั้งแต่ปี 2559 แม้ในรายแรกนั้นได้แจ้งกับสื่อต่างประเทศว่ารับทราบปัญหาและออกแพตช์อุดช่องโหว่ไปตั้งแต่ในปีเดียวกันนั้นแล้ว แต่กลับยังใช้คีย์ชุดเดิมอยู่ในปัจจุบัน
แต่ข่าวดีสองประการคือ Google ตรวจสอบแล้ว แอปทั้งหมดบน Play Store ยังปลอดภัยอยู่ ที่อันตรายจึงมีแค่แอปจากแหล่งภายนอกเท่านั้น ซึ่งป้องกันได้ง่าย ๆ เพียงแค่ไม่ติดตั้งหรืออัปเดตแอปใด ๆ สุ่มสี่สุ่มห้าด้วยวิธีไซด์โหลดหรือ APK และยังไม่มีรายงานว่ามีผู้ใช้งานรายใดได้รับผลกระทบจนถึงขณะนี้
ที่มา : Mishaal Rahman
ปกติมีแต่นักพัฒนาทำ Signing Key หาย แต่นี่คือทำหลุด 😂 แต่ถ้าถามว่าร้ายแรงมั้ย ต้องบอกว่าขึ้นอยู่กับอะไรหลุดไปบ้างนอกจาก Signing Key
ㅤ
ที่ Google Play บอกว่าแอปบน Google Play ยังปลอดภัยอยู่ เหตุผลหลักคือเวลานักพัฒนาจะเข้าไปอัปเดตแอปเวอร์ชันใหม่ได้ มันต้องล็อกอินด้วย Google Account ดังนั้นต่อให้ Signing Key หลุด ถ้าคนที่เอาไปไม่มี Google Account ก็เข้าไปยุ่งอะไรกับแอปใน Google Play ได้อยู่ดี
อีกประเด็นคือหลุดแค่ Signing Key อย่างเดียวใช่มั้ย เพราะปกติแล้วการใช้ Signing Key จะต้องใช้ Key Password ด้วย ถึงจะเอา Signing Key นั้นไปใช้งานได้ ดังนั้นถ้าทำ Signing Key หลุด แต่คนที่ได้ไปไม่รู้ Key Password ก็เอาไป Sign APK ไม่ได้ แต่ก็เอา Signing Key ไปลอง Brute-force ได้เช่นกัน ก็จะขึ้นอยู่กับว่า Key Password ที่ตั้งไว้มีความยากระดับไหน
ㅤ
ดังนั้นเคสที่น่ากลัวสุดก็คือ Signing Key หลุดพร้อมกับ Key Password ทำให้คน Mod APK สามารถเอาไป Sign APK เพื่อหลอกว่าเป็นของผู้พัฒนาจริง ๆ ได้ แล้วหลอกให้ผู้ใช้ทั่วไปติดตั้ง APK ผ่าน Sideload นี่ล่ะ และอีกเคสที่น่ากลัวรองลงมาคือบางแอปที่ทำงานร่วมกับ Server แล้วมีการ Verify ว่าแอปเป็นของผู้พัฒนาจริง ๆ หรือป่าว ก็ใช้ Identity ที่อยู่ใน Signing Key นี่ล่ะเป็นตัวยืนยัน ถ้าได้ Signing Key ไป ก็หลอก Server ได้ประมาณนึง