Apple Cybersecurity

5 เคล็ดลับสำหรับผู้ทดสอบการเจาะระบบ iOS

5 แนวทางการทดสอบระบบ (Penetration Test) ของนักพัฒนาแอปพลิเคชั่น

คำแนะนำสำหรับนักพัฒนาแอปพลิเคชั่น iOS ที่ต้องการทดสอบความปลอดภัยของระบบด้วยการทดสอบการเจาะระบบ (Penetration Test)

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

1. ลองคิดในมุมของโปรแกรมเมอร์

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

ยกตัวอย่างเช่น โปรแกรมเมอร์ที่ใช้ Java ส่วนมากมักออกแบบหน้าตาและฟังก์ชั่นซ้ำแล้วซ้ำเล่า ต่างกับโปรแกรมเมอร์เว็บที่จะมีฟังก์ชั่นจำนวนมากและใช้ WebKit เป็นหลัก แต่ทั้งสองนักพัฒนาจะใช้ high-level APIs แต่มักจะมีจุดอ่อนใน low-level APIs

2. หา Source Code

การค้นหา Source Code จะทำให้คุณประหยัดเวลสค้นหาข้อผิดพลาด (Error) ต่างๆได้มาก และยังช่วยประหยัดต้นทุนได้อีกด้วย เป้าหายของการค้นหา Source Code ก็คือการค้นหาช่องโหว่ให้มากที่สุดและแก้ไข

Objective-C เป็นการย้อนรอยวิศวกรรมที่ดี และให้มุมมองเกี่ยวกับกลไลของแอปพลิเคชั่น แม้ไม่ได้เริ่มจาก Source Code เนื่องจากแฮกเกอร์มีเวลาค้นหาช่องโหว่และข้อผิดพลาดไม่จำกัด ดังนั้นการค้นหาและอุดช่องโหว่จึงเป็นหน้าที่ของคุณ

3. รู้จักจุดอ่อนของแต่ละภาษา

ในขณะที่ Objective-C และ Cocoa ช่วยป้องกันข้อผิดพลาดของ C และ C++ แต่การใช้ API อันตรายอย่าง Strcpy และ Strcat หรือกลไก Method Swizzling ก็อาจทำให้เกิดข้อผิดพลาดร้ายแรงได้

4. ตรวจสอบโค้ดก่อนนำมาใช้

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

5. ทดสอบ 2 แบบ: ทั้ง Jailbreak และไม่ Jailbreak

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

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

Author: Denise Giusto Bilić
Source:
https://www.welivesecurity.com/2018/07/05/five-tips-pentesters-ios/
Translated by: Worapon H.

%d bloggers like this: