- Google เปิดซอร์ส Magika ซึ่งเป็นระบบระบุประเภทไฟล์ที่ใช้ AI
- Magika ใช้โมเดลดีปเลิร์นนิงที่ปรับแต่งและเพิ่มประสิทธิภาพมาโดยเฉพาะ ทำให้ระบุไฟล์ได้อย่างแม่นยำภายในเวลาไม่กี่มิลลิวินาทีแม้บน CPU
- สามารถทดลองใช้ Magika web demo ได้ และติดตั้งเป็นไลบรารี Python หรือเครื่องมือบรรทัดคำสั่งแบบสแตนด์อโลนได้ด้วยคำสั่ง
pip install magika
ทำไมการระบุประเภทไฟล์จึงเป็นเรื่องยาก
- ตั้งแต่ยุคแรกของคอมพิวติ้ง การตรวจจับประเภทไฟล์อย่างแม่นยำมีความสำคัญต่อการตัดสินใจว่าจะประมวลผลไฟล์อย่างไร
- Linux มี libmagic และยูทิลิตี file ซึ่งถูกใช้เป็นมาตรฐานโดยพฤตินัยของการระบุประเภทไฟล์มานานกว่า 50 ปี
- การตรวจจับประเภทไฟล์เป็นสิ่งจำเป็นเพื่อให้ซอฟต์แวร์หลากหลายประเภท เช่น เว็บเบราว์เซอร์และโค้ดเอดิเตอร์ เรนเดอร์ไฟล์ได้อย่างถูกต้อง
- เนื่องจากแต่ละฟอร์แมตไฟล์มีโครงสร้างต่างกัน หรือบางครั้งไม่มีโครงสร้างเลย การระบุประเภทไฟล์อย่างแม่นยำจึงเป็นปัญหาที่ขึ้นชื่อว่ายาก
- libmagic และซอฟต์แวร์ระบุประเภทไฟล์ส่วนใหญ่พึ่งพา heuristic และกฎที่สร้างด้วยมือเพื่อตรวจจับแต่ละฟอร์แมตไฟล์
- แนวทางที่ทำด้วยมือเช่นนี้ใช้เวลามากและเกิดข้อผิดพลาดได้ง่าย
ประสิทธิภาพของ Magika
- ด้วยโมเดล AI และชุดข้อมูลฝึกขนาดใหญ่ Magika แสดงประสิทธิภาพดีกว่าเครื่องมือเดิมราว 20% ในเบนช์มาร์กที่มีไฟล์ 1 ล้านไฟล์ ครอบคลุมประเภทไฟล์มากกว่า 100 ชนิด
- โดยเฉพาะกับไฟล์ประเภทที่เครื่องมืออื่นทำได้ยาก เช่น ไฟล์ข้อความ ไฟล์โค้ด และไฟล์คอนฟิก Magika แสดงการปรับปรุงด้านประสิทธิภาพได้มากกว่า
การใช้งาน Magika ภายใน Google
- ภายใน Google มีการใช้ Magika เพื่อส่งต่อไฟล์จาก Gmail, Drive และ Safe Browsing ไปยังสแกนเนอร์ด้านความปลอดภัยและนโยบายคอนเทนต์ที่เหมาะสม ช่วยเพิ่มความปลอดภัยให้ผู้ใช้
- จากจำนวนไฟล์ระดับหลายหมื่นล้านไฟล์ต่อสัปดาห์โดยเฉลี่ย Magika ช่วยเพิ่มความแม่นยำในการระบุประเภทไฟล์ได้ 50% เมื่อเทียบกับระบบเดิมที่พึ่งพากฎที่ทำด้วยมือ
- Magika จะเข้ามาเสริมฟีเจอร์ Code Insight เดิมผ่านการผสานรวมกับ VirusTotal และมีส่วนช่วยต่อระบบนิเวศไซเบอร์ซีเคียวริตีระดับโลก เพื่อสร้างสภาพแวดล้อมดิจิทัลที่ปลอดภัยยิ่งขึ้น
การโอเพนซอร์ส Magika
- การเปิดซอร์ส Magika มีเป้าหมายเพื่อช่วยให้ซอฟต์แวร์อื่น ๆ ปรับปรุงความแม่นยำในการระบุไฟล์ และมอบวิธีที่เชื่อถือได้ให้แก่นักวิจัยในการระบุประเภทไฟล์ในระดับขนาดใหญ่
- โค้ดและโมเดลของ Magika เปิดให้ใช้ฟรีบน Github ภายใต้ไลเซนส์ Apache2 และสามารถติดตั้งได้ง่ายผ่านตัวจัดการแพ็กเกจ pypi
- รายละเอียดการใช้งาน Magika เพิ่มเติมสามารถดูได้จากเว็บไซต์เอกสารของ Magika
ความเห็นของ GN⁺
- การเปิดซอร์ส Magika น่าจะช่วยยกระดับความแม่นยำของการระบุประเภทไฟล์ได้อย่างมาก
- โดยเฉพาะในด้านความปลอดภัย การระบุไฟล์อย่างแม่นยำมีความสำคัญอย่างยิ่ง และ Magika อาจกลายเป็นเครื่องมือที่ทรงพลังสำหรับงานนี้
- ศักยภาพทางเทคโนโลยีของ Google และการมีส่วนร่วมต่อชุมชนโอเพนซอร์สน่าจะมีบทบาทสำคัญในการเสริมความแข็งแกร่งให้ระบบนิเวศไซเบอร์ซีเคียวริตีระดับโลก
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
มีการลองนำเครื่องมือตรวจจับประเภทไฟล์ตัวใหม่ไปใช้กับข้อมูลเว็บครอว์ล
มีการแชร์ประสบการณ์เมื่อ 10 ปีก่อนเกี่ยวกับการตรวจจับประเภทไฟล์สเปรดชีต
มีการแชร์ผลการทดสอบการตรวจจับกับไฟล์ 100 ไฟล์
fileเดิมแล้วให้ความแม่นยำใกล้เคียงกันมีปฏิกิริยาเชิงบวกต่อการมีเครื่องมือใหม่เข้ามาในวงการตรวจจับประเภทไฟล์
มีความสับสนว่าเหตุใด Google จึงทุ่มทรัพยากรไปกับการพัฒนาเครื่องมือตรวจจับประเภทไฟล์ด้วยโครงข่ายประสาทแทนการปรับปรุง libmagic
มีการสงสัยถึงวิธีตรวจจับไฟล์ polyglot ที่ใช้ได้จริงกับหลายฟอร์แมตพร้อมกัน
มีการตั้งคำถามถึง precision หรือ recall ของเครื่องมืออื่น ๆ ในการตรวจจับไฟล์ APK หรือ JAR ได้อย่างถูกต้อง
มีการแชร์ประสบการณ์การทำ implementation ของ libmagic ใน Racket
มีข้ออ้างว่าการตรวจจับประเภทไฟล์นั้นโดยเนื้อแท้เป็นเรื่องเชิงกำหนดแน่นอน