Cyber Security Academy · บทเรียน

YARA ใช้ทำอะไร

การจับคู่รูปแบบในไฟล์และหน่วยความจำ

บทเรียน 1 จาก 413 ขั้นตอน

YARA ใช้ทำอะไร เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

การจับคู่รูปแบบสำหรับมัลแวร์

YARA เป็นเครื่องมือและภาษาสำหรับสร้างกฎเพื่อระบุและจำแนกไฟล์กับหน่วยความจำตามรูปแบบ นักวิเคราะห์เรียก YARA ว่าเป็นเครื่องมืออเนกประสงค์สำหรับการจับคู่รูปแบบในการวิจัยมัลแวร์

กฎ YARA อธิบายรูปแบบข้อความหรือข้อมูลไบนารีและเงื่อนไขเชิงตรรกะ จากนั้นกลไกจะสแกนเป้าหมายและรายงานรายการที่ตรงกัน กฎนี้เชื่อมช่องว่างระหว่างข้อค้นพบของนักวิเคราะห์กับการตรวจจับแบบอัตโนมัติที่นำกลับมาใช้ซ้ำได้

ไฟล์เทียบกับลายเซ็นเครือข่าย

YARA ช่วยเสริม IDS เครือข่าย ไม่ได้เข้ามาแทนที่

  • สนอร์ต/เซอริคาตาตรวจสอบการรับส่งข้อมูลบนเครือข่าย
  • YARAตรวจสอบเนื้อหาขณะจัดเก็บหรืออยู่ในหน่วยความจำ เช่น ไฟล์บนดิสก์ หน่วยความจำของกระบวนการ ไฟล์แนบอีเมล และเนื้อหาของแฟ้มจัดเก็บ

IDS อาจจับการดาวน์โหลดระหว่างทางได้ ส่วน YARA จะจับมัลแวร์ตระกูลเดียวกันในตัวอย่างที่กักกันไว้ ภาพทางนิติวิทยาศาสตร์ หรือกระบวนการที่กำลังทำงานอยู่ แม้ตัวอย่างนั้นจะไม่เคยผ่านลิงก์ที่มีการเฝ้าติดตาม

การจำแนกตระกูลมัลแวร์

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

วิธีนี้ทำให้ YARA ทนทานในกรณีที่การตรวจจับด้วยค่าแฮชล้มเหลว การเปลี่ยนเพียงหนึ่งไบต์ทำให้ค่าแฮชใช้ไม่ได้ แต่ไม่สามารถหลบกฎรูปแบบที่เขียนอย่างดีได้

การค้นหาในหน่วยความจำ

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

นี่คือเหตุผลที่ผู้รับมือเหตุการณ์สแกน RAM ด้วย YARA เพราะการตั้งค่าที่ถอดรหัสแล้ว ที่อยู่เซิร์ฟเวอร์ควบคุมและสั่งการ และส่วนข้อมูลที่ส่งมาจะปรากฏในหน่วยความจำ แม้ตัวอย่างบนดิสก์จะถูกทำให้อำพรางอย่างสมบูรณ์

ตำแหน่งที่ YARA ทำงาน

YARA ผสานรวมเข้ากับกลุ่มเครื่องมือรักษาความปลอดภัยได้หลายส่วน:

  • ตัวแทน EDRสแกนปลายทางด้วยชุดกฎร่วมกัน
  • แซนด์บ็อกซ์ (คุกคู, CAPE) จำแนกตัวอย่างที่นำไปทำงาน
  • เกตเวย์อีเมลและเว็บสแกนไฟล์แนบและรายการดาวน์โหลด
  • แพลตฟอร์มข่าวกรองภัยคุกคามค้นหาข้ามคลังตัวอย่าง
  • เครื่องมือนิติวิทยาศาสตร์ดิจิทัลสแกนภาพดิสก์และดัมพ์หน่วยความจำ

รูปแบบกฎเดียวแต่ใช้ได้กับจุดบังคับใช้จำนวนมาก นี่คือคุณค่าด้านการพกพาที่วิศวกรตรวจจับให้ความสำคัญ

การค้นย้อนหลัง

แพลตฟอร์มอย่าง VirusTotal ช่วยให้คุณเรียกใช้กฎ YARA กับคลังข้อมูลย้อนหลังของแพลตฟอร์มได้ แนวทางนี้เรียกว่า การค้นย้อนหลัง เขียนกฎสำหรับตระกูลที่เพิ่งค้นพบ เรียกค้นย้อนหลัง แล้วค้นหาตัวอย่างเก่า รุ่นย่อยที่เกี่ยวข้อง และลำดับเวลาของแคมเปญ

วิธีนี้เปลี่ยนตัวอย่างเดียวให้กลายเป็นข่าวกรองเกี่ยวกับประวัติเครื่องมือของผู้โจมตีและการนำโครงสร้างพื้นฐานกลับมาใช้ซ้ำ

การเรียกใช้การสแกน

ในรูปแบบที่ง่ายที่สุด CLI ของ YARA รับไฟล์กฎและเป้าหมาย จากนั้นพิมพ์ชื่อกฎและไฟล์ที่ตรงกันสำหรับรายการที่พบแต่ละรายการ

# Scan a directory recursively
yara -r rules/apt_family.yar /samples/

# Scan a running process by PID
yara rules/cobaltstrike.yar 4821

กฎที่ดีเทียบกับกฎที่ไม่ดี

พลังของ YARA ต้องอาศัยวินัย กฎที่เขียนไม่ดีจะก่อปัญหาเมื่อใช้งานในวงกว้าง

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

เป้าหมายคือกฎที่เฉพาะเจาะจงเพียงพอให้เชื่อถือได้ ทั่วไปเพียงพอที่จะจับรุ่นย่อย และมีประสิทธิภาพเพียงพอที่จะทำงานได้ทุกที่

การเลือกตัวบ่งชี้ที่คงทน

จับคู่กับลักษณะที่ผู้เขียน เปลี่ยนได้ยากหรือเปลี่ยนโดยมีต้นทุนสูง:

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

หลีกเลี่ยงการจับคู่กับสตริงจากไลบรารีทั่วไปหรือร่องรอยจากคอมไพเลอร์ที่มีอยู่ในโปรแกรมปลอดภัยนับพันรายการ เพราะสิ่งเหล่านี้สร้างสัญญาณรบกวนและเปลี่ยนแปลงได้ง่ายมาก

การแบ่งปันและชุดกฎมาตรฐาน

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

  • คลังกฎ YARA ของชุมชนและบล็อกวิจัยของผู้จำหน่าย
  • ฐานลายเซ็นของฟลอเรียน รอทที่ใช้กันอย่างแพร่หลายใน IR
  • ฟีดจาก ISAC และผู้จำหน่ายที่มีกฎสำหรับตระกูลมัลแวร์และ APT

ตรวจสอบกฎจากภายนอกก่อนนำไปใช้งาน ประเมินความเสี่ยงของผลบวกเท็จ กำหนดเนมสเปซเพื่อป้องกันการชนกัน และทดสอบกับคลังโปรแกรมที่ปลอดภัยของคุณ เพราะกฎจากภายนอกที่ยังไม่ผ่านการตรวจสอบอาจสร้างสัญญาณรบกวนในสภาพแวดล้อมของคุณ

ข้อจำกัดของ YARA

YARA ไม่ใช่คำตอบครอบจักรวาล

  • YARA จับคู่รูปแบบ ไม่ใช่พฤติกรรม และไม่ได้เรียกใช้ตัวอย่าง
  • การแพ็กหรือเข้ารหัสอย่างหนักบนดิสก์อาจซ่อนทุกอย่างไว้จนกว่าจะสแกนหน่วยความจำ
  • โค้ดแบบพหุรูปและแปรรูปอาจหลบเลี่ยงสตริงแบบคงที่ได้
  • ผู้โจมตีที่ได้กฎของคุณไปอาจออกแบบมัลแวร์ให้หลบเลี่ยงกฎเหล่านั้น

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

ตรวจสอบอย่างรวดเร็ว

เลือกเครื่องมือให้เหมาะกับงาน

สรุป

YARA คือการจับคู่รูปแบบสำหรับไฟล์และหน่วยความจำ:

  • จำแนกและระบุเนื้อหา ขณะจัดเก็บหรืออยู่ในหน่วยความจำ เพื่อเสริม IDS เครือข่าย
  • ตรวจจับมัลแวร์เป็น ตระกูลจากลักษณะร่วม จึงรับมือการเปลี่ยนค่าแฮชได้
  • การสแกนหน่วยความจำเผยให้เห็นโค้ดที่คลายแพ็กแล้วซึ่งการวิเคราะห์แบบคงที่พลาดไป
  • ทำงานใน EDR แซนด์บ็อกซ์ เกตเวย์ และเครื่องมือนิติวิทยาศาสตร์ดิจิทัล
  • การค้นย้อนหลังเปลี่ยนตัวอย่างเดียวให้กลายเป็นข่าวกรองเกี่ยวกับแคมเปญ
  • กฎที่ดีต้องเฉพาะเจาะจง ทั่วไป และมีประสิทธิภาพ ควรจับคู่กับ ตัวบ่งชี้ที่คงทน
  • YARA จับคู่รูปแบบ ไม่ใช่พฤติกรรม จึงควรใช้เป็นเพียงชั้นหนึ่งของการป้องกัน

ถัดไป: ไวยากรณ์ของกฎ

เริ่มต้นได้ฟรี

เรียนรู้ Cyber Security Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
76
บทเรียน
303

คำถามที่พบบ่อย

บทเรียน “YARA ใช้ทำอะไร” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “YARA ใช้ทำอะไร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “YARA ใช้ทำอะไร”

การจับคู่รูปแบบในไฟล์และหน่วยความจำ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “YARA ใช้ทำอะไร” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. YARA ใช้ทำอะไร
  2. ไวยากรณ์กฎ YARA
  3. การล่าภัยคุกคามด้วยสตริงและเลขฐานสิบหก
  4. การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ
← กลับไปที่ Cyber Security Academy