กฎ YARA สำหรับตรวจจับมัลแวร์
เขียนกฎ YARA จากสตริง รูปแบบไบต์ และโครงสร้างไฟล์เพื่อจำแนกตระกูลมัลแวร์
กฎ YARA สำหรับตรวจจับมัลแวร์ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
YARA คืออะไร
YARA เป็นเครื่องมือจับคู่รูปแบบที่ออกแบบมาสำหรับจำแนกมัลแวร์ กฎจะอธิบายตระกูลมัลแวร์ด้วยการรวมรูปแบบสตริง ลำดับไบต์ และเงื่อนไขบูลีนเข้าด้วยกัน YARA สแกนไฟล์ โพรเซส หรือหน่วยความจำ แล้วรายงานรายการที่ตรงกัน
โครงสร้างกฎ YARA
กฎประกอบด้วยสามส่วน ได้แก่ ส่วนข้อมูลกำกับ (ข้อมูลอย่างผู้เขียนและวันที่) ส่วนสตริง (รูปแบบที่ต้องค้นหา) และส่วนเงื่อนไข (ตรรกะบูลีนที่รวมสตริงเข้าด้วยกัน) กฎจะถูกคอมไพล์เป็นตัวสแกนเพื่อกวาดตรวจระบบไฟล์ได้อย่างรวดเร็ว
rule ExampleRule {
meta:
author = "analyst"
strings:
$a = "malicious_string"
$b = { 4D 5A 90 00 }
condition:
$a and $b
}รูปแบบสตริง
YARA รองรับสตริงสามประเภท ได้แก่ สตริงข้อความธรรมดา (พร้อมตัวปรับที่ไม่คำนึงถึงตัวพิมพ์และตัวปรับความกว้าง) รูปแบบเลขฐานสิบหกที่มีไวลด์การ์ด ({ 4D 5A ?? ?? }) และนิพจน์ปกติ (/pattern/) ตัวปรับความกว้างรองรับสตริง UTF-16 ซึ่งพบได้ทั่วไปในมัลแวร์วินโดวส์
รูปแบบเลขฐานสิบหกและไวลด์การ์ด
ใช้ ?? แทนไวลด์การ์ดขนาดหนึ่งไบต์ และใช้ [n-m] แทนการข้ามช่วงที่มีความยาวแปรผันในรูปแบบเลขฐานสิบหก ตัวอย่าง: { 60 89 E5 31 C0 [4-8] 5D C3 } จะตรงกับส่วนเริ่มต้นของเชลล์โค้ดโดยไม่ขึ้นกับส่วนที่มีความยาวแปรผัน
ตรรกะของเงื่อนไข
เงื่อนไขรวมสตริงด้วยตัวดำเนินการ and, or และ not ใช้ any of them, all of them หรือ 2 of ($a*) เพื่อจับคู่ได้อย่างยืดหยุ่น เงื่อนไขแบบกำหนดเกณฑ์ เช่น 5 of ($s*) ช่วยลดผลบวกลวงจากสตริงทั่วไป
เงื่อนไขคุณสมบัติไฟล์
YARA สามารถตรวจสอบขนาดไฟล์ (filesize < 1MB) คุณสมบัติส่วนหัว PE (pe.imphash()) และไบต์ของจุดเริ่มต้น (uint16(0) == 0x5A4D) ได้ เงื่อนไขของโมดูล PE ใช้ตรวจจับร่องรอยเฉพาะของคอมไพเลอร์และข้อมูลกำกับของตัวเชื่อมโยง
การเขียนกฎจากการวิเคราะห์พฤติกรรม
ใช้สตริงที่ดึงมาระหว่างการวิเคราะห์แบบสถิตและแบบพลวัตเป็นสตริงของกฎ URL ของเซิร์ฟเวอร์ควบคุมและสั่งการ ชื่อมิวเทกซ์เฉพาะ ข้อความแสดงข้อผิดพลาด หรือลำดับไบต์จากส่วนเริ่มต้นของเชลล์โค้ด ล้วนเป็นสตริง YARA ที่มีความจำเพาะสูงและมี FP ต่ำ
การทดสอบกฎ YARA
ทดสอบด้วย yara rule.yar /path/to/sample ตรวจสอบกับชุดไฟล์สะอาดเพื่อวัดอัตราผลบวกลวง ใช้ --no-warnings เพื่อให้เอาต์พุตเงียบ และใช้ -r เพื่อสแกนไดเรกทอรีแบบย้อนลงไปในไดเรกทอรีย่อย
yara -r rules/family.yar /malware_corpus/
yara -r rules/family.yar /System32/ 2>/dev/nullYARA ในผลิตภัณฑ์ความปลอดภัย
กฎ YARA ทำงานภายใน ClamAV, OSSEC, เวโลซิแรปเตอร์, สปังก์ และแพลตฟอร์ม EDR รวมกฎไว้ในคลังโค้ด กำหนดเวอร์ชัน ตรวจทานโดยผู้ร่วมงานก่อนนำไปใช้งาน และติดตามสถิติการตรวจพบเพื่อยกเลิกกฎที่มีคุณค่าน้อย
การหลีกเลี่ยงข้อผิดพลาดที่พบบ่อย
สตริงที่กว้างเกินไปทำให้เกิดผลบวกลวง รูปแบบเลขฐานสิบหกที่สั้นมากตรงกับข้อมูลรบกวนได้ โปรดจัดทำประวัติการทำงานของกฎกับตัวอย่างสะอาดที่เป็นตัวแทนก่อนนำไปใช้งานเสมอ ใช้ all of them แทน any of them เมื่อทำได้ เพื่อเพิ่มความแม่นยำ
แหล่งข้อมูลชุมชน YARA
ยาราฟอร์จรวบรวมกฎคุณภาพสูงจากชุมชน แหล่งเก็บมัลแวร์อย่าง MalwareBazaar มีตัวอย่างสำหรับการทดสอบ คลัง GitHub ของผู้จำหน่าย เช่น แมนเดียนท์และแคสเปอร์สกี เผยแพร่กฎระดับงานวิจัยที่คุณสามารถศึกษาและปรับใช้ได้
แบบทดสอบความรู้
เงื่อนไข YARA 2 of ($s*) หมายความว่าอย่างไร
สรุป
กฎ 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 สำหรับตรวจจับมัลแวร์”
เขียนกฎ YARA จากสตริง รูปแบบไบต์ และโครงสร้างไฟล์เพื่อจำแนกตระกูลมัลแวร์ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “กฎ YARA สำหรับตรวจจับมัลแวร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การวิเคราะห์แบบสถิต: สตริง แฮช และส่วนหัว PE
- การวิเคราะห์แบบไดนามิกในแซนด์บ็อกซ์
- IOC เชิงพฤติกรรม: รีจิสทรี เครือข่าย และร่องรอยไฟล์
- กฎ YARA สำหรับตรวจจับมัลแวร์