Terrapin - ချိတ်ဆက်မှုလုံခြုံရေးကို လျှော့ချခွင့်ပြုသည့် SSH ပရိုတိုကောရှိ အားနည်းချက်တစ်ခု

Bochum (ဂျာမနီ) ရှိ Ruhr တက္ကသိုလ်မှ သုတေသီအဖွဲ့တစ်ဖွဲ့သည် ပရိုတိုကောတွင် အားနည်းချက် (CVE-2023-48795) ကို အသုံးချသည့် SSH - Terrapin တွင် MITM တိုက်ခိုက်မှုနည်းပညာအသစ်ကို တင်ပြခဲ့သည်။ MITM တိုက်ခိုက်မှုကို စီစဉ်ဆောင်ရွက်နိုင်သော တိုက်ခိုက်သူသည် ချိတ်ဆက်မှုလုံခြုံရေးအဆင့်ကို လျှော့ချရန်အတွက် ပရိုတိုကောအဆက်များကို ပြင်ဆင်သတ်မှတ်ခြင်းဖြင့် မက်ဆေ့ချ်ပေးပို့မှုကို ပိတ်ဆို့ရန် ချိတ်ဆက်ညှိနှိုင်းမှုလုပ်ငန်းစဉ်အတွင်း စွမ်းရည်ရှိသည်။ တိုက်ခိုက်ရေးကိရိယာ၏ ရှေ့ပြေးပုံစံကို GitHub တွင် လွှင့်တင်ထားသည်။

OpenSSH ၏အခြေအနေတွင်၊ ဥပမာအားဖြင့်၊ အားနည်းချက်သည် သင့်အား ကီးဘုတ်ပေါ်ရှိ သော့ခတ်ခြင်းကြားနှောင့်နှေးမှုများကို ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် ကီးဘုတ်ပေါ်ရှိ သော့ခတ်ခြင်းကြားနှောင့်နှေးမှုများကို ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် လုံခြုံမှုအားနည်းသော အထောက်အထားစိစစ်ခြင်းဆိုင်ရာ အယ်လဂိုရီသမ်များကို အသုံးပြုရန် ချိတ်ဆက်မှုကို ပြန်လှည့်နိုင်စေပါသည်။ Python စာကြည့်တိုက်တွင် AsyncSSH တွင် အတွင်းပိုင်းပြည်နယ်စက်ကို အကောင်အထည်ဖော်ရာတွင် အားနည်းချက်တစ်ခု (CVE-2023-46446) နှင့် ပေါင်းစပ်ကာ Terrapin တိုက်ခိုက်မှုသည် ကျွန်ုပ်တို့အား SSH စက်ရှင်အဖြစ် သပ်သပ်ရပ်ရပ်ဖြစ်စေသည်။

အားနည်းချက်သည် ETM (Encrypt-then-MAC) မုဒ်နှင့် ပေါင်းစပ်ထားသည့် ChaCha20-Poly1305 သို့မဟုတ် CBC မုဒ် စာဝှက်များကို ပံ့ပိုးပေးသည့် SSH အကောင်အထည်ဖော်မှုအားလုံးကို အကျိုးသက်ရောက်သည်။ ဥပမာအားဖြင့်၊ အလားတူစွမ်းရည်များကို OpenSSH တွင် 10 နှစ်ကျော်ကြာအောင် ရရှိနိုင်ပါပြီ။ အားနည်းချက်ကို ယနေ့ထုတ် OpenSSH 9.6 အပြင် PuTTY 0.80၊ libssh 0.10.6/0.9.8 နှင့် AsyncSSH 2.14.2 တို့တွင် အပ်ဒိတ်များကို ပြင်ဆင်ထားသည်။ Dropbear SSH တွင်၊ ပြုပြင်မှုအား ကုဒ်သို့ ထည့်သွင်းထားပြီးဖြစ်သော်လည်း အသစ်ထုတ်လွှတ်မှု မပြုလုပ်ရသေးပါ။

ချိတ်ဆက်မှုအသွားအလာကို ထိန်းချုပ်ထားသည့် တိုက်ခိုက်သူတစ်ဦးသည် ချိတ်ဆက်ညှိနှိုင်းမှုလုပ်ငန်းစဉ်အတွင်း ပက်ကက်ဆက်နံပါတ်နံပါတ်များကို ချိန်ညှိနိုင်ပြီး SSH ဝန်ဆောင်မှုမက်ဆေ့ချ်များ၏ မထင်မှတ်ထားသော နံပါတ်များကို အသံတိတ်ဖျက်ခြင်းအား အောင်မြင်နိုင်ခြင်းကြောင့် အားနည်းချက်ဖြစ်ရခြင်းဖြစ်သည် client သို့မဟုတ် server မှပေးပို့သည်။ အခြားအရာများထဲတွင်၊ တိုက်ခိုက်သူသည် အသုံးပြုနေသော ပရိုတိုကော တိုးချဲ့မှုများကို စီစဉ်သတ်မှတ်ရန် အသုံးပြုသည့် SSH_MSG_EXT_INFO မက်ဆေ့ချ်များကို ဖျက်နိုင်သည်။ စီးရီးနံပါတ်များ ကွာဟမှုကြောင့် ပက်ကက်ပျောက်ဆုံးမှုကို တစ်ဖက်လူက မတွေ့အောင် ကာကွယ်ရန်၊ တိုက်ခိုက်သူသည် စီးရီးနံပါတ်ပြောင်းရန် အဝေးထိန်း ပက်ကတ်ကဲ့သို့ တူညီသော အတွဲလိုက်နံပါတ်ပါသည့် dummy packet ကို စတင်သည်။ dummy packet တွင် လုပ်ဆောင်နေစဉ်အတွင်း လျစ်လျူရှုထားသည့် SSH_MSG_IGNORE အလံပါရှိသော စာတိုတစ်ခုပါရှိသည်။

Terrapin - ချိတ်ဆက်မှုလုံခြုံရေးကို လျှော့ချခွင့်ပြုသည့် SSH ပရိုတိုကောရှိ အားနည်းချက်တစ်ခု

သမာဓိချိုးဖောက်မှုကို အပလီကေးရှင်းအဆင့်တွင် တွေ့ရှိမည်ဖြစ်သောကြောင့် stream ciphers နှင့် CTR ကိုအသုံးပြု၍ တိုက်ခိုက်မှုကို လုပ်ဆောင်၍မရပါ။ လက်တွေ့တွင်၊ ChaCha20-Poly1305 cipher သာလျှင် တိုက်ခိုက်ရန် ခံရနိုင်သည် ([အီးမေးလ်ကိုကာကွယ်ထားသည်]) အခြေအနေကို မက်ဆေ့ချ် နံပါတ်များဖြင့်သာ ခြေရာခံပြီး Encrypt-Then-MAC မုဒ်မှ ပေါင်းစပ်မှု (*[အီးမေးလ်ကိုကာကွယ်ထားသည်]) နှင့် CBC စာဝှက်များ။

OpenSSH 9.6 နှင့် အခြားသော အကောင်အထည်ဖော်မှုများတွင်၊ ဆာဗာနှင့် ကလိုင်းယင့်ဘက်များတွင် ပံ့ပိုးမှုရှိပါက တိုက်ခိုက်မှုကို ပိတ်ဆို့ရန်အတွက် “တင်းကျပ်သော KEX” ပရိုတိုကော၏ တိုးချဲ့မှုကို လုပ်ဆောင်ထားသည်။ ချိတ်ဆက်မှုညှိနှိုင်းမှုလုပ်ငန်းစဉ်အတွင်း လက်ခံရရှိသည့် ပုံမှန်မဟုတ်သော သို့မဟုတ် မလိုအပ်သော မက်ဆေ့ချ်များ (ဥပမာ၊ SSH_MSG_IGNORE သို့မဟုတ် SSH2_MSG_DEBUG အလံဖြင့်) လက်ခံရရှိသောအခါတွင် ချိတ်ဆက်မှုကို ရပ်ဆိုင်းပြီး သော့လဲလှယ်မှုတစ်ခုစီ၏ ပြီးဆုံးပြီးနောက် MAC (Message Authentication Code) ကောင်တာကို ပြန်လည်သတ်မှတ်သည်။

source: opennet.ru

မှတ်ချက် Add