[Usenix 2013] นักวิจัยแกะโค้ดและโปรโตคอล Dropbox สำเร็จ

Dropbox

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

ไฟล์ exe ของ Dropbox นั้นภายในเป็นไฟล์ zip ที่รวมเอา Python27.dll รุ่นพิเศษที่ Dropbox สร้างไว้ใช้งานเองเข้าไว้ในตัว โดยตัวแกนไพธอนนี้ถูกแพตซ์เพื่อให้อ่านไฟล์ pyc รุ่นพิเศษที่เข้ารหัสเอาไว้

การเชื่อมต่อ Dropbox นั้นใช้ SSL โดยฝังใบรับรองไว้ใน DLL โดยตรง ทำให้การดักฟังแบบ man-in-the-middle ก็ยังทำได้ลำบาก ทีมงานอาศัยการเปลี่ยนออปเจกต์ด้วยการทำ Reflective DLL เพื่อแพตซ์ฟังก์ชั่นที่น่าสนใจทั้งหมด แล้วดึงข้อมูลที่ส่งเข้าออก SSL ออกมาโดยตรง ทำให้ได้ข้อมูลการสื่อสารออกมาได้

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

ที่มา – Blognone Usenix: Looking inside the (Drop) box (PDF), SD Times