ทดสอบเจาะระบบแอปพลิเคชันมือถือ
Methodology
เราทดสอบแอปพลิเคชันมือถืออย่างไร
ทุกงานแอปพลิเคชันมือถือเดินผ่านสามเฟสการวิเคราะห์ ทั้งบน iOS และ Android ตั้งแต่ตัว binary ที่ปล่อยออกมา ไปจนถึงแอปพลิเคชันตอนรัน และ traffic ที่แอปพลิเคชันส่งออกไป
Static Analysis
iOS
Android
วิเคราะห์ binary
- ไล่ดู library ทั้งหมด
- reverse engineer ด้วยการ disassemble ตัว package
- วิเคราะห์ component
ทำ reverse engineering
- decompile
- patch
- วิเคราะห์ component
- เข้าถึง Java source ที่ decompile ออกมา
Dynamic Analysis
iOS
Android
hook เข้ากระบวนการของแอป
- ดักและแก้ไข function call
- สำรวจ file system
- ตรวจ memory และ log
Network Analysis
iOS
Android
ดักการสื่อสารบนเครือข่าย
- ดัก HTTP/SSL/HTTPS/TLS
- ดัดแปลง traffic
เริ่มจากระบบ เป้าหมาย และข้อจำกัดของคุณ ที่เหลือปรับตามได้ทั้งหมด
ติดต่อเราเพื่อพูดคุย →แอปพลิเคชันมือถือของคุณไปนั่งอยู่บนเครื่องที่คุณคุมไม่ได้ วิ่งผ่าน network ที่ไว้ใจไม่ได้ แล้วยังพก logic กับความลับที่ผู้โจมตีค่อย ๆ แกะออกมาดูได้ตามจังหวะของตัวเอง เราทดสอบแอปพลิเคชัน iOS และ Android แบบเดียวกับที่ผู้โจมตีตัวจริงลงมือ ตั้งแต่ binary บนเครื่อง ไปจนถึงตัวแอปพลิเคชันตอนรัน และ traffic ที่แอปพลิเคชันส่งออกไป แล้วส่งมอบ finding ที่ทีมพัฒนาของคุณทำซ้ำและแก้ไขได้จริง
ทำไมแอปพลิเคชันมือถือต้องทดสอบแยก
Web pentest กับ mobile pentest ไม่ใช่งานเดียวกัน แอปพลิเคชันมือถือถูกแจกออกไปเป็น binary ที่ไปอยู่บนเครื่องในมือผู้ใช้ ผู้โจมตีจึง decompile ตัวแอปพลิเคชันได้ แก้ค่าตอนรันได้ และส่องทุกอย่างที่แอปพลิเคชันเก็บไว้ในเครื่องได้ นี่คือ attack surface ที่การทดสอบฝั่ง server ไม่เคยแตะ — key ที่ฝังตายในโค้ด, certificate pinning ที่อ่อน, local storage ที่ไม่ปลอดภัย และ logic ที่ไว้ใจ client มากไป คือปัญหาที่เราเจอซ้ำแล้วซ้ำอีก และไม่มีข้อไหนโผล่มาเลยถ้าทดสอบแต่ API จากข้างนอก
การทดสอบแอปพลิเคชันมือถือยังต้องดูควบคู่กับ backend ที่แอปพลิเคชันคุยด้วย finding ที่กระทบหนักที่สุดหลายอย่าง ทั้ง broken authorization, session handling ที่อ่อน และ API key ที่รั่ว จะใช้โจมตีได้จริงก็ต่อเมื่อดู client กับ server พร้อมกัน งานทดสอบมือถือของเราจึงขยายเข้าไปถึง API และ backend service ที่แอปพลิเคชันพึ่งพาได้ เราแนะนำให้ทดสอบก่อนปล่อยเวอร์ชันใหญ่ และทดสอบซ้ำทุกครั้งที่แก้ส่วนสำคัญอย่าง authentication การชำระเงิน หรือข้อมูลที่แอปพลิเคชันเก็บไว้ในเครื่อง เพราะ app store ผลักอัปเดตออกมาบ่อย ความปลอดภัยของแอปพลิเคชันมือถือจึงไม่ใช่งานทำครั้งเดียวจบ เวอร์ชันที่ผู้ใช้รันอยู่ค่อย ๆ ห่างออกจากเวอร์ชันที่คุณประเมินไว้ล่าสุด
เราทดสอบอย่างไร
งานทดสอบทุกครั้งเดินผ่านการวิเคราะห์สามเฟส ทั้งบน iOS และ Android ด้วยระเบียบวิธีเดียวกับที่แสดงไว้ด้านบน
- Static analysis — เราทำงานจาก package ที่ปล่อยออกมาจริง ทั้ง IPA และ APK บน iOS ทำ binary analysis ไล่ดู library ที่ link มา, disassemble ตัว package แล้ววิเคราะห์ส่วนประกอบ ส่วนบน Android เรา reverse engineer ตัวแอปพลิเคชัน decompile, patch แล้วอ่าน Java source ที่กู้กลับมา เพื่อเข้าใจว่าแอปพลิเคชันทำงานจริงยังไง
- Dynamic analysis — เรา hook แอปพลิเคชันตอนที่กำลังรัน ดักและแก้ function call เดินสำรวจ file system แล้วส่อง memory กับ logs ตรงนี้แหละที่สมมติฐานเรื่องความไว้ใจฝั่ง client, storage ที่ไม่ปลอดภัย และการควบคุมที่ bypass ได้จะโผล่ออกมา
- Network analysis — เราดัก traffic HTTP/SSL/HTTPS/TLS ของแอปพลิเคชันแล้วแก้ค่า ทดสอบการตรวจ certificate, transport security และดูว่า backend เช็คซ้ำทุกอย่างที่ client อ้างมาหรือเปล่า
เครื่องมือเปลี่ยนไปตามเป้าหมาย ทั้ง Frida, Objection, Burp Suite, jadx, Drozer และ SDK ของแต่ละแพลตฟอร์ม แต่เครื่องมือมีไว้รับใช้วิธีการ ไม่ใช่ให้วิธีการเดินตามเครื่องมือ ทุก finding ที่รายงานผ่านการยืนยันด้วยมือ
ขั้นตอนการทำงาน
นอกจากระเบียบวิธีเชิงเทคนิคด้านบน เรายังมีกระบวนการห้าขั้นตอนเดียวกับที่รันในทุก penetration test
- Scoping — ตกลงกันว่าแอปพลิเคชันไหน แพลตฟอร์มอะไร (iOS, Android หรือทั้งคู่) และ build variant ไหนอยู่ใน scope แล้วคุณจะได้ proposal ที่ระบุไทม์ไลน์ชัดเจน ไม่มีการคิดเงินแบบปลายเปิด
- Rules of engagement — test account, backend environment และกฎการจัดการข้อมูลตกลงกันให้จบก่อนเริ่มทดสอบ
- Testing — ลงมือทำ static, dynamic และ network analysis ด้วยมือ ตามขอบเขตที่ตกลงกันไว้
- Reporting — executive summary สำหรับผู้บริหาร และ technical finding ที่ทีมวิศวกรของคุณทำซ้ำได้
- Retest & debrief — พอทีมคุณแก้เสร็จ เรากลับมาตรวจทีละข้อว่าแก้จริง แล้วปิดงานด้วยการนัดคุย debrief
สิ่งที่คุณได้รับ
- Executive summary — ภาพความเสี่ยงระดับธุรกิจ เหมาะให้ผู้บริหารและผู้ตรวจสอบอ่าน
- Findings พร้อมระดับความรุนแรง — ประเมินช่องโหว่ตาม Risk Level โดยผู้เชี่ยวชาญมืออาชีพ
- ขั้นตอนทำซ้ำ — POC และวิธีทดสอบซ้ำเบื้องต้น สำหรับตรวจสอบด้วยตัวเองได้
- คำแนะนำการแก้ไข — วิธีแก้ที่ทำได้จริงและเจาะจงแต่ละแพลตฟอร์มทั้ง iOS และ Android ไม่ใช่คำแนะนำกว้าง ๆ
- การ retest ยืนยันผล — ทีมงาน Revisit ซ้ำ เพื่อตรวจว่าช่องโหว่ต่าง ๆ ได้รับการแก้ไขเรียบร้อยแล้วหรือไม่
สอดคล้องกับผลงานที่ผ่านมาของทั้งทีม เราไม่เคยส่งรายงาน pentest เปล่าแม้แต่ฉบับเดียว ทุกงานที่ผ่านมาเจอ finding จริงที่ผ่านการยืนยันแล้วทั้งหมด
ทีมและใบรับรอง
งานทดสอบแอปพลิเคชันมือถือทำโดยทีมภายในของเราที่ถือใบรับรองในวงการอย่าง OSCP, OSCE, CREST CRT, CREST CPSA และ GIAC GREM พร้อมใบรับรองสายมือถือโดยเฉพาะอย่าง eLearnSecurity Mobile Application Penetration Tester (eMAPT) และ GIAC Mobile Device Security Analyst (GMOB) ดูใบรับรองทั้งหมดที่ทีมถือ
มาตรฐานที่ใช้
การทดสอบของเราเดินตามระเบียบวิธี NIST SP800-115 และยึด OWASP Mobile Application Security Verification Standard (MASVS) กับ Mobile Application Security Testing Guide (MASTG) เป็นแนวทาง เอกสารอ้างอิงที่วงการยอมรับว่าการประเมินแอปพลิเคชันมือถือที่รอบด้านควรครอบคลุมอะไรบ้าง ถ้า compliance หรือข้อกำหนดของ app store ต้องการ เราปรับงานให้ตรงกับ MASVS verification level ที่เจาะจงได้ แทนที่จะใช้เช็กลิสต์แบบเดียวกันหมด ถ้าแอปพลิเคชันของคุณจัดการข้อมูลบัตร งานทดสอบมือถือก็ผนวกเข้าไปใน ขอบเขต PCI DSS ที่กว้างกว่า และถ้าจัดการข้อมูลส่วนบุคคล ผลก็ป้อนเข้าสู่การควบคุมด้านความเป็นส่วนตัวที่ ทีมที่ปรึกษา ของเราช่วยคุณวางไว้
ตรวจทานล่าสุด: 11 Jul 2026
ขอดูตัวอย่างรายงานคำถามที่พบบ่อย
ทำไมแอปพลิเคชันมือถือต้องทดสอบแยก ต่างหากจากการทดสอบเว็บหรือ API?
แอปพลิเคชันมือถือถูกแจกออกไปเป็น binary ที่ไปอยู่บนเครื่องในมือผู้ใช้ ผู้โจมตีจึง decompile ตัวแอปพลิเคชันได้ แก้ค่าตอนรันได้ และส่องทุกอย่างที่แอปพลิเคชันเก็บไว้ในเครื่องได้ นี่คือ attack surface ที่การทดสอบฝั่ง server ไม่เคยแตะ key ที่ฝังตายในโค้ด certificate pinning ที่อ่อน local storage ที่ไม่ปลอดภัย และ logic ที่ไว้ใจ client มากไป คือปัญหาที่เราเจอซ้ำแล้วซ้ำอีก และไม่มีข้อไหนโผล่มาเลยถ้าทดสอบแต่ API จากข้างนอก
คุณทดสอบแอปพลิเคชันมือถืออย่างไร?
งานทดสอบเดินผ่านการวิเคราะห์สามเฟส ทั้งบน iOS และ Android เริ่มที่ static analysis ทำงานจาก IPA/APK ที่ปล่อยออกมาจริง บน iOS ทำ binary analysis บน Android decompile แล้ว reverse engineer ต่อ จากนั้น dynamic analysis hook แอปพลิเคชันตอนรันเพื่อดัก function call ส่อง storage และ bypass การควบคุม แล้วปิดท้ายด้วย network analysis ดักและแก้ traffic HTTP/TLS เพื่อทดสอบการตรวจ certificate และ transport security ทุกปัญหาผ่านการยืนยันด้วยมือ
คุณทดสอบ backend และ API ที่แอปพลิเคชันคุยด้วยไหม?
ทดสอบ ถ้าอยู่ใน scope finding ที่กระทบหนักที่สุดหลายอย่าง ทั้ง broken authorization, session handling ที่อ่อน และ API key ที่รั่ว จะใช้โจมตีได้จริงก็ต่อเมื่อดู client กับ server พร้อมกัน งานทดสอบมือถือของเราจึงขยายเข้าไปถึง API และ backend service ที่แอปพลิเคชันพึ่งพาได้
คุณครอบคลุมแพลตฟอร์มและมาตรฐานอะไรบ้าง?
iOS และ Android การทดสอบเดินตามระเบียบวิธี NIST SP800-115 และยึด OWASP Mobile Application Security Verification Standard (MASVS) กับ Mobile Application Security Testing Guide (MASTG) เป็นแนวทาง ถ้าข้อกำหนดของคุณต้องการ เราปรับงานให้ตรงกับ MASVS verification level ที่เจาะจงได้ แทนที่จะใช้เช็กลิสต์แบบเดียวกันหมด

