DNSSEC ప్రోటోకాల్ యొక్క వివిధ ఇంప్లిమెంటేషన్లలో రెండు బలహీనతలు గుర్తించబడ్డాయి, ఇవి BIND, PowerDNS, dnsmasq, Knot Resolver, మరియు Unbound అనే DNS రిజాల్వర్లను ప్రభావితం చేస్తున్నాయి. ఈ బలహీనతలు అధిక CPU లోడ్ను సృష్టించడం ద్వారా DNSSEC ధ్రువీకరణను నిర్వహించే DNS రిజాల్వర్ల యొక్క డినయల్ ఆఫ్ సర్వీస్కు (denial of service) వీలు కల్పిస్తాయి, ఇది ఇతర క్వెరీల ప్రాసెసింగ్కు ఆటంకం కలిగిస్తుంది. ఈ దాడిని చేయడానికి, DNSSEC ఎనేబుల్ చేయబడిన DNS రిజాల్వర్కు ఒక క్వెరీని పంపితే సరిపోతుంది, ఇది దాడి చేసేవారి సర్వర్లోని ప్రత్యేకంగా రూపొందించిన DNS జోన్కు అభ్యర్థనను పంపుతుంది.
గుర్తించబడిన సమస్యలు:
- CVE-2023-50387 (కోడ్నేమ్ కీట్రాప్) – ప్రత్యేకంగా రూపొందించిన DNS జోన్లను యాక్సెస్ చేస్తున్నప్పుడు, ఇది అధిక CPU లోడ్ మరియు సుదీర్ఘమైన DNSSEC ధృవీకరణ కారణంగా డినయల్ ఆఫ్ సర్వీస్కు కారణమవుతుంది. ఈ దాడిని నిర్వహించడానికి, హానికరమైన సెట్టింగ్లతో కూడిన డొమైన్ జోన్ను దాడి చేసేవారి నియంత్రణలో ఉన్న DNS సర్వర్లో హోస్ట్ చేసి, ఆపై దానిని ఒక రికర్సివ్ DNS సర్వర్ ద్వారా యాక్సెస్ చేయాలి, అప్పుడు దాడి చేసేవారు ఆ సర్వర్ యొక్క సేవను నిరాకరిస్తారు.
హానికరమైన సెట్టింగ్లలో ఒక జోన్ కోసం పరస్పర విరుద్ధమైన కీలు, RRSET రికార్డులు మరియు డిజిటల్ సంతకాల కలయికను ఉపయోగించడం జరుగుతుంది. ఈ కీలను ఉపయోగించి ధృవీకరించడానికి ప్రయత్నించడం వలన సుదీర్ఘమైన, వనరులను ఎక్కువగా వినియోగించే కార్యకలాపాలు జరుగుతాయి, ఇవి CPUను పూర్తిగా ఓవర్లోడ్ చేసి, ఇతర అభ్యర్థనల ప్రాసెసింగ్ను నిరోధించగలవు (ఉదాహరణకు, BINDపై జరిగిన ఒక దాడి ఇతర అభ్యర్థనల ప్రాసెసింగ్ను 16 గంటల పాటు నిలిపివేసినట్లు నివేదించబడింది).
- CVE-2023-50868 (కోడ్నేమ్ NSEC3) అనేది ఒక డినయల్ ఆఫ్ సర్వీస్ దుర్బలత్వం. ప్రత్యేకంగా రూపొందించిన DNSSEC ప్రతిస్పందనలను ప్రాసెస్ చేస్తున్నప్పుడు, NSEC3 (నెక్స్ట్ సెక్యూర్ v3) రికార్డులలో హాష్లను లెక్కించేటప్పుడు గణనీయమైన గణన భారం కారణంగా ఇది ఏర్పడుతుంది. దాడి చేసే పద్ధతి మొదటి దుర్బలత్వం మాదిరిగానే ఉంటుంది, కానీ ఇందులో దాడి చేసేవారి DNS సర్వర్లో ప్రత్యేకంగా రూపొందించిన NSEC3 RRSET రికార్డ్ సెట్ సృష్టించబడుతుంది.
పైన పేర్కొన్న దుర్బలత్వాలు తలెత్తడానికి కారణం, ఒక DNS సర్వర్ అందుబాటులో ఉన్న అన్ని క్రిప్టోగ్రాఫిక్ కీలను పంపగల సామర్థ్యాన్ని DNSSEC స్పెసిఫికేషన్లో నిర్వచించడమేనని గమనించబడింది, అయితే రిజాల్వర్లు స్వీకరించిన ఏవైనా కీలను తనిఖీ విజయవంతమయ్యే వరకు లేదా స్వీకరించిన అన్ని కీలు ధృవీకరించబడే వరకు ప్రాసెస్ చేయాలి.
రిజాల్వర్లలోని దుర్బలత్వాలను నిరోధించే చర్యలలో భాగంగా, ట్రస్ట్ చైన్ను నిర్మించే ప్రక్రియలో పాల్గొనే DNSSEC కీల గరిష్ట సంఖ్య మరియు NSEC3 కోసం చేసే హాష్ గణనల గరిష్ట సంఖ్య పరిమితం చేయబడ్డాయి, అలాగే ప్రతి RRSET (కీలు మరియు సంతకాల కలయిక) మరియు ప్రతి ప్రతిస్పందన కోసం చేసే ధృవీకరణ పునఃప్రయత్నాలు కూడా పరిమితం చేయబడ్డాయి. సర్వర్.
Unbound (1.19.1), PowerDNS Recursor (4.8.6, 4.9.3, 5.0.2), Knot Resolver (5.7.1), dnsmasq (2.90), మరియు BIND (9.16.48, 9.18.24, మరియు 9.19.21) అప్డేట్లలో ఈ లోపాలు సరిచేయబడ్డాయి. ఈ డిస్ట్రిబ్యూషన్లలో లోపాల పరిష్కారాల స్థితిని ఈ పేజీలలో అంచనా వేయవచ్చు: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, జెంటూ, స్లాక్వేర్, నెట్బిఎస్డి, ఫ్రీబిఎస్డి.
BIND DNS సర్వర్ వెర్షన్లు 9.16.48, 9.18.24, మరియు 9.19.21 లలో అనేక అదనపు లోపాలు సరిచేయబడ్డాయి:
- CVE-2023-4408 - పెద్ద DNS సందేశాలను పార్స్ చేయడం వలన అధిక CPU లోడ్ ఏర్పడవచ్చు.
- CVE-2023-5517 — ప్రత్యేకంగా రూపొందించిన రివర్స్ జోన్ కోసం చేసిన అభ్యర్థన, ఒక అసర్షన్ చెక్ కారణంగా క్రాష్కు దారితీయవచ్చు. ఈ సమస్య "nxdomain-redirect" సెట్టింగ్ ఎనేబుల్ చేయబడిన కాన్ఫిగరేషన్లలో మాత్రమే సంభవిస్తుంది.
- CVE-2023-5679 – DNS64 మద్దతు మరియు "serve-stale" ఎనేబుల్ చేయబడిన (సెట్టింగ్లు, stale-cache-enable మరియు stale-answer-enable) సిస్టమ్లలో అసర్షన్ చెక్ కారణంగా రికర్సివ్ హోస్ట్ రిజల్యూషన్ క్రాష్కు కారణం కావచ్చు.
- CVE-2023-6516 – ప్రత్యేకంగా రూపొందించిన రికర్సివ్ క్వెరీలు ఒక ప్రాసెస్ మెమరీ అయిపోవడానికి కారణం కావచ్చు.
మూలం: opennet.ru
