ข้ามไปเนื้อหาหลัก

Tauri App โดน Windows มองเป็นโทรจัน: แก้ไขอย่างไร

แอปพลิเคชันจัดการบัญชี Roblox บน Windows ถูก Microsoft ขึ้นเตือนภัยว่าเป็นโทรจันด้วยเหตุผลด้าน AI นักพัฒนาจึงแกะรอยหาตัวการด้วยวิธี Bisection และพบว่าไลบรารีเข้ารหัสคือต้นเหตุ

เรียบเรียงโดย AI
Inewgen
01 Oct 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
Tauri App โดน Windows มองเป็นโทรจัน: แก้ไขอย่างไร

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • แอป Roblox Account Manager ถูก Microsoft จัดว่าเป็นโทรจัน Trojan:Win32/Wacatac.B!ml โดยโมเดล Machine Learning
  • นักพัฒนาใช้การทำ Git Bisect ร่วมกับ VirusTotal API เพื่อค้นหาคอมมิตที่เป็นต้นตอของปัญหา
  • สาเหตุเกิดจากการใช้ libsodium ผ่าน sodiumoxide ซึ่งมีลักษณะการทำงานใกล้เคียงกับมัลแวร์ในสายตา AI
  • แก้ไขโดยการเปลี่ยนไปใช้ไลบรารี RustCrypto บริสุทธิ์ พร้อมตั้งค่า Cargo.toml เพื่อเร่งความเร็วในการคอมไพล์

นักพัฒนาแอปพลิเคชันเดสก์ท็อปรายหนึ่งต้องเผชิญกับปัญหาเมื่อโปรแกรมจัดการบัญชี Roblox ของเขาถูกระบบความปลอดภัยจาก Microsoft มองว่าเป็นมัลแวร์ประเภท Trojan:Win32/Wacatac.B!ml ทั้งที่ชุดคำสั่งไม่ได้มีการเปลี่ยนแปลงพฤติกรรมใดๆ เพิ่มเติม โดยตัวแอปพลิเคชันอย่าง RAM หรือ Roblox Account Manager นี้ พัฒนาขึ้นด้วยภาษา Rust ร่วมกับ Tauri 2 และ React สำหรับจัดการบัญชีเกมหลายบัญชีพร้อมกัน

ธรรมชาติของแอปพลิเคชันที่มีการจัดเก็บคุกกี้เซสชัน เปิดกระบวนการทำงานหลายตัว ดึงหน้าต่างเกมขึ้นมาด้านหน้า และส่งชุดคำสั่งจำลองการกด ถือเป็นพฤติกรรมที่เครื่องมือตรวจจับแบบ Heuristic มองว่ามีความเสี่ยงอยู่แล้ว เมื่อมีการปล่อยอัปเดตเวอร์ชันหนึ่งออกมาและผู้ใช้เริ่มได้รับคำเตือนเกี่ยวกับไฟล์ .exe ผลการตรวจสอบจาก VirusTotal แสดงผลว่ามี 1 จาก 75 โปรแกรมตรวจจับที่มองว่าเป็นภัยคุกคาม ซึ่งลงท้ายด้วยรหัส !ml หมายความว่าเป็นผลลัพธ์จาก Machine Learning ที่ประเมินว่าไบนารีมีลักษณะคล้ายมัลแวร์ ไม่ใช่การตรวจพบรูปแบบลายเซ็นซิกเนเจอร์ที่เป็นที่รู้จัก

software development computer screen code workspace

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ในตอนแรกนักพัฒนาเชื่อว่าพฤติกรรมของแอปยังคงเหมือนเดิมและโมเดลอาจจะเปลี่ยนใจไปเอง แต่เมื่อทำการตรวจสอบอย่างจริงจังด้วยการใช้ Git Bisect ร่วมกับ VirusTotal API ซึ่งรองรับการส่งคำขอฟรี 4 ครั้งต่อนาทีและ 500 ครั้งต่อวัน โดยเขียนสคริปต์ขนาดเล็กเพื่อแฮชไฟล์ ค้นหารายงานเดิม และอัปโหลดเฉพาะเมื่อพบแฮชใหม่ ก็พบว่าคอมมิตที่มีปัญหาคือส่วนที่เพิ่มระบบเข้ารหัสสำหรับไฟล์บัญชีผู้ใช้ด้วย sodiumoxide ซึ่งเป็นไลบรารี Rust bindings สำหรับ libsodium

1/75ผลตรวจบน VirusTotal
5.4sเวลาประมวลผลเดิมในโหมด Debug
41sเวลาทดสอบชุดคำสั่งหลังปรับปรุง

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

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

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

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

เพื่อแก้ปัญหาเวลาในการทดสอบที่นานขึ้น นักพัฒนาได้เพิ่มการตั้งค่าในไฟล์ Cargo.toml เพื่อบังคับให้คอมไพเลอร์ทำการเพิ่มประสิทธิภาพการทำงานให้กับไลบรารีภายนอกแม้จะเป็นในโหมดพัฒนา ส่งผลให้เวลาในการรันชุดคำสั่งทดสอบของ Rust ลดลงจาก 230 วินาทีเหลือเพียง 41 วินาทีเท่านั้น ซึ่งรวดเร็วกว่าตอนที่ใช้ libsodium เสียอีก

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้