ไมโครซอฟท์เผยเทคนิค CodeQL ที่ใช้ตรวจหามัลแวร์ SolarWinds ในซอร์สโค้ด เปิดเป็นโอเพนซอร์ส

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 1 มีนาคม 2021.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    กรณีการแฮ็ก SolarWinds ที่เป็นระดับ supply chain attack ถือว่ามีความซับซ้อนสูงมาก ตรวจเจอได้ยากมาก ทำให้เกิดคำถามตามมาว่า เราจะป้องกันเหตุการณ์ลักษณะเดียวกันได้อย่างไร

    องค์กรที่เกี่ยวข้องกับการแฮ็กคือ FireEye ซึ่งตรวจเจอมัลแวร์เป็นรายแรก เคยออกมาแชร์ชุดเครื่องมือตรวจสอบมัลแวร์แบบนี้แล้ว เทคนิคของ FireEye เป็นการตรวจสอบพฤติกรรมของคอนฟิกในระบบว่ามีการเปลี่ยนแปลงที่ผิดปกติหรือไม่

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

    [​IMG]

    เทคนิคการทำงานของ CodeQL ใช้วิธีคอมไพล์ซอร์สโค้ดเป็นไบนารีก่อน แต่ไม่ต้องคอมไพล์เป็นไบนารีสมบูรณ์ เพราะ CodeQL จะ parse ซอร์สโค้ดเป็น abstract syntax tree model แทน มองว่ามันเป็นฐานข้อมูลตัวหนึ่ง แล้วคิวรีหาข้อมูลต่างๆ จากฐานข้อมูลนี้อีกที

    ไมโครซอฟท์บอกว่าเทคนิคนี้ช่วยให้วิเคราะห์ข้อมูลได้แม่นยำขึ้น และสามารถนำฐานข้อมูลที่ CodeQL แปลงแล้วหลายๆ ตัวมาเปรียบเทียบกัน หาความเชื่อมโยงระหว่างกันได้ด้วย ทำให้ค้นหาร่องรอยของมัลแวร์ SolarWinds ได้เร็วกว่าเดิมมาก

    ส่วนเทคนิคเจาะจงที่ใช้ตรวจจับมัลแวร์ตัวนี้ ใช้สองเทคนิคร่วมกันคือ การค้นหา syntax ของมัลแวร์แบบเจาะจง และการค้นหาแพทเทิร์นในภาพรวม ช่วยให้ตามรอยได้ หากแฮ็กเกอร์เปลี่ยนวิธีแก้โค้ด แต่ยังใช้ syntax คล้ายๆ ของเดิม

    [​IMG]

    รายละเอียดเพิ่มเติมอ่านได้จาก Microsoft Security

    Topics: MicrosoftSecuritySolarWindsOpen Source
     

แบ่งปันหน้านี้