How to test insecure data storage – NSLog

บทนำ (Overview)

ข้อมูล Logging ของโปรแกรม iOS ถูกนำมาช่วยให้โปรแกรมเมอร์สามารถตรวจสอบข้อผิดพลาดต่าง ๆ ในการเขียนโปรแกรม แต่บางครั้งโปรแกรมอาจจะลืมปิด Logging ดังกล่าวเมื่อนำขึ้นใช้งานจริง ซึ่งบางครั้งอาจมีข้อมูลสำคัญอย่างเช่น รหัสผ่าน หรือบัตรเครดิต ปรากฏอยู่ ซึ่งข้อมูล Log  ดังกล่าวจะถูกจัดเก็บ (Cached) จนกระทั่งเครื่อง iOS มีการ Reboot ใหม่อีกครั้ง โดยปกติ Log จะะถูกทำงานเมื่อเรียกใช้ method NSLog ซึ่ง Method ดังกล่าว จะถูกส่งให้ Apple System Log (ASL) ซึ่งเราสามารถตรวจสอบได้โดยใช้ โปรแกรม XCODE ในการตรวจสอบดังนี้ 

 

ขั้นตอน (Steps)

  1. เครื่อง “iOS” ต้องผ่านการ Jailbreak เสียก่อน (How to jailbreak iOS – “PP Jailbreak”)
  2. ติดตั้งโปรแกรมช่องโหว่ “DVIA” บทเครื่อง iOS
  3. ติดตั้งโปรแกรม “xcode” เสียก่อน (https://developer.apple.com/xcode/) บน MACOS
  4. เสียบสายสัญญาณเครื่อง iOS กับเครื่อง MACOS
  5. จากนั้นเปิดโปรแกรม XCODE และไปที่เมนู Window | Devices Menu | Target Device
  6. จะพบเครื่อง iOS ด้านขวาให้คลิกเลือกเครื่อง iOS ที่เราติดตั้งโปรแกรมช่องโหว่
  7. ที่โปรแกรมช่องโหว่ให้ไปที่ Side Channel Data Leakage
  8. กรอกข้อมูลสำคัญลงไป
  9. จากนั้นตรวจสอบ NSLOG ที่ XCODE ที่เปิดไว้ หรือใช้วิธี Save ลง Text File 

อ้างอิง

  • https://www.owasp.org/index.php/Mobile_Top_10_2014-M4
  • The Mobile Application Hacker’s Handbook, Wiley, Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse

ใส่ความเห็น