dfuzz คือการกำหนดค่าภูตอัตโนมัติ fuzzer & nbsp;. แทนที่จะเป็น fuzzer ตัวเอง dfuzz เป็นเสื้อคลุมสำหรับ fuzzers ง่ายแก้ข้อบกพร่องอื่น ๆ ร่วมกันไม่กี่ซึ่งจะทำให้การทดสอบอัตโนมัติบิตยาก
แม้ว่าเป้าหมายหลักของมันเป็นไฟล์การกำหนดค่าก็เป็นไปได้ที่จะใช้ในการ dfuzz ฝอยใส่ไฟล์ใด ๆ
ปัญหาหลัก dfuzz แก้คือ:
- รุ่นอัลฟาของ fuzzers - ที่สุดของ fuzzers เป็นเพียงรุ่นอัลฟาที่มีการพัฒนาไม่ได้หรือคงไว้
- รูปแบบทั่วไป - ไม่จำเป็นต้องเข้าใจวิธีการใช้ fuzzer พื้นฐานทุกเดียว
- การตรวจสอบการปรับแต่งและการวิเคราะห์ข้อผิดพลาดโดยอัตโนมัติ
- ข้อกำหนดของสิ่งที่ตรงไปตรงมาในการทดสอบและไฟล์ที่จะจัดหาไปยังเป้าหมาย
- การรวมกันของการกลายพันธุ์และการสร้างไฟล์ fuzzed
สนับสนุน fuzzers
- zzuf (กลายพันธุ์)
- autodafe (รุ่น)
- ธรรมดา (วัตถุประสงค์ในการแก้จุดบกพร่อง)
การใช้งาน:
- ติดตั้งข้อกำหนด
- ติดตั้ง dfuzz (เช่น easy_install dfuzz)
- สร้างไดเรกทอรีการทำงาน
- ไฟล์อุปทาน fuzz.conf (ตัวอย่างดังต่อไปนี้)
- ตามที่โมดูลที่คุณต้องการที่จะใช้สร้าง mut หรือไดเรกทอรีเก็นในไดเรกทอรีการทำงานของคุณและจัดหาไฟล์ที่จะฝอยหรือแม่แบบที่จะใช้
- ระยะ dfuzz -d -o name_of_the_working_directory
- สังเกตเอาท์พุท
- ถ้าทุกอย่างดีเอาตัวเลือก -d และ -o และเรียกใช้คำสั่งอีกครั้ง
- ตรวจสอบไดเรกทอรีตัวอย่างสร้างขึ้นในไดเรกทอรีที่ทำงานของคุณ
- การใช้งานรวมถึงเหตุการณ์ที่เกิดขึ้นที่จะ incident_viewer เบราว์เซอร์หากมี
เอกสารที่สมบูรณ์ในไดเรกทอรีเอกสาร
ไฟล์ fuzz.conf ตัวอย่าง
[global]
ไบนารี = libvirtd
args = -f FUZZED_FILE --verbose
กระทู้ = 1
หมดเวลา = 2
รุ่น = 0
การกลายพันธุ์ = 1
รวมกัน = 0
[รุ่น]
โมดูล = dfuzz.gen.autodafe
ลำดับความสำคัญสูง =
[การกลายพันธุ์]
โมดูล = dfuzz.mut.zzuf; dfuzz.mut.plain
ลำดับความสำคัญสูง =
[รวมกัน]
โมดูล = dfuzz.comb.simple
จัดลำดับความสำคัญต่ำ =
ในรูปแบบที่ง่ายมัน, dfuzz สามารถใช้เป็นเสื้อคลุม zzuf มีการตรวจสอบที่เพิ่มขึ้นและการรายงานความสามารถ
คุณสมบัติ .
- อิสระ ของ fuzzer พื้นฐาน
- กำหนดสูง
- สร้างขึ้นเพื่อเป็นที่กางออก
- อุปกรณ์ที่เป็นมิตร
ต้องการ
- งูใหญ่
- fuzzer (zzuf, autodafe, ... )
- gdb, valgrind (ทั้งเป็นตัวเลือก)
ความคิดเห็นที่ไม่พบ