การวิเคราะห์แบบสแตติก
สตริงและส่วนหัว
การวิเคราะห์แบบสแตติก เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
การวิเคราะห์แบบสแตติกคืออะไร
การวิเคราะห์แบบสแตติกตรวจสอบตัวอย่างมัลแวร์โดยไม่เรียกใช้ คุณตรวจดูเนื้อหา โครงสร้าง และข้อมูลกำกับของไฟล์เพื่อเรียนรู้ว่ามัลแวร์อาจทำอะไร
วิธีนี้ปลอดภัยกว่าการเรียกใช้โค้ดที่ไม่รู้จัก และโดยปกติเป็นขั้นตอนแรกของการตรวจสอบมัลแวร์ทุกครั้ง
ทำงานอย่างปลอดภัย
แม้แต่การวิเคราะห์แบบสแตติกก็ควรทำในสภาพแวดล้อมที่แยกออกจากระบบอื่น เช่น VM สำหรับการวิเคราะห์โดยเฉพาะที่ไม่มีข้อมูลสำคัญ และควรปิดใช้งานเครือข่าย
อย่าวิเคราะห์มัลแวร์บนเครื่องหลักของคุณโดยเด็ดขาด การเรียกใช้โดยไม่ตั้งใจหรือไฟล์จัดเก็บที่เป็นอันตรายอาจทำให้เครื่องถูกเจาะได้
การคำนวณแฮชของตัวอย่าง
ขั้นแรก ให้คำนวณแฮชของไฟล์ (MD5, SHA-1, SHA-256) แฮชเป็นลายนิ้วมือที่ใช้ระบุตัวอย่างและค้นหาในฐานข้อมูลข่าวกรองภัยคุกคาม
การส่งเฉพาะแฮชไปยัง VirusTotal ช่วยหลีกเลี่ยงการอัปโหลดตัวอย่างจริง
sha256sum sample.exeการดึงสตริง
คำสั่ง strings จะดึงข้อความที่พิมพ์ได้ออกจากไบนารี ซึ่งอาจเปิดเผย URL, ที่อยู่ IP, เส้นทางไฟล์, คีย์รีจิสทรี และข้อความแสดงข้อผิดพลาด
ร่องรอยเหล่านี้บอกเป็นนัยถึงความสามารถของมัลแวร์และโครงสร้างพื้นฐานสั่งการและควบคุม
strings -n 8 sample.exe | lessการระบุประเภทไฟล์
อย่าเชื่อสกุลไฟล์ ให้ใช้ file (และตรวจสอบไบต์มหัศจรรย์) เพื่อยืนยันรูปแบบที่แท้จริง
ไฟล์ปฏิบัติการของ Windows เริ่มต้นด้วย MZ (รูปแบบ PE) ส่วนไบนารี Linux แบบ ELF เริ่มต้นด้วย 0x7F ELF การทราบประเภทไฟล์ช่วยกำหนดแนวทางการวิเคราะห์ในขั้นตอนต่อไป
file sample.exe
# sample.exe: PE32 executable (GUI) Intel 80386ส่วนหัว PE
ไฟล์ปฏิบัติการของ Windows ใช้รูปแบบ Portable Executable (PE) ส่วนหัวจะอธิบายส่วนต่าง ๆ จุดเริ่มต้นการทำงาน และเวลา
เครื่องมืออย่าง PEview, pefile หรือ PE-bear จะแยกวิเคราะห์โครงสร้างนี้ให้คุณ
import pefile
pe = pefile.PE('sample.exe')
print(pe.FILE_HEADER.TimeDateStamp)อิมพอร์ตและ IAT
Import Address Table (IAT) แสดงรายการฟังก์ชัน API ที่โปรแกรมเรียกใช้จาก DLL อื่น นี่เป็นหนึ่งในแหล่งเบาะแสด้านพฤติกรรมที่มีข้อมูลมากที่สุด
อิมพอร์ตอย่าง InternetOpenUrl, CreateProcess หรือ RegSetValue บ่งชี้ถึงการสื่อสารเครือข่าย การเรียกใช้ และการคงอยู่ในระบบ
ส่วนต่าง ๆ และเอนโทรปี
ไฟล์ PE ถูกแบ่งออกเป็นส่วนต่าง ๆ เช่น .text (โค้ด), .data และ .rsrc (ทรัพยากร)
เอนโทรปีสูงในส่วนใดส่วนหนึ่งมักเป็นสัญญาณของการแพ็กหรือการเข้ารหัส ซึ่งบ่งชี้ว่าโค้ดจริงถูกซ่อนไว้จนกว่าจะทำงาน
สตริงน้อย อิมพอร์ตน้อยหรือไม่
หากตัวอย่างมีสตริงที่อ่านได้เพียงเล็กน้อยและแทบไม่มีอิมพอร์ต ก็มีแนวโน้มว่าจะถูกแพ็ก มัลแวร์ที่ถูกแพ็กจะคลายแพ็กตัวเองในหน่วยความจำขณะทำงาน
นั่นหมายความว่าการวิเคราะห์แบบสแตติกเพียงอย่างเดียวจะเปิดเผยข้อมูลได้ไม่ครบถ้วน ภายหลังคุณจะต้องใช้การวิเคราะห์แบบไดนามิกและการคลายแพ็ก
กฎ YARA
กฎ YARA อธิบายรูปแบบของสตริงหรือไบต์เพื่อจัดประเภทและตรวจจับตระกูลมัลแวร์ การตรวจสอบตัวอย่างด้วยชุดกฎช่วยระบุภัยคุกคามที่รู้จักได้อย่างรวดเร็ว
นักวิเคราะห์ยังเขียนกฎแบบกำหนดเองจากร่องรอยที่พบระหว่างการวิเคราะห์แบบสแตติกด้วย
yara malware_rules.yar sample.exeการบันทึกผลการวิเคราะห์
ตลอดการวิเคราะห์แบบสแตติก ให้บันทึกร่องรอยทุกอย่าง ได้แก่ แฮช สตริงที่น่าสงสัย อิมพอร์ต และความผิดปกติของส่วนต่าง ๆ สิ่งเหล่านี้จะกลายเป็น IOCs และช่วยกำหนดขั้นตอนถัดไป
บันทึกที่ดีช่วยให้คุณเชื่อมโยงตัวอย่างกับตระกูลที่รู้จัก และหลีกเลี่ยงการทำงานซ้ำเมื่อต้องกลับมาตรวจสอบอีกครั้ง
ตรวจสอบอย่างรวดเร็ว
ลองทบทวนว่าเอนโทรปีสูงของส่วนใดส่วนหนึ่งมักบ่งชี้ถึงอะไร
สรุปทบทวน
ตอนนี้คุณเข้าใจการวิเคราะห์มัลแวร์แบบสแตติกแล้ว:
- ตรวจสอบตัวอย่างโดยไม่เรียกใช้ ใน VM ที่แยกออกจากระบบอื่น
- คำนวณแฮช ดึงสตริง และยืนยันประเภทไฟล์
- แยกวิเคราะห์ส่วนหัว PE, อิมพอร์ต (IAT) และส่วนต่าง ๆ เอนโทรปีสูงบ่งชี้ถึงการแพ็ก
- ใช้ YARA เพื่อจัดประเภทตระกูลมัลแวร์ที่รู้จัก
ถัดไป คุณจะเฝ้าดูพฤติกรรมของมัลแวร์ด้วยการวิเคราะห์แบบไดนามิก
คำถามที่พบบ่อย
บทเรียน “การวิเคราะห์แบบสแตติก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การวิเคราะห์แบบสแตติก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การวิเคราะห์แบบสแตติก”
สตริงและส่วนหัว คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การวิเคราะห์แบบสแตติก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม
ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การวิเคราะห์แบบสแตติก
- การวิเคราะห์แบบพลวัต
- พื้นฐานการถอดแอสเซมบลี
- การแกะแพ็ก