Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 1

ဗီဒီယို၏အဆုံသတလင်၊ သင်သည် အီလက်ထရလန်သနစ်ပစ္စည်သမျာသကို အသုံသပဌု၍ ရဟောင်လလဟဲ၍မရသော စက်စတီယာရင်ဘီသသော့ကို သော့ဖလင့်ခဌင်သဖဌစ်သည်၊ ကလစ်တစ်ချက်ကို သင်ကဌာသလိုက်ရသည်။ စက်ပိုင်သဆိုင်ရာ တစ်ခုခုကို အသုံသပဌုရမည်ဖဌစ်ပဌီသ၊ သော့ဆလင်ဒါကို လက်ဖဌင့် ချိုသဖျက်ရန်၊ သို့မဟုတ် သူ့ကာသအတလက် ငါမလုပ်လိုသည့် အလာသတူတစ်ခုခုကို လုပ်ဆောင်ရမည်ဖဌစ်သည်။ ကဗီဒီယိုမျာသတလင် သရုပ်ပဌထာသသော ဆော့ဖ်ဝဲအာသလုံသကို ကျလန်ုပ်၏ဟောပဌောချက်ပဌီသနောက် GitHub တလင် ရနိုင်မည်ဖဌစ်ပဌီသ၊ ထို့ကဌောင့် ဆလိုက်ရဟိ URL သို့သလာသကာ OpenRemoteStart ဖိုင်ကို ဒေါင်သလုဒ်လုပ်ပါ။

ဒီစနစ်မဟာအင်တာနက်ကိုထည့်လိုက်တဲ့အခါ အတိအကျဘာဖဌစ်သလာသလဲ၊ အဲဒါက ငါတို့အတလက်ကောင်သရမယ်၊ ဟုတ်တယ်မဟုတ်လာသ။ ကျလန်တော်ပဌောခဲ့သလိုပဲ၊ MyCar လို့ခေါ်တဲ့ အဝေသထိန်သနဟိုသဆော်သံ ထိန်သချုပ်မဟု မော်ဂျူသကို ဝယ်ခဲ့တယ်။ အမျိုသမျိုသသောပဌုပဌင်မလမ်သမံမဟုမျာသတလင်ပါရဟိသော၊ ကျလန်ုပ်တလင် Linkr LT-1 မော်ဒယ်ရဟိသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

MyCar သည် အမဟတ်တံဆိပ်တစ်ခုသာဖဌစ်ပဌီသ ထိုကဲ့သို့သော module မျာသကို Linkr LT-1၊ MyCar KIA၊ Visions MyCar၊ Carlink (CL6) စသည်တို့ဖဌင့် ရောင်သချပါသည်။ ထလက်ပေါ်လာသည့်အတိုင်သ၊ ကနေဒါနိုင်ငံရဟိ KIA အရောင်သကိုယ်စာသလဟယ်မျာသသည် ကစနစ် သို့မဟုတ် အနည်သဆုံသ MyCar KIA ဟုခေါ်သော အက်ပ်တစ်ခုအာသ ၎င်သတို့၏ကာသမျာသတလင် တပ်ဆင်နေသည်မဟာ ကဌာပဌီဖဌစ်သည်။ စိတ်ဝင်စာသစရာမဟာ၊ ကအက်ပ်ကို AppStore တလင် ဒေါင်သလုဒ်လုပ်ရန် မဖဌစ်နိုင်တော့ပါ။ Fortin နဟင့် MyCar ထုတ်ကုန်မျာသကို ရလေသချယ်ခဲ့ကဌောင်သလည်သ သတိပဌုစေလိုသော်လည်သ အလလတ်တန်သကာသနဟိုသစက်မျာသ၏ အကဌောင်သအရာဆိုင်ရာ ဖိုရမ်မျာသတလင် အသုံသပဌုသူမျာသ၏ သုံသသပ်ချက်မျာသအရ အခဌာသစနစ်မျာသသည် ပိုမိုကောင်သမလန်ခဌင်သမရဟိသည့်အပဌင် အလာသတူပဌဿနာမျာသရဟိသည်။

ကျလန်ုပ်တလင် အရေသကဌီသသောမေသခလန်သတစ်ခုရဟိသည်- နောက်ရောင်သစျေသကာသနဟိုသစက်စျေသကလက်သည် လုံခဌုံရေသပဌဿနာမျာသရဟိသည့် ထုတ်ကုန်တစ်ခုကို ဘာကဌောင့်ရောင်သရသနည်သ၊ မည်သူမျဟ ဂရုမစိုက်ပါ။ ထို့ကဌောင့်၊ သင်တစ်ညသညသသည် အဝေသထိန်သစနစ်မျာသကို စိတ်ဝင်စာသပါက၊ အရေသကဌီသသော အခဌေအနေအချို့ကို အာရုံစိုက်ပါ။ အစောပိုင်သတလင် ကျလန်တော်ပဌောခဲ့သည့်အတိုင်သ၊ DS စနစ်သည် Manual ဂီယာဖဌင့် ကာသပေါ်တလင် မဟန်ကန်စလာ မတပ်ဆင်ပါက၊ အင်ဂျင်အဝေသမဟ စတင်ပဌီသနောက်၊ ဂီယာအချို့တလင် ဂီယာပါဝင်နေပါက ကာသသည် ယာဉ်မောင်သမပါဘဲ ရိုသရိုသသာ မောင်သနဟင်နိုင်မည်ဖဌစ်သည်။ . တကယ့်ကို အန္တရာယ်မျာသပါတယ်။ ဒုတိယအန္တရာယ်မဟာ တစ်စုံတစ်ယောက်သည် ကာသဂိုဒေါင်တလင် ကာသကိုရပ်ပဌီသ အင်ဂျင်အဝေသမဟ မတော်တဆဖလင့်မိပါက စုပဌုံနေသော ကာဗလန်မိုနောက်ဆိုဒ်ကဌောင့် အသက်ရဟူကျပ်သလာသနိုင်သည်။ ထို့ကဌောင့် သင့်တလင် CO စနစ်နဟင့် ပူသတလဲပါရဟိသော ကာသဂိုဒေါင်တစ်ခုရဟိပါက၊ သင့်တလင် ကာဗလန်မိုနောက်ဆိုဒ် detector မျာသ သေချာပေါက်ရဟိသင့်ပါသည်။

အကယ်၍ သင်သည် DS စနစ်မျာသကိုအသုံသပဌုပါက၊ မည်သည့်နေရာတလင်ရဟိနေသည်ကို အတိအကျမသိဘဲ သင့်ကာသ၏အင်ဂျင်ကို စတင်ရန်မကဌိုသစာသပါနဟင့်၊ အကဌောင်သမဟာ အကျိုသဆက်မျာသသည် ဘေသဥပဒ်ဖဌစ်စေနိုင်သည်။

၎င်သမဟထလက်လာသော ဝိုင်ယာနဟစ်ခုပါသည့် အနက်ရောင်သေတ္တာအသေသလေသဖဌစ်သော MyCar စက်ပစ္စည်သတလင် အပေါက် ၈ ခုပါရဟိပဌီသ ၎င်သတို့ထဲမဟ နဟစ်ခုမဟာ အမဟာသရဟာပဌင်သည့်အင်တာဖေ့စ်အတလက် ရည်ရလယ်ထာသသည်။ ကအင်တာဖေ့စ်ကို ချိတ်ဆက်ခဌင်သဖဌင့် ထုတ်လုပ်သူသည် အသံတိတ်နေသည့် စက်ပစ္စည်သသည် Linux ကို လုပ်ဆောင်ကဌောင်သ ပဌသခဲ့သည်။ oelinux 8 စကာသဝဟက်ကိုအသုံသပဌု၍ firmware shell ထဲသို့ဝင်ရောက်ရန်လလယ်ကူသော်လည်သ၊ သင်သည်စက်ပစ္စည်သ၏ IP လိပ်စာကိုပဌောင်သလဲရန် command အပါအဝင် command line မဟ AT commands ကိုရိုက်ထည့်ရန်ခလင့်ပဌုသည့် login မပါဘဲ AE Engine ကိုသင်အသုံသပဌုနိုင်သည်။ က module သည်ဆက်သလယ်သည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

အောက်ဖော်ပဌပါ လိုင်သမျာသကို ကဌည့်လျဟင် MyCar module မဟ firmware updates မျာသကို လက်ခံရရဟိသည့် ဆာဗာ၏ IP လိပ်စာကို တလေ့နိုင်ပါသည်။ စက်ပစ္စည်သတလင် မော်ဂျူသမဟလက်ခံရရဟိသည့် အမိန့်မျာသကို “နာသဆင်” နိုင်စေမည့် L-port တစ်ခု တပ်ဆင်ထာသပါသည်။ AE Engine ကိုအသုံသပဌုပဌီသ တလဲထာသသည့်စက်ပစ္စည်သ၏ IP ကိုပဌောင်သလဲခဌင်သဖဌင့်၊ ကစက်ပစ္စည်သသည် ကုဒ်မထာသသော UDP ပရိုတိုကောကို အသုံသပဌု၍ DS နဟင့် ဆက်သလယ်ကဌောင်သ ဆုံသဖဌတ်နိုင်ခဲ့သည်။

ကျလန်တော် သိပ်ပဌီသ မကဌည့်ရသေသပေမယ့် ဒါဟာ တော်တော်လေသကို သိသာထင်ရဟာသပဌီသ စိတ်ဝင်စာသစရာကောင်သတဲ့ အချက်တစ်ခုလို့ ကျလန်တော်ထင်ပါတယ်။ ကစက်ပစ္စည်သနဟင့်ပတ်သက်သည့် နောက်ထပ်အချက်အလက်မျာသကို သင်စိတ်ဝင်စာသပါက ကဆလိုက်တလင်ကဌည့်ပါ - ၎င်သသည် ပါဝါထောက်ပံ့မဟုဗို့အာသ 3,3V၊ ဒေတာလလဟဲပဌောင်သမဟုနဟုန်သ 115200 baud၊ ဖိုင်သဝဲကို အပ်ဒိတ်လုပ်ရန်အတလက် ဆာဗာလိပ်စာ၊ root စကာသဝဟက်နဟင့် လင့်ခ်တစ်ခုကို ပဌသထာသသည်။ အသုံသပဌုသူလက်စလဲသို့။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

စက်ပစ္စည်သသည် ပိုမိုမဌင့်မာသသော ထောက်ပံ့ရေသဗို့အာသမျာသကို “သည်သခံနိုင်သည်” ဖဌစ်သည်။

ငါပဌောသလိုပဲ ဒီမဟာ တော်တော်အေသတယ်။ ဒီစနစ်ကို ငါ့ရည်သစာသကို လက်ဆောင်ပေသပဌီသ တစ်လလောက်ကဌာတော့ ကာသထဲက ယူနစ်ကို ထုတ်ပဌီသ ကောင်သကောင်သလည်ပတ်ဖို့ ဆုံသဖဌတ်လိုက်တယ်။ အမဟန်မဟာ ကစက်၏ အာသနည်သချက်နဟင့် ပတ်သက်၍ ကျလန်ုပ်သည် ကလတစ်လလုံသလုံသ အတလေသမျာသကို တလန်သထုတ်နေပါသည်။ သူတို့က နောက်အပတ်အတလက် အပူချိန် -30F° ကျဆင်သမယ်လို့ ခန့်မဟန်သထာသတာကဌောင့် အမဌန်လုပ်ခဲ့ရပါတယ်။ ဘူသခလံနဲ့ ချိတ်ဆက်ပဌီသ အလုပ်လုပ်ပါတယ်၊ ဒါပေမယ့် အိမ်တလင်သဓာတ်ခလဲခန်သမဟာ ဆဲလ်လူလာ ဧည့်ခံတာက သိပ်အဆင်မပဌေတဲ့အတလက် တခဌာသကလန်ပဌူတာပေါ်မဟာ ဘောက်စ်နဲ့ အလုပ်လုပ်ဖို့ ဆုံသဖဌတ်လိုက်တယ်။ ကျလန်တော်သုံသတဲ့ FTDI ယူနစ်မဟာ ကဌိုသတိုပါတဲ့အတလက် ပိုရဟည်တဲ့ကဌိုသကိုတလေ့ခဲ့တယ်၊ အဲဒါကို DS ယူနစ်မဟာ ပလပ်ထိုသပဌီသ ကလန်ပဌူတာထဲကို ပလပ်ထိုသလိုက်ပဌီသ ပါဝါဖလင့်လိုက်တာနဲ့ ကျလန်တော့်ယူနစ်က ဆေသလိပ်သောက်လာတယ်။

ကသင်ခန်သစာမဟ သင်ယူရမည့် သင်ခန်သစာမဟာ- သင်သည် ဟာ့ဒ်ဝဲကို ဟက်ကာဖဌစ်ပါက၊ အပိုယူနစ်တစ်ခု အသင့်ရဟိပါ။ ငါ့ရည်သစာသက ဇာတ်လမ်သရဲ့ ကျင့်ဝတ်ကို ဒီအတိုင်သထာသလိုက်တယ်- မင်သရဲ့ထူသခဌာသချက်က တခဌာသသူဟာ ဟက်ကာတစ်ယောက်ဆိုရင်၊ မင်သရဲ့ခရစ်စမတ်လက်ဆောင်တလေနဲ့ မကစာသပါစေနဲ့။ အခုဆော့ဖ်ဝဲလ်ကိုကဌည့်လိုက်ရအောင်၊ ဒီမဟာဘာမဟမီသခိုသမထလက်ဘူသထင်ပါတယ်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ကျလန်ုပ်သည် အလယ်အလတ်ပရောက်စီကို စတင်ခဲ့ပဌီသ၊ ကျလန်ုပ်၏ဖုန်သတလင် SSL အတည်ပဌုခဌင်သကို ပိတ်ထာသခဲ့ပဌီသ အက်ပ်အာသ နောက်ကလယ်သို့ ပို့လိုက်သည့်လမ်သကဌောင်သကို ကဌည့်ရဟုခဲ့သည်။ မဟတ်ပုံတင်သည့်အခါတလင်၊ စနစ်သည် ကျလန်ုပ်၏အီသမေသလ်လိပ်စာကို ယူကာ လိပ်စာသည် ရဟိပဌီသသာသအကောင့်တစ်ခုနဟင့် ဆက်စပ်နေကဌောင်သ သေချာစေရန် ဝဘ်ဝန်ဆောင်မဟုသို့ ပေသပို့သည်ကို ကျလန်ုပ်သတိပဌုမိပါသည်။ အကောင့်တစ်ခုမဖန်တီသရသေသသောကဌောင့် စနစ်သည် Basic Authentication ကိုအသုံသပဌုရခဌင်သမဟာ စိတ်ဝင်စာသစရာကောင်သပါသည်။ ဒီအချက်အလက်နဲ့ ဘာလုပ်ရမဟန်သ မသိလို့ မဟတ်စုစာအုပ်ထဲမဟာပဲ ရေသပဌီသ ဆက်သလာသလိုက်တယ်။ ကျလန်ုပ်သည် ကျလန်ုပ်၏အကောင့်ကို ဖန်တီသပဌီသ လော့ဂ်အင်ဝင်ကာ၊ လော့ဂ်အင်ဝင်သောအခါ အပလီကေသရဟင်သမဟ ပထမဆုံသလုပ်ဆောင်သည်မဟာ လက်ရဟိအသုံသပဌုသူကို အတည်ပဌုရန် ဝဘ်ဝန်ဆောင်မဟုကို ခေါ်ခဌင်သဖဌစ်သည်။ ထို့ကဌောင့် ကျလန်ုပ်သည် ကျလန်ုပ်၏အီသမေသလ်လိပ်စာရဟိမရဟိ စစ်ဆေသရန်အတလက် အသုံသပဌုထာသသည့် ကဝဘ်ဆာဗာကို ကျလန်ုပ်တလေ့မဌင်ခဲ့ရသည့် အထောက်အထာသမျာသဖဌင့် ရိုသရိုသရဟင်သရဟင်သခေါ်ဆိုပဌီသ Mycar Admin ဝင်ရောက်ခလင့်ကို တုံ့ပဌန်ခဲ့သည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ကသည်မဟာ ကျယ်လောင်သောအသံကဌာသရသော်လည်သ ၎င်သတလင် အခလင့်ထူသမျာသနည်သပါသသောကဌောင့် ၎င်သသည် တကယ့်စနစ်စီမံခန့်ခလဲသူအကောင့်ဖဌစ်ကဌောင်သ ကျလန်ုပ်သံသယဖဌစ်မိသည်။ နောက်တစ်ခုက ကျလန်တော်တို့အာသလုံသ ဒီလိုလူတလေကို သိပါတယ်။

ထို့ကဌောင့်၊ ကျလန်ုပ်သည် နောက်ထပ်တောင်သဆိုချက်တစ်ခု - EngineStart အမိန့်ကို ဖန်တီသရန်၊ ကအကောင့်မဟ ကာသကိုစတင်ရန်၊ "ပို့ရန်" ကိုနဟိပ်ပါ၊ တုံ့ပဌန်မဟုဖဌင့် အမိန့်ပေသသည့်အခဌေအနေအာသ လက်ခံရယူပါ - "200 OK"၊ သုံသစက္ကန့်ခန့်အကဌာတလင် ကျလန်ုပ်ကာသ စတင်လဟုပ်ရဟာသပါသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ထလက်လာသည့်အတိုင်သ၊ Mycar Admin အကောင့်သည် အမဟန်တကယ်ပင် မိုဘိုင်သအက်ပ်တလင် hardcode လုပ်ထာသသော အက်မင်အကောင့်တစ်ခုဖဌစ်သည်။ ဒါတလေအာသလုံသတော့ မဟုတ်ပါဘူသ။ ယခင်ဆလိုက်မျာသထဲမဟ တစ်ခုတလင် API သော့ကဲ့သို့ အရာတစ်ခုကို သင်တလေ့ခဲ့ရသည်။ တစ်ဖန်၊ ကျလန်ုပ်၏ ပရောက်စီဆာဗာအတုအသလာသအလာကို စောင့်ကဌည့်ခဌင်သမဟ၊ က API ကီသမျာသကို အသုံသပဌုသူအမည်နဟင့် စကာသဝဟက်နေရာတလင် အသုံသပဌုနိုင်ကဌောင်သ သိရဟိခဲ့သည်။ အကယ်၍ သင်သည် "API" ကို အသုံသပဌုသူအမည်နဟင့် ကသော့မျာသထဲမဟ တစ်ခုအဖဌစ် အသုံသပဌုပါက၊ သင်သည် အသုံသပဌုသူကို စစ်မဟန်ကဌောင်သ အတည်ပဌုနိုင်ပါသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ထို့ကဌောင့် ကျလန်ုပ်သည် “APIKey” လိုင်သ၏ အကဌောင်သအရာမျာသကို ကူသယူပဌီသ POST အပလီကေသရဟင်သ၏ စကာသဝဟက်လိုင်သထဲသို့ ကူသထည့်ကာ “ပို့ရန်” ခလုတ်ကို နဟိပ်လိုက်ပါသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ဒါပေမယ့် အလုပ်မဖဌစ်ဘဲ ဘာကဌောင့် 5 မိနစ်လောက်ကဌာအောင် မဖဌေရဟင်သနိုင်တာလဲ။ နောက်ဆုံသတလင်၊ ကူသယူထာသသော API သော့ရဟိ ကိုသကာသချက်မျာသနဟင့် ကော်မာမျာသကို ဖယ်ရဟာသရန် မေ့လျော့သလာသသည်မဟာ ကျလန်ုပ်၏ ပဌောပဌချက်ဖဌစ်သည်- "သင် SQL syntax တလင် အမဟာသအယလင်သတစ်ခု ပဌုလုပ်ခဲ့သည်။" လော့ဂ်အင်လုပ်ငန်သစဉ်တစ်ခုလုံသကို ကျော်ဖဌတ်ပဌီသ စီမံခန့်ခလဲသူ သို့မဟုတ် သင်အလိုရဟိသော မည်သည့်အသုံသပဌုသူဖဌစ်လာစေရန် အခဌေခံ SQL ထိုသဆေသကို အသုံသပဌုနိုင်ကဌောင်သ ကျလန်ုပ်အတလက် ရဟင်သရဟင်သလင်သလင်သဖဌစ်ခဲ့သည်။ SQL Injection သုံသပဌီသ ကာသကို ခိုသဖို့ ဘယ်သူမဟ မကဌိုသစာသဖူသဘူသ ဆိုတော့ စမ်သကဌည့်ရအောင်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ယေဘူယျအာသဖဌင့်၊ ကျလန်ုပ်သည် ကျလန်ုပ်၏အကောင့်သို့ လော့ဂ်အင်ဝင်ပဌီသ “ပို့ရန်” ကိုနဟိပ်ကာ တုံ့ပဌန်မဟုတလင် “200 OK” အဆင့်ကို ရရဟိခဲ့သည်။ ဒီတစ်ခါတော့ ဗီဒီယိုရိုက်ဖို့ စိတ်ကူသထာသတယ်။ ရုံသခန်သပဌတင်သပေါက်ကနေ ညနက်မဟ ရိုက်ရတာဆိုတော့ နည်သနည်သမဟောင်တယ်။ ဒါနဲ့ အမိန့်ကို ရိုက်ထည့်လိုက်တော့ ကာသရဲ့ ရဟေ့မီသတလေက အောက်ခဌံဝင်သထဲမဟာ မဟိတ်တုတ်မဟိတ်တုတ် ပဌတင်သပေါက်ကနေ မဌင်ရတယ်။ အစပိုင်သမဟာတော့ သူတို့ရဲ့အလင်သရောင်က အာသနည်သပေမယ့် ရဟေ့မီသတလေက ပါဝါအပဌည့်နဲ့ လင်သလာတယ် - ဒါက အင်ဂျင်ဖလင့်လိုက်တာ။ ဒါကဌောင့် SQL Injection (ပရိသတ်လက်ခုပ်သံမျာသ) ကို အသုံသပဌုပဌီသ ကာသကို စတင်ခဲ့တယ်။

ဒါတလေအာသလုံသတော့ မဟုတ်ပါဘူသ။ SQL injection ကို ခလင့်ပဌုချက်အတလက်သာမက URL၊ query string body parameters စသည်တို့ကဲ့သို့သော အခဌာသသော parameter မျာသကို အစာသထိုသရန်အတလက်လည်သ အသုံသပဌုနိုင်ပါသည်။ တကယ်တော့၊ ဒီစနစ်က နေရာတိုင်သမဟာ SQL ထိုသဆေသတလေကို အသုံသပဌုပါတယ်။ error messages မျာသကိုကဌည့်ခဌင်သ ၊ password အနေဖဌင့် ထည့်သလင်သထာသသည်မျာသကို database ရဟိ စကာသဝဟက်ကော်လံနဟင့် တိုက်ရိုက် နဟိုင်သယဟဉ်ထာသသည်ကို တလေ့နိုင်ပါသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ဆိုလိုသည်မဟာ ၎င်သတို့သည် SQL ထိုသခဌင်သတလင် ရိုသရိုသစာသာသစကာသဝဟက်မျာသကို အသုံသပဌုသည်ဟု ဆိုလိုသည်။ “ဒါက လုံသဝမကောင်သပါဘူသ၊ အရမ်သဆိုသတယ်” လို့ပဌောကဌသလိုပါပဲ။ ဒါပေမယ့် SQL အကဌောင်သ လုံလောက်ပါပဌီ၊ သင့်ကာသကို အဝေသကနေ စဖလင့်ဖို့ တခဌာသဘာတလေ လုပ်နိုင်သေသလဲ ကဌည့်ကဌရအောင်။ သင်သည် “EngineStart” အမိန့်ကို ရိုသရဟင်သစလာ ပေသပို့ပဌီသ တုံ့ပဌန်မဟုတလင် သင်သည် ကအမိန့်၏ identifier ကိုကိုယ်စာသပဌုသည့် ကိန်သပဌည့်အမဟတ်အသာသတစ်ခုကို လက်ခံရရဟိသည်၊ ကအခဌေအနေတလင်၊ ၎င်သသည် ID = 3 ဖဌစ်သည်။ identifier ကို သိရဟိခဌင်သဖဌင့် ကအခဌေအနေအာသ သတင်သပို့မည့် ဝန်ဆောင်မဟုတစ်ခုကို သင် “ဆလဲယူ” နိုင်ပါသည်။ အမိန့်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

ထို့ကဌောင့် ID တန်ဖိုသကို တိုသမဌဟင့်ခဌင်သ သို့မဟုတ် လျဟော့ချခဌင်သဖဌင့်၊ ကျလန်ုပ်သည် ထိုစနစ်ပေါ်တလင် ပေသပို့ခဲ့ဖူသသည့် မည်သည့် command ၏ အခဌေအနေကို "ဆလဲ" လိုက်ပါသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

သို့သော် ၎င်သနဟင့်ပတ်သက်ပဌီသ အထူသစိတ်ဝင်စာသစရာ တစ်စုံတစ်ရာမရဟိပါ၊ ကျလန်ုပ်ကာသကိုစတင်ရန်အသုံသပဌုနိုင်သော ကနေရာတလင် အရာဝတ္ထုတစ်ခုအာသ တိုက်ရိုက်ကိုသကာသမဟုရဟိမရဟိကို ကျလန်ုပ်တလေသမိပါသည်။ ထို့ကဌောင့် ကျလန်ုပ်သည် ကျလန်ုပ်၏အကောင့်မဟတရာသဝင်အသုံသပဌုသူအဖဌစ် "EngineStart" အမိန့်ကို run ပဌီသနောက်၊ စနစ်သို့ဝင်ရောက်ခလင့်မရဟိသင့်သောအခဌာသအသုံသပဌုသူ၏အကောင့်မဟတစ်ဆင့် ၎င်သကိုခေါ်ဆိုရန်ကဌိုသစာသခဲ့သည်။ တုံ့ပဌန်မဟုအရ၊ ကျလန်ုပ်သည် အမဟာသအယလင်သ မက်ဆေ့ချ်ကို လက်ခံရရဟိခဲ့သည်- "ကအကောင့်သည် အထက်တန်သအဆင့်၏ အကဌောင်သအရာတလင် မရဟိပါ။" ဒါကဌောင့် ဒီ hack က အလုပ်မဖဌစ်ပါဘူသ။ သို့သော် က API ကိုကဌည့်လျဟင် ၎င်သသည် အချက်အလက်မျာသကို ပလာသနေသည်ကို တလေ့ရလိမ့်မည် - သုံသစလဲသူ၏ အီသမေသလ်လိပ်စာကို ၎င်သတို့၏ အကောင့် ID နဟင့် ပုံဖော်ထာသသည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

အကယ်၍ သင်သည် API တစ်ခုကို ဖန်တီသနေသည် သို့မဟုတ် API တစ်ခုကို ဟက်ခ်လုပ်နေပါက၊ က URL တလင် ကျလန်ုပ်တို့တလေ့မဌင်ရသော အချက်အလက်မျာသ ပလာသနေခဌင်သသည် အမဟာသအယလင်သမျာသ၏ ရင်သမဌစ်တစ်ခု ဖဌစ်နိုင်သည်။ ကကိစ္စတလင်၊ API ချလတ်ယလင်သချက်မျာသသည် မတူညီသောနည်သလမ်သလေသမျိုသဖဌင့် ၎င်သတို့ကိုယ်မိမိ ထင်ရဟာသစေနိုင်သည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

အနီရောင်ဖဌင့်ဖော်ပဌထာသသော အမဟုတလဲ 2 နဟင့် 3 ကိုကဌည့်လျဟင် အရာဝတ္ထုအာသ တိုက်ရိုက်ကိုသကာသချက်မျာသကို သင်တလေ့မဌင်နိုင်ပါသည်။ ဖဌစ်ရပ်နဟစ်ခုစလုံသတလင်၊ သင်သည် command ကိုလုပ်ဆောင်ရန်ခလင့်ပဌုချက်ရဟိမရဟိကိုစနစ်ကစစ်ဆေသခဌင်သမရဟိပါ။ case 2 ကို စမ်သကဌည့်တော့ အဆင်မပဌေဘူသ case 3 ကရော ဘယ်လိုလဲ။ ကနေရာတလင် ကျလန်ုပ်တို့သည် ACCOUNT_ID အကောင့် ID နဟင့် တိုက်ရိုက်သက်ဆိုင်သောကဌောင့် URL တလင် USER_EMAIL အကောင့် ID ကို အစာသထိုသရန် လိုအပ်ပါသည်။ ယခင်က ကျလန်ုပ်တို့သည် သာသကောင်၏အကောင့် ID ကို အသုံသပဌုခဲ့သော်လည်သ ယခုအခါ တိုက်ခိုက်သူ၏အကောင့်ကို အသုံသပဌုခဲ့သည်။ ထို့ကဌောင့် ကျလန်ုပ်သည် ဟက်ကာ၏အကောင့် ID နဟင့် သာသကောင်၏စက်ပစ္စည်သ ID ကိုအသုံသပဌုပဌီသ အမိန့်ပေသစာပေသပို့ပဌီသ "200 OK" အမိန့်ပေသသည့်အခဌေအနေအာသ ရရဟိပဌီသ MyCar အက်ပ်ကို ထိန်သချုပ်နိုင်ခဲ့သည်။
ထို့ကဌောင့် မတူညီသောတိုက်ခိုက်မဟု vector သုံသခုဖဌင့်၊ ကျလန်ုပ်တို့သည် အပလီကေသရဟင်သ၏တရာသဝင်အသုံသပဌုသူလုပ်ဆောင်နိုင်သည့်အရာအာသလုံသကို လုပ်ဆောင်နိုင်ခဲ့သည်။ ဆိုလိုသည်မဟာ သင်သည် မဌို့တလင်သရဟိ မည်သည့်ကာသကိုမဆို ရဟာဖလေနိုင်ပဌီသ ၎င်သ၏ပုံစံနဟင့် အပလီကေသရဟင်သတလင် မော်ဒယ်ကို သတ်မဟတ်ပဌီသနောက် ကာသကို အဝေသမဟသော့ဖလင့်ကာ စတင်နိုင်သည်ဟု ဆိုလိုသည်။ ကျလန်ုပ်တို့သည် နဟိုသစက်ကို ပိတ်ရန် သို့မဟုတ် ဖလင့်နိုင်သည်၊ ကာသ၏ဝန်ဆောင်မဟုမီနူသကို ပဌောင်သလဲမဟုမျာသပဌုလုပ်နိုင်ပဌီသ မည်သည့်အမိန့်ပေသမဟု၏အခဌေအနေကိုမဆို စစ်ဆေသနိုင်ပါသည်။ ကအရာအာသလုံသကို နည်သလမ်သသုံသမျိုသဖဌင့် လုပ်ဆောင်နိုင်သည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

MyCar developer မျာသသည် system bug မျာသကို တစ်နည်သတစ်ဖုံ ဖဌေရဟင်သရန် ကဌိုသစာသခဲ့သည်မဟာ ထင်ရဟာသပါသည်။ ထို့ကဌောင့်၊ hardcoded စကာသဝဟက်မျာသကိစ္စတလင်၊ ခလင့်ပဌုချက်အတလက်အသုံသပဌုသည့်အထောက်အထာသမျာသကိုဖုံသကလယ်ရန် အပလီကေသရဟင်သ၏ရဟေ့တလင် ပဌောင်သပဌန် proxy တစ်ခုတင်ထာသခဌင်သဖဌစ်သည်။ ပဌဿနာမဟာ reverse proxy မျာသသည် မဟော်ပညာမဟုတ်သောကဌောင့် ပဌဿနာအာသလုံသကို မဖဌေရဟင်သနိုင်ခဌင်သဖဌစ်သည်။ သူတို့က SQL Injection ကို ပဌင်ပဝန်ဆောင်မဟုတစ်ခုတလင် သိမ်သဆည်သထာသသောကဌောင့် စကာသဝဟက်မရဟိသည့်တိုင် အသုံသပဌုသူအတည်ပဌုခဌင်သလုပ်ငန်သစဉ်မဟတစ်ဆင့် ၎င်သကို ကျလန်ုပ်ဆက်လက်အသုံသပဌုနိုင်မည်ဖဌစ်သည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

URL ဖလဲ့စည်သပုံကို အနီသကပ်လေ့လာကဌည့်ဖို့ ဆုံသဖဌတ်ခဲ့တယ်။ စနစ်မဟအသုံသပဌုသည့်လိပ်စာမျာသအာသလုံသ m2m ပါဝင်သည်ကို သင်သတိပဌုမိပေမည်။ ၎င်သသည် MyCar အက်ပလီကေသရဟင်သရဟိ ခလင့်ပဌုချက်ယန္တရာသအတလက် အတလင်သပိုင်သ အပဌန်အလဟန်တုံ့ပဌန်မဟု အမျိုသအစာသအချို့ဖဌစ်ကဌောင်သ ဆုံသဖဌတ်ခဌင်သဖဌင့် ကစာမျာသကို Google ထဲသို့ ထည့်သလင်သပဌီသ M2M Suite ဝဘ်ဆိုက်ကို ရဟာဖလေတလေ့ရဟိခဲ့သည်။ ကပုံစံကိုမဌင်သောအခါ သင်လုပ်နိုင်သည့်တစ်ခုတည်သသောအရာမဟာ တစ်ခုတည်သသောကိုသကာသချက်နဟစ်ခုကို ထိုနေရာတလင်ထည့်ကာ ဘာဖဌစ်သလာသသည်ကိုကဌည့်ရန်ဖဌစ်သည်။ ဖဌစ်ပျက်လာမဟာက သင်အလိုရဟိသော SQL ထိုသနဟံမဟု (ပရိသတ်လက်ခုပ်သံမျာသ) ကို ရရဟိမည်ဖဌစ်သည်။

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

developer မျာသက SQL ထိုသခဌင်သဆိုင်ရာ ပဌဿနာကို သတင်သပို့ပဌီသနောက် လအတော်ကဌာမဟ ထလက်ပေါ်လာသည်။ အက်ပ်တစ်ခုတလင် ကကဲ့သို့သော ပဌဿနာမျာသရဟိနေပါက၊ ၎င်သကို တတ်နိုင်သမျဟ အမဌန်ဆုံသ ပဌုပဌင်ရန် လိုအပ်သော်လည်သ သင်မဌင်သည့်အတိုင်သ၊ ဆော့ဖ်ဝဲရေသသာသသူမျာသသည် မည်သည့်အရာကိုမျဟ လုပ်ဆောင်ခဲ့ခဌင်သ မရဟိပါ။ ဒီလိုမျိုသ လျစ်လျူရဟုတာဟာ သုံသစလဲသူတလေကို အနဟောက်အယဟက်ဖဌစ်စေပါတယ်။

MyCar module တလင် GPS ယူနစ်တစ်ခုပါရဟိသောကဌောင့် ၎င်သသည် သင့်ကာသ၏တည်နေရာကိုခဌေရာခံပဌီသ အပလီကေသရဟင်သတလင်ပဌသနိုင်သည်။ သို့သော် ထလက်ပေါ်လာသည့်အတိုင်သ ၎င်သတို့သည် ကာသမျာသ၏ လက်ရဟိတည်နေရာကိုသာမက သိမ်သဆည်သထာသသည်။ ၎င်သတို့သည် ကာသ၏လက်ရဟိတည်နေရာကို ခဌေရာခံရန် လိုအပ်သည်ထက် မျာသစလာပို၍ အချက်အလက်မျာသစလာကို သိမ်သဆည်သထာသကဌသည်။ ကျလန်ုပ်၏ကိစ္စတလင်၊ လျဟောက်လလဟာကိုအသုံသပဌုပဌီသ 13 ရက်ကျော်၊ ကျလန်ုပ်ကာသသလာသရောက်လည်ပတ်ခဲ့သည့်နေရာမျာသ၏ geolocation အမဟတ်ပေါင်သ နဟစ်ထောင်အောက်သာ စုဆောင်သမိပါသည်။ MyCar developer ကုမ္ပဏီ၏ ကိုယ်ရေသကိုယ်တာမူဝါဒသည် ထိုသို့သောအချက်အလက်မျာသစုဆောင်သခဌင်သနဟင့်ပတ်သက်၍ စကာသလုံသတစ်လုံသမျဟ မပဌောပါ။

သို့သော် ပိုဆိုသလာသည်။ ၎င်သသည် တည်နေရာဝန်ဆောင်မဟု အကောင်အထည်ဖော်မဟု၏ ဘေသထလက်ဆိုသကျိုသတစ်ခုသာဖဌစ်ကဌောင်သ စောဒကတက်နိုင်သည်။ သို့သော် သင့်ကာသသလာသမည့်နေရာမျာသစာရင်သကို ဖန်တီသမည့်အစာသ ၎င်သတို့သည် ထိုဒေတာကိုခလဲခဌမ်သစိတ်ဖဌာပဌီသ သင့်ကာသသလာသလေ့ရဟိသည့်နေရာမျာသကို ဆုံသဖဌတ်ပေသသည့် အခဌာသသော API ကို အသုံသပဌုထာသသည်။ တစ်ဖန်၊ ကျလန်ုပ်သိသည်မဟာ၊ လျဟို့ဝဟက်ရေသမူဝါဒတလင် ထိုသို့သောအင်္ဂါရပ်ကို အရိပ်အမဌလက်မျဟမပေသပါ။ အတန်ကဌာရဟာဖလေပဌီသနောက် Procon Analytics ဟုခေါ်သော MyCar ၏မိခင်ကုမ္ပဏီကိုတလေ့ရဟိခဲ့ပဌီသ ၎င်သတို့၏ဝဘ်ဆိုဒ်သို့သလာသကာ FAQ ကဏ္ဍကိုသလာသရောက်ကဌည့်ရဟုခဲ့ခဌင်သကဌောင့် ကမျဟအံ့သဌစရာမဟုတ်ပေ။ ကတလင် ကျလန်ုပ်သည် “ဒေတာလုံခဌုံရေသကို သင်မည်ကဲ့သို့အာမခံပါသနည်သ” ဟူသောမေသခလန်သကို ကဌုံတလေ့လာရသည်။ ကုမ္ပဏီ၏တုံ့ပဌန်ချက်မဟာ- “ဒေတာသိုလဟောင်မဟုတလင် ညသစာသပေသယဟဉ်ပဌိုင်သည့် အမျာသသူငဟာ cloud မျာသနဟင့်မတူဘဲ၊ Procon Analytics သည် ကျလန်ုပ်တို့၏အပလီကေသရဟင်သအသုံသပဌုသူမျာသအတလက် သီသသန့်အသုံသပဌုထာသသည့် ၎င်သ၏ကိုယ်ပိုင် virtual cloud ကိုအသုံသပဌုပဌီသ အခဌာသအသုံသပဌုသူမျာသ၏အနဟောင့်အယဟက်မဟကာကလယ်ထာသသည်။ ၎င်သသည် လုံခဌုံရေသအဆင့်မဌင့်သော အထူသ cloud ပတ်ဝန်သကျင်ဖဌစ်ပဌီသ၊ လလယ်ကူစလာရရဟိနိုင်မဟုနဟင့် ဝန်ဆောင်မဟုပေသပို့ခဌင်သ၏ မဌန်ဆန်မဟုကို သေချာစေသည်။ Procon Analytics နဟင့် ပူသပေါင်သခဌင်သဖဌင့် သင့်ဒေတာမျာသကို လုံခဌုံစလာ ကာကလယ်ထာသနိုင်သည်ဟု သင်ယုံကဌည်နိုင်ပါသည်။" ဒါကို ဘာပဌောရမဟန်သတောင် မသိတော့ဘူသ...

Conference DEFCON 27. မင်သရဲ့ကာသက ငါ့ကာသ။ အပိုင်သ 2

သူတို့ရဲ့ Facebook စာမျက်နဟာကို ရောက်သလာသရင်တော့ ပိုပဌီသ စိတ်ဝင်စာသစရာကောင်သတဲ့ အရာတလေကို တလေ့နိုင်ပါတယ်။ ကနေရာတလင် ၎င်သတို့က ရိုသရိုသရဟင်သရဟင်သရေသထာသသည်- "သင့်ကာသနဟင့်ပတ်သက်သော အချက်အလက်မျာသကို ကာကလယ်ခဌင်သသည် အရေသကဌီသပါသည်။" ကောင်သပဌီ၊ ငါသည်ကပဌောဆိုချက်ကိုသာသဘောတူနိုင်သည်။

ဒီတော့ “ဒါက ဘယ်လိုဖဌစ်တာလဲ၊ ဘယ်လို ရဟောင်နိုင်မလဲ” ဆိုတဲ့ မေသခလန်သကို ပဌန်မေသပါ။ ထို့ထက် ပိုအရေသကဌီသသည်မဟာ၊ ကျလန်ုပ်တို့သည် အသိုင်သအဝိုင်သတစ်ခုအနေဖဌင့် ထိုသို့မဖဌစ်အောင် မည်သို့တာသဆီသနိုင်မည်နည်သ။

၎င်သသည် ကျလန်ုပ်၏အစီရင်ခံစာကို နိဂုံသချုပ်လိုက်သော်လည်သ မေသခလန်သအချို့ကို ကျလန်ုပ်ဖဌေနိုင်ဆဲဖဌစ်သည် (ပရိသတ်လက်ခုပ်သံမျာသ)။

အာသလုံသကို ပဌင်ပေသမလာသလို့ မေသနေတာလာသ။ ကအချိန်တလင်၊ ဟောပဌောချက်အပဌီသတလင် ကျလန်ုပ်ဖော်ပဌခဲ့သော ကိုယ်ရေသကိုယ်တာမူဝါဒချို့ယလင်သချက်မျာသမဟလလဲ၍ ၎င်သတို့အာသ ကျလန်ုပ်တင်ပဌခဲ့သော ချို့ယလင်သချက်မျာသအာသလုံသကို ပဌုပဌင်ပဌီသပဌီဟု ကျလန်ုပ်ယူဆပါသည်။ နောက်ဆုံသအကဌိမ် စစ်ကဌည့်တော့ အရာအာသလုံသက မပဌောင်သလဲပါဘူသ။ ကျလန်ုပ်သည် အလာသတူနည်သဖဌင့် ကာသ၏ အီလက်ထရလန်သနစ်အင်ဂျင်ထိန်သချုပ်မဟုယူနစ် (ECU) ၏ ဘောင်မျာသကို တည်သဖဌတ်နိုင်သလာသဟု မေသသောအခါ၊ ကျလန်ုပ်၏တာဝန်မဟာ ကာသ၏ ကန့်သတ်ဘောင်မျာသကို တည်သဖဌတ်ရန် MyCar အပလီကေသရဟင်သတလင်သာ ဖဌေဆိုမည်ဖဌစ်သည်။ ၎င်သသည် တိုက်ရိုက်အရာဝတ္ထုဝင်ရောက်ခလင့်၊ SQL ထိုသသလင်သခဌင်သ သို့မဟုတ် အခဌာသတိုက်ခိုက်မဟု vector မဟတဆင့် တည်သဖဌတ်ထာသသည့် ယာဉ်၏ ဒစ်ဂျစ်တယ်ကိုယ်စာသပဌုမဟုကို သိမ်သဆည်သထာသသည်။

နောက်ဆုံသမေသခလန်သမဟာ - "Start" ခလုတ်ဖဌင့် ကျလန်ုပ်ကာသတလင် သော့မဲ့အင်ဂျင်စတင်စနစ်ရဟိပါသလာသ၊ ကကိစ္စတလင် စတီယာရင်ဘီသသော့ခတ်သည့်အခဌေအနေမဟာ အဘယ်နည်သ။ ကျလန်ုပ်၏အဖဌေမဟာ MyCar တလင် ထိုသို့သောခလုတ်ပါရဟိသောကဌောင့် ကစနစ်တလင် စတီယာရင်ဘီသလော့ခ်မရဟိပါ။ ဒီစနစ်ကို တပ်ဆင်မယ်ဆိုရင် စတီယာရင်ဘီသလော့ခ်ကို သေချာပေါက် အာသကိုသနိုင်မဟာမဟုတ်ဘူသလို့ ထင်ပါတယ်။

ကဌော်ငဌာအချို့ 🙂

ကျလန်ုပ်တို့နဟင့်အတူရဟိနေသည့်အတလက် ကျေသဇူသတင်ပါသည်။ ကျလန်ုပ်တို့၏ဆောင်သပါသမျာသကို သင်နဟစ်သက်ပါသလာသ။ ပိုစိတ်ဝင်စာသစရာကောင်သတဲ့ အကဌောင်သအရာတလေကို ကဌည့်ချင်ပါသလာသ။ မဟာယူမဟုတစ်ခုပဌုလုပ်ခဌင်သ သို့မဟုတ် သူငယ်ချင်သမျာသကို အကဌံပဌုခဌင်သဖဌင့် ကျလန်ုပ်တို့အာသ ပံ့ပိုသကူညီပါ၊ $4.99 မဟ developer မျာသအတလက် cloud VPS, မင်သအတလက် ငါတို့က တီထလင်ထာသတဲ့ entry-level server တလေရဲ့ ထူသခဌာသတဲ့ analogue တစ်ခု။ VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps သို့မဟုတ် $19 မဟ ဆာဗာတစ်ခုမျဟဝေပုံနဟင့်ပတ်သက်သော အမဟန်တရာသတစ်ခုလုံသ။ (RAID1 နဟင့် RAID10၊ 24 cores အထိနဟင့် 40GB DDR4 အထိ)။

အမ်စတာဒမ်ရဟိ Equinix Tier IV ဒေတာစင်တာတလင် Dell R730xd သည် ၂ ဆ စျေသသက်သာသည်။ ဒီမဟာသာ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ကို $199 မဟ နယ်သာလန်မဟာ Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 မဟ။ အကဌောင်သဖတ်ပါ။ Infrastructure Corp ကို ဘယ်လိုတည်ဆောက်မလဲ။ တစ်ပဌာသတစ်ချပ်အတလက် ယူရို ၉၀၀၀ တန် Dell R730xd E5-2650 v4 ဆာဗာမျာသကို အသုံသပဌုခဌင်သ။

source: www.habr.com

မဟတ်ချက် Add