
Security research project on fuzzing libpng with OSS-Fuzz. Includes seed corpus analysis, custom read/write fuzzers, and a proof-of-concept exploit for CVE-2014-9495.
समूह सुरक्षा अनुसंधान परियोजना
फजिंग के बारे में: फजिंग एक स्वचालित सॉफ्टवेयर परीक्षण तकनीक है जो किसी प्रोग्राम को इनपुट के रूप में अमान्य, अप्रत्याशित या यादृच्छिक डेटा प्रदान करती है ताकि बग और कमजोरियों का पता लगाया जा सके। कवरेज-निर्देशित फजिंग कोड कवरेज फीडबैक का उपयोग करके विभिन्न निष्पादन पथों को बुद्धिमानी से खोजती है।
OSS-Fuzz के बारे में: OSS-Fuzz Google की ओपन-सोर्स सॉफ्टवेयर के लिए निरंतर फजिंग सेवा है। यह महत्वपूर्ण ओपन-सोर्स परियोजनाओं का स्वचालित रूप से परीक्षण करने और कमजोरियों की रिपोर्ट करने के लिए LibFuzzer और अन्य फजिंग इंजनों का उपयोग करती है।
यह परियोजना libpng लाइब्रेरी पर Google के OSS-Fuzz ढांचे का उपयोग करके कवरेज-निर्देशित फजिंग, कोड कवरेज विश्लेषण और भेद्यता शोषण को प्रदर्शित करती है।
लक्ष्य: libpng v1.6.48 (फजिंग), v1.5.20 (शोषण)
विस्तृत पद्धति और पूर्ण रिपोर्ट के लिए: report.pdf देखें
पूर्ण निर्देशों के लिए: Instructions.md देखें
| मीट्रिक | कॉर्पस के साथ | कॉर्पस के बिना | सुधार |
|---|---|---|---|
| लाइन कवरेज | 41.83% | 24.76% | +17.07% |
| ब्रांच कवरेज | 35.49% | 21.03% | +14.46% |
| फंक्शन कवरेज | 50.75% | 34.75% | +16.00% |

सुधार 1 - उन्नत रीड फजर (submit_improve1)
pngread.c में +74 पंक्तियाँ, pngtrans.c में +73 पंक्तियाँसुधार 2 - राइट फजर (submit_improve2)

libpng v1.5.20 में हीप बफर ओवरफ्लो का सफलतापूर्वक शोषण किया गया:
part4/run.poc.sh├── part1/ # Seed corpus impact analysis
│ ├── run.w_corpus.sh # Run with seed corpus
│ ├── run.w_o_corpus.sh # Run without seed corpus
│ └── report/ # Coverage reports
├── part3/ # Custom fuzzer improvements
│ ├── improve1/ # Enhanced read fuzzer
│ └── improve2/ # New write fuzzer
└── part4/ # CVE-2014-9495 exploitation
├── run.poc.sh # Run exploit
└── write_exploit.c # PoC code
# Part 1: Fuzzing experiments (4 hours each)
cd part1
./run.w_corpus.sh # or ./run.w_o_corpus.sh
# Part 3: Test improvements (4 hours each)
cd part3/improve1 && ./run.improve1.sh
cd part3/improve2 && ./run.improve2.sh
# Part 4: Exploit CVE
cd part4 && ./run.poc.sh
कवरेज रिपोर्ट देखें:
firefox part1/report/w_corpus/linux/index.html
यह सुरक्षा अनुसंधान परियोजना निम्नलिखित द्वारा सहयोगात्मक रूप से पूरी की गई: