รักษาความปลอดภัยอุปกรณ์ Android

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

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

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

Android ได้รับการออกแบบมาสำหรับนักพัฒนา การควบคุมความปลอดภัยได้รับการออกแบบมาเพื่อลดภาระของนักพัฒนา นักพัฒนาที่เชี่ยวชาญด้านความปลอดภัยสามารถทำงานและพึ่งพาการควบคุมความปลอดภัยที่ยืดหยุ่นได้อย่างง่ายดาย นักพัฒนาที่ไม่คุ้นเคยกับความปลอดภัยน้อยจะได้รับการคุ้มครองโดยค่าเริ่มต้นที่ปลอดภัย

นอกเหนือจากการจัดหาแพลตฟอร์มที่มีความเสถียรสำหรับต่อยอดแล้ว Android ยังให้การสนับสนุนเพิ่มเติมแก่นักพัฒนาในหลายๆ ด้าน ทีมรักษาความปลอดภัยของ Android มองหาช่องโหว่ที่อาจเกิดขึ้นในแอปและแนะนำวิธีแก้ไขปัญหาเหล่านั้น สำหรับอุปกรณ์ที่มี Google Play บริการ Play จะส่งการอัปเดตความปลอดภัยสำหรับไลบรารีซอฟต์แวร์ที่สำคัญ เช่น OpenSSL ซึ่งใช้เพื่อรักษาความปลอดภัยการสื่อสารของแอป การรักษาความปลอดภัยของ Android เปิดตัวเครื่องมือสำหรับทดสอบ SSL ( nogotofail ) ซึ่งช่วยให้นักพัฒนาค้นหาปัญหาด้านความปลอดภัยที่อาจเกิดขึ้นบนแพลตฟอร์มใดก็ตามที่พวกเขากำลังพัฒนา

Android ยังใช้ประโยชน์จากการสนับสนุนฮาร์ดแวร์พื้นฐานเพื่อความปลอดภัย ตัวอย่างเช่น เทคโนโลยี ARM TrustZone ใช้เพื่อจัดเตรียมพื้นที่จัดเก็บข้อมูลที่ปลอดภัยสำหรับคีย์การเข้ารหัส รวมถึงการรับรองความสมบูรณ์ในการบูต [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) ใช้เพื่อวัดเฟิร์มแวร์ที่โหลดก่อนที่จะบูต Android ซึ่งช่วยให้สามารถตรวจสอบระยะไกลได้ว่าเฟิร์มแวร์ไม่ได้รับผลกระทบจากช่องโหว่ที่สำคัญที่ทราบ ซึ่งสามารถนำไปใช้ทำอันตรายทั้งนักพัฒนาและผู้ใช้ได้

ข้อมูลเพิ่มเติมสำหรับนักพัฒนาแอป Android สามารถดูได้ที่ Developer.android.com

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

ดูข้อมูลเพิ่มเติมสำหรับผู้ใช้ปลายทางได้ใน ศูนย์ช่วยเหลือของ Nexus ศูนย์ช่วยเหลือของ Pixel หรือศูนย์ช่วยเหลือของผู้ผลิตอุปกรณ์ของคุณ

หน้านี้สรุปเป้าหมายของโปรแกรมความปลอดภัยของ Android อธิบายพื้นฐานของสถาปัตยกรรมความปลอดภัยของ Android และตอบคำถามที่เกี่ยวข้องที่สุดสำหรับสถาปนิกระบบและนักวิเคราะห์ความปลอดภัย โดยมุ่งเน้นไปที่คุณลักษณะด้านความปลอดภัยของแพลตฟอร์มหลักของ Android และไม่กล่าวถึงปัญหาด้านความปลอดภัยที่เกิดขึ้นกับแอปเฉพาะ เช่น ปัญหาที่เกี่ยวข้องกับเบราว์เซอร์หรือแอป SMS

พื้นหลัง

Android มอบแพลตฟอร์มโอเพ่นซอร์สและสภาพแวดล้อมของแอปสำหรับอุปกรณ์เคลื่อนที่

ส่วนและหน้าด้านล่างจะอธิบายคุณลักษณะด้านความปลอดภัยของแพลตฟอร์ม Android รูปที่ 1 แสดงองค์ประกอบด้านความปลอดภัยและข้อควรพิจารณาในระดับต่างๆ ของซอฟต์แวร์ Android Stack แต่ละส่วนประกอบจะถือว่าส่วนประกอบด้านล่างมีความปลอดภัยอย่างเหมาะสม ยกเว้นโค้ดระบบปฏิบัติการ Android จำนวนเล็กน้อยที่ทำงานเป็นรูท โค้ดทั้งหมดที่อยู่เหนือเคอร์เนล Linux จะถูกจำกัดโดย Application Sandbox

รูปที่ 1: กลุ่มซอฟต์แวร์ Android

รูปที่ 1 ชุดซอฟต์แวร์ Android

โครงสร้างหลักของแพลตฟอร์ม Android คือ:

  • ฮาร์ดแวร์อุปกรณ์: Android ทำงานบนการกำหนดค่าฮาร์ดแวร์ที่หลากหลาย รวมถึงโทรศัพท์มือถือ แท็บเล็ต นาฬิกา รถยนต์ สมาร์ททีวี กล่องเกม OTT และกล่องรับสัญญาณ Android ไม่เชื่อเรื่องโปรเซสเซอร์ แต่ใช้ประโยชน์จากความสามารถด้านความปลอดภัยเฉพาะฮาร์ดแวร์บางอย่าง เช่น ARM eXecute-Never
  • ระบบปฏิบัติการ Android: ระบบปฏิบัติการหลักสร้างขึ้นบนเคอร์เนล Linux ทรัพยากรของอุปกรณ์ทั้งหมด เช่น ฟังก์ชั่นกล้อง ข้อมูล GPS ฟังก์ชั่น Bluetooth ฟังก์ชั่นโทรศัพท์ และการเชื่อมต่อเครือข่าย สามารถเข้าถึงได้ผ่านระบบปฏิบัติการ
  • รันไทม์แอปพลิเคชัน Android: แอป Android ส่วนใหญ่มักเขียนด้วยภาษาการเขียนโปรแกรม Java และทำงานในรันไทม์ Android (ART) อย่างไรก็ตาม แอปจำนวนมาก รวมถึงบริการและแอปหลักของ Android เป็นแอปแบบเนทีฟหรือมีไลบรารีแบบเนทีฟด้วย ทั้ง ART และแอปเนทีฟทำงานในสภาพแวดล้อมความปลอดภัยเดียวกัน ซึ่งอยู่ภายใน Application Sandbox แอพจะได้รับส่วนเฉพาะของระบบไฟล์ซึ่งสามารถเขียนข้อมูลส่วนตัวได้ รวมถึงฐานข้อมูลและไฟล์ Raw

แอพ Android ขยายระบบปฏิบัติการหลักของ Android มีแหล่งที่มาหลักสองแหล่งสำหรับแอป:

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

บริการรักษาความปลอดภัยของกูเกิล

Google มอบชุดบริการบนคลาวด์ที่พร้อมใช้งานสำหรับอุปกรณ์ Android ที่เข้ากันได้กับ บริการ Google Mobile แม้ว่าบริการเหล่านี้ไม่ได้เป็นส่วนหนึ่งของ Android Open Source Project (AOSP) แต่ก็รวมอยู่ในอุปกรณ์ Android จำนวนมาก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการเหล่านี้ โปรดดูที่ การทบทวนความปลอดภัยของ Android ปี 2018

บริการรักษาความปลอดภัยหลักของ Google ได้แก่:

  • Google Play: Google Play คือชุดบริการที่ให้ผู้ใช้สามารถค้นพบ ติดตั้ง และซื้อแอปจากอุปกรณ์ Android หรือเว็บของตน Google Play ช่วยให้นักพัฒนาซอฟต์แวร์เข้าถึงผู้ใช้ Android และผู้มีโอกาสเป็นลูกค้าได้อย่างง่ายดาย Google Play ยังมีการตรวจสอบโดยชุมชน การตรวจสอบใบอนุญาต ของแอป การสแกนความปลอดภัยของแอป และบริการด้านความปลอดภัยอื่นๆ
  • การอัปเดต Android: บริการอัปเดต Android มอบความสามารถใหม่และการอัปเดตความปลอดภัยให้กับอุปกรณ์ Android ที่เลือก รวมถึงการอัปเดตผ่านทางเว็บหรือทางอากาศ (OTA)
  • บริการแอพ: เฟรมเวิร์กที่อนุญาตให้แอพ Android ใช้ความสามารถบนคลาวด์ เช่น ( การสำรองข้อมูล ) ข้อมูลแอพและการตั้งค่า และการส่งข้อความจากคลาวด์ไปยังอุปกรณ์ ( C2DM ) สำหรับการส่งข้อความแบบพุช
  • ตรวจสอบแอป: เตือนหรือบล็อกการติดตั้งแอปที่เป็นอันตรายโดยอัตโนมัติ และสแกนแอปบนอุปกรณ์อย่างต่อเนื่อง เตือนหรือลบ แอปที่เป็นอันตราย
  • 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 มอบ การอัปเดตรายเดือน ให้กับอุปกรณ์ Google Android และพันธมิตรด้านการผลิตอุปกรณ์ทั้งหมดของเรา

สถาปัตยกรรมความปลอดภัยของแพลตฟอร์ม

Android พยายามที่จะเป็นระบบปฏิบัติการที่ปลอดภัยและใช้งานได้มากที่สุดสำหรับแพลตฟอร์มมือถือโดยการนำการควบคุมความปลอดภัยของระบบปฏิบัติการแบบเดิมมาใช้ใหม่เพื่อ:

  • ปกป้องแอปและข้อมูลผู้ใช้
  • ปกป้องทรัพยากรระบบ (รวมถึงเครือข่าย)
  • ให้การแยกแอปออกจากระบบ แอปอื่นๆ และจากผู้ใช้

เพื่อให้บรรลุวัตถุประสงค์เหล่านี้ Android จึงมีคุณลักษณะด้านความปลอดภัยที่สำคัญเหล่านี้:

  • การรักษาความปลอดภัยที่แข็งแกร่งในระดับระบบปฏิบัติการผ่านเคอร์เนล Linux
  • แซนด์บ็อกซ์แอปบังคับสำหรับแอปทั้งหมด
  • การสื่อสารระหว่างกระบวนการที่ปลอดภัย
  • การลงนามแอป
  • สิทธิ์ที่กำหนดโดยแอปและสิทธิ์ที่ผู้ใช้อนุญาต