ทำความเข้าใจความเสี่ยง 10 อันดับแรกของ OWASP Mobile กับเคสในโลกแห่งความจริง

เผยแพร่แล้ว: 2020-01-28

การดำเนินการบันทึกอุตสาหกรรมในการพัฒนาแอปพลิเคชันป้องกันการแฮ็ก 100% มาพร้อมกับความรับผิดชอบและการรับประกันพื้นฐานว่าไม่มีโซลูชันดิจิทัลที่พัฒนาภายใต้ชื่อของเราใดที่จะเผชิญกับการละเมิดความปลอดภัย

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

การช่วยให้เราอยู่เหนือเกมในเรื่องการรักษาความปลอดภัยคือการมีความรู้อย่างครบถ้วนเกี่ยวกับ แนวทางปฏิบัติในการเข้ารหัสที่ปลอดภัยของ OWASP (โครงการ Open Web Application Security) เป็นชุมชนออนไลน์ของผู้เชี่ยวชาญด้านความปลอดภัยที่ได้พัฒนาเอกสาร สื่อการเรียนรู้ และเครื่องมือฟรีสำหรับการสร้างแอปพลิเคชันมือถือและเว็บที่ปลอดภัย

นอกเหนือจากสิ่งอื่น ๆ พวกเขายังได้รวบรวมรายการ ภัยคุกคามความปลอดภัย OWASP Mobile Top 10 ในแอปพลิเคชันมือถือ

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

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

ก่อนดูความเสี่ยง ให้เราดูสถิติก่อน

NowSecure ตรวจสอบแอปใน Google Play Store และ App Store ระบุว่าแอปมากกว่า 85% ละเมิดความเสี่ยงอย่างใดอย่างหนึ่ง

ของแอปพลิเคชันเหล่านี้ 50% มีการจัดเก็บข้อมูลที่ไม่ปลอดภัย และบางแอปจำนวนเท่ากันที่ทำงานกับ ความเสี่ยงในการสื่อสาร ที่ไม่ ปลอดภัย นี่คือกราฟที่แสดงเปอร์เซ็นต์การเกิดขึ้นของ ความเสี่ยง 10 อันดับแรกของ OWASP Mobile

owasp mobile top 10 voilation rates

รายชื่อ 10 ภัยคุกคามที่พบบ่อยที่สุดต่อแอปพลิเคชันมือถือและแนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง

M1: การใช้แพลตฟอร์มที่ไม่เหมาะสม

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

กรณีในโลกแห่งความเป็นจริง:

แอพ iOS สามตัว : “แอพ Fitness Balance”, “Heart Rate Monitor” และ “แอพ Calories Tracker” มาเพื่อเลี่ยงผ่าน Touch ID ของ Apple พวกเขาขอให้ผู้ใช้ใช้ลายนิ้วมือเพื่อรับข้อมูลการออกกำลังกาย ในขณะที่พวกเขากำลังใช้ลายนิ้วมือเพื่อเรียกเก็บเงินจาก App Store

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

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

M2: การจัดเก็บข้อมูลที่ไม่ปลอดภัย

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

ช่องโหว่ในการจัดเก็บข้อมูลที่ไม่ปลอดภัยมักจะนำไปสู่ความเสี่ยงเหล่านี้:

  • การฉ้อโกง
  • ขโมยข้อมูลประจำตัว
  • การสูญเสียวัสดุ
  • ชื่อเสียงเสียหาย
  • การละเมิดนโยบายภายนอก (PCI)

กรณีในโลกแห่งความเป็นจริง :

แอพหาคู่ เช่น Tinder, OKCupid และ Bumble ได้รับการพิจารณาครั้งแล้วครั้งเล่าสำหรับแนวทางปฏิบัติในการจัดเก็บข้อมูลที่ไม่ปลอดภัย ระยะการรักษาความปลอดภัยที่มีอยู่ในแอปเหล่านี้แตกต่างกันไปตามความเป็นไปได้ ความรุนแรง และความเป็นไปได้ สามารถเปิดเผยชื่อผู้ใช้ รายละเอียดการเข้าสู่ระบบ ประวัติข้อความ และแม้แต่ตำแหน่ง นอกเหนือจากกิจกรรมบัญชีส่วนตัวอื่นๆ

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

  • สำหรับ iOS แนวทางปฏิบัติด้านความปลอดภัยของ OWASP แนะนำให้ใช้แอปที่มีช่องโหว่เช่น iGoat เพื่อคุกคามโมเดลเฟรมเวิร์กการพัฒนาและแอป ซึ่งจะช่วยให้ นักพัฒนาแอป ios เข้าใจว่า API จัดการกับกระบวนการของแอปและสินทรัพย์ข้อมูลอย่างไร
  • นัก พัฒนาแอพ Android สามารถใช้เชลล์ Android Debug Bridge เพื่อตรวจสอบการอนุญาตไฟล์ของแอพเป้าหมายและ DBMS เพื่อตรวจสอบการเข้ารหัสฐานข้อมูล พวกเขาควรใช้ Memory Analysis Tool และ Android Device Monitor เพื่อให้แน่ใจว่าหน่วยความจำของอุปกรณ์ไม่มีข้อมูลที่ไม่ได้ตั้งใจ

M3: การสื่อสารที่ไม่ปลอดภัย

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

  • ปฏิปักษ์ที่แชร์เครือข่ายท้องถิ่นของคุณ – Wi-Fi ที่ถูกบุกรุก
  • อุปกรณ์เครือข่ายหรือผู้ให้บริการ – เสาส่งสัญญาณมือถือ พร็อกซี่ เราเตอร์ ฯลฯ
  • มัลแวร์บนอุปกรณ์มือถือ

การสกัดกั้นข้อมูลที่ละเอียดอ่อนผ่านช่องทางการสื่อสารจะจบลงด้วยการละเมิดความเป็นส่วนตัว ซึ่งอาจนำไปสู่:

  • ขโมยข้อมูลประจำตัว
  • การฉ้อโกง
  • ความเสียหายต่อชื่อเสียง

กรณีในโลกแห่งความเป็นจริง:

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

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

"คุณสามารถระบุได้ว่าโทรศัพท์หรือเด็กอยู่ที่ไหน คุณสามารถเข้าถึงเสียง หรือโทรออกหาเด็กได้" Deral Heiland หัวหน้าฝ่ายวิจัย IoT ของ Rapid7 กล่าว

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

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

  • ใช้ใบรับรองที่ได้รับจากการตรวจสอบลูกโซ่ SSL ที่เชื่อถือได้
  • อย่าส่งข้อมูลที่ละเอียดอ่อนผ่านช่องทางอื่น เช่น MMS, SMS หรือการแจ้งเตือนแบบพุช
  • ใช้ชั้นการเข้ารหัสแยกต่างหากกับข้อมูลที่ละเอียดอ่อนก่อนที่จะมอบให้กับช่องทาง SSL

M4: การตรวจสอบสิทธิ์ที่ไม่ปลอดภัย

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

ผลกระทบทางธุรกิจของ M4 สามารถ:

  • ขโมยข้อมูล
  • ความเสียหายต่อชื่อเสียง
  • การเข้าถึงข้อมูลโดยไม่ได้รับอนุญาต

กรณีในโลกแห่งความเป็นจริง :

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

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

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

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

M5: ความเสี่ยงในการเข้ารหัสไม่เพียงพอ

ตัวแทนภัยคุกคามในกรณีนี้คือผู้ที่มีการเข้าถึงข้อมูลทางกายภาพซึ่งถูกเข้ารหัสอย่างไม่ถูกต้อง หรือที่ที่มัลแวร์ดำเนินการในนามของศัตรู

การเข้ารหัสที่ใช้งานไม่ได้มักส่งผลให้เกิดกรณีเหล่านี้:

  • ขโมยข้อมูล
  • ขโมยทรัพย์สินทางปัญญา
  • ขโมยรหัส
  • การละเมิดความเป็นส่วนตัว
  • ความเสียหายต่อชื่อเสียง

กรณีในโลกแห่งความเป็นจริง :

บางครั้งที่ผ่านมา การแจ้งเตือนจากทีมรับมือเหตุฉุกเฉินทางไซเบอร์ของ DHS Industrial Control Systems และที่ปรึกษาของ Philips ได้เตือนผู้ใช้ถึงช่องโหว่ที่อาจเกิดขึ้นใน แอ Philips HealthSuite Health สำหรับ Android

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

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

  • ในการแก้ปัญหา OWASP Top 10 Mobile ความเสี่ยง ที่เกิดขึ้นบ่อยที่สุด นักพัฒนาต้องเลือกอัลกอริธึมการเข้ารหัสที่ทันสมัยเพื่อเข้ารหัสแอปของตน การเลือกอัลกอริทึมจะดูแลช่องโหว่ในระดับที่ดี
  • หากผู้พัฒนาไม่ใช่ผู้เชี่ยวชาญด้านความปลอดภัย พวกเขาต้องละเว้นจากการสร้างรหัสเข้ารหัสของตัวเอง

M6: ความเสี่ยงในการอนุญาตที่ไม่ปลอดภัย

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

สามารถนำไปสู่ปัญหาต่อไปนี้:

  • ขโมยข้อมูล
  • ความเสียหายต่อชื่อเสียง
  • การฉ้อโกง

กรณีในโลกแห่งความเป็นจริง :

ผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูลที่ Pen Test Partners แฮ็ก ระบบเตือนภัยรถอัจฉริยะ Pandora ตามทฤษฎีแล้ว แอปพลิเคชั่นนี้ใช้เพื่อติดตามรถ ตัดเครื่องยนต์หากถูกขโมย และล็อครถจนกว่าตำรวจจะมาถึง

อีกด้านหนึ่งของเหรียญ แฮ็กเกอร์สามารถจี้บัญชีและเข้าถึงข้อมูลทั้งหมดและฟังก์ชันการแจ้งเตือนอัจฉริยะ นอกจากนี้ พวกเขาสามารถ:

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

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

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

M7: ความเสี่ยงด้านคุณภาพของโค้ดไม่ดี

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

กรณีในโลกแห่งความเป็นจริง :

ปีที่แล้ว WhatsApp ได้แก้ไขช่องโหว่ที่แฮ็กเกอร์ใช้ประโยชน์จากการติดตั้งมัลแวร์เฝ้าระวังที่เรียกว่า Pegasus Spyware บนสมาร์ทโฟน สิ่งที่พวกเขาต้องทำคือโทรผ่านเสียงของ WhatsApp ไปยังหมายเลขโทรศัพท์เป้าหมาย

ภายในไม่กี่ขั้นตอนง่ายๆ แฮกเกอร์สามารถเข้าไปในอุปกรณ์ของผู้ใช้และเข้าถึงได้จากระยะไกล

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

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

M8: ความเสี่ยงจากการปลอมแปลงรหัส

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

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

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

M9: ความเสี่ยงด้านวิศวกรรมย้อนกลับ

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

กรณีในโลกแห่งความเป็นจริง :

เมื่อเร็วๆ นี้ Pokemon Go ต้องเผชิญกับการละเมิดความปลอดภัยเมื่อพบว่าผู้ใช้ได้ทำวิศวกรรมย้อนกลับแอปเพื่อทราบบริเวณใกล้เคียงของ Pokemons และจับพวกเขาในไม่กี่นาที

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

  • วิธีที่ดีที่สุดที่จะปกป้องแอปจากความเสี่ยง ตาม OWASP mobile security คือการใช้เครื่องมือเดียวกับที่แฮกเกอร์ใช้สำหรับวิศวกรรมย้อนกลับ
  • นักพัฒนายังต้องสร้างความสับสนให้กับซอร์สโค้ดเพื่อให้อ่านยากและทำวิศวกรรมย้อนกลับ

M10: ความเสี่ยงจากการทำงานภายนอก

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

กรณีในโลกแห่งความเป็นจริง :

แนวคิดของแอป Wifi File Transfer คือการเปิดพอร์ตบน Android และอนุญาตการเชื่อมต่อจากคอมพิวเตอร์ ปัญหา ? ไม่มีการพิสูจน์ตัวตน เช่น รหัสผ่าน หมายความว่าทุกคนสามารถเชื่อมต่อกับอุปกรณ์และเข้าถึงได้เต็มรูปแบบ

แนวทางปฏิบัติที่ดีที่สุดที่ควรหลีกเลี่ยง:

  • ตรวจสอบให้แน่ใจว่าไม่มีโค้ดทดสอบใน build ขั้นสุดท้าย
  • ตรวจสอบให้แน่ใจว่าไม่มีสวิตช์ที่ซ่อนอยู่ในการตั้งค่าการกำหนดค่า
  • บันทึกต้องไม่มีคำอธิบายกระบวนการเซิร์ฟเวอร์แบ็กเอนด์
  • ตรวจสอบให้แน่ใจว่าบันทึกของระบบทั้งหมดไม่ได้เปิดเผยต่อแอปโดย OEM
  • ปลายทาง API จะต้องมีการจัดทำเอกสารไว้อย่างดี