DH လျှို့ဝှက်စာဝှက်များကို အခြေခံ၍ ချိတ်ဆက်မှုများကို အဓိကဆုံးဖြတ်ခွင့်ပြုသည့် TLS တွင် အားနည်းချက်

ထုတ်ဖော်ခဲ့သည်။ အသစ်နှင့်ပတ်သက်သောအချက်အလက် အားနည်းချက်များ TLS ပရိုတိုကောတွင် (CVE-2020-1968) ဟုအမည်တပ်ထားသည်။
ရက်ကွန်း ရှားပါးသောအခြေအနေများတွင် HTTPS အပါအဝင် ဖြတ်သန်းသွားလာမှု (MITM) အပါအဝင် TLS ချိတ်ဆက်မှုများကို ကုဒ်ကုဒ်ဝှက်ရန်အတွက် အသုံးပြုနိုင်သည့် ပဏာမ ပင်မသော့ (Pre-master) ကို ဆုံးဖြတ်ရန် ရှားပါးသောအခြေအနေများတွင် ခွင့်ပြုပါ။ တိုက်ခိုက်မှုသည် လက်တွေ့အကောင်အထည်ဖေါ်ရန် အလွန်ခက်ခဲပြီး သီအိုရီသဘောသဘာဝအရ သတိပြုမိပါသည်။ တိုက်ခိုက်မှုတစ်ခုလုပ်ဆောင်ရန်၊ TLS ဆာဗာ၏ သီးခြားဖွဲ့စည်းပုံနှင့် ဆာဗာလုပ်ဆောင်ချိန်ကို အလွန်တိကျစွာ တိုင်းတာနိုင်မှု လိုအပ်ပါသည်။

ပြဿနာသည် TLS သတ်မှတ်ချက်တွင် တိုက်ရိုက်ရှိနေပြီး DH သော့လဲလှယ်မှုပရိုတိုကော (Diffie-Hellman, TLS_DH_*") ကို အခြေခံ၍ စာဝှက်များကို အသုံးပြုထားသော ချိတ်ဆက်မှုများကိုသာ အကျိုးသက်ရောက်သည်။ ECDH ciphers များဖြင့် ပြဿနာမဖြစ်ပွားဘဲ ၎င်းတို့သည် လုံခြုံစွာရှိနေပါသည်။ ဗားရှင်း 1.2 အထိ TLS ပရိုတိုကောများသာ အားနည်းချက်ရှိပါသည်; TLS 1.3 သည် ပြဿနာကြောင့် သက်ရောက်မှုမရှိပါ။ မတူညီသော TLS ချိတ်ဆက်မှုများတွင် DH လျှို့ဝှက်သော့ကို ပြန်လည်အသုံးပြုသည့် TLS အကောင်အထည်ဖော်မှုများတွင် အားနည်းချက်သည် ဖြစ်ပေါ်သည် (ဤအပြုအမူသည် Alexa ထိပ်တန်း 4.4M ဆာဗာများ၏ 1% ခန့်တွင် ဖြစ်ပေါ်သည်)။

OpenSSL 1.0.2e နှင့် အစောပိုင်းထွက်ရှိမှုများတွင်၊ SSL_OP_SINGLE_DH_USE ရွေးချယ်မှုကို ပြတ်သားစွာသတ်မှတ်မထားပါက DH ပင်မကီးကို ဆာဗာချိတ်ဆက်မှုအားလုံးတွင် ပြန်လည်အသုံးပြုပါသည်။ OpenSSL 1.0.2f ဖြစ်သောကြောင့်၊ DH ပင်မသော့သည် static DH ciphers ("DH-*"၊ ဥပမာ "DH-RSA-AES256-SHA") ကိုအသုံးပြုသောအခါမှသာ DH ပင်မသော့ကို ပြန်လည်အသုံးပြုပါသည်။ ဤဌာနခွဲသည် DH ပင်မသော့ကို အသုံးမပြုသည့်အပြင် static DH စာဝှက်များကို အသုံးမပြုသောကြောင့် အားနည်းချက်သည် OpenSSL 1.1.1 တွင် မပေါ်ပါ။

DH သော့လဲလှယ်သည့်နည်းလမ်းကိုအသုံးပြုသည့်အခါ၊ ချိတ်ဆက်မှု၏နှစ်ဖက်စလုံးသည် မည်သည့်အများပြည်သူသော့များ (ga mod p နှင့် gb mod p) ကိုတွက်ချက်ပြီး ပေးပို့သည်ကို အခြေခံ၍ ကျပန်းသီးသန့်သော့များ (နောင်သော့ “a” နှင့် key “b”) ကိုထုတ်ပေးပါသည်။ ပါတီတစ်ခုစီသည် အများသူငှာသော့များကို လက်ခံရရှိပြီးနောက်၊ စက်ရှင်ကီးများထုတ်လုပ်ရန်အတွက် အသုံးပြုသည့် ဘုံအဓိကသော့ (gab mod p) ကို တွက်ချက်သည်။ Raccoon တိုက်ခိုက်မှုသည် ဗားရှင်း 1.2 အထိ TLS သတ်မှတ်ချက်များသည် ၎င်းနှင့်ပတ်သက်သည့် တွက်ချက်မှုများမလုပ်ဆောင်မီ အဓိကကီး၏ ဦးဆောင် null bytes အားလုံးကို ဖယ်ပစ်ရန် လိုအပ်သည့်အချက်အပေါ် အခြေခံ၍ side-channel ခွဲခြမ်းစိတ်ဖြာမှုမှတစ်ဆင့် အဓိကသော့ကို ဆုံးဖြတ်နိုင်စေပါသည်။

ဖြတ်တောက်ထားသော ပင်မသော့အပါအဝင် မတူညီသောဒေတာကို လုပ်ဆောင်ရာတွင် နှောင့်နှေးမှုများရှိသည့် hash လုပ်ဆောင်ချက်များအပေါ် အခြေခံထားသည့် စက်ရှင် သော့မျိုးဆက်လုပ်ဆောင်ချက်သို့ ပေးပို့ပါသည်။ ဆာဗာမှလုပ်ဆောင်သောသော့လည်ပတ်မှုများ၏အချိန်ကိုတိကျစွာတိုင်းတာခြင်းသည်တိုက်ခိုက်သူအားအဓိကသော့သည်အစမှစသည်ဖြစ်စေမစစ်ဆေးနိုင်စေသောသဲလွန်စများ (oracle) ကိုဆုံးဖြတ်ရန်ခွင့်ပြုသည်။ ဥပမာအားဖြင့်၊ တိုက်ခိုက်သူသည် client မှပေးပို့သော public key (ga) ကို ကြားဖြတ်နိုင်ပြီး ၎င်းကို ဆာဗာသို့ ပြန်လည်ပေးပို့ပြီး ဆုံးဖြတ်နိုင်သည်
ရလာတဲ့ အဓိကကီးက သုညကနေ စသလား။

သူ့ဘာသာသူအားဖြင့်၊ သော့တစ်ဘိုက်ကို သတ်မှတ်ခြင်းသည် တစ်စုံတစ်ရာကို မပေးဆောင်သော်လည်း ချိတ်ဆက်ညှိနှိုင်းမှုအတွင်း client မှပေးပို့သော “ga” တန်ဖိုးကို ကြားဖြတ်ခြင်းဖြင့် တိုက်ခိုက်သူသည် “ga” နှင့် ဆက်စပ်သော အခြားတန်ဖိုးများကို ထုတ်ပေးနိုင်ပြီး ၎င်းတို့ထံ ပေးပို့နိုင်သည်။ သီးခြားချိတ်ဆက်မှုညှိနှိုင်းရေးအစည်းအဝေးများတွင်ဆာဗာ။ “gri*ga” တန်ဖိုးများကို ဖန်တီးခြင်းနှင့် ပေးပို့ခြင်းဖြင့်၊ တိုက်ခိုက်သူတစ်ဦးသည် ဆာဗာတုံ့ပြန်မှုတွင် နှောင့်နှေးမှုများရှိပြောင်းလဲမှုများကို ပိုင်းခြားစိတ်ဖြာခြင်းဖြင့် သုညမှစတင်၍ အဓိကသော့များကို လက်ခံရရှိစေသည့် တန်ဖိုးများကို ဆုံးဖြတ်နိုင်သည်။ ထိုသို့သောတန်ဖိုးများကို ဆုံးဖြတ်ခြင်းဖြင့် တိုက်ခိုက်သူသည် ညီမျှခြင်းအစုတစ်ခုကို ဖန်တီးနိုင်သည်။ ဖြေရှင်းနည်းများ လျှို့ဝှက်နံပါတ်ပြဿနာများ မူလပင်မကီးကို တွက်ချက်ပါ။

DH လျှို့ဝှက်စာဝှက်များကို အခြေခံ၍ ချိတ်ဆက်မှုများကို အဓိကဆုံးဖြတ်ခွင့်ပြုသည့် TLS တွင် အားနည်းချက်

OpenSSL အားနည်းချက်များ တာဝန်ပေးသည်။ အန္တရာယ်အဆင့်နိမ့်၊ ပြုပြင်မှုမှာ ပြဿနာရှိသော ciphers “TLS_DH_*” ကို ထုတ်ဝေမှု 1.0.2w တွင် အကာအကွယ်မလုံလောက်သောအဆင့် (“weak-ssl-ciphers”) အမျိုးအစားသို့ ထုတ်ဝေခြင်းသို့ လျှော့ချလိုက်သည် . Mozilla developer များကလည်း အလားတူပင်၊ ပိတ်ထား Firefox တွင်သုံးသော NSS စာကြည့်တိုက်၊ DH နှင့် DHE cipher suites များ။ Firefox 78 တွင် ပြဿနာရှိသော ciphers များကို ပိတ်ထားသည်။ DH အတွက် Chrome ပံ့ပိုးမှုကို 2016 ခုနှစ်တွင် ရပ်ဆိုင်းခဲ့သည်။ BearSSL၊ BoringSSL၊ Botan၊ Mbed TLS နှင့် s2n စာကြည့်တိုက်များသည် DH ciphers သို့မဟုတ် DH ciphers များ၏ ပုံသေမျိုးကွဲများကို မပံ့ပိုးသောကြောင့် ပြဿနာကြောင့် ထိခိုက်မှုမရှိပါ။

နောက်ဆက်တွဲပြဿနာများကို သီးခြားမှတ်သားထားပါသည် (CVE-2020-5929) F5 BIG-IP စက်များ၏ TLS stack တွင်၊ တိုက်ခိုက်မှုကို ပိုမိုလက်တွေ့ကျစေသည်။ အထူးသဖြင့်၊ ပင်မသော့၏အစတွင် သုညဘိုက်ရှိနေသည့် စက်ပစ္စည်းများ၏ အပြုအမူဆိုင်ရာ သွေဖည်မှုများကို ဖော်ထုတ်ခဲ့ပြီး၊ တွက်ချက်မှုများ၏ တိကျသောကြာချိန်ကို တိုင်းတာမည့်အစား အသုံးပြုနိုင်သည်။

source: opennet.ru

မှတ်ချက် Add