Android รวมฟีเจอร์ด้านความปลอดภัยชั้นนำในอุตสาหกรรมไว้ด้วยกัน และทำงานร่วมกับนักพัฒนาซอฟต์แวร์และผู้ติดตั้งใช้งานอุปกรณ์เพื่อรักษาแพลตฟอร์มและระบบนิเวศของ Android ให้ปลอดภัย รูปแบบการรักษาความปลอดภัยที่มีประสิทธิภาพเป็นสิ่งจําเป็นต่อการสร้างระบบนิเวศของแอปและอุปกรณ์ที่มีประสิทธิภาพซึ่งสร้างขึ้นบนและรอบๆ แพลตฟอร์ม Android และรองรับบริการระบบคลาวด์ ด้วยเหตุนี้ Android จึงอยู่ภายใต้โปรแกรมรักษาความปลอดภัยที่เข้มงวดตลอดวงจรการพัฒนา
Android ออกแบบมาให้เปิดกว้าง แอป Android ใช้ฮาร์ดแวร์และซอฟต์แวร์ขั้นสูง รวมถึงข้อมูลที่แสดงและข้อมูลที่จัดเก็บไว้ในเครื่อง ซึ่งแสดงผ่านแพลตฟอร์มเพื่อมอบนวัตกรรมและคุณค่าแก่ผู้บริโภค แพลตฟอร์มจึงนำเสนอสภาพแวดล้อมของแอปที่ปกป้องความลับ ความสมบูรณ์ และความพร้อมใช้งานของผู้ใช้ ข้อมูล แอป อุปกรณ์ และเครือข่าย เพื่อให้ได้คุณค่าดังกล่าว
การรักษาความปลอดภัยของแพลตฟอร์มแบบเปิดต้องใช้สถาปัตยกรรมการรักษาความปลอดภัยที่รัดกุมและโปรแกรมรักษาความปลอดภัยที่เข้มงวด Android ได้รับการออกแบบให้มีการรักษาความปลอดภัยแบบหลายชั้นที่มีความยืดหยุ่นเพียงพอที่จะรองรับแพลตฟอร์มแบบเปิด ขณะเดียวกันก็ปกป้องผู้ใช้ทุกคนของแพลตฟอร์ม ดูข้อมูลเกี่ยวกับการรายงานปัญหาด้านความปลอดภัยและขั้นตอนการอัปเดตได้ที่การอัปเดตและแหล่งข้อมูลด้านความปลอดภัย
Android ออกแบบมาเพื่อนักพัฒนาแอป การควบคุมความปลอดภัยได้รับการออกแบบมาเพื่อลดภาระของนักพัฒนาแอป นักพัฒนาแอปที่เชี่ยวชาญด้านความปลอดภัยจะทำงานร่วมกับและใช้ประโยชน์จากการควบคุมความปลอดภัยที่ยืดหยุ่นได้อย่างง่ายดาย นักพัฒนาแอปที่ไม่คุ้นเคยกับการรักษาความปลอดภัยจะได้รับการป้องกันโดยค่าเริ่มต้นที่ปลอดภัย
นอกจากจะเป็นแพลตฟอร์มที่ทำงานได้อย่างเสถียรแล้ว Android ยังให้การสนับสนุนเพิ่มเติมแก่นักพัฒนาแอปด้วยวิธีต่างๆ ทีมรักษาความปลอดภัยของ Android จะมองหาช่องโหว่ที่อาจเกิดขึ้นในแอปและแนะนำวิธีแก้ไขปัญหาเหล่านั้น สำหรับอุปกรณ์ที่มี Google Play บริการ Play จะส่งการอัปเดตความปลอดภัยสำหรับไลบรารีซอฟต์แวร์ที่สำคัญ เช่น OpenSSL ซึ่งใช้ในการรักษาความปลอดภัยการสื่อสารของแอป ทีมรักษาความปลอดภัยของ Android ได้เปิดตัวเครื่องมือทดสอบ SSL (nogotofail) ที่ช่วยนักพัฒนาซอฟต์แวร์ค้นหาปัญหาด้านความปลอดภัยที่อาจเกิดขึ้นในแพลตฟอร์มที่กำลังพัฒนา
นอกจากนี้ Android ยังใช้ประโยชน์จากการสนับสนุนฮาร์ดแวร์พื้นฐานเพื่อความปลอดภัยด้วย เช่น ใช้เทคโนโลยี ARM TrustZone เพื่อจัดหาพื้นที่เก็บข้อมูลที่ปลอดภัยสำหรับคีย์การเข้ารหัส รวมถึงการรับรองความสมบูรณ์ของการบูต DICE ใช้เพื่อวัดเฟิร์มแวร์ที่โหลดก่อนการบูต Android ซึ่งช่วยให้สามารถยืนยันจากระยะไกลว่าเฟิร์มแวร์ไม่ได้รับผลกระทบจากช่องโหว่ร้ายแรงที่ทราบซึ่งอาจถูกนำไปใช้ประโยชน์เพื่อทำร้ายทั้งนักพัฒนาแอปและผู้ใช้
ดูข้อมูลเพิ่มเติมสำหรับนักพัฒนาแอป Android ได้ที่ developer.android.com
Android ออกแบบมาเพื่อผู้ใช้ ผู้ใช้จะเห็นสิทธิ์ที่แอปแต่ละแอปขอและสามารถควบคุมสิทธิ์เหล่านั้นได้ การออกแบบนี้คาดการณ์ว่าผู้โจมตีจะพยายามทำการโจมตีทั่วไป เช่น การโจมตีแบบวิศวกรรมสังคมเพื่อโน้มน้าวให้ผู้ใช้อุปกรณ์ติดตั้งมัลแวร์ และการโจมตีแอปของบุคคลที่สามใน Android Android ได้รับการออกแบบมาเพื่อทั้งลดโอกาสที่จะถูกโจมตีเหล่านี้ และจำกัดผลกระทบของการโจมตีให้เหลือน้อยที่สุดในกรณีที่การโจมตีสำเร็จ ความปลอดภัยของ Android จะทำงานต่อไปหลังจากที่อุปกรณ์อยู่ในมือของผู้ใช้ Android ทำงานร่วมกับพาร์ทเนอร์และผู้ใช้ทั่วไปเพื่อให้บริการแพตช์สำหรับอุปกรณ์ Android ทั้งหมดที่ยังคงได้รับการอัปเดตความปลอดภัย
ผู้ใช้ปลายทางดูข้อมูลเพิ่มเติมได้ในศูนย์ช่วยเหลือของ Nexus, ศูนย์ช่วยเหลือของ Pixel หรือศูนย์ช่วยเหลือของผู้ผลิตอุปกรณ์
หน้านี้จะกล่าวถึงเป้าหมายของโปรแกรมรักษาความปลอดภัย Android, อธิบายพื้นฐานของสถาปัตยกรรมความปลอดภัยของ Android และตอบคําถามที่เกี่ยวข้องมากที่สุดสําหรับสถาปนิกระบบและนักวิเคราะห์ความปลอดภัย โดยมุ่งเน้นที่ฟีเจอร์ด้านความปลอดภัยของแพลตฟอร์มหลักของ Android และไม่กล่าวถึงปัญหาด้านความปลอดภัยเฉพาะของแอปบางแอป เช่น ปัญหาที่เกี่ยวข้องกับเบราว์เซอร์หรือแอป SMS
ฉากหลัง
Android มีแพลตฟอร์มโอเพนซอร์สและสภาพแวดล้อมแอปสําหรับอุปกรณ์เคลื่อนที่
ส่วนและหน้าเว็บด้านล่างอธิบายฟีเจอร์ด้านความปลอดภัยของแพลตฟอร์ม Android รูปที่ 1 แสดงองค์ประกอบด้านความปลอดภัยและข้อควรพิจารณาของกองซอฟต์แวร์ Android ในระดับต่างๆ แต่ละคอมโพเนนต์จะถือว่าคอมโพเนนต์ด้านล่างได้รับการยึดอย่างถูกต้อง ยกเว้นโค้ดระบบปฏิบัติการ Android จำนวนเล็กน้อยที่ทำงานเป็นรูท โค้ดทั้งหมดที่อยู่เหนือเคอร์เนล Linux จะจำกัดโดยแซนด์บ็อกซ์ของแอปพลิเคชัน
รูปที่ 1 สแต็กซอฟต์แวร์ Android
องค์ประกอบหลักของแพลตฟอร์ม Android มีดังนี้
- ฮาร์ดแวร์ของอุปกรณ์: Android ทำงานได้กับฮาร์ดแวร์หลากหลายรูปแบบ ซึ่งรวมถึงโทรศัพท์มือถือ แท็บเล็ต นาฬิกา รถยนต์ สมาร์ททีวี กล่องเกม OTT และกล่องรับสัญญาณ Android ทำงานได้กับโปรเซสเซอร์ทุกประเภท แต่ใช้ประโยชน์จากความสามารถด้านความปลอดภัยบางอย่างที่เจาะจงฮาร์ดแวร์ เช่น ARM eXecute-Never
- ระบบปฏิบัติการ Android: ระบบปฏิบัติการหลักสร้างขึ้นจากเคอร์เนล Linux ทรัพยากรทั้งหมดของอุปกรณ์ เช่น ฟังก์ชันกล้อง ข้อมูล GPS ฟังก์ชันบลูทูธ ฟังก์ชันโทรศัพท์ และการเชื่อมต่อเครือข่าย เข้าถึงได้ผ่านระบบปฏิบัติการ
- รันไทม์แอปพลิเคชันของ Android: แอป Android ส่วนใหญ่เขียนด้วยภาษาโปรแกรม Java และทำงานในรันไทม์ Android (ART) อย่างไรก็ตาม แอปจำนวนมาก รวมถึงบริการและแอปหลักของ Android เป็นแอปเนทีฟหรือมีไลบรารีเนทีฟ ทั้ง ART และแอปเนทีฟจะทำงานภายในสภาพแวดล้อมด้านความปลอดภัยเดียวกัน ซึ่งอยู่ในแซนด์บ็อกซ์ของแอปพลิเคชัน แอปจะได้รับส่วนของระบบไฟล์โดยเฉพาะ ซึ่งสามารถเขียนข้อมูลส่วนตัวได้ รวมถึงฐานข้อมูลและไฟล์ดิบ
แอป Android ขยายระบบปฏิบัติการ Android หลัก แหล่งที่มาหลักของแอปมี 2 แหล่ง ได้แก่
- แอปที่ติดตั้งไว้ล่วงหน้า: Android มีชุดแอปที่ติดตั้งไว้ล่วงหน้า ซึ่งรวมถึงโทรศัพท์ อีเมล ปฏิทิน เว็บเบราว์เซอร์ และรายชื่อติดต่อ แอปเหล่านี้ทำงานเป็นแอปของผู้ใช้และมีความสามารถหลักของอุปกรณ์ที่แอปอื่นๆ สามารถเข้าถึงได้ แอปที่ติดตั้งไว้ล่วงหน้าอาจเป็นส่วนหนึ่งของแพลตฟอร์ม Android แบบโอเพนซอร์ส หรืออาจพัฒนาโดยผู้ผลิตอุปกรณ์สำหรับอุปกรณ์หนึ่งๆ โดยเฉพาะ
- แอปที่ผู้ใช้ติดตั้ง: Android มีสภาพแวดล้อมการพัฒนาแบบเปิดที่รองรับแอปของบุคคลที่สามทุกแอป โดย Google Play มีแอปให้ผู้ใช้ดาวน์โหลดหลายแสนแอป
บริการด้านความปลอดภัยของ Google
Google มีชุดบริการระบบคลาวด์ที่พร้อมให้บริการในอุปกรณ์ Android ที่ใช้ร่วมกันได้กับ Google Mobile Services แม้ว่าบริการเหล่านี้จะไม่ได้เป็นส่วนหนึ่งของโครงการโอเพนซอร์ส Android (AOSP) แต่ก็มีให้บริการในอุปกรณ์ Android หลายรุ่น ดูข้อมูลเพิ่มเติมเกี่ยวกับบริการบางอย่างเหล่านี้ได้ที่สรุปผลงานประจำปี 2018 ของทีมความปลอดภัยของ Android
บริการด้านความปลอดภัยหลักของ Google มีดังนี้
- Google Play: Google Play เป็นบริการต่างๆ ที่ช่วยให้ผู้ใช้ค้นพบ ติดตั้ง และซื้อแอปจากอุปกรณ์ Android หรือเว็บได้ Google Play ช่วยให้นักพัฒนาแอปเข้าถึงผู้ใช้ Android และลูกค้าเป้าหมายได้อย่างง่ายดาย นอกจากนี้ Google Play ยังมีการตรวจสอบโดยชุมชน การยืนยันใบอนุญาตของแอป การสแกนความปลอดภัยของแอป และบริการด้านความปลอดภัยอื่นๆ
- การอัปเดต Android: บริการอัปเดต Android จะมอบความสามารถใหม่ๆ และการอัปเดตความปลอดภัยให้กับอุปกรณ์ Android บางรุ่น รวมถึงการอัปเดตผ่านเว็บหรืออากาศ (OTA)
- บริการแอป: เฟรมเวิร์กที่อนุญาตให้แอป Android ใช้ความสามารถของคลาวด์ เช่น (การสำรองข้อมูล) ข้อมูลและแอปการตั้งค่า รวมถึงการรับส่งข้อความจากระบบคลาวด์ไปยังอุปกรณ์ (C2DM) สําหรับการรับส่งข้อความ Push
- ยืนยันแอป: เตือนหรือบล็อกการติดตั้งแอปที่เป็นอันตรายโดยอัตโนมัติ รวมถึงสแกนแอปในอุปกรณ์อย่างต่อเนื่อง โดยเตือนหรือนำแอปที่เป็นอันตรายออก
- SafetyNet: ระบบตรวจจับการบุกรุกที่รักษาความเป็นส่วนตัวเพื่อช่วย Google ติดตาม บรรเทาภัยคุกคามด้านความปลอดภัยที่ทราบ และระบุภัยคุกคามด้านความปลอดภัยใหม่ๆ
- SafetyNet Attestation: API ของบุคคลที่สามเพื่อระบุว่าอุปกรณ์ใช้ร่วมกับ CTS ได้หรือไม่ การรับรองยังระบุแอป Android ที่สื่อสารกับเซิร์ฟเวอร์แอปได้ด้วย
- โปรแกรมจัดการอุปกรณ์ Android: เว็บแอปและแอป Android สำหรับค้นหาอุปกรณ์ที่สูญหายหรือถูกขโมย
ภาพรวมของโปรแกรมรักษาความปลอดภัย
องค์ประกอบหลักของโปรแกรมรักษาความปลอดภัย Android มีดังนี้
- การตรวจสอบการออกแบบ: กระบวนการด้านความปลอดภัยของ Android เริ่มต้นตั้งแต่เนิ่นๆ ในวงจรการพัฒนาด้วยการสร้างรูปแบบและการออกแบบการรักษาความปลอดภัยที่หลากหลายและกำหนดค่าได้ ฟีเจอร์หลักแต่ละรายการของแพลตฟอร์มจะได้รับการตรวจสอบโดยทีมวิศวกรและทรัพยากรด้านความปลอดภัย โดยมีการควบคุมความปลอดภัยที่เหมาะสมผสานรวมอยู่ในสถาปัตยกรรมของระบบ
- การทดสอบการเจาะระบบและการตรวจสอบโค้ด: ในระหว่างการพัฒนาแพลตฟอร์ม คอมโพเนนต์โอเพนซอร์สและคอมโพเนนต์ที่ Android สร้างขึ้นจะได้รับการตรวจสอบความปลอดภัยอย่างเข้มงวด การตรวจสอบเหล่านี้ดำเนินการโดยทีมรักษาความปลอดภัยของ Android, ทีมวิศวกรรักษาความปลอดภัยด้านข้อมูลของ Google และผู้ให้คำปรึกษาด้านความปลอดภัยอิสระ เป้าหมายของการตรวจสอบเหล่านี้คือการระบุจุดอ่อนและช่องโหว่ที่เป็นไปได้ก่อนการเปิดตัวเวอร์ชันหลัก และเพื่อจำลองประเภทการวิเคราะห์ที่ผู้เชี่ยวชาญด้านความปลอดภัยภายนอกจะดำเนินการเมื่อมีการเผยแพร่
- โอเพนซอร์สและการตรวจสอบโดยชุมชน: AOSP ช่วยให้บุคคลที่สนใจสามารถตรวจสอบความปลอดภัยได้แบบกว้าง นอกจากนี้ Android ยังใช้เทคโนโลยีโอเพนซอร์สที่ผ่านการตรวจสอบความปลอดภัยภายนอกอย่างเข้มงวด เช่น เคอร์เนล Linux Google Play มีฟอรัมสำหรับผู้ใช้และบริษัทต่างๆ เพื่อแจ้งข้อมูลเกี่ยวกับแอปที่เฉพาะเจาะจงให้แก่ผู้ใช้โดยตรง
- การตอบสนองต่อเหตุการณ์: แม้จะมีมาตรการป้องกันเหล่านี้ แต่ปัญหาด้านความปลอดภัยอาจเกิดขึ้นหลังจากจัดส่งไปแล้ว ด้วยเหตุนี้ โปรเจ็กต์ Android จึงสร้างกระบวนการตอบสนองต่อปัญหาด้านความปลอดภัยที่ครอบคลุม สมาชิกทีมรักษาความปลอดภัย Android แบบเต็มเวลาจะตรวจสอบชุมชนด้านความปลอดภัยทั่วไปและชุมชนด้านความปลอดภัยเฉพาะ Android เพื่อหารือเกี่ยวกับช่องโหว่ที่อาจเกิดขึ้นและตรวจสอบข้อบกพร่องด้านความปลอดภัยที่ส่งในฐานข้อมูลข้อบกพร่องของ Android เมื่อพบปัญหาจริง ทีม Android จะมีกระบวนการตอบสนองที่ช่วยให้ลดช่องโหว่ได้อย่างรวดเร็วเพื่อให้มั่นใจว่าความเสี่ยงที่อาจเกิดขึ้นกับผู้ใช้ Android ทุกคนจะลดลง การตอบสนองที่ระบบคลาวด์รองรับเหล่านี้อาจรวมถึงการอัปเดตแพลตฟอร์ม Android (การอัปเดต AOSP), การนําแอปออกจาก Google Play และการนําแอปออกจากอุปกรณ์ในสนาม
- การอัปเดตความปลอดภัยรายเดือน: ทีมรักษาความปลอดภัยของ Android จะอัปเดตอุปกรณ์ Android ของ Google และพาร์ทเนอร์ผู้ผลิตอุปกรณ์ทั้งหมดของเราเป็นรายเดือน
สถาปัตยกรรมความปลอดภัยของแพลตฟอร์ม
Android มุ่งมั่นที่จะเป็นระบบปฏิบัติการที่ปลอดภัยและใช้งานได้มากที่สุดสำหรับแพลตฟอร์มอุปกรณ์เคลื่อนที่ โดยการนำการควบคุมความปลอดภัยของระบบปฏิบัติการแบบดั้งเดิมมาปรับใช้ใหม่เพื่อดำเนินการต่อไปนี้
- ปกป้องแอปและข้อมูลผู้ใช้
- ปกป้องทรัพยากรของระบบ (รวมถึงเครือข่าย)
- แยกแอปออกจากระบบ แอปอื่นๆ และผู้ใช้
Android มีฟีเจอร์ด้านความปลอดภัยที่สำคัญต่อไปนี้เพื่อให้บรรลุวัตถุประสงค์เหล่านี้
- การรักษาความปลอดภัยที่มีประสิทธิภาพที่ระดับระบบปฏิบัติการผ่านเคอร์เนล Linux
- แซนด์บ็อกซ์แอปที่ต้องระบุสำหรับแอปทั้งหมด
- การสื่อสารระหว่างโปรเซสที่ปลอดภัย
- การลงนามแอป
- สิทธิ์ที่แอปกำหนดและสิทธิ์ที่ผู้ใช้ให้