Clear
Lead Graphic Papers

WireLurker และ Masque Attack : ผู้ใช้ iOS ติดมัลแวร์ได้แม้ไม่ Jailbreak

ผู้เขียน: เสฏฐวุฒิ แสนนาม
วันที่เผยแพร่: 24 พฤศจิกายน 2557
ปรับปรุงล่าสุด: 24 พฤศจิกายน 2557

Share on Facebook Share on Twitter Share on Google+

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

ก่อนหน้านี้เราเคยมีความเชื่อกันว่าระบบปฏิบัติการ iOS นั้นปลอดภัยจากมัลแวร์มากกว่าระบบปฏิบัติการ Android สาเหตุหลักๆ ก็เนื่องจากตัวระบบปฏิบัติการ iOS เองถูกออกแบบมาให้เน้นเรื่องความมั่นคงปลอดภัยมากกว่า Android ตั้งแต่แรก ตัวอย่างมาตรการการรักษาความมั่นคงปลอดภัยของอุปกรณ์ iOS เช่น

  • การติดตั้งแอปพลิเคชันที่โดยปกติแล้ว ผู้ใช้ทั่วไปจะไม่สามารถดาวน์โหลดแอปพลิเคชันจากแหล่งภายนอกมาติดตั้งเองได้ ต้องดาวน์โหลดจาก App Store เท่านั้น ซึ่งต่างจากระบบปฏิบัติการ Android ที่ยอมให้ผู้ใช้สามารถติดตั้งแอปพลิเคชันจากไฟล์ที่ดาวน์โหลดมาเองได้
  • กระบวนการตรวจสอบแอปพลิเคชันที่จะถูกส่งขึ้น App Store นั้นเป็นการตรวจสอบโดยมนุษย์ [2] ซึ่งมีการตรวจสอบทั้งคุณภาพของแอปพลิเคชันและความปลอดภัยในการใช้งาน ดังนั้นจึงมีโอกาสน้อยที่แอปพลิเคชันที่เป็นอันตรายจะหลุดขึ้นมาอยู่บน App Store ได้เหมือนกับที่เคยเกิดขึ้นใน Play Store ของระบบปฏิบัติการ Android ที่ใช้โปรแกรมคอมพิวเตอร์ในการตรวจสอบ [3]
  • ความเข้มงวดในการจำกัดสิทธิ์การเข้าถึงข้อมูลสำคัญของผู้ใช้ แอปพลิเคชันที่ต้องการเข้าถึงข้อมูลสำคัญหรือต้องการใช้ความสามารถที่อาจละเมิดความเป็นส่วนตัว เช่น เปิดใช้งานกล้องถ่ายรูป อัดเสียง ดูภาพที่ถ่าย ดูข้อมูลปฏิทิน ดูตำแหน่ง GPS จำเป็นต้องได้รับการอนุญาตจากผู้ใช้ก่อนเสมอ โดยจะมีหน้าต่างแจ้งเตือนการขออนุญาตแสดงขึ้นมาในครั้งแรกที่ผู้ใช้เรียกใช้งานความสามารถนั้นๆ ซึ่งจะต่างจากระบบปฏิบัติการ Android ที่แอปพลิเคชันจะต้องขอสิทธิ์ทุกอย่างมาตั้งแต่แรก และหากผู้ใช้จะติดตั้งแอปพลิเคชันจะต้องยอมมอบสิทธิ์ทั้งหมดที่แอปพลิเคชันนั้นร้องขอ โดยไม่สามารถเลือกว่าจะอนุญาตให้แอปพลิเคชันมีสิทธิ์แค่อย่างใดอย่างหนึ่งได้
  • แอปพลิเคชันที่ติดตั้งอยู่ในเครื่องจะไม่สามารถเข้าถึงข้อมูลของแอปพลิเคชันอื่นๆ ได้ นอกจากผู้ใช้จะเป็นคนกำหนดข้อมูลที่ต้องการแชร์ระหว่างแอปพลิเคชันต่างๆ เอง
  • ระบบการจัดการแอปพลิเคชันของ iOS แอปพลิเคชันที่รันเป็น Background (ไม่ถูกเรียกขึ้นมาแสดงผล) จะถูกจำกัดความสามารถในการทำงาน ไม่สามารถใช้ทรัพยากรของระบบได้มากเท่า Android เช่น แอปพลิเคชันของ iOS ที่รันเป็น Background จะสามารถรับข้อความแจ้งเตือนเพื่อมาแสดงผลได้เท่านั้น ไม่สามารถอัดเสียงหรือประมวลผลงานอื่นที่ทำค้างอยู่ได้ [4] [5]

ซึ่งจากรายละเอียดทั้ง 5 ข้อนี้ก็เพียงพอที่จะทำให้การใช้งานระบบปฏิบัติการ iOS ในแบบผู้ใช้ทั่วไปนั้นมีความปลอดภัยมากกว่าการใช้งานระบบปฏิบัติการ Android อยู่มากพอสมควร ยกเว้นเสียแต่ว่ากระบวนการบางอย่างทำงานผิดพลาด อย่างเช่นการตรวจสอบแอปพลิเคชันก่อนส่งขึ้น App Store ซึ่งหากคนที่ตรวจสอบไม่มีความรัดกุมพอก็อาจเผลอปล่อยแอปพลิเคชันที่เป็นมัลแวร์หลุดออกมาได้ ซึ่งเหตุการณ์เช่นนี้เคยเกิดขึ้นมาแล้ว

เมื่อปี 2011 นักวิจัยชื่อ Charlie Miller ได้ทดลองส่งแอปพลิเคชันขึ้น App Store โดยลักษณะภายนอกเป็นแอปพลิเคชันธรรมดาแต่ตั้งค่าไว้ว่าเมื่อผู้ใช้ติดตั้งแอปพลิเคชันนี้ลงในเครื่องแล้วจะแอบไปดาวน์โหลดโค้ดของมัลแวร์มาทำงานทีหลัง แอปพลิเคชันตัวนี้สามารถผ่านการตรวจสอบจาก Apple และหลุดขึ้นมาอยู่บน App Store ได้ [6] ต่อมาในปี 2013 ก็มีทีมนักวิจัยจาก Georgia Tech ได้ใช้เทคนิคใหม่ที่ทำให้สามารถส่งแอปพลิเคชันที่เป็นมัลแวร์ขึ้นไปอยู่บน App Store ได้อีกครั้ง [7] เหตุการณ์เหล่านี้ก็เป็นเครื่องพิสูจน์ที่ดีว่าถึงแม้จะใช้คนตรวจแล้วก็ตามแต่ก็ไม่อาจไว้ใจเรื่องความปลอดภัยได้ 100% อยู่ดี

มัลแวร์ใน iOS

มัลแวร์ใน iOS ตัวแรกสุดถูกค้นพบเมื่อปี 2009 เป็นมัลแวร์ที่มีแอบส่งต่อ SMS ของผู้ใช้ไปยังบุคคลอื่น หลังจากนั้นก็เริ่มมีการค้นพบมัลแวร์ใน iOS อยู่เรื่อยๆ โดยมีทั้งแบบที่เป็น Spyware หรือมัลแวร์ขโมยข้อมูลธนาคารออนไลน์ แต่เกือบทั้งหมดสามารถติดได้เฉพาะเครื่องที่ถูก Jailbreak แล้วเท่านั้น ดังรูปที่ 1 (อ้างอิง: Fortinet [8])


รูปที่ 1 รายชื่อมัลแวร์ใน iOS ทั้งหมดที่คนพบตั้งแต่เดือนมิถุนายน 2009 ถึงเมษายน 2014

มีเพียงแค่ 2 ครั้งเท่านั้นที่พบว่ามัลแวร์ใน iOS (ตัวที่ไม่ใช่นักวิจัยทดลองทำ) สามารถหลุดขึ้นไปอยู่บน App Store และมีผู้ใช้ได้รับความเสียหาย โดยในปี 2010 พบมัลแวร์ตัวแรกปรากฎอยู่บน App Store เป็นมัลแวร์ที่โทรศัพท์ไปยังหมายเลขปลายทางที่คิดค่าบริการในราคาแพง [9] และอีกครั้งในปี 2012 เป็นมัลแวร์ที่ส่งรายชื่อคนใน Contact List ออกไปทาง SMS [10] มัลแวร์ทั้งสองตัวนี้หลังจากที่ถูกค้นพบก็ถูกลบออกจาก App Store ในเวลาอันรวดเร็ว

จากเท่าที่ผ่านมาตลอดหลายปี นอกจากกรณีของมัลแวร์ 2 ตัวข้างต้นที่สามารถหลุดขึ้นไปอยู่บน App Store ได้แล้ว เกือบทั้งหมดของมัลแวร์ที่พบใน iOS นั้นสามารถติดได้เฉพาะในเครื่องที่ถูก Jailbreak แล้วเท่านั้น นั่นเป็นเหตุผลที่ทำให้ Apple กล้าบอกกับผู้ใช้ได้อย่างอย่างมั่นใจว่าถ้าเครื่องที่ใช้งานปกติ ไม่ได้ถูก Jailbreak ก็แทบจะไม่มีทางติดมัลแวร์ได้อย่างแน่นอน นอกจากนี้ทาง Apple ยังมีระบบ Kill Switch ที่สามารถสั่งลบแอปพลิเคชันใดๆ ก็ตามออกจากเครื่องของผู้ใช้ในกรณีที่ Apple ตรวจพบในภายหลังว่าแอปพลิเคชันนั้นเป็นอันตรายได้อีกด้วย [11]

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

ในการจะทำแบบนี้ได้ นักพัฒนาต้องนำหมายเลข UDID ซึ่งเป็นหมายเลขเฉพาะที่ใช้ระบุตัวตนของอุปกรณ์เครื่องนั้นมาลงทะเบียนกับทาง Apple เพื่อบอกให้รู้ว่าเป็นเครื่องสำหรับนักพัฒนา และต้องมีการสร้าง Provisioning Profiles ขึ้นมาในอุปกรณ์ iOS เพื่อให้สามารถติดตั้งแอปพลิเคชันจากนักพัฒนาได้ การติดตั้งแอปพลิเคชันด้วยวิธีนี้ก็สามารถทำได้ทั้งจากการเชื่อมต่ออุปกรณ์ iOS เข้ากับ iTunes หรือกดติดตั้งแอปพลิเคชันด้วยการเปิดเข้าเว็บไซต์ที่ใช้สำหรับเผยแพร่แอปพลิเคชันนั้น [12]

วิธีการติดตั้งแอปพลิเคชันในรูปแบบนี้ก็เป็นสิ่งที่รู้กันดีกว่ามีความปลอดภัยน้อยกว่าการติดตั้งแอปพลิเคชันจาก App Store ตามปกติ เพราะแอปพลิเคชันที่จะถูกนำมาติดตั้งนั้นไม่ได้ผ่านการตรวจสอบจากทีม Apple และอาจมีปัญหาด้านความมั่นคงปลอดภัยได้ ซึ่งในงาน Black Hat USA 2013 กลุ่มนักวิจัยจาก Georgia Institute of Technology ได้เผยแพร่งานวิจัยที่ใช้ช่องโหว่ของระบบปฏิบัติการ iOS ร่วมกับการติดตั้งแอปพลิเคชันแบบองค์กร (Enterprise deployment) ที่กล่าวมานี้ มาใช้ในการสร้างเครื่องมือที่สามารถทำให้อุปกรณ์ iOS ใดๆ ก็ตามสามารถติดมัลแวร์ได้หากนำมาเชื่อมต่อ ซึ่งอุปกรณ์ iOS ที่ว่านั้นไม่จำเป็นต้องถูก Jailbreak แต่อย่างใด [13] หลังจากที่นักวิจัยนำเสนอเทคนิคนี้ กว่าหนึ่งปีผ่านไปก็ยังไม่มีใครค้นพบการแพร่ระบาดของมัลแวร์ที่โจมตีด้วยวิธีนี้ ดังนั้นผู้ใช้งานอุปกรณ์ iOS ที่ไม่ได้ Jailbreak ก็ยังคงมั่นใจว่าตัวเองจะปลอดภัยจากมัลแวร์ จนกระทั่งการปรากฎตัวของมัลแวร์ที่มีชื่อว่า WireLurker

WireLurker

เมื่อต้นเดือนพฤศจิกายน 2014 นักวิจัยจาก Palo Alto Network ได้เผยแพร่รายงานการค้นพบมัลแวร์ตัวแรกที่ใช้ช่องโหว่การติดตั้งแอปพลิเคชันแบบองค์กรมาใช้สร้างความเสียหาย โดยมัลแวร์ตัวนี้นอกจากจะติดในเครื่อง iOS ที่ไม่ Jailbreak ได้แล้ว ยังสามารถติดในเครื่องที่ใช้งาน Mac OS X และ Windows ได้อีกด้วย

หลักการทำงานคือ ตัวมัลแวร์จะติดในเครื่องคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการ Mac OS X หรือ Windows ก่อน จากนั้นจะเฝ้ารอให้ผู้ใช้นำอุปกรณ์ที่ใช้งานระบบปฏิบัติการ iOS มาเชื่อมต่อกับเครื่องผ่านพอร์ต USB แล้วจึงแอบติดตั้งแอปพลิเคชัน iOS อันตรายลงไปในเครื่องเหยื่อเพื่อขโมยข้อมูล นอกจากนี้ยังมีความสามารถเชื่อมต่อไปยังเซิร์ฟเวอร์ของผู้สั่งการมัลแวร์เพื่ออัปเดตความสามารถใหม่ๆ เพิ่มเติมขึ้นมาได้อีกด้วย เนื่องจากมัลแวร์ตัวนี้แพร่กระจายผ่านการเสียบสายเคเบิลจึงถูกตั้งชื่อว่า WireLurker [14]

ในตอนแรก ทางนักวิจัยพบว่ามัลแวร์ WireLurker แพร่กระจายผ่านเว็บไซต์แห่งหนึ่งในประเทศจีนที่แจกโปรแกรมเถื่อนของ Mac OS X โดยมีโปรแกรมทั้งหมด 467 ตัวที่ถูกฝังมัลแวร์นี้ไว้ และมียอดดาวน์โหลดไปแล้วมากกว่า 350,000 ครั้ง โดยเบื้องต้นมีการประเมินว่าผู้เสียหายจากมัลแวร์ตัวนี้น่าจะมีมากกว่าหมื่นราย ในเวลาต่อมา นักวิจัยจาก AlienVault Labs ได้ค้นพบว่ามีเว็บไซต์จีนอีกแห่งหนึ่งที่แพร่กระจายมัลแวร์ตัวนี้ด้วย และเป็นมัลแวร์ WireLurker เวอร์ชันที่งานบนระบบปฏิบัติการ Windows โดยมีโปรแกรมทั้งหมด 247 ตัวที่เป็นมัลแวร์ และถูกดาวน์โหลดไปแล้วมากกว่า 65,000 ครั้ง จากการวิเคราะห์พบว่ามัลแวร์เวอร์ชัน Windows ที่พบนี้เป็นตัวที่เก่ากว่ามัลแวร์เวอร์ชัน Mac OS X ตัวที่พบตอนแรก [15]

ทางศูนย์วิจัยของ Kaspersky พบว่ามัลแวร์ WireLurker นอกจากจะแพร่ระบาดในประเทศจีนแล้วยังมีการแพร่กระจายไปในประเทศอื่นๆ อย่างแคนาดา ไต้หวัน หรือฮ่องกงอีกด้วย ดังรูปที่ 2 แต่บริเวณที่ระบาดหนักสุดคือประเทศจีน [16]


รูปที่ 2 การแพร่กระจายของมัลแวร์ WireLurker ในประเทศต่างๆ

แอปพลิเคชันอันตรายที่มัลแวร์ WireLurker ติดตั้งลงในเครื่อง iOS นั้นมีทั้งแอปพลิเคชันปลอมและแอปพลิเคชันจริงที่ถูกแคร็กแล้ว นอกจากนี้มัลแวร์ยังสามารถคัดลอกแอปพลิเคชันที่ผู้ใช้ติดตั้งอยู่เครื่องเพื่อเอามาดัดแปลงใส่โค้ดอันตรายแล้วติดตั้งลงไปใหม่ทับแอปพลิเคชันเดิมในเครื่องได้อีกด้วย [17] สาเหตุที่มัลแวร์สามารถติดตั้งแอปพลิเคชันอันตรายลงไปทับแอปพลิเคชันเดิมในเครื่องได้ เป็นเพราะใช้ช่องโหว่ในฟีเจอร์ Enterprise/Ad-hoc provisioning ของ iOS ซึ่งทางนักวิจัยจาก FireEye ได้เรียกชื่อช่องโหว่นี้ว่า Masque Attack

Masque Attack

ก่อนจะไปดูว่า Masque Attack คืออะไร ขออธิบายที่มาที่ไปสักนิด เนื่องจากว่าทาง Apple ได้ออกแบบระบบปฏิบัติการ iOS ให้รองรับการใช้งานภายในองค์กรโดยสร้างฟีเจอร์ชื่อ iOS Enterprise Deployment ขึ้นมาเพื่อให้ผู้ดูแลระบบสามารถพัฒนาแอปพลิเคชันสำหรับใช้งานภายในองค์กรและติดตั้งแอปพลิเคชันลงในอุปกรณ์ iOS ขององค์กรได้โดยไม่จำเป็นต้องอัปโหลดขึ้น App Store [18] ในการจะใช้ความสามารถนี้ได้ ผู้พัฒนาแอปพลิเคชันจำเป็นต้องลงทะเบียนและสมัคร iOS Developer Enterprise Program ซึ่งจะมีค่าใช้จ่าย $299 ต่อปี [19] แอปพลิเคชันที่พัฒนาขึ้นมาโดยนักพัฒนาที่ลงทะเบียนแบบ Enterprise สามารถนำไปติดตั้งลงในเครื่องปลายทางได้ “ไม่จำกัดจำนวน” ซึ่งต่างจากแอปพลิเคชันที่พัฒนาโดยนักพัฒนาทั่วไปที่มีข้อจำกัดว่าสามารถติดตั้งลงในเครื่องเพื่อทดสอบได้แค่ประมาณ 100 เครื่องเท่านั้น [20]

ภายหลังจากที่มีข่าวการแพร่ระบาดของมัลแวร์ WireLurker ได้เพียงไม่กี่วัน นักวิจัยจากบริษัท FireEye ได้เผยแพร่รายงานช่องโหว่ของระบบ iOS Enterprise Deployment ซึ่งผู้ไม่หวังดีสามารถใช้ช่องโหว่นี้ในการสร้างมัลแวร์ให้ติดตั้งแอปพลิเคชันอันตรายทับแอปพลิเคชันที่ผู้ใช้ดาวน์โหลดมาติดตั้งอยู่ในเครื่องได้ ซึ่งช่องโหว่นี้เป็นเทคนิคเดียวกับที่มัลแวร์ WireLurker ใช้ในการแพร่กระจายมัลแวร์ลงในเครื่อง iOS ที่ไม่ได้ Jailbreak [21] ช่องโหว่ดังกล่าวนี้มีผลกระทบกับ iOS 7.1.1, 7.1.2, 8.0, 8.1 รวมถึง 8.1.1

สาเหตุของช่องโหว่นี้ เกิดจากการที่ iOS ไม่ตรวจสอบใบรับรอง (Certificate) ของแอปพลิเคชันที่ถูกสร้างโดยนัก Enterprise Program โดยทาง FireEye ได้พบว่าเมื่อมีการติดตั้งแอปพลิเคชันที่มีชื่อ Bundle Identifier ซ้ำกับแอปพลิเคชันเดิมที่เคยมีอยู่ในเครื่อง หากแอปพลิเคชันนั้นมีใบรับรองของนักพัฒนาแบบ Enterprise ระบบปฏิบัติการ iOS จะยอมให้ติดตั้งแอปพลิเคชันตัวใหม่ทับของเดิมได้ทันทีโดยไม่มีการแจ้งว่าใบรับรองของผู้พัฒนาแอปพลิเคชันเดิมกับแอปพลิเคชันใหม่ไม่ตรงกัน

นั่นหมายความว่านักพัฒนาที่มีสิทธิ์พัฒนาแอปพลิเคชันแบบ Enterprise (หรือใครก็ตามที่สามารถสมัคร Enterprise Program ได้สำเร็จ) ก็สามารถสร้างแอปพลิเคชันปลอมของแอปพลิเคชันใดๆ ที่ผู้ใช้สามารถดาวน์โหลดมาติดตั้งได้โดยไม่ผ่าน App Store เพียงแค่ตั้งชื่อ Bundle Identifier ให้เป็นชื่อเดียวกับแอปพลิเคชันเดิมที่อยู่ในเครื่องของผู้ใช้ ดังรูปที่ 3 ซึ่งการที่จะหาว่าแอปพลิเคชันต้นทางที่ต้องการติดตั้งทับนั้นใช้ Bundle Identifier ว่าอะไรก็ไม่ใช่เรื่องยาก เพราะสามารถเปิดเข้าไปดูได้จาก iTunes Library [22]


รูปที่ 3 ตัวอย่างการตั้งชื่อ Bundle Identifier ของแอปพลิเคชัน (ที่มา: Apple [23])

เนื่องจากการเผยแพร่แอปพลิเคชันด้วยวิธี Enterprise Deployment นั้นสามารถเผยแพร่ผ่านเว็บไซต์ได้ โดยเมื่อผู้ใช้ใช้เบราว์เซอร์ของ iOS (เช่น Safari) เปิดเข้าใช้งานเว็บไซต์ที่ใช้สำหรับกระจายแอปพลิเคชัน ก็จะปรากฎหน้าจอขึ้นมาเพื่อถามว่าผู้ใช้ต้องการติดตั้งแอปพลิเคชันนั้นหรือไม่ ดังรูปที่ 4 หากผู้ใช้กด Install ก็จะเป็นการดาวน์โหลดแอปพลิเคชันนั้นมาติดตั้งลงในเครื่องทันที โดยไม่จำเป็นต้องตั้งค่าอะไรในเครื่องแต่อย่างใด


รูปที่ 4 ตัวอย่างหน้าจอสอบถามการติดตั้งแอปพลิเคชันแบบ Enterprise

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

จากในคลิปตัวอย่าง เมื่อผู้ใช้เปิดเข้าเว็บไซต์ จะว่าหน้าจอถามว่าต้องการติดตั้งแอปพลิเคชันชื่อ New Flappy Bird หรือไม่ แต่เมื่อผู้ใช้กดปุ่ม Install กลับกลายเป็นว่าแอปพลิเคชันใหม่นั้นถูกติดตั้งทับแอปพลิเคชัน Gmail เดิมที่อยู่ในเครื่อง (ตั้งชื่อ Bundle Identifier ว่า com.google.Gmail เพื่อให้ติดตั้งทับแอปพลิเคชัน Gmail ของจริง)

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

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

อย่างไรก็ตาม ช่องโหว่ของระบบ iOS Enterprise Deployment นี้ยังจำกัดอยู่แค่สามารถติดตั้งแอปพลิเคชันปลอมทับแอปพลิเคชันที่ผู้ใช้ดาวน์โหลดมาติดตั้งเองได้เท่านั้น สำหรับแอปพลิเคชันที่ติดตั้งมาพร้อมกับเครื่อง เช่น Mail, Safari นั้นไม่สามารถติดตั้งทับด้วยวิธีนี้ได้

ความอันตรายของ WireLurker และ Masque Attack

มัลแวร์ WireLurker และช่องโหว่ Masque Attack เป็นการนำระบบ Enterprise Deployment มาใช้ในทางที่ไม่ถูกต้อง บวกกับอาศัยความไม่รู้ของผู้ใช้ที่ยังเข้าใจว่าระบบปฏิบัติการ iOS ที่ไม่ได้ Jailbreak นั้นมีความมั่นคงปลอดภัยเนื่องจากสามารถติดตั้งแอปพลิเคชันจาก App Store ได้อย่างเดียว การติดตั้งแอปพลิเคชันจากแหล่งอื่นนั้นไม่สามารถทำได้ ดังนั้นเมื่อผู้ใช้เห็นข้อความบนจอที่บอกให้ติดตั้งโปรแกรมก็อาจกด Install ไปเลยโดยไม่ได้ระวังอะไร ซึ่งกลายเป็นว่าหากผู้ไม่หวังดีที่ต้องการเผยแพร่มัลแวร์ใน iOS ผ่านหน้าเว็บไซต์ (แบบที่เคยเกิดขึ้นกับ Android [24]) จะมีโอกาสโจมตีได้สำเร็จสูงกว่าการเผยแพร่มัลแวร์ Android มาก เพราะผู้ใช้ iOS กดปุ่ม Install แค่ปุ่มเดียว แอปพลิเคชันอันตรายก็จะเข้าไปอยู่ในเครื่องได้ทันที

จุดอ่อนอีกอย่างหนึ่งใน iOS ที่ทำให้ Masque Attack ประสบความสำเร็จนั่นคือการติดตั้งแอปพลิเคชันนอก App Store ทำได้ง่ายมาก เพียงแค่เปิดเว็บไซต์แล้วกด Install โดยที่ข้อความที่ขึ้นมาบอกว่าจะติดตั้งแอปพลิเคชันอะไรนั้นก็ไม่มีการบอกรายละเอียดให้ชัดเจน แสดงเพียงแค่ชื่อแอปพลิเคชันเท่านั้น (ซึ่งสามารถปลอมเป็นชื่ออะไรก็ได้) ในจุดนี้กลับกลายเป็นว่าระบบปฏิบัติการ Android นั้นมีความปลอดภัยมากกว่า เพราะไม่ได้เปิดให้สามารถติดตั้งแอปพลิเคชันจากแหล่งที่มาภายนอกได้ตั้งแต่แรก และหากผู้ใช้ Android ยืนยันต้องการติดตั้งแอปพลิเคชันจากแหล่งภายนอกที่ไม่ใช่ Play Store ก็จำเป็นต้องเข้าไปเปิดตัวเลือกให้สามารถติดตั้งแอปพลิเคชันจากแหล่งที่มาที่ไม่รู้จัก (Unknow Source) และถึงแม้ผู้ใช้ Android จะเข้าเว็บไซต์ที่ปล่อยมัลแวร์ ก็ยังไม่สามารถติดตั้งแอปพลิเคชันโดยตรงจากหน้าเว็บไซต์ได้ จำเป็นต้องดาวน์โหลดไฟล์ .apk มาแล้วสั่งติดตั้งเอง ซึ่งก่อนจะติดตั้ง Android ก็ยังมีหน้าต่างแสดงรายละเอียดชื่อโปรแกรมและสิทธิ์การเข้าถึงที่แอปพลิเคชันนั้นร้องขอมาให้ผู้ใช้ทราบก่อนอยู่ดี ในส่วนนี้จึงสามารถช่วยให้ผู้ใช้สังเกตเห็นความผิดปกติของแอปพลิเคชันก่อนที่จะติดตั้งได้ นอกจากนี้ใน Android ยังมีการตรวจสอบใบรับรองของแอปพลิเคชันที่มีชื่อซ้ำกับแอปพลิเคชันตัวที่เคยติดตั้งอยู่แล้วในระบบ ซึ่งหากพบว่าใบรับรองของแอปพลิเคชันเก่าและใหม่ไม่ตรงกันจะไม่ยอมให้ติดตั้ง

นอกจากนี้ จุดที่น่าเป็นห่วงอีกอย่างหนึ่งคือวิธีการโจมตีและแพร่กระจายมัลแวร์ ในกรณีของ WireLurker ที่แพร่กระจายโดยการติดไปกับโปรแกรมเถื่อนนั้น เป็นที่รู้กันดีกว่าการติดตั้งโปรแกรมเถื่อนนั้นมีอันตรายมากแค่ไหน และคนที่ชอบติดตั้งโปรแกรมเถื่อนก็ควรต้องรับทราบความเสี่ยงในจุดนี้อยู่แล้ว ส่วนที่น่าจะต้องระวังคงเป็นวิธีการหลอกลวงให้ผู้ใช้ทั่วไปดาวน์โหลดมัลแวร์ไปติดตั้งผ่านช่องโหว่ Masque Attack ซึ่งผู้ไม่หวังดีก็อาจไม่ต้องใช้วิธีสลับซับซ้อนอะไรมาก เพราะเป็นเพียงแค่การหลอกให้เหยื่อเปิดหน้าเว็บไซต์ ดังนั้นแค่การส่งลิงก์ไปทางอีเมลหรือทาง SMS แล้วบอกว่าเป็นโปรแกรมสำคัญต้องการให้ติดตั้ง ก็น่าจะมีผู้หลงเชื่อและเปิดเข้าเว็บไซต์เพื่อไปติดตั้งโปรแกรมอยู่แล้ว ซึ่งถ้าจะอ้างอิงจากเหตุการณ์การแพร่กระจายของมัลแวร์ใน Android เมื่อก่อนหน้านี้ก็สามารถยืนยันได้อย่างดีกว่าวิธีการนี้ยังได้ผล [25]

Apple ไม่แก้ไข ผู้ใช้ต้องระวังเอง

อย่างไรก็ตาม ถึงแม้จะมีการแพร่ระบาดของมัลแวร์ WireLurker รวมถึงมีนักวิจัยส่งข้อมูลเรื่องปัญหาของระบบ iOS Enterprise Deployment ไปให้กับทาง Apple หลายครั้งแล้วก็ตาม (วิธีการโจมตีแบบที่ WireLurker ใช้ มีการเผยแพร่ตั้งแต่เดือนสิงหาคม 2013 ส่วนทาง FireEye ก็แจ้งช่องโหว่ Masque Attack ไปให้ทาง Apple ตั้งแต่เดือนมิถุนายน 2014) แต่ทาง Apple ก็ได้ปฏิเสธที่จะแก้ไขปัญหานี้ โดยบอกว่ายังไม่พบว่ามีลูกค้าของ Apple ที่ประสบปัญหา และอีกอย่างระบบของ iOS และ OS X ก็ถูกออกแบบมาเพื่อแจ้งเตือนให้ผู้ใช้ทราบในกรณีที่ผู้ใช้ติดตั้งแอปพลิเคชันที่อาจจะเป็นอันตรายอยู่แล้ว ดังนั้นหากผู้ใช้ติดตั้งแอปพลิเคชันนอกเหนือจากแหล่งที่มาที่ Apple กำหนดไว้ ก็ต้องใช้ความระมัดระวังกันเอาเอง [26]

Apple ได้เปิดหน้าเว็บไซต์ Support ขึ้นมาเพื่อบอกให้ผู้ใช้ระมัดระวังในการติดตั้งแอปพลิเคชันผ่านช่องทาง Enterprise Program [27] โดยหากผู้ใช้ไม่ได้ต้องการจะติดตั้งแอปพลิเคชันที่พัฒนาขึ้นมาสำหรับเพื่อใช้งานในองค์กร แต่พบหน้าจอถามการติดตั้งโปรแกรมดังรูปที่ 5 ปรากฎขึ้นมา ก็ไม่ควรกดปุ่ม Install แต่หากกดไปแล้ว ในครั้งแรกที่ผู้ใช้กดเข้าไปใช้งานแอปพลิเคชันนั้น จะมีการแสดงชื่อของผู้พัฒนาแอปพลิเคชันขึ้นว่าและถามว่าผู้ใช้เชื่อถือนักพัฒนาคนนี้หรือไม่ หากผู้ใช้ไม่เชื่อถือหรือไม่แน่ใจก็ไม่ควรกดปุ่ม Trust และลบแอปพลิเคชันนี้ออกจากเครื่องโดยเร็ว


รูปที่ 5 การแจ้งเตือนด้านความปลอดภัยเมื่อผู้ใช้จะติดตั้งหรือเปิดใช้งานแอปพลิเคชันที่พัฒนาขึ้นมาเพื่อใช้งานในองค์กร

ข้อควรระวัง วิธีการตรวจสอบและแก้ไข

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

เพื่อป้องกันปัญหามัลแวร์ WireLurker การโจมตีผ่านช่องโหว่ Masque Attack หรือภัยคุกคามรูปแบบอื่นที่อาจใช้เทคนิคที่ใกล้เคียงกัน ผู้ใช้ หรือองค์กรที่มีการใช้งานอุปกรณ์ที่ใช้ระบบปฏิบัติการ iOS, Mac OS X และ Windows ควรมีความระมัดระวังดังนี้ [28]

  • ติดตั้งโปรแกรมแอนตี้ไวรัสในระบบปฏิบัติการ Windows และ Mac OS X พร้อมอัปเดตฐานข้อมูลให้เป็นเวอร์ชันล่าสุดอยู่เสมอ
  • ไม่ติดตั้งโปรแกรมที่ไม่ทราบแหล่งที่มาที่ชัดเจน หรือมาจากนักพัฒนาที่ไม่น่าเชื่อถือ โดยเฉพาะโปรแกรมเถื่อน
  • อัปเดตระบบปฏิบัติการ iOS และแอปพลิเคชันที่ติดตั้งอยู่ให้เป็นเวอร์ชันล่าสุดอยู่เสมอ
  • ในขณะที่ใช้งานระบบปฏิบัติการ iOS หากพบหน้าจอสอบถามการติดตั้งแอปพลิเคชันแบบ Enterprise ถ้าไม่แน่ใจว่าเป็นแอปพลิเคชันที่ต้องการใช้งานจริงๆ ไม่ควรกดติดตั้ง
  • หากเปิดใช้งานแอปพลิเคชันบนระบบปฏิบัติการ iOS แล้วระบบขึ้นแจ้งเตือนว่าแอปพลิเคชันนี้มาจากนักพัฒนาที่ไม่รู้จัก ถ้าไม่แน่ใจว่าแอปพลิเคชันนั้นมาจากนักพัฒนาที่เชื่อถือได้จริงๆ ไม่ควรกดเปิดใช้งานและควรลบแอปพลิเคชันนั้นออกจากเครื่องโดยเร็วที่สุด
  • ควรเสียบชาร์จอุปกรณ์ iOS จากปลั๊กไฟโดยตรงเท่านั้น ไม่ควรเสียบชาร์จจากอุปกรณ์อื่นหรือเสียบชาร์จจากเครื่องคอมพิวเตอร์ที่ไม่แน่ใจเรื่องความปลอดภัย
  • ไม่ควรเชื่อมต่ออุปกรณ์ iOS เข้ากับเครื่องคอมพิวเตอร์ที่ไม่รู้จักหรือไม่แน่ใจเรื่องความปลอดภัย
  • ไม่ควร Jailbreak อุปกรณ์ iOS หรือหาก Jailbreak แล้วก็ควรติดตั้งแอปพลิเคชันจากแหล่งที่มาที่น่าเชื่อถือเท่านั้น

สำหรับการตรวจสอบว่าเครื่อง Windows หรือ Mac OS X ที่ใช้งานอยู่นั้นติดมัลแวร์ WireLurker หรือไม่ สามารถตรวจสอบได้โดยใช้โปรแกรม Antivirus หรือใช้โปรแกรม WireLurker Detector ที่ทาง Palo Alto Networks เป็นผู้พัฒนาขึ้น [29] ส่วนการกำจัดมัลแวร์ WireLurker ออกจากเครื่องที่ใช้ Windows หรือ Mac OS X นั้นปัจจุบันโปรแกรม Antivirus ที่อัปเดตฐานข้อมูลเป็นเวอร์ชันล่าสุดสามารถกำจัดได้แล้ว

สำหรับการตรวจสอบว่าเครื่อง iOS ที่ใช้งานอยู่นั้นติดมัลแวร์ WireLurker หรือมีการติดตั้งแอปพลิเคชันแบบ Enterprise หรือไม่ สามารถตรวจสอบได้จากข้อมูล Profile ที่อยู่ในเครื่อง ซึ่งทำได้โดยการเข้าไปที่ Settings เลือกเมนู General แล้วไปที่ Profile ดังรูปที่ 6 โดยปกติแล้วผู้ใช้ทั่วไปที่ไม่ได้ติดตั้งแอปพลิเคชันขององค์กรไม่ควรมี Profile อื่นอยู่ หากพบ Profile ที่ไม่รู้จักให้ลบออกทันที


รูปที่ 6 ตัวอย่างอุปกรณ์ iOS ที่มี Profile ชื่อ TunnelBear ติตตั้งอยู่ในเครื่อง

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

หากพบว่าเครื่อง iOS ติดมัลแวร์ WireLurker หรือถูกติดตั้งแอปพลิเคชันแบบ Enterprise โดยที่ผู้ใช้ไม่ได้เป็นคนทำ วิธีการแก้ปัญหาคือลบแอปพลิเคชันอันตรายออกจากเครื่อง ตรวจสอบและลบ Profile แปลกปลอม รวมทั้งตรวจสอบการอนุญาตให้แอปพลิเคชันเข้าถึงเข้ามูลส่วนบุคคล ซึ่งสามารถทำได้โดยการเข้าไปที่ Settings เลือกหัวข้อ Privacy และตรวจสอบสิทธิการเข้าถึงของแอปพลิเคชันในหมวดต่างๆ เช่น Contact, Photos, Microphone, Camera ดังรูปที่ 7 ซึ่งหากพบแอปพลิเคชันใดที่ไม่ต้องการให้เข้าถึงความสามารถในส่วนนี้สามารถปิดเฉพาะแอปพลิเคชันนั้นได้ [30] แต่หากยังไม่มั่นใจว่าจะแก้ปัญหาทั้งหมดได้ อาจพิจารณาการทำ Factory Reset เพื่อล้างข้อมูลในเครื่องทั้งหมด


รูปที่ 7 การตรวจสอบสิทธิ์การเข้าถึง Privacy ของแอปพลิเคชันต่างๆ ใน iOS

สรุป

ถึงแม้ว่าปัญหามัลแวร์ใน iOS ที่สามารถติดในเครื่องที่ไม่ถูก Jailbreak ได้จะไม่ใช่เรื่องใหม่ แต่การแพร่ระบาดของมัลแวร์ WireLurker ก็ถือเป็นสัญญาณหนึ่งที่บ่งบอกได้ว่านักพัฒนามัลแวร์เริ่มเล็งเป้ามาที่การโจมตีอุปกรณ์ที่ใช้งานระบบปฏิบัติการ iOS แล้ว

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

อ้างอิง

  1. http://www.forbes.com/sites/gordonkelly/2014/03/24/report-97-of-mobile-malware-is-on-android-this-is-the-easy-way-you-stay-safe/
  2. https://developer.apple.com/app-store/review/guidelines/
  3. http://www.ibtimes.com/google-play-store-gets-built-malware-scanner-alerts-users-against-possible-threats-download-stage
  4. http://support.apple.com/en-us/HT202070
  5. http://android-developers.blogspot.com/2010/04/multitasking-android-way.html
  6. http://www.forbes.com/sites/andygreenberg/2011/11/07/iphone-security-bug-lets-innocent-looking-apps-go-bad/
  7. http://www.cnet.com/news/researchers-slip-malware-onto-apples-app-store-again/
  8. https://blog.fortinet.com/post/ios-malware-does-exist
  9. http://www.fortiguard.com/encyclopedia/virus/#id=2102975
  10. http://securelist.com/blog/incidents/33544/find-and-call-leak-and-spam-57/
  11. http://www.telegraph.co.uk/technology/3358134/Apples-Jobs-confirms-iPhone-kill-switch.html
  12. http://3qilabs.com/how-to-ad-hoc-distribute-your-ios-app-via-a-website-and-ota/
  13. https://www.thaicert.or.th/papers/general/2013/pa2013ge007.html
  14. http://researchcenter.paloaltonetworks.com/2014/11/wirelurker-new-era-os-x-ios-malware/
  15. http://researchcenter.paloaltonetworks.com/2014/11/wirelurker-windows/
  16. http://securelist.com/blog/67457/ios-trojan-wirelurker-statistics-and-new-information/
  17. http://blog.kaspersky.com/wirelurker-ios-osx-malware/
  18. https://www.apple.com/ipad/business/docs/iOS_Enterprise_Deployment_Overview_EN_Feb14.pdf
  19. https://developer.apple.com/programs/ios/enterprise/
  20. http://stackoverflow.com/questions/22745946/is-there-any-limitation-to-distribution-of-apps-in-ios-enterprise-program
  21. http://www.fireeye.com/blog/technical/cyber-exploits/2014/11/masque-attack-all-your-ios-apps-belong-to-us.html
  22. https://kb.acronis.com/content/39368
  23. https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html
  24. https://thaicert.or.th/papers/general/2014/pa2014ge004.html
  25. https://thaicert.or.th/alerts/user/2014/al2014us017.html
  26. http://www.imore.com/apple-comments-masque-attack
  27. http://support.apple.com/en-us/HT6584
  28. https://www.paloaltonetworks.com/content/dam/paloaltonetworks-com/en_US/assets/pdf/reports/Unit_42/unit42-wirelurker.pdf
  29. https://github.com/PaloAltoNetworks-BD/WireLurkerDetector
  30. http://blog.trendmicro.com/trendlabs-security-intelligence/removing-wirelurker-from-your-ios-or-osx-device/
Clear