InvisibleJS เป็นเครื่องมือโอเพนซอร์สใหม่ที่สามารถซ่อนโค้ด JavaScript ได้โดยใช้อักขระ Unicode ที่มองไม่เห็น (zero-width characters) ซึ่งกำลังสร้างความกังวลเกี่ยวกับการนำไปใช้ในแคมเปญมัลแวร์ เครื่องมือนี้ใช้เทคนิค Steganography ในการฝังโค้ดในไฟล์ที่ดูเหมือนว่างเปล่า ทำให้ตรวจจับได้ยากด้วยตาเปล่าในโปรแกรมแก้ไขโค้ดทั่วไป และอาจนำไปสู่การโหลดมัลแวร์แบบซ่อนเร้นในสภาพแวดล้อม Node.js หรือเว็บแอปพลิเคชันได้ การพัฒนาเครื่องมือนี้เน้นย้ำถึงธรรมชาติของนวัตกรรมด้านการเขียนโค้ดที่มีสองวัตถุประสงค์ในความปลอดภัยทางไซเบอร์

     

Severity: สูง

      
     

System Impact:

     

  • สภาพแวดล้อม Node.js
  • เว็บแอปพลิเคชัน
  • CommonJS setups
  • ES Modules

      
     

Technical Attack Steps:

     

  1. เครื่องมือ InvisibleJS แปลงโค้ด JavaScript เป็นสตริงไบนารี
  2. แมป ‘0’ เป็นอักขระ Zero Width Space (U+200B) และ ‘1’ เป็น Zero Width Non-Joiner (U+200C)
  3. โค้ดที่ถูกซ่อนจะถูกฝังลงในไฟล์ที่ดูเหมือนว่างเปล่า ทำให้มองไม่เห็นในโปรแกรมแก้ไขโค้ดเช่น VS Code
  4. มี bootstrap loader ขนาดเล็กที่ใช้ถอดรหัสและรัน payload ที่ซ่อนอยู่เมื่อถึงเวลาที่โค้ดทำงาน
  5. การโจมตีเลียนแบบการใช้ Unicode obfuscation อื่น ๆ ที่เคยถูกใช้ในฟิชชิ่งเพื่อซ่อน payloads และหลบเลี่ยงการตรวจจับของสแกนเนอร์

      
     

Recommendations:

     

Short Term:

     

  • เพิ่มประสิทธิภาพการสแกนที่รองรับ Unicode (Unicode-aware scanning)
  • ปรับปรุงการวิเคราะห์พฤติกรรม (behavioral analysis) เพื่อตรวจจับโค้ดที่ทำงานอย่างผิดปกติ

     

Long Term:

     

  • ติดตามและทำความเข้าใจเทคนิคการซ่อนและทำให้โค้ดยากต่อการอ่าน (obfuscation) ใหม่ๆ อย่างต่อเนื่อง
  • ทบทวนและปรับปรุงนโยบายการรักษาความปลอดภัยเกี่ยวกับการใช้ JavaScript และไลบรารีของบุคคลที่สาม
  • เพิ่มความระมัดระวังในการตรวจสอบโค้ด โดยเฉพาะไฟล์ที่ดูเหมือนว่างเปล่าแต่มีขนาดไฟล์

      
     

Source: https://cybersecuritynews.com/invisiblejs-tool/

   

Share this content:

Leave a Reply

Your email address will not be published. Required fields are marked *