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

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

รูปที่ 1 สแต็กซอฟต์แวร์ Android

องค์ประกอบหลักของแพลตฟอร์ม Android มีดังนี้

  • ฮาร์ดแวร์ของอุปกรณ์: Android ทำงานบนการกำหนดค่าฮาร์ดแวร์ที่หลากหลาย ซึ่งรวมถึงโทรศัพท์มือถือ แท็บเล็ต นาฬิกา รถยนต์ สมาร์ททีวี กล่องเกม OTT และกล่องรับสัญญาณ Android ไม่ขึ้นอยู่กับโปรเซสเซอร์ แต่ใช้ประโยชน์จากความสามารถด้านความปลอดภัยเฉพาะฮาร์ดแวร์บางอย่าง เช่น ARM eXecute-Never
  • ระบบปฏิบัติการ Android: ระบบปฏิบัติการหลักสร้างขึ้นจากเคอร์เนล Linux ทรัพยากรของอุปกรณ์ทั้งหมด เช่น ฟังก์ชันกล้อง ข้อมูล GPS, ฟังก์ชันบลูทูธ, ฟังก์ชันโทรศัพท์ และการเชื่อมต่อเครือข่าย จะเข้าถึงผ่านระบบปฏิบัติการ
  • Android Application Runtime: แอป Android ส่วนใหญ่มักเขียนด้วยภาษาโปรแกรม Java และทำงานใน Android Runtime (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 บางรุ่น ซึ่งรวมถึงการอัปเดต ผ่านเว็บหรือแบบ Over-The-Air (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 จะมอบการอัปเดตรายเดือน ให้กับอุปกรณ์ Android ของ Google และพาร์ทเนอร์ผู้ผลิตอุปกรณ์ทั้งหมด

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

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

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

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

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