การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ
เรียกใช้ YARA ทั่วทั้งสภาพแวดล้อม
การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
จากโฮสต์เดียวสู่ทั้งสภาพแวดล้อม
rule ที่ทำงานได้บนแล็ปท็อปของคุณต้องทำงานได้ทั่วทั้งอุปกรณ์ปลายทางนับพันเครื่อง กระแสอีเมล และแหล่งป้อนตัวอย่างอย่างน่าเชื่อถือ โดยไม่ทำให้ประสิทธิภาพลดลงจนใช้งานไม่ได้ การขยาย YARA เป็นปัญหาด้านวิศวกรรมที่เกี่ยวข้องกับการกระจาย ประสิทธิภาพ และผลป้อนกลับ
บทเรียนนี้ครอบคลุมการปรับแต่งประสิทธิภาพ การจัดการ rule กระบวนการอัตโนมัติ และวิธีใช้งาน YARA ให้เป็นความสามารถในการตรวจจับอย่างต่อเนื่อง แทนที่จะเป็นเครื่องมือที่ใช้เพียงครั้งเดียว
พื้นฐานประสิทธิภาพ
YARA สร้างอะตอม (สตริงย่อยของไบต์ขนาดสั้น) สำหรับแต่ละสตริง แล้วค้นหาอะตอมก่อน โดยประเมินเงื่อนไขทั้งหมดเฉพาะกับตัวเลือกที่อาจตรงกันเท่านั้น rule ที่ไม่เปิดโอกาสให้กลไกสร้างอะตอมที่ดีจะทำงานช้า
- สตริงที่สั้นกว่าประมาณ 4 ไบต์จะสร้างอะตอมที่ไม่ดีและสแกนได้ช้า
- นิพจน์ปกติที่ไม่ยึดตำแหน่งและไวลด์การ์ดที่มากเกินไปใช้ทรัพยากรสูง
- การยึดตำแหน่งด้วยออฟเซตและ
filesizeช่วยตัดงานที่ไม่จำเป็นตั้งแต่ต้น
วิเคราะห์ประสิทธิภาพของ rule ที่ช้าและเขียนส่วนที่เป็นปัญหาใหม่ก่อนนำไปใช้งานในวงกว้าง
# Report per-rule scan timing to find slow rules
yara --print-stats -r rules.yar /samples/
yara -a 10 -r rules.yar /samples/ # warn on rules slower than 10sหลีกเลี่ยงรูปแบบที่ช้า
ข้อผิดพลาดด้านประสิทธิภาพที่พบบ่อยและวิธีแก้:
- แทนที่สตริงขนาดเล็กหรือสตริงที่เป็นไวลด์การ์ดทั้งหมดด้วยสตริงที่ยาวกว่าและมีเอกลักษณ์
- กำหนดให้ rule ที่ใช้ทรัพยากรสูงทำงานต่อเมื่อผ่านเงื่อนไขเบื้องต้นที่ประเมินได้รวดเร็ว (ไบต์บ่งชี้รูปแบบ,
filesize) - เลือกใช้ไบต์คงที่แทนนิพจน์ปกติ และกำหนดจุดยึดของนิพจน์ปกติให้รัดกุม
- ใช้ rule
globalเพื่อข้ามประเภทไฟล์ที่ไม่เกี่ยวข้องทั้งหมด
rule ที่มีปัญหาเพียงรายการเดียวอาจครองเวลาสแกนทั้งหมดในสภาพแวดล้อมได้ ดังนั้นควรถือว่าประสิทธิภาพเป็นเกณฑ์หนึ่งในการตรวจทาน
global rule OnlyPE { condition: uint16(0) == 0x5A4D }การคอมไพล์ rule
การแยกวิเคราะห์ข้อความ rule ในทุกครั้งที่สแกนทำให้เสียเวลา ควรคอมไพล์ rule เพียงครั้งเดียวเป็นกลุ่มข้อมูลไบนารี แล้วโหลดกลุ่มนั้นในทุกแห่ง
rule ที่คอมไพล์แล้วโหลดได้รวดเร็ว และทำให้มั่นใจว่าอุปกรณ์ปลายทางทุกเครื่องใช้ตรรกะที่ผ่านการตรวจสอบแล้วเหมือนกันทุกประการ ควรคอมไพล์ใหม่เป็นส่วนหนึ่งของกระบวนการอัตโนมัติทุกครั้งที่ rule เปลี่ยนแปลง แล้วแจกจ่ายไฟล์ผลลัพธ์ที่คอมไพล์แล้ว
yarac -r detections/ ruleset.yarac # compile
yara -C ruleset.yarac /target/ # scan with compiled rulesการจัดการ rule ในระดับใหญ่
ปฏิบัติต่อ rule ของ YARA ในฐานะโค้ด เช่นเดียวกับซิกมา จัดเก็บไว้ในการควบคุมรุ่น พร้อมการตรวจทาน การทดสอบ และ CI
- หนึ่ง rule ต่อหนึ่งไฟล์ จัดระเบียบตามตระกูลหรือแหล่งที่มา
- CI ตรวจไวยากรณ์ ตรวจสอบประสิทธิภาพ และทดสอบกับชุดข้อมูล
- เครื่องมือตรวจไวยากรณ์อย่าง yaraLint ช่วยตรวจจับข้อผิดพลาดที่พบบ่อย
- ติดแท็กและกำหนดเนมสเปซให้ rule เพื่อหลีกเลี่ยงชื่อซ้ำกันระหว่างแหล่งป้อนข้อมูล
วิธีนี้ช่วยป้องกันความยุ่งเหยิงจาก rule หลายพันรายการที่ไม่มีการจัดการ ขัดแย้งกัน หรือซ้ำกัน
การสแกนอุปกรณ์ปลายทางด้วย EDR
องค์กรส่วนใหญ่เรียกใช้ YARA ผ่านEDR ซึ่งสามารถส่งชุดกฎไปยังเอเจนต์และสแกนดิสก์กับหน่วยความจำตามคำขอหรือตามกำหนดเวลา วิธีนี้ช่วยเลี่ยงการติดตั้ง YARA แบบแยกเดี่ยวในทุกโฮสต์
หาก EDR ไม่รองรับ YARA เฟรมเวิร์กเอเจนต์และเครื่องมือประสานงานก็สามารถแจกจ่ายชุด rule ที่คอมไพล์แล้วและรวบรวมผลจากส่วนกลางได้ ไม่ว่าจะใช้วิธีใด การสแกนจะถูกควบคุมจากส่วนกลาง ไม่ต้องทำด้วยมือแยกทีละโฮสต์
การสแกนหน่วยความจำในระดับขนาดใหญ่
เนื่องจากมัลแวร์ที่ถูกแพ็กจะแสดงตัวเฉพาะในหน่วยความจำ ให้กำหนดเวลาการ สแกนหน่วยความจำ ทั่วทั้ง the กลุ่มเครื่อง ไม่ใช่แค่การสแกนดิสก์ ตัวแทน EDR สามารถสแกนหน่วยความจำของกระบวนการเป็นระยะ ๆ หรือเพื่อตอบสนองต่อเหตุการณ์ที่น่าสงสัยได้
การสแกนหน่วยความจำใช้ทรัพยากรมากกว่าการสแกนดิสก์ ดังนั้นจึงต้องสร้างสมดุลระหว่างความถี่กับ scope: สแกนอย่างต่อเนื่องบนโฮสต์ที่มีมูลค่าสูง และสแกนเมื่อเกิดเหตุการณ์ในส่วนอื่น เพื่อควบคุมผลกระทบต่อประสิทธิภาพ
การผนวกรวมกระบวนการส่งต่อข้อมูล
ทำให้ YARA ทำงานอัตโนมัติ ณ จุดที่ไฟล์เข้าสู่สภาพแวดล้อมของคุณ:
- เกตเวย์อีเมล/เว็บ สแกนไฟล์แนบและรายการดาวน์โหลดโดยตรง
- สภาพแวดล้อมแยกกัก (CAPE, Cuckoo) เรียกใช้ YARA กับสิ่งตกค้างที่ถูกปล่อยและคลายแพ็กแล้ว
- กระบวนการรับไฟล์เข้า สแกนการอัปโหลดก่อนจัดเก็บ
- การผสานรวมอย่างต่อเนื่องสำหรับคลังมัลแวร์ จัดประเภทตัวอย่างใหม่โดยอัตโนมัติ
ผลการตรวจพบแต่ละครั้งจะส่งไปยัง the SIEM/SOAR เพื่อเชื่อมโยงเหตุการณ์และตอบสนอง
# Example: scan every new file dropped into an intake bucket
yara -C ruleset.yarac "$NEW_FILE" && route_to_soar "$NEW_FILE"การค้นหาย้อนหลังและวงจรข่าวกรอง
ขยายการทำงานทั้งออกไปด้านนอกและเข้ามาด้านใน ส่งกฎที่มีมูลค่าสูงไปยังแพลตฟอร์มข่าวกรองภัยคุกคามเพื่อทำ การค้นหาย้อนหลัง กับตัวอย่างในอดีต เปิดเผยสายพันธุ์ที่เกี่ยวข้องและประวัติแคมเปญ
ป้อนสิ่งที่เรียนรู้กลับเข้าสู่ชุดกฎ: สายพันธุ์ใหม่ที่พบระหว่างการค้นหาย้อนหลังจะช่วยปรับกฎให้แม่นยำขึ้น จากนั้นกฎดังกล่าวจะตรวจจับคลื่นถัดไปได้ วงจรปิดนี้ทำให้ YARA เป็นระบบตรวจจับที่มีชีวิตและพัฒนาได้อย่างต่อเนื่อง
การจัดการผลตรวจพบและการตอบสนอง
การสแกนที่ไม่พบอะไรนอกจากบรรทัดบันทึกหนึ่งบรรทัดย่อมสูญเปล่า จงเชื่อมโยงผลตรวจพบเข้ากับการตอบสนอง
- ส่งผลลัพธ์ที่มีโครงสร้าง (ชื่อกฎ ไฟล์ โฮสต์ ค่าแฮช) ไปยัง the SIEM
- เรียกใช้ชุดขั้นตอนปฏิบัติการของ SOAR: แยกกักโฮสต์ เก็บตัวอย่าง และเพิ่มข้อมูลจากข่าวกรอง
- กักกันโดยอัตโนมัติเฉพาะกฎที่มีความเชื่อมั่นสูงและผ่านการทดสอบอย่างดีแล้ว
- ส่งผลตรวจพบที่มีความเชื่อมั่นต่ำกว่าให้นักวิเคราะห์คัดกรอง
เชื่อมโยงระดับความเชื่อมั่นในการตอบสนองกับความสมบูรณ์ของกฎ โดยใช้หลักปฏิบัติแจ้งเตือนแล้วจึงบล็อกแบบเดียวกับที่ใช้กับกฎ IPS
yara -C ruleset.yarac --print-meta "$F" \
| jq -R . | send_to_siemการวัดผลและการบำรุงรักษา
ดูแลชุดกฎเสมือนเป็นโครงการหนึ่งที่มีตัวชี้วัด:
- อัตราการตรวจพบ และ อัตราผลบวกลวง ของแต่ละกฎ
- ต้นทุนการสแกน ของแต่ละกฎทั่วทั้งกลุ่มเครื่อง
- ความครอบคลุมตามตระกูลและเทคนิคของ ATT&CK
เลิกใช้กฎที่ล้าสมัย แก้ไขกฎที่สร้างผลตรวจพบมากเกินไป และทดสอบซ้ำกับซอฟต์แวร์ที่ไม่เป็นอันตรายเป็นประจำ กฎต่าง ๆ เสื่อมประสิทธิภาพลงเมื่อซอฟต์แวร์และมัลแวร์พัฒนาไป ดังนั้นการบำรุงรักษาจึงต้องทำอย่างต่อเนื่อง ไม่ใช่สิ่งที่เลือกทำได้
ตรวจสอบอย่างรวดเร็ว
ใช้วิจารณญาณด้านการขยายระบบกับการนำออกใช้งาน
สรุปทบทวน
การใช้งาน YARA ในระดับขนาดใหญ่:
- ทำความเข้าใจ อะตอม หลีกเลี่ยงสตริงขนาดเล็ก อักขระไวลด์การ์ดทั้งหมด และนิพจน์ปกติที่ไม่มีจุดยึด
- กำหนดจุดยึดด้วยออฟเซ็ต/ขนาดไฟล์ และวางเงื่อนไขไว้หลังเงื่อนไขเบื้องต้น ระดับโกลบอล
- คอมไพล์ กฎ (yarac) และแจกจ่ายบล็อบไบนารี
- จัดการกฎเสมือน โค้ด: ควบคุมเวอร์ชัน การผสานรวมอย่างต่อเนื่อง การตรวจไวยากรณ์ และการกำหนดเนมสเปซ
- สแกนปลายทางผ่าน EDR และกำหนดเวลา สแกนหน่วยความจำ ไม่ใช่แค่ดิสก์
- ผนวกรวม YARA เข้ากับ เกตเวย์ สภาพแวดล้อมแยกกัก และกระบวนการรับข้อมูลเข้า แล้วส่งข้อมูลไปยัง SIEM/SOAR
- ใช้ การค้นหาย้อนหลัง และป้อนสิ่งที่ค้นพบกลับเข้าสู่กฎ
- วัดผล อัตราการตรวจพบ อัตรา FP และต้นทุนการสแกน พร้อมบำรุงรักษาอย่างต่อเนื่อง
คุณเรียนจบหลักสูตร YARA สำหรับการตรวจจับมัลแวร์แล้ว
เรียนรู้ Cyber Security Academy ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 76
- บทเรียน
- 303
คำถามที่พบบ่อย
บทเรียน “การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- YARA ใช้ทำอะไร
- ไวยากรณ์กฎ YARA
- การล่าภัยคุกคามด้วยสตริงและเลขฐานสิบหก
- การขยายขนาดและทำให้การสแกนเป็นอัตโนมัติ