• GitHub: https://github.com/sischkg/ • Found Issues: – PowerDNS Security Advisory 2015-01(CVE-2015-1868 , CVE-2015- 5470) – A packet with malformed options can trigger an assertion failure in ISC BIND versions released prior to May 2013 and in packages derived from releases prior to that date.(CVE-2016-2848) – PowerDNS Security Advisory 2017-08(CVE-2017-15120) 3
exploit full-resolver, the malicious authoritative server, which replies crafted DNS messages, must be developed. • If authoritative server generates crafted DNS reply messages automaticaly, new vulnerabilties may be found. • To find new vulnerabilities, I decieded to develope a authoritative server for fuzzing. 4
software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. from Wikipedia(https://en.wikipedia.org/wiki/Fuzzing) 5
features. – only one zone – following features does not implement • domainname compression → implemented • wildcard → implemented • NSEC3-optout • TSIG ... 7
• Add/Modify/Delete RR – Add RR • CNAME/DNAME – CVE-2017-3137(https://kb.isc.org/article/AA-01466/0/) A response packet can cause a resolver to terminate when processing an answer containing a CNAME or DNAME • DNSSEC (DNSKEY/RRSIG/DS/NSEC/NSEC3) – Some vulnerablities affects only DNSSEC valdating Resolver – CVE-2017-15908(https://blog.trendmicro.com/trendlabs-security-intelligence/systemd- vulnerability-leads-to-denial-of-service-on-linux/) "systemd Vulnerability Leads to Denial of Service on Linux" • Meta RR(TSIG, TKEY...) – CVE-2016-9131(https://www.fortinet.com/blog/threat-research/analysis-of-isc-bind-tkey-query-response- handling-dos-cve-2016-9131.html) Analysis of ISC BIND TKEY Query Response Handling DoS (CVE-2016-9131) • Domainname Autogenerated from random numbers. 8
CH/HS/NONE/ANY CVE-2015-8000(https://kb.isc.org/article/AA-01317) Responses with a malformed class attribute can trigger an assertion failure in db.c – TTL/TYPE/RDATA autogenerated from random number – OPT RR • Generate Payload size, extended RCODE from random numbers. CVE-2016-2848(https://kb.isc.org/article/AA-01317) A packet with malformed options can trigger an assertion .. • NSID, ECS, Cookie, TCP-KEEPALIVE • Atuogenerated OPTION-Code, OPTION-Data 9
RRSet which is genereated from fuzzing • Sign Meta RRSet(OPT, TSIG, TKEY) • Shuffle RRs – Suffule RRs in each sections • Modify DNS message(wire format) – Add / Replace / Delete Data 10
Generate QNAME from zone data and random numbers. – QTYPE, QCLASS Generate QTYPE, QCLASS from random numbers. – OPT Generate payload size from random numbers. – Transport UDP, TCP 11