LUKS2 విభజనలలో గుప్తీకరణను నిలిపివేయడానికి మిమ్మల్ని అనుమతించే క్రిప్ట్‌సెటప్‌లోని దుర్బలత్వం

క్రిప్ట్‌సెటప్ ప్యాకేజీలో ఒక దుర్బలత్వం (CVE-2021-4122) గుర్తించబడింది, ఇది Linuxలో డిస్క్ విభజనలను గుప్తీకరించడానికి ఉపయోగించబడుతుంది, ఇది మెటాడేటాను సవరించడం ద్వారా LUKS2 (Linux యూనిఫైడ్ కీ సెటప్) ఫార్మాట్‌లోని విభజనలపై గుప్తీకరణను నిలిపివేయడానికి అనుమతిస్తుంది. దుర్బలత్వాన్ని ఉపయోగించుకోవడానికి, దాడి చేసే వ్యక్తి తప్పనిసరిగా ఎన్‌క్రిప్టెడ్ మీడియాకు భౌతిక ప్రాప్యతను కలిగి ఉండాలి, అనగా. ఈ పద్ధతి ప్రధానంగా ఫ్లాష్ డ్రైవ్‌ల వంటి ఎన్‌క్రిప్టెడ్ బాహ్య నిల్వ పరికరాలపై దాడి చేయడానికి సమంజసమైనది, దాడి చేసేవారికి యాక్సెస్ ఉంటుంది కానీ డేటాను డీక్రిప్ట్ చేయడానికి పాస్‌వర్డ్ తెలియదు.

దాడి LUKS2 ఫార్మాట్‌కు మాత్రమే వర్తిస్తుంది మరియు "ఆన్‌లైన్ రీఎన్‌క్రిప్షన్" పొడిగింపును సక్రియం చేయడానికి బాధ్యత వహించే మెటాడేటా యొక్క మానిప్యులేషన్‌తో అనుబంధించబడింది, ఇది యాక్సెస్ కీని మార్చడానికి అవసరమైతే, ఫ్లైలో డేటా రీఎన్‌క్రిప్షన్ ప్రక్రియను ప్రారంభించడానికి అనుమతిస్తుంది. విభజనతో పనిని ఆపకుండా. కొత్త కీతో డిక్రిప్షన్ మరియు ఎన్‌క్రిప్షన్ ప్రక్రియకు చాలా సమయం పడుతుంది కాబట్టి, “ఆన్‌లైన్ రీఎన్‌క్రిప్షన్” అనేది విభజనతో పనికి అంతరాయం కలిగించకుండా మరియు నేపథ్యంలో రీ-ఎన్‌క్రిప్షన్‌ను నిర్వహించడాన్ని సాధ్యం చేస్తుంది, క్రమంగా డేటాను ఒక కీ నుండి మరొక కీకి తిరిగి ఎన్‌క్రిప్ట్ చేస్తుంది. . ఖాళీ లక్ష్య కీని ఎంచుకోవడం కూడా సాధ్యమే, ఇది విభాగాన్ని డీక్రిప్టెడ్ రూపంలోకి మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది.

దాడి చేసే వ్యక్తి LUKS2 మెటాడేటాలో మార్పులు చేయగలడు, అది వైఫల్యం ఫలితంగా డిక్రిప్షన్ ఆపరేషన్ యొక్క అబార్ట్‌ను అనుకరిస్తుంది మరియు యజమాని సవరించిన డ్రైవ్‌ని యాక్టివేట్ చేసి మరియు ఉపయోగించిన తర్వాత విభజనలో కొంత భాగాన్ని డీక్రిప్షన్ సాధించవచ్చు. ఈ సందర్భంలో, సవరించిన డ్రైవ్‌ను కనెక్ట్ చేసి, సరైన పాస్‌వర్డ్‌తో అన్‌లాక్ చేసిన వినియోగదారు అంతరాయించిన రీఎన్‌క్రిప్షన్ ఆపరేషన్‌ను పునరుద్ధరించే ప్రక్రియ గురించి ఎటువంటి హెచ్చరికను అందుకోరు మరియు “luks Dump”ని ఉపయోగించి ఈ ఆపరేషన్ పురోగతి గురించి మాత్రమే తెలుసుకోగలరు. ఆదేశం. దాడి చేసే వ్యక్తి డీక్రిప్ట్ చేయగల డేటా మొత్తం LUKS2 హెడర్ పరిమాణంపై ఆధారపడి ఉంటుంది, కానీ డిఫాల్ట్ పరిమాణంలో (16 MiB) అది 3 GB కంటే ఎక్కువగా ఉంటుంది.

రీ-ఎన్‌క్రిప్షన్‌కు కొత్త మరియు పాత కీల హ్యాష్‌లను లెక్కించడం మరియు ధృవీకరించడం అవసరం అయినప్పటికీ, కొత్త స్థితి ఎన్‌క్రిప్షన్ కోసం సాదాపాఠం కీ లేకపోవడాన్ని సూచిస్తే, డిక్రిప్షన్ ప్రారంభించడానికి హాష్ అవసరం లేదు అనే వాస్తవం కారణంగా సమస్య ఏర్పడింది. అదనంగా, ఎన్‌క్రిప్షన్ అల్గారిథమ్‌ను పేర్కొనే LUKS2 మెటాడేటా, దాడి చేసే వ్యక్తి చేతిలోకి వచ్చినట్లయితే, మార్పు నుండి రక్షించబడదు. దుర్బలత్వాన్ని నిరోధించడానికి, డెవలపర్‌లు LUKS2కి మెటాడేటా కోసం అదనపు రక్షణను జోడించారు, దీని కోసం అదనపు హాష్ ఇప్పుడు తనిఖీ చేయబడింది, తెలిసిన కీలు మరియు మెటాడేటా విషయాల ఆధారంగా లెక్కించబడుతుంది, అనగా. దాడి చేసే వ్యక్తి ఇకపై డిక్రిప్షన్ పాస్‌వర్డ్ తెలియకుండా మెటాడేటాను రహస్యంగా మార్చలేరు.

ఒక సాధారణ దాడి దృష్టాంతంలో దాడి చేసే వ్యక్తి డ్రైవ్‌ను అనేకసార్లు పొందగలగాలి. ముందుగా, యాక్సెస్ పాస్‌వర్డ్ తెలియని అటాకర్ మెటాడేటా ప్రాంతానికి మార్పులు చేస్తాడు, తదుపరిసారి డ్రైవ్ యాక్టివేట్ అయినప్పుడు డేటాలో కొంత భాగాన్ని డిక్రిప్షన్ చేస్తుంది. డ్రైవ్ తర్వాత దాని స్థానానికి తిరిగి వస్తుంది మరియు వినియోగదారు పాస్‌వర్డ్‌ను నమోదు చేయడం ద్వారా దానిని కనెక్ట్ చేసే వరకు దాడి చేసే వ్యక్తి వేచి ఉంటాడు. పరికరాన్ని వినియోగదారు సక్రియం చేసినప్పుడు, బ్యాక్‌గ్రౌండ్ రీ-ఎన్‌క్రిప్షన్ ప్రాసెస్ ప్రారంభించబడుతుంది, ఈ సమయంలో గుప్తీకరించిన డేటాలో కొంత భాగం డీక్రిప్ట్ చేయబడిన డేటాతో భర్తీ చేయబడుతుంది. ఇంకా, దాడి చేసే వ్యక్తి పరికరంలో మళ్లీ తన చేతిని పొందగలిగితే, డ్రైవ్‌లోని కొంత డేటా డీక్రిప్టెడ్ రూపంలో ఉంటుంది.

సమస్య cryptsetup ప్రాజెక్ట్ నిర్వహణ ద్వారా గుర్తించబడింది మరియు cryptsetup 2.4.3 మరియు 2.3.7 నవీకరణలలో పరిష్కరించబడింది. పంపిణీలలో సమస్యను పరిష్కరించడానికి రూపొందించబడిన నవీకరణల స్థితిని ఈ పేజీలలో ట్రాక్ చేయవచ్చు: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. "ఆన్‌లైన్ రీఎన్‌క్రిప్షన్" ఆపరేషన్‌కు మద్దతును ప్రవేశపెట్టిన క్రిప్ట్‌సెట్అప్ 2.2.0 విడుదలైనప్పటి నుండి మాత్రమే దుర్బలత్వం కనిపిస్తుంది. రక్షణ కోసం ప్రత్యామ్నాయంగా, “--disable-luks2-reencryption” ఎంపికతో ప్రారంభించడం ఉపయోగించబడుతుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి