మీరు "క్రిప్టోగ్రఫీ" అనే పదాన్ని విన్నప్పుడు, కొంతమందికి వారి WiFi పాస్వర్డ్, వారి ఇష్టమైన వెబ్సైట్ చిరునామా పక్కన ఉన్న ఆకుపచ్చ ప్యాడ్లాక్ మరియు వేరొకరి ఇమెయిల్లోకి ప్రవేశించడం ఎంత కష్టమో గుర్తుంచుకుంటారు. ఇతరులు సంక్షిప్తాలు (DROWN, FREAK, POODLE...), స్టైలిష్ లోగోలు మరియు మీ బ్రౌజర్ని అత్యవసరంగా అప్డేట్ చేయమని హెచ్చరికతో ఇటీవలి సంవత్సరాలలో దుర్బలత్వాల శ్రేణిని గుర్తుకు తెచ్చుకుంటారు.
క్రిప్టోగ్రఫీ అన్నింటినీ కవర్ చేస్తుంది, కానీ సారాంశం ఇంకొక దానిలో. పాయింట్ సాధారణ మరియు క్లిష్టమైన మధ్య ఒక చక్కటి గీత ఉంది. కొన్ని పనులు చేయడం సులభం, కానీ గుడ్డు పగలగొట్టడం వంటి వాటిని తిరిగి కలపడం కష్టం. ఇతర పనులు చేయడం సులభం కానీ చిన్న, ముఖ్యమైన, కీలకమైన భాగం లేనప్పుడు తిరిగి పొందడం కష్టం: ఉదాహరణకు, "కీలకమైన భాగం" కీలకమైనప్పుడు లాక్ చేయబడిన తలుపు తెరవడం. క్రిప్టోగ్రఫీ ఈ పరిస్థితులను మరియు వాటిని ఆచరణలో ఎలా ఉపయోగించవచ్చో అధ్యయనం చేస్తుంది.
ఇటీవలి సంవత్సరాలలో, క్రిప్టోగ్రాఫిక్ దాడుల సేకరణ శాస్త్రీయ పత్రాల నుండి సూత్రాలతో నిండిన మెరిసే లోగోల జంతుప్రదర్శనశాలగా మారింది మరియు ప్రతిదీ విచ్ఛిన్నమైందనే సాధారణ చీకటి భావనకు దారితీసింది. కానీ నిజానికి, అనేక దాడులు కొన్ని సాధారణ సూత్రాలపై ఆధారపడి ఉంటాయి మరియు ఫార్ములాల యొక్క అంతులేని పేజీలు తరచుగా సులభంగా అర్థం చేసుకునే ఆలోచనల కోసం ఉడకబెట్టబడతాయి.
ఈ కథనాల శ్రేణిలో, మేము ప్రాథమిక సూత్రాలకు ప్రాధాన్యతనిస్తూ వివిధ రకాల క్రిప్టోగ్రాఫిక్ దాడులను పరిశీలిస్తాము. సాధారణ పరంగా మరియు సరిగ్గా ఈ క్రమంలో కాదు, కానీ మేము ఈ క్రింది వాటిని కవర్ చేస్తాము:
ప్రాథమిక వ్యూహాలు: బ్రూట్ ఫోర్స్, ఫ్రీక్వెన్సీ విశ్లేషణ, ఇంటర్పోలేషన్, డౌన్గ్రేడ్ మరియు క్రాస్ ప్రోటోకాల్స్.
అధునాతన వ్యూహాలు: ఒరాకిల్ దాడులు (వోడెనెట్ దాడి, కెల్సే దాడి); మీట్-ఇన్-ది-మిడిల్ మెథడ్, బర్త్ డే అటాక్, స్టాటిస్టికల్ బయాస్ (డిఫరెన్షియల్ క్రిప్టానాలసిస్, ఇంటెగ్రల్ క్రిప్టానాలసిస్, మొదలైనవి).
సైడ్ ఛానల్ దాడులు మరియు వారి దగ్గరి బంధువులు, వైఫల్యం విశ్లేషణ పద్ధతులు.
పబ్లిక్ కీ క్రిప్టోగ్రఫీపై దాడులు: క్యూబ్ రూట్, ప్రసారం, సంబంధిత సందేశం, కాపర్స్మిత్ దాడి, పోహ్లిగ్-హెల్మాన్ అల్గోరిథం, నంబర్ జల్లెడ, వీనర్ దాడి, బ్లీచెన్బాచర్ దాడి.
ఈ ప్రత్యేక కథనం కెల్సీ దాడి వరకు పై విషయాలను కవర్ చేస్తుంది.
ప్రాథమిక వ్యూహాలు
కింది దాడులు చాలా సులువుగా ఉంటాయి, అవి చాలా సాంకేతిక వివరాలు లేకుండా దాదాపు పూర్తిగా వివరించబడతాయి. సంక్లిష్ట ఉదాహరణలు లేదా అధునాతన వినియోగ సందర్భాలలోకి వెళ్లకుండా, ప్రతి రకమైన దాడిని సరళమైన పదాలలో వివరిస్తాము.
ఈ దాడుల్లో కొన్ని చాలా వరకు వాడుకలో లేవు మరియు చాలా సంవత్సరాలుగా ఉపయోగించబడలేదు. ఇతరులు 21వ శతాబ్దంలో అనుమానించని క్రిప్టోసిస్టమ్ డెవలపర్లను ఇప్పటికీ క్రమం తప్పకుండా దొంగిలించే పాత-కాల వ్యక్తులు. ఆధునిక గూఢ లిపి శాస్త్రం యొక్క యుగం IBM DES యొక్క ఆగమనంతో ప్రారంభమైనట్లు పరిగణించబడుతుంది, ఈ జాబితాలో ప్రతి దాడిని తట్టుకునే మొదటి సాంకేతికలిపి.
సాధారణ బ్రూట్ ఫోర్స్
ఎన్క్రిప్షన్ స్కీమ్ రెండు భాగాలను కలిగి ఉంటుంది: 1) ఒక కీతో కలిపి సందేశాన్ని (ప్లెయిన్టెక్స్ట్) తీసుకుని, ఆపై గుప్తీకరించిన సందేశాన్ని ఉత్పత్తి చేసే ఎన్క్రిప్షన్ ఫంక్షన్—సిఫర్టెక్స్ట్; 2) సాంకేతికలిపి మరియు కీని తీసుకొని సాదా వచనాన్ని ఉత్పత్తి చేసే డిక్రిప్షన్ ఫంక్షన్. ఎన్క్రిప్షన్ మరియు డిక్రిప్షన్ రెండూ తప్పనిసరిగా కీతో గణించడం సులభం-మరియు అది లేకుండా గుర్తించడం కష్టం.
మనం సాంకేతికలిపిని చూస్తాము మరియు అదనపు సమాచారం లేకుండా దానిని డీక్రిప్ట్ చేయడానికి ప్రయత్నిస్తాము (దీనిని సాంకేతికలిపి-మాత్రమే దాడి అంటారు). మనం ఏదో ఒకవిధంగా సరైన కీని అద్భుతంగా కనుగొన్నట్లయితే, ఫలితం సహేతుకమైన సందేశం అయితే అది నిజంగా సరైనదేనని మేము సులభంగా ధృవీకరించవచ్చు.
ఇక్కడ రెండు అవ్యక్త అంచనాలు ఉన్నాయని గమనించండి. ముందుగా, డిక్రిప్షన్ ఎలా చేయాలో మనకు తెలుసు, అంటే క్రిప్టోసిస్టమ్ ఎలా పనిచేస్తుందో. క్రిప్టోగ్రఫీని చర్చించేటప్పుడు ఇది ఒక ప్రామాణిక ఊహ. దాడి చేసేవారి నుండి సాంకేతికలిపి అమలు వివరాలను దాచడం అదనపు భద్రతా చర్యగా అనిపించవచ్చు, కానీ దాడి చేసే వ్యక్తి ఈ వివరాలను గుర్తించిన తర్వాత, ఈ అదనపు భద్రత నిశ్శబ్దంగా మరియు తిరిగి పొందలేని విధంగా పోతుంది. అది ఎలా Kerchhoffs సూత్రం: శత్రువు చేతుల్లోకి వెళ్లే వ్యవస్థ అసౌకర్యాన్ని కలిగించకూడదు.
రెండవది, సరైన కీ అనేది సహేతుకమైన డిక్రిప్షన్కు దారితీసే ఏకైక కీ అని మేము ఊహిస్తాము. ఇది కూడా సహేతుకమైన ఊహ; సాంకేతికలిపి పాఠం కీ కంటే చాలా పొడవుగా ఉంటే మరియు చదవగలిగేలా ఉంటే అది సంతృప్తి చెందుతుంది. ఇది సాధారణంగా వాస్తవ ప్రపంచంలో జరిగేది తప్ప భారీ అసాధ్యమైన కీలు లేదా ఉత్తమంగా పక్కన పెట్టబడిన ఇతర షెనానిగన్లు (మా వివరణల తొలగింపు మీకు నచ్చకపోతే, దయచేసి సిద్ధాంతం 3.8 చూడండి ఇక్కడ).
పైన పేర్కొన్నదాని ప్రకారం, ఒక వ్యూహం పుడుతుంది: సాధ్యమయ్యే ప్రతి కీని తనిఖీ చేయండి. దీనిని బ్రూట్ ఫోర్స్ అని పిలుస్తారు మరియు అటువంటి దాడి అన్ని ఆచరణాత్మక సాంకేతికలిపిలకు వ్యతిరేకంగా పని చేస్తుందని హామీ ఇవ్వబడుతుంది - చివరికి. ఉదాహరణకు, హ్యాక్ చేయడానికి బ్రూట్ ఫోర్స్ సరిపోతుంది సీజర్ సాంకేతికలిపి, ఒక పురాతన సాంకేతికలిపి, ఇక్కడ కీ అనేది వర్ణమాల యొక్క ఒక అక్షరం, ఇది కేవలం 20కి పైగా సాధ్యమయ్యే కీలను సూచిస్తుంది.
దురదృష్టవశాత్తూ క్రిప్టానలిస్ట్ల కోసం, కీ పరిమాణాన్ని పెంచడం అనేది బ్రూట్ ఫోర్స్కు వ్యతిరేకంగా మంచి రక్షణ. కీ పరిమాణం పెరిగేకొద్దీ, సాధ్యమయ్యే కీల సంఖ్య విపరీతంగా పెరుగుతుంది. ఆధునిక కీ పరిమాణాలతో, సాధారణ బ్రూట్ ఫోర్స్ పూర్తిగా అసాధ్యమైనది. మన ఉద్దేశ్యం ఏమిటో అర్థం చేసుకోవడానికి, 2019 మధ్య నాటికి తెలిసిన అత్యంత వేగవంతమైన సూపర్ కంప్యూటర్ను తీసుకుందాం: సమ్మిట్ IBM నుండి, సెకనుకు దాదాపు 1017 కార్యకలాపాల గరిష్ట పనితీరుతో. నేడు, సాధారణ కీ పొడవు 128 బిట్లు, అంటే 2128 సాధ్యం కలయికలు. అన్ని కీల ద్వారా శోధించడానికి, సమ్మిట్ సూపర్ కంప్యూటర్కు విశ్వం వయస్సు కంటే దాదాపు 7800 రెట్లు ఎక్కువ సమయం అవసరం.
బ్రూట్ ఫోర్స్ను చారిత్రక ఉత్సుకతగా పరిగణించాలా? అస్సలు కాదు: ఇది క్రిప్టానాలసిస్ కుక్బుక్లో అవసరమైన పదార్ధం. అరుదుగా సాంకేతికలిపిలు చాలా బలహీనంగా ఉంటాయి, అవి ఒక డిగ్రీ లేదా మరొక స్థాయికి శక్తిని ఉపయోగించకుండా, తెలివైన దాడి ద్వారా మాత్రమే విచ్ఛిన్నమవుతాయి. అనేక విజయవంతమైన హ్యాక్లు ముందుగా లక్ష్య సాంకేతికలిపిని బలహీనపరచడానికి అల్గారిథమిక్ పద్ధతిని ఉపయోగిస్తాయి, ఆపై బ్రూట్ ఫోర్స్ దాడిని చేస్తాయి.
ఫ్రీక్వెన్సీ విశ్లేషణ
చాలా వచనాలు అసంబద్ధమైనవి కావు. ఉదాహరణకు, ఆంగ్ల గ్రంథాలలో అనేక అక్షరాలు ‘e’ మరియు వ్యాసాలు ‘the’ ఉన్నాయి; బైనరీ ఫైళ్లలో సమాచార ముక్కల మధ్య పాడింగ్గా చాలా శూన్య బైట్లు ఉన్నాయి. ఫ్రీక్వెన్సీ అనాలిసిస్ అనేది ఈ వాస్తవాన్ని సద్వినియోగం చేసుకునే ఏదైనా దాడి.
ఈ దాడికి గురయ్యే సాంకేతికలిపి యొక్క నియమానుగుణ ఉదాహరణ సాధారణ ప్రత్యామ్నాయ సాంకేతికలిపి. ఈ సాంకేతికలిపిలో, కీ అనేది అన్ని అక్షరాలతో భర్తీ చేయబడిన పట్టిక. ఉదాహరణకు, 'g' స్థానంలో 'h', 'o' స్థానంలో j, కాబట్టి 'go' పదం 'hj' అవుతుంది. ఈ సాంకేతికలిపిని బ్రూట్ ఫోర్స్ చేయడం కష్టం ఎందుకంటే చాలా సాధ్యమైన శోధన పట్టికలు ఉన్నాయి. మీకు గణితంపై ఆసక్తి ఉంటే, ప్రభావవంతమైన కీ పొడవు సుమారు 88 బిట్లు: అది
. కానీ ఫ్రీక్వెన్సీ విశ్లేషణ సాధారణంగా పనిని త్వరగా పూర్తి చేస్తుంది.
సాధారణ ప్రత్యామ్నాయ సాంకేతికలిపితో ప్రాసెస్ చేయబడిన క్రింది సాంకేతికలిపిని పరిగణించండి:
XDYLY ALY అగ్లీ XDWNKE WN DYAJYN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO
నుండి Y చాలా పదాల ముగింపుతో సహా తరచుగా సంభవిస్తుంది, ఇది అక్షరం అని మనం తాత్కాలికంగా ఊహించవచ్చు e:
XDeLe ALe UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN ALe FLeAUX GR WN OGQL ZDWBGEGZDO
జంట XD అనేక పదాల ప్రారంభంలో పునరావృతం. ముఖ్యంగా, కలయిక XDeLe పదాన్ని స్పష్టంగా సూచిస్తుంది these లేదా there, కాబట్టి కొనసాగిద్దాం:
ఆలే ఫ్లీఆట్ GR WN OGQL ZDWBGEGZDO కంటే Le ALe UGLe thWNKE WN heAJeN ANF eALth DGLAtWG
అని మనం ఇంకా అనుకుందాం L అనుగుణంగా ఉంటుంది r, A - a మరియు అందువలన న. దీనికి బహుశా కొన్ని ప్రయత్నాలు పట్టవచ్చు, కానీ పూర్తి బ్రూట్ ఫోర్స్ దాడితో పోలిస్తే, ఈ దాడి అసలు వచనాన్ని ఏ సమయంలోనైనా పునరుద్ధరిస్తుంది:
మీ తత్వశాస్త్రంలో కలలు కన్నా ఎక్కువ విషయాలు స్వర్గం మరియు భూమిలో ఉన్నాయి
కొంతమందికి, అటువంటి "క్రిప్టోగ్రామ్లను" పరిష్కరించడం ఒక ఉత్తేజకరమైన అభిరుచి.
ఫ్రీక్వెన్సీ విశ్లేషణ యొక్క ఆలోచన మొదటి చూపులో కనిపించే దానికంటే చాలా ప్రాథమికమైనది. మరియు ఇది చాలా క్లిష్టమైన సాంకేతికలిపిలకు వర్తిస్తుంది. చరిత్రలో, వివిధ సాంకేతికలిపి నమూనాలు "పాలియాల్ఫాబెటిక్ ప్రత్యామ్నాయం" ఉపయోగించి అటువంటి దాడిని ఎదుర్కోవడానికి ప్రయత్నించాయి. ఇక్కడ, ఎన్క్రిప్షన్ ప్రక్రియలో, అక్షర ప్రత్యామ్నాయ పట్టిక సంక్లిష్టమైన కానీ ఊహాజనిత మార్గాల్లో కీపై ఆధారపడి సవరించబడుతుంది. ఈ సాంకేతికలిపిలన్నీ ఒక సమయంలో విచ్ఛిన్నం చేయడం కష్టంగా పరిగణించబడ్డాయి; మరియు ఇంకా నిరాడంబరమైన ఫ్రీక్వెన్సీ విశ్లేషణ చివరికి వాటన్నింటినీ ఓడించింది.
చరిత్రలో అత్యంత ప్రతిష్టాత్మకమైన పాలిఅల్ఫాబెటిక్ సాంకేతికలిపి, మరియు బహుశా అత్యంత ప్రసిద్ధమైనది, రెండవ ప్రపంచ యుద్ధం యొక్క ఎనిగ్మా సాంకేతికలిపి. దాని పూర్వీకులతో పోలిస్తే ఇది చాలా క్లిష్టంగా ఉంది, కానీ చాలా కష్టపడి, బ్రిటిష్ క్రిప్టానలిస్టులు ఫ్రీక్వెన్సీ విశ్లేషణను ఉపయోగించి దాన్ని ఛేదించారు. వాస్తవానికి, పైన చూపిన విధంగా వారు సొగసైన దాడిని అభివృద్ధి చేయలేరు; వారు తెలిసిన జతల సాదాపాఠం మరియు సాంకేతిక టెక్స్ట్లను ("ప్లెయిన్టెక్స్ట్ అటాక్" అని పిలవబడేది) పోల్చవలసి వచ్చింది, కొన్ని సందేశాలను గుప్తీకరించడానికి మరియు ఫలితాన్ని విశ్లేషించడానికి ఎనిగ్మా వినియోగదారులను కూడా రెచ్చగొట్టింది ("ఎంచుకున్న సాదా వచన దాడి"). కానీ ఇది ఓడిపోయిన శత్రు సైన్యాలు మరియు మునిగిపోయిన జలాంతర్గాముల విధిని సులభతరం చేయలేదు.
ఈ విజయం తర్వాత, ఫ్రీక్వెన్సీ విశ్లేషణ క్రిప్టానాలసిస్ చరిత్ర నుండి అదృశ్యమైంది. ఆధునిక డిజిటల్ యుగంలో సైఫర్లు అక్షరాలతో కాకుండా బిట్లతో పని చేయడానికి రూపొందించబడ్డాయి. మరీ ముఖ్యంగా, ఈ సాంకేతికలిపిలు తరువాత ఏమని పిలువబడ్డాయి అనే చీకటి అవగాహనతో రూపొందించబడ్డాయి ష్నీయర్ చట్టం: ఎవరైనా తాము విచ్ఛిన్నం చేయలేని ఎన్క్రిప్షన్ అల్గారిథమ్ని సృష్టించవచ్చు. ఎన్క్రిప్షన్ సిస్టమ్కు ఇది సరిపోదు అనిపించింది కష్టం: దాని విలువను నిరూపించడానికి, సాంకేతికలిపిని పగులగొట్టడానికి తమ వంతు కృషి చేసే అనేక మంది క్రిప్టానలిస్ట్లచే ఇది కనికరంలేని భద్రతా సమీక్షను పొందాలి.
ప్రాథమిక లెక్కలు
200 జనాభా కలిగిన ప్రీకామ్ హైట్స్ యొక్క ఊహాత్మక నగరాన్ని తీసుకుందాం. నగరంలోని ప్రతి ఇంటిలో సగటున $000 విలువైన విలువైన వస్తువులు ఉంటాయి, అయితే $30 కంటే ఎక్కువ విలువైన విలువైన వస్తువులు ఉండవు. ప్రీకామ్లోని సెక్యూరిటీ మార్కెట్ను పురాణ కయోట్™ డోర్ లాక్లను ఉత్పత్తి చేసే ACME ఇండస్ట్రీస్ గుత్తాధిపత్యం కలిగి ఉంది. నిపుణుల విశ్లేషణ ప్రకారం, కొయెట్-క్లాస్ తాళం చాలా క్లిష్టమైన ఊహాజనిత యంత్రం ద్వారా మాత్రమే విచ్ఛిన్నమవుతుంది, దీని సృష్టికి దాదాపు ఐదు సంవత్సరాలు మరియు $000 పెట్టుబడి అవసరం. నగరం సురక్షితంగా ఉందా?
చాలా మటుకు లేదు. చివరికి, చాలా ప్రతిష్టాత్మకమైన నేరస్థుడు కనిపిస్తాడు. అతను ఇలా తర్కిస్తాడు: “అవును, నేను పెద్ద మొత్తంలో ముందస్తు ఖర్చులు భరిస్తాను. ఐదేళ్లపాటు ఓపికగా వేచి ఉండటం మరియు $50. కానీ నేను పూర్తి చేసిన తర్వాత, నాకు యాక్సెస్ ఉంటుంది ఈ నగరం యొక్క సంపద అంతా. నేను నా కార్డులను సరిగ్గా ప్లే చేస్తే, ఈ పెట్టుబడి చాలా రెట్లు చెల్లిస్తుంది.
క్రిప్టోగ్రఫీలో కూడా ఇదే వర్తిస్తుంది. నిర్దిష్ట సాంకేతికలిపిపై దాడులు క్రూరమైన వ్యయ-ప్రయోజన విశ్లేషణకు లోబడి ఉంటాయి. నిష్పత్తి అనుకూలంగా ఉంటే, దాడి జరగదు. అయితే అనేక మంది సంభావ్య బాధితులకు వ్యతిరేకంగా ఒకేసారి పనిచేసే దాడులు దాదాపు ఎల్లప్పుడూ ప్రతిఫలం పొందుతాయి, ఈ సందర్భంలో వారు మొదటి రోజు నుండి ప్రారంభమైనట్లు భావించడం ఉత్తమ రూపకల్పన పద్ధతి. మేము తప్పనిసరిగా మర్ఫీస్ లా యొక్క క్రిప్టోగ్రాఫిక్ వెర్షన్ను కలిగి ఉన్నాము: "నిజంగా సిస్టమ్ను విచ్ఛిన్నం చేసే ఏదైనా సిస్టమ్ను విచ్ఛిన్నం చేస్తుంది."
ప్రీకంప్యూటేషన్ దాడికి గురయ్యే క్రిప్టోసిస్టమ్ యొక్క సరళమైన ఉదాహరణ స్థిరమైన-కీలెస్ సాంకేతికలిపి. ఈ విషయంలో జరిగింది సీజర్ యొక్క సాంకేతికలిపి, ఇది కేవలం వర్ణమాలలోని ప్రతి అక్షరాన్ని మూడు అక్షరాలను ముందుకు మారుస్తుంది (టేబుల్ లూప్ చేయబడింది, కాబట్టి వర్ణమాలలోని చివరి అక్షరం మూడవదిగా గుప్తీకరించబడుతుంది). ఇక్కడ మళ్ళీ Kerchhoffs సూత్రం అమలులోకి వస్తుంది: సిస్టమ్ ఒకసారి హ్యాక్ చేయబడితే, అది ఎప్పటికీ హ్యాక్ చేయబడుతుంది.
కాన్సెప్ట్ సింపుల్. అనుభవం లేని క్రిప్టోసిస్టమ్ డెవలపర్ కూడా ముప్పును గుర్తించి, తదనుగుణంగా సిద్ధమవుతారు. క్రిప్టోగ్రఫీ యొక్క పరిణామాన్ని పరిశీలిస్తే, సీజర్ సాంకేతికలిపి యొక్క మొదటి మెరుగైన సంస్కరణల నుండి పాలీఅల్ఫాబెటిక్ సాంకేతికలిపిల క్షీణత వరకు చాలా సాంకేతికలిపిలకు ఇటువంటి దాడులు తగనివి. గూఢ లిపి శాస్త్రం యొక్క ఆధునిక యుగం యొక్క ఆగమనంతో ఇటువంటి దాడులు మాత్రమే తిరిగి వచ్చాయి.
ఈ రాబడి రెండు అంశాల కారణంగా ఉంది. మొదట, తగినంత సంక్లిష్టమైన క్రిప్టోసిస్టమ్స్ చివరకు కనిపించాయి, ఇక్కడ హ్యాకింగ్ తర్వాత దోపిడీకి అవకాశం స్పష్టంగా లేదు. రెండవది, గూఢ లిపి శాస్త్రం ఎంత విస్తృతంగా వ్యాపించిందంటే, క్రిప్టోగ్రఫీలో ఎక్కడ మరియు ఏ భాగాలను తిరిగి ఉపయోగించాలనే దాని గురించి మిలియన్ల మంది సామాన్యులు ప్రతిరోజూ నిర్ణయాలు తీసుకున్నారు. నిపుణులు ప్రమాదాలను గ్రహించి, అలారం పెంచడానికి కొంత సమయం పట్టింది.
ప్రీకంప్యూటేషన్ దాడిని గుర్తుంచుకోండి: వ్యాసం చివరిలో మనం రెండు నిజ-జీవిత క్రిప్టోగ్రాఫిక్ ఉదాహరణలను పరిశీలిస్తాము, ఇక్కడ అది ఒక ముఖ్యమైన పాత్ర పోషించింది.
ఇంటర్పోలేషన్
ఇక్కడ ప్రసిద్ధ డిటెక్టివ్ షెర్లాక్ హోమ్స్, అభాగ్యుడైన డాక్టర్. వాట్సన్పై ఇంటర్పోలేషన్ దాడి చేస్తున్నాడు:
మీరు ఆఫ్ఘనిస్తాన్ నుండి వచ్చారని నేను వెంటనే ఊహించాను... నా ఆలోచన ఈ క్రింది విధంగా ఉంది: “ఈ వ్యక్తి రకంగా వైద్యుడు, కానీ అతనికి మిలిటరీ బేరింగ్ ఉంది. కాబట్టి, ఒక సైనిక వైద్యుడు. అతను ఉష్ణమండల నుండి ఇప్పుడే వచ్చాడు - అతని ముఖం చీకటిగా ఉంది, కానీ ఇది అతని చర్మం యొక్క సహజ నీడ కాదు, ఎందుకంటే అతని మణికట్టు చాలా తెల్లగా ఉంటుంది. ముఖం విపరీతంగా ఉంది-స్పష్టంగా, అతను చాలా బాధపడ్డాడు మరియు అనారోగ్యంతో బాధపడ్డాడు. అతను తన ఎడమ చేతిలో గాయపడ్డాడు - అతను దానిని కదలకుండా మరియు కొద్దిగా అసహజంగా పట్టుకున్నాడు. ఒక ఆంగ్ల సైనిక వైద్యుడు ఉష్ణమండలంలో ఎక్కడ కష్టాలను భరించగలడు మరియు గాయపడగలడు? అయితే, ఆఫ్ఘనిస్తాన్లో." ఆలోచనల రైలు మొత్తం ఒక్క సెకను కూడా పట్టలేదు. మీరు ఆఫ్ఘనిస్తాన్ నుండి వచ్చారని నేను చెప్పాను, మరియు మీరు ఆశ్చర్యపోయారు.
హోమ్స్ ఒక్కొక్క సాక్ష్యం నుండి చాలా తక్కువ సమాచారాన్ని సేకరించగలడు. వాటన్నింటినీ కలిపి పరిశీలించడం ద్వారా మాత్రమే అతను తన నిర్ధారణకు రాగలిగాడు. ఒకే కీ ఫలితంగా తెలిసిన సాదాపాఠం మరియు సైఫర్టెక్స్ట్ జతలను పరిశీలించడం ద్వారా ఇంటర్పోలేషన్ దాడి అదే విధంగా పనిచేస్తుంది. ప్రతి జత నుండి, వ్యక్తిగత పరిశీలనలు సంగ్రహించబడతాయి, ఇవి కీ గురించి సాధారణ ముగింపును రూపొందించడానికి అనుమతిస్తాయి. ఈ తీర్మానాలన్నీ అస్పష్టంగా ఉన్నాయి మరియు అవి అకస్మాత్తుగా క్లిష్టమైన ద్రవ్యరాశికి చేరుకునే వరకు పనికిరానివిగా కనిపిస్తాయి మరియు సాధ్యమయ్యే ఏకైక ముగింపుకు దారి తీస్తాయి: ఇది ఎంత నమ్మశక్యం కానిది అయినప్పటికీ, ఇది నిజం. దీని తర్వాత, కీ బహిర్గతం చేయబడుతుంది, లేదా డిక్రిప్షన్ ప్రక్రియ చాలా శుద్ధి చేయబడి, దానిని పునరావృతం చేయవచ్చు.
ఇంటర్పోలేషన్ ఎలా పనిచేస్తుందో ఒక సాధారణ ఉదాహరణతో ఉదహరించండి. మన శత్రువు బాబ్ యొక్క వ్యక్తిగత డైరీని చదవాలనుకుంటున్నాము. "ఎ మాక్ ఆఫ్ క్రిప్టోగ్రఫీ" అనే మ్యాగజైన్లోని ప్రకటన నుండి అతను నేర్చుకున్న సాధారణ క్రిప్టోసిస్టమ్ని ఉపయోగించి అతను తన డైరీలోని ప్రతి సంఖ్యను గుప్తీకరిస్తాడు. సిస్టమ్ ఇలా పనిచేస్తుంది: బాబ్ తనకు నచ్చిన రెండు సంఖ్యలను ఎంచుకుంటాడు: и . ఇప్పటి నుండి, ఏదైనా సంఖ్యను గుప్తీకరించడానికి , ఇది లెక్కిస్తుంది . ఉదాహరణకు, బాబ్ ఎంచుకుంటే и , తర్వాత సంఖ్య గా ఎన్క్రిప్ట్ చేయబడుతుంది .
డిసెంబరు 28న బాబ్ తన డైరీలో ఏదో గోకడం గమనించాం. అతను పూర్తి చేసిన తర్వాత, మేము నిశ్శబ్దంగా దాన్ని తీసుకొని చివరి ఎంట్రీని చూస్తాము:
తేదీ: 235/520
ప్రియమైన డైరీ,
ఈ రోజు మంచి రోజు. ద్వారా 64 ఈ రోజు నాకు అపార్ట్మెంట్లో నివసించే అలీసాతో డేట్ ఉంది 843. నేను నిజంగా ఆమె కావచ్చు అనుకుంటున్నాను 26!
బాబ్ని అతని డేట్లో అనుసరించడం గురించి మేము చాలా సీరియస్గా ఉన్నందున (ఈ దృష్టాంతంలో మా ఇద్దరికీ 15 ఏళ్లు), ఆలిస్ చిరునామాతో పాటు తేదీని తెలుసుకోవడం చాలా ముఖ్యం. అదృష్టవశాత్తూ, బాబ్ యొక్క క్రిప్టోసిస్టమ్ ఇంటర్పోలేషన్ దాడికి గురయ్యే అవకాశం ఉందని మేము గమనించాము. మనకు తెలియకపోవచ్చు и , కానీ మాకు ఈనాటి తేదీ తెలుసు, కాబట్టి మనకు రెండు సాదాపాఠం-సిఫర్టెక్స్ట్ జతలు ఉన్నాయి. నామంగా, అది మాకు తెలుసు గుప్తీకరించబడింది మరియు - లో . ఇది మేము వ్రాస్తాము:
మాకు 15 సంవత్సరాల వయస్సు ఉన్నందున, రెండు తెలియని వ్యక్తులతో రెండు సమీకరణాల వ్యవస్థ గురించి మాకు ఇప్పటికే తెలుసు, ఈ పరిస్థితిలో కనుగొనడానికి సరిపోతుంది и ఏ సమస్యలు లేకుండా. ప్రతి ప్లెయిన్టెక్స్ట్-సిఫర్టెక్స్ట్ జత బాబ్ యొక్క కీపై ప్రతిబంధకాన్ని ఉంచుతుంది మరియు కీని పూర్తిగా పునరుద్ధరించడానికి రెండు పరిమితులు కలిసి సరిపోతాయి. మా ఉదాహరణలో సమాధానం и (వద్ద , అందువలన 26 డైరీలో 'ఒకటి' అనే పదానికి అనుగుణంగా ఉంటుంది, అంటే "అదే ఒకటి" - సుమారు. వీధి).
ఇంటర్పోలేషన్ దాడులు, అటువంటి సాధారణ ఉదాహరణలకు మాత్రమే పరిమితం కావు. బాగా అర్థం చేసుకున్న గణిత వస్తువు మరియు పారామితుల జాబితాకు తగ్గించే ప్రతి క్రిప్టోసిస్టమ్ ఇంటర్పోలేషన్ దాడికి గురయ్యే ప్రమాదం ఉంది-వస్తువు మరింత అర్థమయ్యేలా, ఎక్కువ ప్రమాదం ఉంటుంది.
క్రిప్టోగ్రఫీ అనేది "వస్తువులను వీలైనంత అసహ్యంగా రూపొందించే కళ" అని కొత్తవారు తరచుగా ఫిర్యాదు చేస్తారు. ఇంటర్పోలేషన్ దాడులు బహుశా ఎక్కువగా నిందించవచ్చు. బాబ్ ఒక సొగసైన గణిత రూపకల్పనను ఉపయోగించవచ్చు లేదా ఆలిస్తో తన తేదీని ప్రైవేట్గా ఉంచవచ్చు-కాని అయ్యో, మీరు సాధారణంగా దీన్ని రెండు విధాలుగా కలిగి ఉండలేరు. మేము చివరికి పబ్లిక్ కీ క్రిప్టోగ్రఫీ అంశానికి వచ్చినప్పుడు ఇది చాలా స్పష్టంగా కనిపిస్తుంది.
క్రాస్ ప్రోటోకాల్/డౌన్గ్రేడ్
నౌ యు సీ మీ (2013)లో, అవినీతిపరుడైన భీమా మాగ్నెట్ ఆర్థర్ ట్రెస్లర్ను అతని మొత్తం సంపదను మోసగించడానికి భ్రమవాదుల బృందం ప్రయత్నిస్తుంది. ఆర్థర్ యొక్క బ్యాంక్ ఖాతాకు ప్రాప్యతను పొందడానికి, భ్రాంతులు తప్పనిసరిగా అతని వినియోగదారు పేరు మరియు పాస్వర్డ్ను అందించాలి లేదా బ్యాంక్లో వ్యక్తిగతంగా కనిపించి పథకంలో పాల్గొనమని అతనిని బలవంతం చేయాలి.
రెండు ఎంపికలు చాలా కష్టం; కుర్రాళ్ళు వేదికపై ప్రదర్శన ఇవ్వడానికి అలవాటు పడ్డారు మరియు ఇంటెలిజెన్స్ కార్యకలాపాలలో పాల్గొనరు. కాబట్టి వారు సాధ్యమయ్యే మూడవ ఎంపికను ఎంచుకుంటారు: వారి సహచరుడు బ్యాంకుకు కాల్ చేసి ఆర్థర్గా నటిస్తారు. మామయ్య పేరు మరియు మొదటి పెంపుడు జంతువు పేరు వంటి గుర్తింపును ధృవీకరించడానికి బ్యాంక్ అనేక ప్రశ్నలను అడుగుతుంది; ముందుగానే మన హీరోలు వారు తెలివైన సోషల్ ఇంజనీరింగ్ ఉపయోగించి ఆర్థర్ నుండి ఈ సమాచారాన్ని సులభంగా సంగ్రహిస్తారు. ఈ పాయింట్ నుండి, అద్భుతమైన పాస్వర్డ్ భద్రత ఇకపై పట్టింపు లేదు.
(మేము వ్యక్తిగతంగా ధృవీకరించిన మరియు ధృవీకరించిన పట్టణ పురాణం ప్రకారం, క్రిప్టోగ్రాఫర్ ఎలీ బీహమ్ ఒకసారి బ్యాంక్ టెల్లర్ను ఎదుర్కొన్నాడు, అతను భద్రతా ప్రశ్నను సెట్ చేయమని పట్టుబట్టాడు. టెల్లర్ తన అమ్మమ్మ పేరును అడిగినప్పుడు, బీహామ్ ఇలా చెప్పడం ప్రారంభించాడు: “క్యాపిటల్ X, చిన్న y, మూడు... ").
ఒకే ఆస్తిని రక్షించడానికి రెండు క్రిప్టోగ్రాఫిక్ ప్రోటోకాల్లను సమాంతరంగా ఉపయోగించినట్లయితే మరియు ఒకటి మరొకటి కంటే చాలా బలహీనంగా ఉంటే, ఇది క్రిప్టోగ్రఫీలో ఒకేలా ఉంటుంది. ఫలితంగా వ్యవస్థ క్రాస్-ప్రోటోకాల్ దాడికి గురవుతుంది, ఇక్కడ బలమైన ప్రోటోకాల్ను తాకకుండా బహుమతిని పొందేందుకు బలహీనమైన ప్రోటోకాల్ దాడి చేయబడుతుంది.
కొన్ని క్లిష్టమైన సందర్భాల్లో, బలహీనమైన ప్రోటోకాల్ని ఉపయోగించి సర్వర్ను సంప్రదించడం సరిపోదు, కానీ చట్టబద్ధమైన క్లయింట్ యొక్క అసంకల్పిత భాగస్వామ్యం అవసరం. డౌన్గ్రేడ్ దాడి అని పిలవబడే ఉపయోగించి దీన్ని నిర్వహించవచ్చు. ఈ దాడిని అర్థం చేసుకోవడానికి, మన భ్రమవాదులకు సినిమాలో కంటే చాలా కష్టమైన పని ఉందని అనుకుందాం. ఒక బ్యాంకు ఉద్యోగి (క్యాషియర్) మరియు ఆర్థర్ కొన్ని ఊహించలేని పరిస్థితులను ఎదుర్కొన్నారని అనుకుందాం, దీని ఫలితంగా ఈ క్రింది సంభాషణ జరిగింది:
దొంగ: హలో? ఇది ఆర్థర్ ట్రెస్లర్. నేను నా పాస్వర్డ్ని రీసెట్ చేయాలనుకుంటున్నాను.
క్యాషియర్: గొప్ప. దయచేసి మీ వ్యక్తిగత రహస్య కోడ్ పుస్తకం, పేజీ 28, పదం 3ని పరిశీలించండి. ఈ నిర్దిష్ట పదాన్ని కీగా ఉపయోగించి క్రింది సందేశాలన్నీ గుప్తీకరించబడతాయి. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…
దొంగ: హే, హే, ఆగండి, ఆగండి. ఇది నిజంగా అవసరమా? మనం మామూలు మనుషుల్లా మాట్లాడలేమా?
క్యాషియర్: నేను దీన్ని చేయమని సిఫార్సు చేయను.
దొంగ: నేను ఇప్పుడే... చూడు, నాకు ఒక నీచమైన రోజు వచ్చింది, సరేనా? నేను VIP క్లయింట్ని మరియు ఈ స్టుపిడ్ కోడ్ పుస్తకాలను తవ్వే మానసిక స్థితిలో లేను.
క్యాషియర్: ఫైన్. మీరు పట్టుబట్టినట్లయితే, మిస్టర్ ట్రెస్లర్. నీకు ఏమి కావాలి?
దొంగ: దయచేసి, నేను ఆర్థర్ ట్రెస్లర్ జాతీయ బాధితుల నిధికి నా డబ్బు మొత్తాన్ని విరాళంగా ఇవ్వాలనుకుంటున్నాను.
(పాజ్).
క్యాషియర్: ఇప్పుడు స్పష్టమైందా. పెద్ద లావాదేవీల కోసం దయచేసి మీ PINని అందించండి.
దొంగ: నా ఏంటి?
క్యాషియర్: మీ వ్యక్తిగత అభ్యర్థన మేరకు, ఈ పరిమాణంలోని లావాదేవీలకు పెద్ద లావాదేవీల కోసం పిన్ అవసరం. మీరు మీ ఖాతాను తెరిచినప్పుడు ఈ కోడ్ మీకు అందించబడింది.
దొంగ:... నేను పోగొట్టుకున్నాను. ఇది నిజంగా అవసరమా? మీరు ఒప్పందాన్ని ఆమోదించలేదా?
క్యాషియర్: నం. నన్ను క్షమించండి, మిస్టర్ ట్రెస్లర్. మళ్ళీ, ఇది మీరు కోరిన భద్రతా ప్రమాణం. మీకు కావాలంటే, మేము మీ మెయిల్బాక్స్కి కొత్త పిన్ కోడ్ని పంపవచ్చు.
మన హీరోలు ఆపరేషన్ వాయిదా వేస్తారు. పిన్ వినాలనే ఆశతో వారు ట్రెస్లర్ యొక్క అనేక పెద్ద లావాదేవీలను వింటారు; కానీ ప్రతిసారీ ఏదైనా ఆసక్తికరంగా చెప్పకముందే సంభాషణ కోడెడ్ గిబ్బిష్గా మారుతుంది. చివరగా, ఒక మంచి రోజు, ప్రణాళిక అమలులోకి వస్తుంది. ట్రెస్లర్ ఫోన్ ద్వారా పెద్ద లావాదేవీని చేయవలసి వచ్చిన క్షణం కోసం వారు ఓపికగా వేచి ఉన్నారు, అతను లైన్లోకి వస్తాడు, ఆపై...
ట్రెస్లర్: హలో. నేను రిమోట్ లావాదేవీని పూర్తి చేయాలనుకుంటున్నాను, దయచేసి.
క్యాషియర్: గొప్ప. దయచేసి మీ వ్యక్తిగత రహస్య కోడ్ పుస్తకం, పేజీని పరిశీలించండి...
ట్రెస్లర్: క్షమించండి, నాకు సరిగ్గా అర్థం కాలేదు. మళ్ళీ? ఏ పేజీలో? ఏ పదం?
క్యాషియర్: ఇది @#$@#*$)#*#@()#@$(#@*$(#@*) పేజీ.
ట్రెస్లర్: ఏం?
క్యాషియర్: పద సంఖ్య ఇరవై @$#@$#%#$.
ట్రెస్లర్: తీవ్రంగా! ఇప్పటికే సరిపోతుంది! మీరు మరియు మీ భద్రతా ప్రోటోకాల్ కొంత సర్కస్. నువ్వు నాతో మామూలుగా మాట్లాడగలవని నాకు తెలుసు.
క్యాషియర్: నేను సిఫార్సు చేయను…
ట్రెస్లర్: మరియు నా సమయాన్ని వృధా చేయమని నేను మీకు సలహా ఇవ్వను. మీరు మీ ఫోన్ లైన్ సమస్యలను పరిష్కరించే వరకు నేను దీని గురించి ఇక వినాలనుకోను. మేము ఈ ఒప్పందాన్ని ఖరారు చేయగలమా లేదా?
క్యాషియర్:… అవును. ఫైన్. నీకు ఏమి కావాలి?
ట్రెస్లర్: నేను $20ని లార్డ్ బిజినెస్ ఇన్వెస్ట్మెంట్స్కి బదిలీ చేయాలనుకుంటున్నాను, ఖాతా నంబర్...
క్యాషియర్: ఒక్క నిమిషం. ఇది పెద్ద విషయం. పెద్ద లావాదేవీల కోసం దయచేసి మీ PINని అందించండి.
ట్రెస్లర్: ఏమిటి? ఓహ్, సరిగ్గా. 1234.
ఇక్కడ క్రిందికి దాడి ఉంది. బలహీనమైన ప్రోటోకాల్ "కేవలం నేరుగా మాట్లాడండి" గా ఊహించబడింది ఎంపిక అత్యవసర సమయంలో. ఇంకా మేము ఇక్కడ ఉన్నాము.
పైన వివరించిన విధంగా నిజమైన "అడిగేంత వరకు సురక్షితమైన" సిస్టమ్ను ఎవరు సరైన మనస్సులో డిజైన్ చేస్తారని మీరు ఆశ్చర్యపోవచ్చు. క్రిప్టోగ్రఫీని ఇష్టపడని కస్టమర్లను నిలుపుకోవడానికి ఒక కాల్పనిక బ్యాంకు రిస్క్ తీసుకున్నట్లే, సాధారణంగా సిస్టమ్లు తరచుగా భద్రతకు ఉదాసీనంగా లేదా పూర్తిగా ప్రతికూలంగా ఉండే అవసరాల వైపు ఆకర్షితులవుతాయి.
2లో SSLv1995 ప్రోటోకాల్తో సరిగ్గా ఇదే జరిగింది. US ప్రభుత్వం చాలా కాలంగా క్రిప్టోగ్రఫీని విదేశీ మరియు దేశీయ శత్రువుల నుండి దూరంగా ఉంచే ఆయుధంగా చూడటం ప్రారంభించింది. యునైటెడ్ స్టేట్స్ నుండి ఎగుమతి చేయడానికి కోడ్ ముక్కలు వ్యక్తిగతంగా ఆమోదించబడ్డాయి, తరచుగా అల్గోరిథం ఉద్దేశపూర్వకంగా బలహీనపడుతుంది. నెట్స్కేప్, అత్యంత ప్రజాదరణ పొందిన బ్రౌజర్, నెట్స్కేప్ నావిగేటర్ డెవలపర్, SSLv2 కోసం స్వాభావికంగా హాని కలిగించే 512-బిట్ RSA కీ (మరియు RC40 కోసం 4-బిట్)తో మాత్రమే అనుమతి ఇవ్వబడింది.
మిలీనియం చివరి నాటికి, నియమాలు సడలించబడ్డాయి మరియు ఆధునిక గుప్తీకరణకు ప్రాప్యత విస్తృతంగా అందుబాటులోకి వచ్చింది. ఏదేమైనప్పటికీ, క్లయింట్లు మరియు సర్వర్లు ఏ లెగసీ సిస్టమ్కైనా మద్దతునిచ్చే అదే జడత్వం కారణంగా బలహీనమైన "ఎగుమతి" క్రిప్టోగ్రఫీకి సంవత్సరాల తరబడి మద్దతునిస్తున్నాయి. క్లయింట్లు మరేదైనా సపోర్ట్ చేయని సర్వర్ను ఎదుర్కొంటారని నమ్ముతారు. సర్వర్లు కూడా అలాగే చేశాయి. వాస్తవానికి, SSL ప్రోటోకాల్ మెరుగైనది అందుబాటులో ఉన్నప్పుడు క్లయింట్లు మరియు సర్వర్లు బలహీనమైన ప్రోటోకాల్ను ఉపయోగించకూడదని నిర్దేశిస్తుంది. కానీ అదే ఆవరణ ట్రెస్లర్ మరియు అతని బ్యాంకుకు వర్తిస్తుంది.
ఈ సిద్ధాంతం 2015లో SSL ప్రోటోకాల్ యొక్క భద్రతను కదిలించిన రెండు హై-ప్రొఫైల్ దాడులకు దారితీసింది, ఈ రెండింటినీ మైక్రోసాఫ్ట్ పరిశోధకులు కనుగొన్నారు మరియు INRIA. మొదటిది, FREAK దాడికి సంబంధించిన వివరాలు ఫిబ్రవరిలో వెల్లడయ్యాయి, మూడు నెలల తర్వాత Logjam అని పిలువబడే మరొక సారూప్య దాడి జరిగింది, మేము పబ్లిక్ కీ క్రిప్టోగ్రఫీపై దాడులకు వెళ్లినప్పుడు మరింత వివరంగా చర్చిస్తాము.
దుర్బలత్వం ఫ్రీక్ ("స్మాక్ TLS" అని కూడా పిలుస్తారు) పరిశోధకులు TLS క్లయింట్/సర్వర్ అమలులను విశ్లేషించి, ఆసక్తికరమైన బగ్ను కనుగొన్నప్పుడు వెలుగులోకి వచ్చింది. ఈ అమలులలో, క్లయింట్ బలహీనమైన ఎగుమతి క్రిప్టోగ్రఫీని ఉపయోగించమని కూడా అడగకపోయినా, సర్వర్ ఇప్పటికీ అటువంటి కీలతో ప్రతిస్పందిస్తుంటే, క్లయింట్ "ఓహ్" అని చెప్పి బలహీనమైన సాంకేతికలిపి సూట్కి మారుతుంది.
ఆ సమయంలో, ఎగుమతి క్రిప్టోగ్రఫీ చాలా కాలం చెల్లినది మరియు పరిమితులు లేనిదిగా పరిగణించబడింది, కాబట్టి ఈ దాడి పూర్తిగా షాక్గా మారింది మరియు వైట్ హౌస్, IRS మరియు NSA సైట్లతో సహా అనేక ముఖ్యమైన డొమైన్లను ప్రభావితం చేసింది. అధ్వాన్నంగా, ప్రతి సెషన్కు కొత్త వాటిని రూపొందించడం కంటే అదే కీలను మళ్లీ ఉపయోగించడం ద్వారా చాలా హాని కలిగించే సర్వర్లు పనితీరును ఆప్టిమైజ్ చేస్తున్నాయని తేలింది. ఇది ప్రోటోకాల్ను డౌన్గ్రేడ్ చేసిన తర్వాత, ప్రీ-కంప్యూటేషన్ దాడిని నిర్వహించడం సాధ్యం చేసింది: ఒక కీని పగులగొట్టడం సాపేక్షంగా ఖరీదైనది (ప్రచురణ సమయంలో $100 మరియు 12 గంటలు), కానీ కనెక్షన్పై దాడి చేసే ఆచరణాత్మక వ్యయం గణనీయంగా తగ్గింది. సర్వర్ కీని ఒకసారి ఊహించడం మరియు ఆ క్షణం నుండి అన్ని తదుపరి కనెక్షన్ల కోసం ఎన్క్రిప్షన్ను క్రాక్ చేయడం సరిపోతుంది.
మరియు మేము ముందుకు వెళ్లడానికి ముందు, ప్రస్తావించాల్సిన అవసరం ఉన్న ఒక అధునాతన దాడి ఉంది...
ఒరాకిల్ దాడి
మోక్సీ మార్లిన్స్పైక్ క్రాస్-ప్లాట్ఫారమ్ క్రిప్టో మెసేజింగ్ యాప్ సిగ్నల్ యొక్క తండ్రిగా ప్రసిద్ధి చెందింది; కానీ మేము వ్యక్తిగతంగా అతని అంతగా తెలియని ఆవిష్కరణలలో ఒకదాన్ని ఇష్టపడతాము: క్రిప్టోగ్రాఫిక్ డూమ్ సూత్రం (క్రిప్టోగ్రాఫిక్ డూమ్ ప్రిన్సిపల్). కొద్దిగా పారాఫ్రేజ్ చేయడానికి, మనం ఇలా చెప్పవచ్చు: “ప్రోటోకాల్ పనిచేస్తే ఏ సంభావ్య హానికరమైన మూలం నుండి సందేశంపై క్రిప్టోగ్రాఫిక్ ఆపరేషన్ నిర్వహిస్తుంది మరియు ఫలితాన్ని బట్టి భిన్నంగా ప్రవర్తిస్తుంది, అది విచారకరంగా ఉంటుంది." లేదా పదునైన రూపంలో: "ప్రాసెసింగ్ కోసం శత్రువు నుండి సమాచారాన్ని తీసుకోవద్దు, మరియు మీకు అవసరమైతే, కనీసం ఫలితాన్ని చూపించవద్దు."
బఫర్ ఓవర్ఫ్లోలు, కమాండ్ ఇంజెక్షన్లు మరియు ఇలాంటివి పక్కన పెడదాం; అవి ఈ చర్చ పరిధికి మించినవి. "డూమ్ సూత్రం" యొక్క ఉల్లంఘన ప్రోటోకాల్ ఖచ్చితంగా ఊహించిన విధంగా ప్రవర్తిస్తుంది అనే వాస్తవం కారణంగా తీవ్రమైన క్రిప్టోగ్రఫీ హక్స్కు దారి తీస్తుంది.
ఉదాహరణగా, హాని కలిగించే ప్రత్యామ్నాయ సాంకేతికలిపితో కల్పిత రూపకల్పనను తీసుకుందాం, ఆపై సాధ్యమయ్యే దాడిని ప్రదర్శిస్తాము. ఫ్రీక్వెన్సీ విశ్లేషణను ఉపయోగించి ప్రత్యామ్నాయ సాంకేతికలిపిపై దాడిని మేము ఇప్పటికే చూసినప్పటికీ, ఇది "అదే సాంకేతికలిపిని విచ్ఛిన్నం చేయడానికి మరొక మార్గం" కాదు. దీనికి విరుద్ధంగా, ఒరాకిల్ దాడులు చాలా ఆధునిక ఆవిష్కరణ, ఇది ఫ్రీక్వెన్సీ విశ్లేషణ విఫలమయ్యే అనేక పరిస్థితులకు వర్తిస్తుంది మరియు మేము దీని యొక్క ప్రదర్శనను తదుపరి విభాగంలో చూస్తాము. ఇక్కడ సరళమైన సాంకేతికలిపి ఉదాహరణను స్పష్టంగా చేయడానికి మాత్రమే ఎంపిక చేయబడింది.
కాబట్టి ఆలిస్ మరియు బాబ్ తమకు మాత్రమే తెలిసిన కీని ఉపయోగించి సాధారణ ప్రత్యామ్నాయ సాంకేతికలిపిని ఉపయోగించి కమ్యూనికేట్ చేస్తారు. సందేశాల పొడవు విషయంలో అవి చాలా కఠినంగా ఉంటాయి: అవి సరిగ్గా 20 అక్షరాల పొడవు ఉంటాయి. కాబట్టి ఎవరైనా చిన్న సందేశాన్ని పంపాలనుకుంటే, వారు ఖచ్చితంగా 20 అక్షరాలు ఉండేలా సందేశం చివర కొంత డమ్మీ టెక్స్ట్ని జోడించాలని వారు అంగీకరించారు. కొంత చర్చ తర్వాత, వారు ఈ క్రింది డమ్మీ టెక్స్ట్లను మాత్రమే అంగీకరించాలని నిర్ణయించుకున్నారు: a, bb, ccc, dddd మొదలైనవి. అందువలన, ఏదైనా అవసరమైన పొడవు యొక్క డమ్మీ టెక్స్ట్ తెలుస్తుంది.
ఆలిస్ లేదా బాబ్ సందేశాన్ని స్వీకరించినప్పుడు, వారు మొదట సందేశం సరైన పొడవు (20 అక్షరాలు) అని మరియు ప్రత్యయం సరైన డమ్మీ టెక్స్ట్ అని తనిఖీ చేస్తారు. ఇది సందర్భం కాకపోతే, వారు తగిన దోష సందేశంతో ప్రతిస్పందిస్తారు. టెక్స్ట్ పొడవు మరియు డమ్మీ టెక్స్ట్ సరిగ్గా ఉంటే, స్వీకర్త సందేశాన్ని స్వయంగా చదివి ఎన్క్రిప్టెడ్ ప్రతిస్పందనను పంపుతారు.
దాడి సమయంలో, దాడి చేసిన వ్యక్తి బాబ్ వలె నటించి, ఆలిస్కు నకిలీ సందేశాలను పంపాడు. సందేశాలు పూర్తి అర్ధంలేనివి - దాడి చేసే వ్యక్తికి కీ లేదు మరియు అందువల్ల అర్థవంతమైన సందేశాన్ని నకిలీ చేయలేరు. కానీ ప్రోటోకాల్ డూమ్ సూత్రాన్ని ఉల్లంఘించినందున, క్రింద చూపిన విధంగా కీలక సమాచారాన్ని బహిర్గతం చేయడానికి దాడి చేసే వ్యక్తి ఆలిస్ను ట్రాప్ చేయవచ్చు.
దొంగ:PREWF ZHJKL MMMN. LA
ఆలిస్: చెల్లని నకిలీ వచనం.
దొంగ:PREWF ZHJKL MMMN. LB
ఆలిస్: చెల్లని నకిలీ వచనం.
దొంగ:PREWF ZHJKL MMMN. LC
ఆలిస్:ILCT? TLCT RUWO PUT KCAW CPS OWPOW!
ఆలిస్ ఇప్పుడే ఏమి చెప్పిందనేది దొంగకు తెలియదు, కానీ గుర్తు అని పేర్కొన్నాడు C అనుగుణంగా ఉండాలి a, ఆలిస్ నకిలీ వచనాన్ని అంగీకరించినందున.
దొంగ:REWF ZHJKL MMMN. LAA
ఆలిస్: చెల్లని నకిలీ వచనం.
దొంగ:REWF ZHJKL MMMN. LBB
ఆలిస్: చెల్లని నకిలీ వచనం.
ఎన్నో ప్రయత్నాల తర్వాత...
దొంగ:REWF ZHJKL MMMN. LGG
ఆలిస్: చెల్లని నకిలీ వచనం.
దొంగ:REWF ZHJKL MMMN. LHH
ఆలిస్:TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.
మళ్లీ, దాడి చేసిన వ్యక్తికి ఆలిస్ ఇప్పుడే ఏమి చెప్పాడో తెలియదు, కానీ ఆలిస్ నకిలీ వచనాన్ని అంగీకరించినందున H తప్పనిసరిగా bతో సరిపోలాలని పేర్కొన్నాడు.
మరియు దాడి చేసే వ్యక్తికి ప్రతి పాత్ర యొక్క అర్థం తెలిసే వరకు.
మొదటి చూపులో, పద్ధతి ఎంచుకున్న సాదా వచన దాడిని పోలి ఉంటుంది. చివరికి, దాడి చేసే వ్యక్తి సాంకేతికతలను ఎంపిక చేస్తాడు మరియు సర్వర్ వాటిని విధేయతతో ప్రాసెస్ చేస్తుంది. వాస్తవ ప్రపంచంలో ఈ దాడులను ఆచరణీయంగా మార్చే ప్రధాన వ్యత్యాసం ఏమిటంటే, దాడి చేసే వ్యక్తికి అసలు ట్రాన్స్క్రిప్ట్కు యాక్సెస్ అవసరం లేదు-సర్వర్ ప్రతిస్పందన, "చెల్లని నకిలీ వచనం" వలె హానికరం అయినా సరిపోతుంది.
ఈ నిర్దిష్ట దాడి బోధనాత్మకంగా ఉన్నప్పటికీ, "డమ్మీ టెక్స్ట్" స్కీమ్ యొక్క ప్రత్యేకతలు, ఉపయోగించిన నిర్దిష్ట క్రిప్టోసిస్టమ్ లేదా దాడి చేసేవారు పంపిన సందేశాల యొక్క ఖచ్చితమైన క్రమం గురించి ఎక్కువగా ఆలోచించవద్దు. ప్రాథమిక ఆలోచన ఏమిటంటే, సాదాపాఠం యొక్క లక్షణాల ఆధారంగా ఆలిస్ భిన్నంగా ఎలా స్పందిస్తుంది మరియు సంబంధిత సాంకేతికత వాస్తవంగా విశ్వసనీయ పక్షం నుండి వచ్చిందని ధృవీకరించకుండా అలా చేస్తుంది. అందువలన, ఆలిస్ తన సమాధానాల నుండి రహస్య సమాచారాన్ని బయటకు తీయడానికి దాడి చేసే వ్యక్తిని అనుమతిస్తుంది.
ఈ దృష్టాంతంలో మార్చగలిగేవి చాలా ఉన్నాయి. ఆలిస్ ప్రతిస్పందించే చిహ్నాలు, లేదా ఆమె ప్రవర్తనలో చాలా తేడా లేదా ఉపయోగించిన క్రిప్టోసిస్టమ్ కూడా. కానీ సూత్రం అలాగే ఉంటుంది మరియు మొత్తం దాడి ఒక రూపంలో లేదా మరొక రూపంలో ఆచరణీయంగా ఉంటుంది. ఈ దాడి యొక్క ప్రాథమిక అమలు అనేక భద్రతా బగ్లను వెలికితీసేందుకు సహాయపడింది, వీటిని మేము త్వరలో పరిశీలిస్తాము; అయితే ముందుగా కొన్ని సైద్ధాంతిక పాఠాలు నేర్చుకోవాలి. నిజమైన ఆధునిక సాంకేతికలిపిపై పని చేయగల దాడిలో ఈ కల్పిత "ఆలిస్ స్క్రిప్ట్"ని ఎలా ఉపయోగించాలి? సిద్ధాంతపరంగా కూడా ఇది సాధ్యమేనా?
1998లో, స్విస్ క్రిప్టోగ్రాఫర్ డేనియల్ బ్లీచెన్బాచెర్ ఈ ప్రశ్నకు సానుకూలంగా సమాధానమిచ్చారు. అతను ఒక నిర్దిష్ట సందేశ పథకాన్ని ఉపయోగించి విస్తృతంగా ఉపయోగించే పబ్లిక్ కీ క్రిప్టోసిస్టమ్ RSAపై ఒరాకిల్ దాడిని ప్రదర్శించాడు. కొన్ని RSA అమలులలో, సాదాపాఠం పథకంతో సరిపోలుతుందా లేదా అనేదానిపై ఆధారపడి సర్వర్ వివిధ దోష సందేశాలతో ప్రతిస్పందిస్తుంది; దాడి చేయడానికి ఇది సరిపోతుంది.
నాలుగు సంవత్సరాల తరువాత, 2002లో, ఫ్రెంచ్ క్రిప్టోగ్రాఫర్ సెర్జ్ వాడెనే పైన ఉన్న ఆలిస్ దృష్టాంతంలో వివరించిన దానికి దాదాపు ఒకేలాంటి ఒరాకిల్ దాడిని ప్రదర్శించారు - కల్పిత సాంకేతికలిపికి బదులుగా, అతను ప్రజలు నిజంగా ఉపయోగించే ఆధునిక సాంకేతికలిపుల యొక్క మొత్తం గౌరవనీయమైన తరగతిని విచ్ఛిన్నం చేశాడు. ప్రత్యేకించి, "CBC ఎన్క్రిప్షన్ మోడ్" అని పిలవబడే వాటిలో మరియు ఒక నిర్దిష్ట ప్రసిద్ధ ప్యాడింగ్ స్కీమ్తో ఉపయోగించినప్పుడు, వాడెనే యొక్క దాడి స్థిరమైన ఇన్పుట్ సైజు సైఫర్లను ("బ్లాక్ సైఫర్లు") లక్ష్యంగా చేసుకుంటుంది, ఇది ప్రాథమికంగా ఆలిస్ దృష్టాంతంలో ఉన్నదానికి సమానం.
2002లో కూడా, అమెరికన్ క్రిప్టోగ్రాఫర్ జాన్ కెల్సీ సహ రచయితగా ఉన్నారు రెండు చేపలు — సందేశాలను కుదించి, వాటిని గుప్తీకరించే సిస్టమ్లపై వివిధ ఒరాకిల్ దాడులను ప్రతిపాదించింది. వీటిలో చాలా ముఖ్యమైనది సాంకేతికత యొక్క పొడవు నుండి సాదాపాఠం యొక్క అసలైన పొడవును ఊహించడం తరచుగా సాధ్యమవుతుందనే వాస్తవాన్ని సద్వినియోగం చేసుకున్న దాడి. సిద్ధాంతంలో, ఇది ఒరాకిల్ దాడిని అనుమతిస్తుంది, అది అసలు సాదాపాఠంలోని భాగాలను తిరిగి పొందుతుంది.
క్రింద మేము Vaudenay మరియు Kelsey దాడుల గురించి మరింత వివరణాత్మక వర్ణనను అందిస్తాము (మేము పబ్లిక్ కీ క్రిప్టోగ్రఫీపై దాడులకు వెళ్లినప్పుడు మేము బ్లీచెన్బాచర్ దాడి గురించి మరింత వివరణాత్మక వర్ణనను అందిస్తాము). మా ఉత్తమ ప్రయత్నాలు ఉన్నప్పటికీ, వచనం కొంతవరకు సాంకేతికంగా మారుతుంది; పైన పేర్కొన్నవి మీకు సరిపోతే, తదుపరి రెండు విభాగాలను దాటవేయండి.
వోడేన్ దాడి
Vaudenay దాడిని అర్థం చేసుకోవడానికి, మేము ముందుగా బ్లాక్ సైఫర్లు మరియు ఎన్క్రిప్షన్ మోడ్ల గురించి కొంచెం ఎక్కువగా మాట్లాడాలి. "బ్లాక్ సాంకేతికలిపి" అనేది పేర్కొన్నట్లుగా, ఒక నిర్దిష్ట స్థిర పొడవు ("బ్లాక్ పొడవు") యొక్క కీని మరియు ఇన్పుట్ను తీసుకుని మరియు అదే పొడవు యొక్క ఎన్క్రిప్టెడ్ బ్లాక్ను ఉత్పత్తి చేసే సాంకేతికలిపి. బ్లాక్ సైఫర్లు విస్తృతంగా ఉపయోగించబడుతున్నాయి మరియు సాపేక్షంగా సురక్షితమైనవిగా పరిగణించబడతాయి. ఇప్పుడు పదవీ విరమణ చేసిన DES, మొదటి ఆధునిక సాంకేతికలిపిగా పరిగణించబడుతుంది, ఇది బ్లాక్ సాంకేతికలిపి. పైన చెప్పినట్లుగా, నేడు విస్తృతంగా ఉపయోగించబడుతున్న AESకి కూడా ఇది వర్తిస్తుంది.
దురదృష్టవశాత్తూ, బ్లాక్ సైఫర్లు ఒక మెరుస్తున్న బలహీనతను కలిగి ఉన్నాయి. సాధారణ బ్లాక్ పరిమాణం 128 బిట్లు లేదా 16 అక్షరాలు. సహజంగానే, ఆధునిక క్రిప్టోగ్రఫీకి పెద్ద ఇన్పుట్ డేటాతో పని చేయడం అవసరం మరియు ఇక్కడే ఎన్క్రిప్షన్ మోడ్లు అమలులోకి వస్తాయి. ఎన్క్రిప్షన్ మోడ్ తప్పనిసరిగా హ్యాక్: ఇది ఒక నిర్దిష్ట పరిమాణంలోని ఇన్పుట్ను ఏకపక్ష పొడవు యొక్క ఇన్పుట్కు మాత్రమే అంగీకరించే బ్లాక్ సాంకేతికలిపిని ఎలాగైనా వర్తింపజేయడానికి ఒక మార్గం.
Vodene యొక్క దాడి ప్రముఖ CBC (సైఫర్ బ్లాక్ చైనింగ్) మోడ్ ఆఫ్ ఆపరేషన్పై దృష్టి పెట్టింది. దాడి అంతర్లీన బ్లాక్ సాంకేతికలిపిని మాయా, అజేయమైన బ్లాక్ బాక్స్గా పరిగణిస్తుంది మరియు దాని భద్రతను పూర్తిగా దాటవేస్తుంది.
CBC మోడ్ ఎలా పనిచేస్తుందో చూపే రేఖాచిత్రం ఇక్కడ ఉంది:
సర్కిల్ చేసిన ప్లస్ XOR (ప్రత్యేకమైన OR) ఆపరేషన్ను సూచిస్తుంది. ఉదాహరణకు, సైఫర్టెక్స్ట్ యొక్క రెండవ బ్లాక్ స్వీకరించబడింది:
మొదటి సైఫర్టెక్స్ట్ బ్లాక్తో రెండవ ప్లెయిన్టెక్స్ట్ బ్లాక్లో XOR ఆపరేషన్ చేయడం ద్వారా.
కీని ఉపయోగించి బ్లాక్ సైఫర్తో ఫలిత బ్లాక్ను ఎన్క్రిప్ట్ చేయడం.
CBC బైనరీ XOR ఆపరేషన్ను ఎక్కువగా ఉపయోగిస్తుంది కాబట్టి, దానిలోని కొన్ని లక్షణాలను గుర్తుచేసుకోవడానికి కొంత సమయం తీసుకుందాం:
అసమర్థత:
మార్పిడి:
అసోసియేటివిటీ:
స్వీయ రివర్సిబిలిటీ:
బైట్ పరిమాణం: బైట్ n యొక్క = (బైట్ n యొక్క ) (బైట్ n యొక్క )
సాధారణంగా, ఈ లక్షణాలు మనకు XOR కార్యకలాపాలతో కూడిన సమీకరణం మరియు తెలియని ఒక సమీకరణాన్ని కలిగి ఉంటే, అది పరిష్కరించబడుతుందని సూచిస్తుంది. ఉదాహరణకు, మనకు అది తెలిస్తే తెలియని వారితో మరియు ప్రసిద్ధ и , అప్పుడు మనం సమీకరణాన్ని పరిష్కరించడానికి పైన పేర్కొన్న లక్షణాలపై ఆధారపడవచ్చు . తో సమీకరణం యొక్క రెండు వైపులా XORని వర్తింపజేయడం ద్వారా , మాకు దొరికింది . ఇదంతా ఒక క్షణంలో చాలా సందర్భోచితంగా మారుతుంది.
మా ఆలిస్ దృశ్యం మరియు వాడెనే దాడికి మధ్య రెండు చిన్న తేడాలు మరియు ఒక ప్రధాన వ్యత్యాసం ఉన్నాయి. రెండు చిన్నవి:
స్క్రిప్ట్లో, ఆలిస్ సాదాపాఠం పాత్రలతో ముగుస్తుందని ఆశించింది a, bb, ccc మరియు అందువలన న. Wodene దాడిలో, బాధితుడు బదులుగా N బైట్ (అంటే హెక్సాడెసిమల్ 01 లేదా 02 02, లేదా 03 03 03, మరియు మొదలైనవి)తో N సమయాలను ముగించాలని సాదాపాఠం ఆశించారు. ఇది పూర్తిగా కాస్మెటిక్ తేడా.
ఆలిస్ దృష్టాంతంలో, "తప్పుడు నకిలీ వచనం" ప్రతిస్పందన ద్వారా ఆలిస్ సందేశాన్ని అంగీకరించిందో లేదో చెప్పడం సులభం. Vodene యొక్క దాడిలో, మరింత విశ్లేషణ అవసరం మరియు బాధితుడి వైపు ఖచ్చితమైన అమలు ముఖ్యం; కానీ క్లుప్తత కొరకు, ఈ విశ్లేషణ ఇప్పటికీ సాధ్యమే అని తీసుకుందాం.
ప్రధాన వ్యత్యాసం:
మేము అదే క్రిప్టోసిస్టమ్ని ఉపయోగించడం లేదు కాబట్టి, దాడి చేసేవారి-నియంత్రిత సాంకేతికలిపి బైట్లు మరియు రహస్యాలు (కీ మరియు సాదాపాఠం) మధ్య సంబంధం స్పష్టంగా భిన్నంగా ఉంటుంది. అందువల్ల, సైఫర్టెక్స్ట్లను సృష్టించేటప్పుడు మరియు సర్వర్ ప్రతిస్పందనలను వివరించేటప్పుడు దాడి చేసే వ్యక్తి వేరే వ్యూహాన్ని ఉపయోగించాల్సి ఉంటుంది.
ఈ ప్రధాన వ్యత్యాసం వాడెనే దాడిని అర్థం చేసుకోవడానికి పజిల్ యొక్క చివరి భాగం, కాబట్టి CBCపై ఒరాకిల్ దాడి ఎందుకు మరియు ఎలా సాధ్యమవుతుందనే దాని గురించి ఒక్క క్షణం ఆలోచిద్దాం.
మనకు 247 బ్లాక్ల CBC సైఫర్టెక్స్ట్ అందించబడిందని అనుకుందాం మరియు మేము దానిని డీక్రిప్ట్ చేయాలనుకుంటున్నాము. ఇంతకు ముందు ఆలిస్కి ఫేక్ మెసేజ్లు పంపినట్లే మనం సర్వర్కు నకిలీ సందేశాలను పంపవచ్చు. సర్వర్ మా కోసం సందేశాలను డీక్రిప్ట్ చేస్తుంది, కానీ డిక్రిప్షన్ను చూపదు - బదులుగా, మళ్లీ, ఆలిస్ మాదిరిగానే, సర్వర్ ఒక బిట్ సమాచారాన్ని మాత్రమే నివేదిస్తుంది: సాదా వచనంలో చెల్లుబాటు అయ్యే పాడింగ్ ఉందా లేదా.
ఆలిస్ దృష్టాంతంలో మేము ఈ క్రింది సంబంధాలను కలిగి ఉన్నామని పరిగణించండి:
దీనిని "ఆలిస్ సమీకరణం" అని పిలుద్దాం. మేము సాంకేతికలిపిని నియంత్రించాము; సర్వర్ (ఆలిస్) అందుకున్న సాదాపాఠం గురించి అస్పష్టమైన సమాచారాన్ని లీక్ చేసింది; మరియు ఇది చివరి అంశం - కీ గురించి సమాచారాన్ని పొందేందుకు మాకు అనుమతినిచ్చింది. సారూప్యత ద్వారా, మేము CBC స్క్రిప్ట్ కోసం అటువంటి కనెక్షన్ని కనుగొనగలిగితే, మేము అక్కడ కూడా కొంత రహస్య సమాచారాన్ని సేకరించగలము.
అదృష్టవశాత్తూ, మనం ఉపయోగించగల సంబంధాలు నిజంగా ఉన్నాయి. బ్లాక్ సాంకేతికలిపిని డీక్రిప్ట్ చేయడానికి చివరి కాల్ అవుట్పుట్ను పరిగణించండి మరియు ఈ అవుట్పుట్ని ఇలా సూచించండి . మేము సాదా వచనం యొక్క బ్లాక్లను కూడా సూచిస్తాము మరియు సాంకేతికలిపి బ్లాక్లు . CBC రేఖాచిత్రాన్ని మరోసారి పరిశీలించి, ఏమి జరుగుతుందో గమనించండి:
దీనిని "CBC సమీకరణం" అని పిలుద్దాం.
ఆలిస్ దృష్టాంతంలో, సాంకేతికలిపిని పర్యవేక్షించడం ద్వారా మరియు సంబంధిత సాదాపాఠం లీక్ను చూడటం ద్వారా, మేము సమీకరణంలో మూడవ పదం-కీని పునరుద్ధరించే దాడిని మౌంట్ చేయగలిగాము. CBC దృష్టాంతంలో, మేము సాంకేతికలిపిని కూడా పర్యవేక్షిస్తాము మరియు సంబంధిత సాదాపాఠంలో సమాచార లీక్లను గమనిస్తాము. సారూప్యత కలిగి ఉంటే, మేము గురించి సమాచారాన్ని పొందవచ్చు .
మేము నిజంగా పునరుద్ధరించబడ్డామని అనుకుందాం , తరువాత ఏమిటి? సరే, అప్పుడు మనం సాదా వచనం యొక్క చివరి బ్లాక్ మొత్తాన్ని ఒకేసారి ప్రింట్ చేయవచ్చు (), కేవలం ప్రవేశించడం ద్వారా (మన వద్ద ఉన్నది) మరియు
అందుకున్నారు CBC సమీకరణంలోకి.
ఇప్పుడు మేము దాడి యొక్క మొత్తం ప్రణాళిక గురించి ఆశాజనకంగా ఉన్నాము, వివరాలను రూపొందించడానికి ఇది సమయం. దయచేసి సర్వర్లో సాదా వచన సమాచారం ఎలా లీక్ చేయబడిందో ఖచ్చితంగా గమనించండి. ఆలిస్ స్క్రిప్ట్లో, లీక్ సంభవించింది, ఎందుకంటే ఆలిస్ $inline$text{SIMPLE_SUBSTITUTION}(టెక్స్ట్{సిఫర్టెక్స్ట్},టెక్స్ట్{కీ})$inline$ పంక్తితో ముగిసినట్లయితే సరైన సందేశంతో మాత్రమే ప్రతిస్పందిస్తుంది a (లేదా bb, మరియు మొదలైనవి, కానీ ఈ పరిస్థితులు అవకాశం ద్వారా ప్రేరేపించబడే అవకాశాలు చాలా చిన్నవి). CBC లాగానే, సర్వర్ పాడింగ్ని అంగీకరిస్తుంది మరియు ఉంటే మాత్రమే హెక్సాడెసిమల్లో ముగుస్తుంది 01. కాబట్టి అదే ఉపాయాన్ని ప్రయత్నిద్దాం: మన స్వంత నకిలీ విలువలతో నకిలీ సాంకేతికతలను పంపడం సర్వర్ నింపడాన్ని అంగీకరించే వరకు.
సర్వర్ మా ఫేక్ మెసేజ్లలో ఒకదానికి పాడింగ్ని అంగీకరించినప్పుడు, దాని అర్థం:
ఇప్పుడు మనం బైట్-బైట్ XOR ప్రాపర్టీని ఉపయోగిస్తాము:
మొదటి మరియు మూడవ నిబంధనలు మాకు తెలుసు. మరియు ఇది మిగిలిన పదాన్ని పునరుద్ధరించడానికి అనుమతిస్తుంది అని మేము ఇప్పటికే చూశాము - నుండి చివరి బైట్ :
ఇది CBC ఈక్వేషన్ మరియు బైట్-బై-బైట్ ప్రాపర్టీ ద్వారా ఫైనల్ ప్లెయిన్టెక్స్ట్ బ్లాక్ యొక్క చివరి బైట్ను కూడా అందిస్తుంది.
మేము దానిని వదిలిపెట్టి, సిద్ధాంతపరంగా బలమైన సాంకేతికలిపిపై దాడి చేశామని సంతృప్తి చెందవచ్చు. కానీ నిజానికి మనం చాలా ఎక్కువ చేయగలము: వాస్తవానికి మనం మొత్తం టెక్స్ట్ని తిరిగి పొందవచ్చు. దీనికి ఆలిస్ ఒరిజినల్ స్క్రిప్ట్లో లేని ట్రిక్ అవసరం మరియు ఒరాకిల్ దాడికి ఇది అవసరం లేదు, అయితే ఇది ఇంకా నేర్చుకోవడం విలువైనదే.
దీన్ని అర్థం చేసుకోవడానికి, చివరి బైట్ యొక్క సరైన విలువను అవుట్పుట్ చేయడం వల్ల వచ్చే ఫలితం అని మొదట గమనించండి మాకు కొత్త సామర్థ్యం ఉంది. ఇప్పుడు, సైఫర్టెక్స్ట్లను ఫోర్జింగ్ చేసేటప్పుడు, సంబంధిత సాదాపాఠం యొక్క చివరి బైట్ను మనం మార్చవచ్చు. మళ్ళీ, ఇది CBC సమీకరణం మరియు బైట్-బై-బైట్ ప్రాపర్టీకి సంబంధించినది:
మనకు ఇప్పుడు రెండవ పదం తెలుసు కాబట్టి, మూడవదాన్ని నియంత్రించడానికి మొదటిదానిపై మన నియంత్రణను ఉపయోగించవచ్చు. మేము కేవలం లెక్కిస్తాము:
మా వద్ద ఇంకా చివరి బైట్ లేనందున మేము దీన్ని ఇంతకు ముందు చేయలేకపోయాము .
ఇది మనకు ఎలా సహాయం చేస్తుంది? మేము ఇప్పుడు అన్ని సాంకేతిక పాఠాలను సృష్టించామని అనుకుందాం, అంటే సంబంధిత సాదాపాఠంలో చివరి బైట్ సమానంగా ఉంటుంది 02. సాదా వచనంతో ముగిస్తే సర్వర్ ఇప్పుడు ప్యాడింగ్ను అంగీకరిస్తుంది 02 02. మేము చివరి బైట్ని సరిదిద్దాము కాబట్టి, సాదాపాఠం యొక్క చివరి బైట్ కూడా 02 అయితే మాత్రమే ఇది జరుగుతుంది. సర్వర్ వాటిలో ఒకదానికి ప్యాడింగ్ని అంగీకరించే వరకు మేము నకిలీ సైఫర్టెక్స్ట్ బ్లాక్లను పంపుతూ, చివరి బైట్ను మారుస్తూనే ఉంటాము. ఈ సమయంలో మనకు లభిస్తుంది:
మరియు మేము చివరి బైట్ని పునరుద్ధరిస్తాము చివరిది పునరుద్ధరించబడినట్లే. మేము అదే స్ఫూర్తితో కొనసాగుతాము: సాదా వచనం యొక్క చివరి రెండు బైట్లను మేము సరిచేస్తాము 03 03, మేము ముగింపు నుండి మూడవ బైట్ కోసం ఈ దాడిని పునరావృతం చేస్తాము మరియు అంతిమంగా పూర్తిగా పునరుద్ధరిస్తాము .
మిగిలిన వచనం గురించి ఏమిటి? విలువ అని దయచేసి గమనించండి నిజానికి $inline$text{BLOCK_DECRYPT}(టెక్స్ట్{కీ},C_{247})$inline$. మేము బదులుగా ఏదైనా ఇతర బ్లాక్ను ఉంచవచ్చు , మరియు దాడి ఇప్పటికీ విజయవంతమవుతుంది. నిజానికి, మేము ఏదైనా డేటా కోసం $inline$text{BLOCK_DECRYPT}$inline$ చేయమని సర్వర్ని అడగవచ్చు. ఈ సమయంలో, ఇది ఆట ముగిసింది - మేము ఏదైనా సాంకేతికలిపిని డీక్రిప్ట్ చేయవచ్చు (దీనిని చూడటానికి CBC డిక్రిప్షన్ రేఖాచిత్రాన్ని మరొకసారి చూడండి; మరియు IV పబ్లిక్ అని గమనించండి).
మేము తరువాత ఎదుర్కొనే ఒరాకిల్ దాడిలో ఈ ప్రత్యేక పద్ధతి కీలక పాత్ర పోషిస్తుంది.
కెల్సీ దాడి
మా సహృదయుడైన జాన్ కెల్సీ ఒక నిర్దిష్ట సాంకేతికలిపిపై నిర్దిష్ట దాడికి సంబంధించిన వివరాలను మాత్రమే కాకుండా అనేక సాధ్యమైన దాడులకు సంబంధించిన సూత్రాలను రూపొందించారు. తన సంవత్సరం 2002 వ్యాసం ఎన్క్రిప్టెడ్ కంప్రెస్డ్ డేటాపై సాధ్యమయ్యే దాడుల అధ్యయనం. ఎన్క్రిప్షన్కు ముందు డేటా కుదించబడిందనే సమాచారం దాడి చేయడానికి సరిపోదని మీరు అనుకున్నారా? అది సరిపోతుందని తేలింది.
ఈ ఆశ్చర్యకరమైన ఫలితం రెండు సూత్రాల కారణంగా ఉంది. మొదటిది, సాదాపాఠం యొక్క పొడవు మరియు సాంకేతికలిపి యొక్క పొడవు మధ్య బలమైన సహసంబంధం ఉంది; అనేక సాంకేతికలిపులకు ఖచ్చితమైన సమానత్వం. రెండవది, కుదింపు చేసినప్పుడు, కంప్రెస్ చేయబడిన సందేశం యొక్క పొడవు మరియు సాదాపాఠం యొక్క "శబ్దం" స్థాయికి మధ్య బలమైన సహసంబంధం కూడా ఉంటుంది, అనగా పునరావృతం కాని అక్షరాల నిష్పత్తి (సాంకేతిక పదం "హై ఎంట్రోపీ" )
చర్యలో ఉన్న సూత్రాన్ని చూడటానికి, రెండు సాదాపాఠాలను పరిగణించండి:
ప్లెయిన్టెక్స్ట్లు రెండూ కంప్రెస్ చేయబడి, ఆపై ఎన్క్రిప్ట్ చేయబడ్డాయి అనుకుందాం. మీరు ఫలితంగా రెండు సాంకేతికలిపి పాఠ్యాంశాలను పొందుతారు మరియు ఏ సాంకేతికపాఠం ఏ సాదాపాఠంతో సరిపోలుతుందో ఊహించాలి:
సమాధానం స్పష్టంగా ఉంది. ప్లెయిన్టెక్స్ట్లలో, సాదాపాఠం 1 మాత్రమే రెండవ సాంకేతికపాఠం యొక్క తక్కువ పొడవుకు కుదించబడుతుంది. కంప్రెషన్ అల్గోరిథం, ఎన్క్రిప్షన్ కీ లేదా సాంకేతికలిపి గురించి ఏమీ తెలియకుండానే మేము దీన్ని గుర్తించాము. సాధ్యమయ్యే క్రిప్టోగ్రాఫిక్ దాడుల సోపానక్రమంతో పోలిస్తే, ఇది ఒక రకమైన వెర్రి.
కొన్ని అసాధారణ పరిస్థితులలో ఈ సూత్రాన్ని ఒరాకిల్ దాడి చేయడానికి కూడా ఉపయోగించవచ్చని కెల్సీ ఇంకా సూచించాడు. ప్రత్యేకించి, ఫారమ్ డేటాను ఎన్క్రిప్ట్ చేయమని సర్వర్ను బలవంతం చేయగలిగితే దాడి చేసే వ్యక్తి రహస్య ప్లెయిన్టెక్స్ట్ను ఎలా తిరిగి పొందవచ్చో ఇది వివరిస్తుంది (ప్లెయిన్టెక్స్ట్ తర్వాత అతను నియంత్రణలో ఉన్నప్పుడు మరియు గుప్తీకరించిన ఫలితం యొక్క పొడవును ఎలాగైనా తనిఖీ చేయవచ్చు.
మళ్ళీ, ఇతర ఒరాకిల్ దాడుల వలె, మాకు సంబంధం ఉంది:
మళ్ళీ, మేము ఒక పదాన్ని నియంత్రిస్తాము (), మేము మరొక సభ్యుడు (సిఫర్టెక్స్ట్) గురించి సమాచారం యొక్క చిన్న లీక్ని చూస్తాము మరియు చివరిదాన్ని (ప్లెయిన్టెక్స్ట్) పునరుద్ధరించడానికి ప్రయత్నిస్తాము. సారూప్యత ఉన్నప్పటికీ, మనం చూసిన ఇతర ఒరాకిల్ దాడులతో పోలిస్తే ఇది కొంత అసాధారణ పరిస్థితి.
అటువంటి దాడి ఎలా పని చేస్తుందో వివరించడానికి, మనం ఇప్పుడే రూపొందించిన కల్పిత కంప్రెషన్ స్కీమ్ని ఉపయోగించండి: TOYZIP. ఇది టెక్స్ట్లో గతంలో కనిపించిన టెక్స్ట్ లైన్ల కోసం వెతుకుతుంది మరియు వాటిని మూడు ప్లేస్హోల్డర్ బైట్లతో భర్తీ చేస్తుంది, ఇది లైన్ యొక్క మునుపటి ఉదాహరణను ఎక్కడ కనుగొనాలో మరియు అది అక్కడ ఎన్నిసార్లు కనిపించాలో సూచిస్తుంది. ఉదాహరణకు, లైన్ helloworldhello లోకి కుదించవచ్చు helloworld[00][00][05] అసలు 13 బైట్లతో పోలిస్తే 15 బైట్ల పొడవు.
దాడి చేసే వ్యక్తి ఫారమ్ యొక్క సాదా వచనాన్ని పునరుద్ధరించడానికి ప్రయత్నించాడని అనుకుందాం password=..., పాస్వర్డ్ ఎక్కడ తెలియదు. కెల్సే యొక్క దాడి నమూనా ప్రకారం, దాడి చేసే వ్యక్తి సర్వర్ని కంప్రెస్ చేయమని మరియు ఫారమ్ సందేశాలను ఎన్క్రిప్ట్ చేయమని అడగవచ్చు (సాదా వచనం తరువాత ), ఎక్కడ - ఉచిత టెక్స్ట్. సర్వర్ పనిని పూర్తి చేసినప్పుడు, అది ఫలితం యొక్క పొడవును నివేదిస్తుంది. దాడి ఇలా జరుగుతుంది:
దొంగ: దయచేసి ఎటువంటి పాడింగ్ లేకుండా సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి.
సర్వర్: ఫలితం పొడవు 14.
దొంగ: దయచేసి అనుబంధించబడిన సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి password=a.
సర్వర్: ఫలితం పొడవు 18.
క్రాకర్ గమనికలు: [అసలు 14] + [మూడు బైట్లు భర్తీ చేయబడ్డాయి password=] + a
దొంగ: దయచేసి జోడించబడిన సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి password=b.
సర్వర్: ఫలితం పొడవు 18.
దొంగ: దయచేసి జోడించబడిన సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి password=с.
సర్వర్: ఫలితం పొడవు 17.
క్రాకర్ గమనికలు: [అసలు 14] + [మూడు బైట్లు భర్తీ చేయబడ్డాయి password=c]. అసలు సాదా వచనంలో స్ట్రింగ్ ఉందని ఇది ఊహిస్తుంది password=c. అంటే, పాస్వర్డ్ అక్షరంతో ప్రారంభమవుతుంది c
దొంగ: దయచేసి జోడించబడిన సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి password=сa.
సర్వర్: ఫలితం పొడవు 18.
క్రాకర్ గమనికలు: [అసలు 14] + [మూడు బైట్లు భర్తీ చేయబడ్డాయి password=с] + a
దొంగ: దయచేసి జోడించబడిన సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి password=сb.
సర్వర్: ఫలితం పొడవు 18.
(... కొంత సమయం తరువాత...)
దొంగ: దయచేసి జోడించబడిన సాదా వచనాన్ని కుదించండి మరియు గుప్తీకరించండి password=со.
సర్వర్: ఫలితం పొడవు 17.
క్రాకర్ గమనికలు: [అసలు 14] + [మూడు బైట్లు భర్తీ చేయబడ్డాయి password=co]. అదే లాజిక్ను ఉపయోగించి, దాడి చేసే వ్యక్తి పాస్వర్డ్ అక్షరాలతో ప్రారంభమవుతుందని నిర్ధారించాడు co
మరియు మొత్తం పాస్వర్డ్ పునరుద్ధరించబడే వరకు.
ఇది పూర్తిగా అకడమిక్ ఎక్సర్సైజు అని మరియు వాస్తవ ప్రపంచంలో ఇటువంటి దాడి దృశ్యం ఎప్పటికీ తలెత్తదని భావించినందుకు పాఠకులు క్షమించబడతారు. అయ్యో, మేము త్వరలో చూస్తాము, క్రిప్టోగ్రఫీని వదులుకోకపోవడమే మంచిది.
బ్రాండ్ దుర్బలత్వాలు: నేరం, పూడ్లే, మునిగిపోవడం
చివరగా, సిద్ధాంతాన్ని వివరంగా అధ్యయనం చేసిన తర్వాత, నిజ జీవిత క్రిప్టోగ్రాఫిక్ దాడులలో ఈ పద్ధతులు ఎలా ఉపయోగించబడతాయో మనం చూడవచ్చు.
నేరం
దాడి బాధితుడి బ్రౌజర్ మరియు నెట్వర్క్ను లక్ష్యంగా చేసుకుంటే, కొన్ని విషయాలు సులభంగా ఉంటాయి మరియు కొన్ని మరింత కష్టంగా ఉంటాయి. ఉదాహరణకు, బాధితుడి ట్రాఫిక్ని చూడటం చాలా సులభం: WiFiతో ఒకే కేఫ్లో అతనితో కూర్చోండి. ఈ కారణంగా, సంభావ్య బాధితులు (అంటే ప్రతి ఒక్కరూ) సాధారణంగా ఎన్క్రిప్టెడ్ కనెక్షన్ని ఉపయోగించమని సలహా ఇస్తారు. బాధితుడి తరపున కొన్ని మూడవ పక్షం సైట్కి (ఉదాహరణకు, Google) HTTP అభ్యర్థనలు చేయడం చాలా కష్టం, కానీ ఇప్పటికీ సాధ్యమే. దాడి చేసే వ్యక్తి బాధితుడిని తప్పనిసరిగా అభ్యర్థన చేసే స్క్రిప్ట్తో హానికరమైన వెబ్ పేజీకి రప్పించాలి. వెబ్ బ్రౌజర్ సంబంధిత సెషన్ కుక్కీని స్వయంచాలకంగా అందిస్తుంది.
ఇది అద్భుతంగా అనిపిస్తుంది. బాబ్ వెళ్ళినట్లయితే evil.com, ఈ సైట్లోని స్క్రిప్ట్ బాబ్ పాస్వర్డ్ను ఇమెయిల్ చేయమని Googleని అడగవచ్చు [email protected]? బాగా, సిద్ధాంతంలో అవును, కానీ వాస్తవానికి కాదు. ఈ దృశ్యాన్ని క్రాస్-సైట్ అభ్యర్థన ఫోర్జరీ దాడి అంటారు (క్రాస్-సైట్ అభ్యర్థన ఫోర్జరీ, CSRF), మరియు ఇది 90వ దశకం మధ్యలో ప్రజాదరణ పొందింది. ఈరోజు ఉంటే evil.com ఈ ఉపాయాన్ని ప్రయత్నిస్తే, Google (లేదా ఏదైనా స్వీయ-గౌరవనీయ వెబ్సైట్) సాధారణంగా ఇలా ప్రతిస్పందిస్తుంది, “అద్భుతం, అయితే ఈ లావాదేవీకి మీ CSRF టోకెన్ ఇలా ఉంటుంది... ఉమ్... три триллиона и семь. దయచేసి ఈ సంఖ్యను పునరావృతం చేయండి." ఆధునిక బ్రౌజర్లు "ఒకే-మూలం విధానం" అని పిలవబడేవి, దీని ద్వారా సైట్ Aలోని స్క్రిప్ట్లు వెబ్సైట్ B ద్వారా పంపిన సమాచారాన్ని యాక్సెస్ చేయవు. కాబట్టి స్క్రిప్ట్ ఆన్ evil.com కు అభ్యర్థనలను పంపవచ్చు google.com, కానీ ప్రతిస్పందనలను చదవలేరు లేదా వాస్తవానికి లావాదేవీని పూర్తి చేయలేరు.
బాబ్ ఎన్క్రిప్టెడ్ కనెక్షన్ని ఉపయోగిస్తుంటే తప్ప, ఈ రక్షణలన్నీ అర్థరహితమని మనం నొక్కి చెప్పాలి. దాడి చేసే వ్యక్తి కేవలం బాబ్ ట్రాఫిక్ని చదవగలడు మరియు Google సెషన్ కుక్కీని తిరిగి పొందగలడు. ఈ కుక్కీతో, అతను తన స్వంత బ్రౌజర్ను వదలకుండా కొత్త Google ట్యాబ్ను తెరుస్తాడు మరియు ఇబ్బందికరమైన అదే మూలం విధానాలను ఎదుర్కోకుండానే బాబ్గా నటించాడు. కానీ, దురదృష్టవశాత్తు దొంగల కోసం, ఇది చాలా తక్కువ మరియు తక్కువ సాధారణం అవుతుంది. ఇంటర్నెట్ మొత్తంగా ఎన్క్రిప్ట్ చేయని కనెక్షన్లపై చాలా కాలంగా యుద్ధం ప్రకటించింది మరియు బాబ్ యొక్క అవుట్గోయింగ్ ట్రాఫిక్ అతను ఇష్టపడినా ఇష్టపడకపోయినా గుప్తీకరించబడి ఉండవచ్చు. దీనికి తోడు ప్రొటోకాల్ అమలు ప్రారంభం నుంచి ట్రాఫిక్ కూడా ఉంది కుంచించుకుపోయింది ఎన్క్రిప్షన్ ముందు; జాప్యాన్ని తగ్గించడానికి ఇది సాధారణ పద్ధతి.
ఇక్కడే ఇది అమలులోకి వస్తుంది నేరం (కంప్రెషన్ రేషియో ఇన్ఫోలీక్ మేడ్ ఈజీ, కంప్రెషన్ రేషియో ద్వారా సింపుల్ లీకేజీ). ఈ దుర్బలత్వాన్ని సెప్టెంబరు 2012లో భద్రతా పరిశోధకులు జూలియానో రిజ్జో మరియు థాయ్ డుయోంగ్ వెల్లడించారు. మేము ఇప్పటికే మొత్తం సైద్ధాంతిక ప్రాతిపదికను పరిశీలించాము, ఇది వారు ఏమి చేసారో మరియు ఎలా చేసారో అర్థం చేసుకోవడానికి అనుమతిస్తుంది. దాడి చేసే వ్యక్తి బాబ్ బ్రౌజర్ని Googleకి అభ్యర్థనలను పంపి, ఆపై స్థానిక నెట్వర్క్లోని ప్రతిస్పందనలను కంప్రెస్డ్, ఎన్క్రిప్టెడ్ రూపంలో వినమని బలవంతం చేయవచ్చు. అందువల్ల మనకు ఉన్నాయి:
ఇక్కడ దాడి చేసే వ్యక్తి అభ్యర్థనను నియంత్రిస్తాడు మరియు ప్యాకెట్ పరిమాణంతో సహా ట్రాఫిక్ స్నిఫర్కు యాక్సెస్ను కలిగి ఉంటాడు. కెల్సే యొక్క కల్పిత దృశ్యం జీవం పోసింది.
సిద్ధాంతాన్ని అర్థం చేసుకోవడం ద్వారా, CRIME రచయితలు Gmail, Twitter, Dropbox మరియు Github వంటి విస్తృత శ్రేణి సైట్ల కోసం సెషన్ కుక్కీలను దొంగిలించగల దోపిడీని సృష్టించారు. దుర్బలత్వం చాలా ఆధునిక వెబ్ బ్రౌజర్లను ప్రభావితం చేసింది, ఫలితంగా ప్యాచ్లు విడుదల చేయబడ్డాయి, ఇది SSLలో కంప్రెషన్ లక్షణాన్ని నిశ్శబ్దంగా పాతిపెట్టింది, తద్వారా ఇది అస్సలు ఉపయోగించబడదు. దుర్బలత్వం నుండి రక్షించబడిన ఏకైకది గౌరవనీయమైన ఇంటర్నెట్ ఎక్స్ప్లోరర్, ఇది ఎప్పుడూ SSL కంప్రెషన్ను ఉపయోగించలేదు.
పూడ్లే
అక్టోబర్ 2014లో, Google భద్రతా బృందం భద్రతా సంఘంలో తరంగాలను సృష్టించింది. వారు SSL ప్రోటోకాల్లోని ఒక దుర్బలత్వాన్ని పదేళ్ల కిందట పాచ్ చేయగలిగారు.
సర్వర్లు మెరిసే కొత్త TLSv1.2ని అమలు చేస్తున్నప్పుడు, ఇంటర్నెట్ ఎక్స్ప్లోరర్ 3తో వెనుకబడిన అనుకూలత కోసం చాలా మంది లెగసీ SSLv6కి మద్దతునిచ్చారని తేలింది. మేము ఇప్పటికే డౌన్గ్రేడ్ దాడుల గురించి మాట్లాడాము, కాబట్టి మీరు ఏమి జరుగుతుందో ఊహించవచ్చు. హ్యాండ్షేక్ ప్రోటోకాల్ మరియు సర్వర్ల యొక్క మంచి-ఆర్కెస్ట్రేటెడ్ విధ్వంసం మంచి పాత SSLv3కి తిరిగి రావడానికి సిద్ధంగా ఉన్నాయి, ముఖ్యంగా గత 15 సంవత్సరాల భద్రతా పరిశోధనలను రద్దు చేసింది.
ట్రాన్స్పోర్ట్ లేయర్ సెక్యూరిటీ (TLS) అనేది ఇంటర్నెట్లో అత్యంత ముఖ్యమైన భద్రతా ప్రోటోకాల్. [..] మీరు ఇంటర్నెట్లో చేసే దాదాపు ప్రతి లావాదేవీ TLSపై ఆధారపడి ఉంటుంది. [..] కానీ TLS ఎల్లప్పుడూ TLS కాదు. ప్రోటోకాల్ దాని జీవితాన్ని ప్రారంభించింది నెట్స్కేప్ కమ్యూనికేషన్స్ "సెక్యూర్ సాకెట్స్ లేయర్" లేదా SSL అని పిలుస్తారు. SSL యొక్క మొదటి వెర్షన్ చాలా భయంకరంగా ఉందని పుకారు ఉంది, డెవలపర్లు కోడ్ యొక్క అన్ని ప్రింటౌట్లను సేకరించి, వాటిని న్యూ మెక్సికోలోని రహస్య ల్యాండ్ఫిల్లో పాతిపెట్టారు. పర్యవసానంగా, SSL యొక్క మొదటి పబ్లిక్గా అందుబాటులో ఉన్న సంస్కరణ వాస్తవం వెర్షన్ SSL 2. ఇది చాలా భయానకంగా ఉంది మరియు [..] ఇది 90ల మధ్యకాలంలో వచ్చిన ఉత్పత్తి, దీనిని ఆధునిక క్రిప్టోగ్రాఫర్లు "క్రిప్టోగ్రఫీ యొక్క చీకటి యుగాలు" ఈ రోజు మనకు తెలిసిన చాలా ఘోరమైన క్రిప్టోగ్రాఫిక్ దాడులు ఇంకా కనుగొనబడలేదు. ఫలితంగా, SSLv2 ప్రోటోకాల్ డెవలపర్లు తప్పనిసరిగా చీకటిలో తమ మార్గాన్ని తడబడటానికి వదిలివేయబడ్డారు మరియు వారు ఎదుర్కొన్నారు చాలా భయంకరమైన రాక్షసులు - SSLv2పై దాడులు తరువాతి తరం ప్రోటోకాల్లకు అమూల్యమైన పాఠాలను మిగిల్చినందున, వారి కలత మరియు మా ప్రయోజనం.
అదృష్టవశాత్తూ దొంగల కోసం, “కొంతమంది” అంటే “అన్నీ” అని అర్థం కాదు. మొత్తంమీద, SSLv3 Vodene దాడిని ప్రారంభించడానికి అవసరమైన అన్ని బిల్డింగ్ బ్లాక్లను అందించింది. ప్రోటోకాల్ CBC మోడ్ బ్లాక్ సైఫర్ మరియు అసురక్షిత పాడింగ్ స్కీమ్ను ఉపయోగించింది (ఇది TLSలో సరిదిద్దబడింది; అందువల్ల డౌన్గ్రేడ్ దాడి అవసరం). Vaudenay దాడికి సంబంధించిన మా అసలు వివరణలో పాడింగ్ స్కీమ్ మీకు గుర్తున్నట్లయితే, SSLv3 స్కీమ్ చాలా పోలి ఉంటుంది.
కానీ, దురదృష్టవశాత్తు దొంగల కోసం, "ఇలాంటి" అంటే "ఒకేలా" కాదు. SSLv3 ప్యాడింగ్ స్కీమ్ "N యాదృచ్ఛిక బైట్ల తర్వాత సంఖ్య N". ఈ పరిస్థితుల్లో సైఫర్టెక్స్ట్ యొక్క ఊహాత్మక బ్లాక్ని ఎంచుకోవడానికి ప్రయత్నించండి మరియు వాడెన్ యొక్క అసలు స్కీమ్లోని అన్ని దశల ద్వారా వెళ్లండి: దాడి చివరి బైట్ను సంబంధిత ప్లెయిన్టెక్స్ట్ బ్లాక్ నుండి విజయవంతంగా సంగ్రహిస్తుంది, కానీ మరింత ముందుకు వెళ్లదు. ప్రతి 16వ సైఫర్టెక్స్ట్ని డీక్రిప్ట్ చేయడం గొప్ప ట్రిక్, కానీ అది విజయం కాదు.
వైఫల్యాన్ని ఎదుర్కొన్న Google బృందం చివరి ప్రయత్నంగా మారింది: వారు CRIMEలో ఉపయోగించిన మరింత శక్తివంతమైన ముప్పు మోడల్కి మారారు. దాడి చేసే వ్యక్తి బాధితురాలి బ్రౌజర్ ట్యాబ్లో రన్ అవుతున్న స్క్రిప్ట్ మరియు సెషన్ కుక్కీలను సంగ్రహించగలరని భావించి, దాడి ఇప్పటికీ ఆకట్టుకుంటుంది. విస్తృత ముప్పు మోడల్ తక్కువ వాస్తవికంగా ఉన్నప్పటికీ, ఈ నిర్దిష్ట మోడల్ సాధ్యమేనని మేము మునుపటి విభాగంలో చూశాము.
ఈ మరింత శక్తివంతమైన అటాకర్ సామర్థ్యాలను బట్టి, దాడి ఇప్పుడు కొనసాగుతుంది. హెడర్లో ఎన్క్రిప్టెడ్ సెషన్ కుక్కీ ఎక్కడ కనిపిస్తుందో దాడి చేసే వ్యక్తికి తెలుసని మరియు దాని ముందున్న HTTP అభ్యర్థన పొడవును నియంత్రిస్తాడని గమనించండి. అందువల్ల, ఇది HTTP అభ్యర్థనను మార్చగలదు, తద్వారా కుక్కీ యొక్క చివరి బైట్ బ్లాక్ ముగింపుతో సమలేఖనం చేయబడుతుంది. ఇప్పుడు ఈ బైట్ డిక్రిప్షన్కు అనుకూలంగా ఉంది. మీరు అభ్యర్థనకు కేవలం ఒక అక్షరాన్ని జోడించవచ్చు మరియు కుక్కీ యొక్క చివరి బైట్ అదే స్థానంలో ఉంటుంది మరియు అదే పద్ధతిని ఉపయోగించి ఎంపిక చేయడానికి అనుకూలంగా ఉంటుంది. కుక్కీ ఫైల్ పూర్తిగా పునరుద్ధరించబడే వరకు దాడి ఈ పద్ధతిలో కొనసాగుతుంది. దీనిని POODLE అని పిలుస్తారు: డౌన్గ్రేడ్ చేసిన లెగసీ ఎన్క్రిప్షన్పై ప్యాడింగ్ ఒరాకిల్.
మునుగు
మేము చెప్పినట్లుగా, SSLv3 దాని లోపాలను కలిగి ఉంది, అయితే ఇది దాని పూర్వీకుల నుండి ప్రాథమికంగా భిన్నంగా ఉంది, ఎందుకంటే లీకైన SSLv2 వేరే యుగం యొక్క ఉత్పత్తి. అక్కడ మీరు సందేశానికి మధ్యలో అంతరాయం కలిగించవచ్చు: соглашусь на это только через мой труп మారింది соглашусь на это; క్లయింట్ మరియు సర్వర్ ఆన్లైన్లో కలుసుకోవచ్చు, ట్రస్ట్ని ఏర్పరచుకోవచ్చు మరియు దాడి చేసేవారి ముందు రహస్యాలను మార్పిడి చేసుకోవచ్చు, అతను రెండింటినీ సులభంగా నటించగలడు. ఎగుమతి గూఢ లిపి శాస్త్రంలో సమస్య కూడా ఉంది, ఇది ఫ్రీక్ను పరిగణనలోకి తీసుకున్నప్పుడు మేము పేర్కొన్నాము. ఇవి క్రిప్టోగ్రాఫిక్ సొదొమ మరియు గొమొర్రా.
మార్చి 2016లో, వివిధ సాంకేతిక రంగాలకు చెందిన పరిశోధకుల బృందం కలిసి ఒక ఆశ్చర్యకరమైన ఆవిష్కరణను చేసింది: SSLv2 ఇప్పటికీ భద్రతా వ్యవస్థల్లో ఉపయోగించబడుతోంది. అవును, FREAK మరియు POODLE తర్వాత ఆ రంధ్రం మూసివేయబడినందున దాడి చేసేవారు ఆధునిక TLS సెషన్లను SSLv2కి డౌన్గ్రేడ్ చేయలేరు, అయితే వారు ఇప్పటికీ సర్వర్లకు కనెక్ట్ అవ్వగలరు మరియు SSLv2 సెషన్లను స్వయంగా ప్రారంభించగలరు.
మీరు అడగవచ్చు, వారు అక్కడ ఏమి చేస్తున్నారో మేము ఎందుకు పట్టించుకోము? వారికి హాని కలిగించే సెషన్ ఉంది, కానీ ఇది ఇతర సెషన్లను లేదా సర్వర్ భద్రతను ప్రభావితం చేయకూడదు - సరియైనదా? బాగా, చాలా కాదు. అవును, అది సిద్ధాంతంలో ఎలా ఉండాలి. కానీ లేదు - ఎందుకంటే SSL సర్టిఫికేట్లను రూపొందించడం వలన నిర్దిష్ట భారం పడుతుంది, ఫలితంగా అనేక సర్వర్లు ఒకే సర్టిఫికేట్లను ఉపయోగిస్తాయి మరియు ఫలితంగా, TLS మరియు SSLv2 కనెక్షన్ల కోసం అదే RSA కీలు ఉంటాయి. విషయాలను మరింత దిగజార్చడానికి, OpenSSL బగ్ కారణంగా, ఈ ప్రసిద్ధ SSL అమలులో "SSLv2ని నిలిపివేయి" ఎంపిక వాస్తవానికి పని చేయలేదు.
ఇది TLSపై క్రాస్-ప్రోటోకాల్ దాడిని సాధ్యం చేసింది మునుగు ( వాడుకలో లేని మరియు బలహీనమైన ఎన్క్రిప్షన్తో RSAని డీక్రిప్ట్ చేయడం, వాడుకలో లేని మరియు బలహీనమైన ఎన్క్రిప్షన్తో RSAని డీక్రిప్ట్ చేయడం). ఇది చిన్న దాడికి సమానం కాదని గుర్తుంచుకోండి; దాడి చేసే వ్యక్తి "మధ్యలో ఉన్న వ్యక్తి" వలె వ్యవహరించాల్సిన అవసరం లేదు మరియు అసురక్షిత సెషన్లో పాల్గొనడానికి క్లయింట్ను చేర్చుకోవాల్సిన అవసరం లేదు. దాడి చేసేవారు సర్వర్తో అసురక్షిత SSLv2 సెషన్ను ప్రారంభిస్తారు, బలహీనమైన ప్రోటోకాల్పై దాడి చేస్తారు మరియు సర్వర్ యొక్క RSA ప్రైవేట్ కీని తిరిగి పొందుతారు. ఈ కీ TLS కనెక్షన్లకు కూడా చెల్లుబాటు అవుతుంది మరియు ఇప్పటి నుండి, TLS భద్రత ఎలాంటి రాజీ పడకుండా నిరోధించదు.
కానీ దాన్ని ఛేదించడానికి, మీకు SSLv2కి వ్యతిరేకంగా పని చేసే దాడి అవసరం, ఇది నిర్దిష్ట ట్రాఫిక్ను మాత్రమే కాకుండా రహస్య RSA సర్వర్ కీని కూడా పునరుద్ధరించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇది సంక్లిష్టమైన సెటప్ అయినప్పటికీ, SSLv2 తర్వాత పూర్తిగా మూసివేయబడిన ఏదైనా దుర్బలత్వాన్ని పరిశోధకులు ఎంచుకోవచ్చు. వారు చివరికి తగిన ఎంపికను కనుగొన్నారు: బ్లీచెన్బాచర్ దాడి, మేము ఇంతకు ముందు పేర్కొన్నాము మరియు తదుపరి కథనంలో మేము వివరంగా వివరిస్తాము. SSL మరియు TLS ఈ దాడి నుండి రక్షించబడ్డాయి, అయితే SSL యొక్క కొన్ని యాదృచ్ఛిక లక్షణాలు, ఎగుమతి-గ్రేడ్ క్రిప్టోగ్రఫీలో షార్ట్ కీలతో కలిపి దీనిని సాధ్యం చేశాయి DROWN యొక్క నిర్దిష్ట అమలు.
ప్రచురణ సమయంలో, ఇంటర్నెట్ యొక్క అగ్ర సైట్లలో 25% DROWN దుర్బలత్వం ద్వారా ప్రభావితమయ్యాయి మరియు కొంటె ఒంటరి హ్యాకర్లకు కూడా అందుబాటులో ఉన్న నిరాడంబరమైన వనరులతో దాడిని నిర్వహించవచ్చు. సర్వర్ యొక్క RSA కీని తిరిగి పొందడానికి ఎనిమిది గంటల గణన మరియు $440 అవసరం మరియు SSLv2 పాతది నుండి రేడియోధార్మికతకు చేరుకుంది.
వేచి ఉండండి, హార్ట్బ్లీడ్ గురించి ఏమిటి?
ఇది పైన వివరించిన అర్థంలో క్రిప్టోగ్రాఫిక్ దాడి కాదు; ఇది బఫర్ ఓవర్ఫ్లో.
కాస్త విరామం తీసుకుందాం
మేము కొన్ని ప్రాథమిక పద్ధతులతో ప్రారంభించాము: బ్రూట్ ఫోర్స్, ఇంటర్పోలేషన్, డౌన్గ్రేడ్, క్రాస్ ప్రోటోకాల్ మరియు ప్రీకంప్యూటేషన్. అప్పుడు మేము ఒక అధునాతన సాంకేతికతను పరిశీలించాము, బహుశా ఆధునిక క్రిప్టోగ్రాఫిక్ దాడుల యొక్క ప్రధాన భాగం: ఒరాకిల్ దాడి. మేము దానిని గుర్తించడానికి కొంత సమయం గడిపాము - మరియు అంతర్లీన సూత్రాన్ని మాత్రమే కాకుండా, రెండు నిర్దిష్ట అమలుల యొక్క సాంకేతిక వివరాలను కూడా అర్థం చేసుకున్నాము: CBC ఎన్క్రిప్షన్ మోడ్పై వాడెనే దాడి మరియు ప్రీ-కంప్రెషన్ ఎన్క్రిప్షన్ ప్రోటోకాల్లపై కెల్సే దాడి.
డౌన్గ్రేడ్ మరియు ప్రీకంప్యూటేషన్ దాడులను సమీక్షించడంలో, మేము FREAK దాడిని క్లుప్తంగా వివరించాము, ఇది లక్ష్య సైట్లను బలహీనమైన కీలకు డౌన్గ్రేడ్ చేసి, ఆపై అదే కీలను మళ్లీ ఉపయోగించడం ద్వారా రెండు పద్ధతులను ఉపయోగిస్తుంది. తదుపరి కథనం కోసం, మేము పబ్లిక్ కీ అల్గారిథమ్లను లక్ష్యంగా చేసుకునే (చాలా సారూప్యమైన) Logjam దాడిని సేవ్ చేస్తాము.
మేము ఈ సూత్రాల అన్వయానికి మరో మూడు ఉదాహరణలను పరిశీలించాము. ముందుగా, క్రైమ్ మరియు పూడ్లే: లక్ష్య సాదా వచనం పక్కన ఏకపక్ష సాదా వచనాన్ని ఇంజెక్ట్ చేసే దాడి చేసే వ్యక్తి సామర్థ్యంపై ఆధారపడిన రెండు దాడులు, ఆపై సర్వర్ ప్రతిస్పందనలను పరిశీలించడం మరియు అప్పుడు,ఒరాకిల్ అటాక్ మెథడాలజీని ఉపయోగించి, సాదా వచనాన్ని పాక్షికంగా పునరుద్ధరించడానికి ఈ చిన్న సమాచారాన్ని ఉపయోగించుకోండి. CRIME SSL కంప్రెషన్పై కెల్సే యొక్క దాడికి దారితీసింది, అయితే POODLE బదులుగా అదే ప్రభావంతో CBCపై వాడెనే యొక్క దాడి యొక్క రూపాంతరాన్ని ఉపయోగించింది.
మేము అప్పుడు క్రాస్-ప్రోటోకాల్ DROWN దాడికి మా దృష్టిని మరల్చాము, ఇది లెగసీ SSLv2 ప్రోటోకాల్ని ఉపయోగించి సర్వర్కు కనెక్షన్ని ఏర్పరుస్తుంది మరియు బ్లీచెన్బాచర్ దాడిని ఉపయోగించి సర్వర్ రహస్య కీలను తిరిగి పొందుతుంది. మేము ప్రస్తుతానికి ఈ దాడికి సంబంధించిన సాంకేతిక వివరాలను దాటవేసాము; Logjam లాగా, పబ్లిక్ కీ క్రిప్టోసిస్టమ్లు మరియు వాటి దుర్బలత్వాలపై మనకు మంచి అవగాహన వచ్చే వరకు వేచి ఉండాలి.
తర్వాతి ఆర్టికల్లో మీట్-ఇన్-ది-మిడిల్, డిఫరెన్షియల్ క్రిప్టానాలసిస్ మరియు బర్త్డే ఎటాక్స్ వంటి అధునాతన దాడుల గురించి మాట్లాడుతాము. సైడ్-ఛానెల్ దాడులకు త్వరితగతిన ప్రవేశిద్దాం, ఆపై విషయం యొక్క మాంసాన్ని పొందండి: పబ్లిక్ కీ క్రిప్టోసిస్టమ్స్.