MCP жүйеңізді қорғаңыз: 11 жиі кездесетін тәуекел және олардан қалай қорғануға болады
Бұл нұсқаулықта MCP қауіпсіздігі түсіндіріліп, жанама промпт инъекциясынан бастап жергілікті сервердің бұзылуына дейінгі MCP жүйелеріне төнетін 11 жиі кездесетін тәуекел және олардың әрқайсысынан қорғануға көмектесетін практикалық қадамдар қарастырылады.

MCP тәуекелдері негізінен үш санатқа бөлінеді: LLM-ді манипуляциялау, деректер мен қолжетімділік қауіпсіздігі және инфрақұрылым осалдықтары.
MCP серверлері көбіне ішкі жүйелердің кең ауқымына қолжетімділік беретіндіктен, ықтимал қауіпсіздік тәуекелі жоғары. Дегенмен оның орын алу ықтималдығы көбіне баптауға байланысты.
Жеке тұлғалар мен кәсіпорындар өз жүйелерінің қорғалуын қамтамасыз ету үшін көптеген қадамдар жасай алады, ал қауіпсіздік хаттамалары әрқашан қосылған MCP серверлері ашып беруі мүмкін мүмкіндіктер мен деректерге сай болуы керек.
MCP және MCP қауіпсіздігі дегеніміз не?
Model Context Protocol (MCP) — LLM негізіндегі қолданбаларды (немесе хосттарды) сыртқы жүйелерге қосуға арналған, Anthropic әзірлеген ашық стандарт.
MCP жүйесінде үш негізгі құрамдас бөлік бар: хост, клиент және сервер. Көбіне ЖИ көмекшісі болып табылатын хост клиент арқылы сыртқы MCP серверіне қосылады. Содан кейін ол сыртқы функцияларды (құралдарды) іске қосуға, деректерді (ресурстарды) немесе LLM-нің контекст терезесіне қосылатын промпттарды алуға сұраулар жібере алады.
MCP қауіпсіздігі — MCP жүйесіндегі қосылымдар мен құрамдас бөліктерді қорғайтын хаттамалар. MCP-ге ғана тән бірнеше негізгі қиындық бар: мысалы, ЖИ қолданбаларында көбіне агенттік мүмкіндіктер болады, ал зиянды нұсқаулар хабарламаларға енгізілуі мүмкін.
MCP-ге ғана тән емес, бұрыннан белгілі мәселелер де — мысалы, промпт инъекциясы, әлсіз аутентификация және қауіпті үшінші тарап интеграциялары — қиындық тудырады. Кез келген компьютерлік жүйедегідей, MCP қорғаныс үшін тек сенімді серверлерді пайдалану сияқты процедуралық хаттамалар мен API шлюздері сияқты техникалық бақылау құралдарының үйлесіміне сүйенеді.
MCP қатерлері қаншалықты елеулі?
MCP тез арада танымал LLM технологиясына айналды, оны көптеген ұйымдар мен тұтынушыларға арналған қолданбалар пайдаланады. MCP серверлері кодпен жазылған бағдарламалар болғандықтан, оларда да кез келген басқа қолданбадағыдай осалдықтар болады.
Дегенмен ұйымдар MCP-ні бақыланатын орналастыруларда пайдаланғанда, ол әдетте қауіпсіз. Сенімді серверлер мен тексерілген рұқсаттары бар жүйе құру мен автономды агентті тексерілмеген он шақты серверге қосудың арасында үлкен айырмашылық бар.
№1 қатер: жанама промпт инъекциясы
Шабуылдаушы LLM-ге бағытталған нұсқауларды MCP сервері қайтаратын құжатқа, веб-бетке немесе құрал нәтижесіне орналастыра алады. Егер хост бұл материалды контекст терезесіне қосса, LLM оны нақты нұсқаулар деп қате қабылдауы мүмкін.
Оның үстіне бұл нұсқаулар сырттай орынды болып көрінуі мүмкін. Мысалы, алынған қолдау билеті LLM-ге жауап жасамас бұрын клиенттердің құпия жазбаларын экспорттауды тапсыруы мүмкін.
Жанама промпт инъекциясынан қалай қорғануға болады
Промпт инъекцияларымен әдетте хост деңгейінде күресу керек. Сыртқы контент сенімсіз деп белгіленуі тиіс, ал құпия ақпаратқа қатысты сұраулар процеске қатысатын адамның саналы мақұлдауын талап етуі керек. Хост пен LLM-нің қалай әрекет ететінін көру үшін зиянды құжаттарды немесе деректерді шақыратын қауіпсіздік тестілеуі де пайдалы болуы мүмкін.
№2 қатер: құралдарды улау және rug pull шабуылдары
Құралды улау шабуылында зиянды код MCP құралының сипаттамасына немесе схемасына қосылады. Бұл MCP қолжетімді құралдарды алғаш рет көрсететін анықтау кезеңінде LLM-ге әсер етуі мүмкін.
Rug pull — мақұлданған метадеректер өзгертілетін құралды улаудың ерекше түрі. Құралды улаудың бұл түрі зиянды құралды тікелей шақырудың орнына модельдің сенімді құралдарды пайдалану тәсілін өзгертуі мүмкін.
Құралдарды улау және rug pull шабуылдарынан қалай қорғануға болады
Хост әрбір құралды пайдаланбас бұрын оның толық анықтамасын тексеріп, оны мақұлданған сенімді құралдар тізімімен салыстыруы керек — осылайша кез келген өзгеріс анықталады. Параметрлерді тексеру қауіпті мүмкіндіктердің ықтималдығын анықтап, оларды белгілеуге көмектеседі.
№3 қатер: шамадан тыс рұқсаттар
Пайдаланушылардың MCP серверлеріне және (хост арқылы) қосылған LLM-дерге тапсырмаға қажетінен көп рұқсат беруі жиі кездеседі. Мысалы, тек оқу рұқсаты жеткілікті болғанда жазу рұқсатын беру немесе ішкі файлдар жүйесіне (мысалы, Google Drive) толық қолжетімділік беру.
Рұқсаттардың осындай ауқымды бірте-бірте кеңеюі зиянды құрал шақырулары сияқты басқа осалдықтардың зақым ауқымын арттыруы мүмкін. Пайдаланушылар кәсіпорында өздерінің ЖИ құралдарымен күнделікті жұмысы барысында артықшылықтар беріп отырғанда, рұқсаттардың «жинақталып қалуы» жиі кездеседі (артықшылықтардың жинақталуы).
Шамадан тыс рұқсаттардан қалай қорғануға болады
Бұл мәселеден қорғанудың ең тікелей жолы — рұқсаттар мен OAuth аумақтарын (оқу, жазу, толық қолжетімділік және т.б.) шектеу. Пайдаланушы мақұлдаулары, әсіресе құпия операциялар үшін, мұның маңызды бөлігі болып табылады, бірақ рұқсаттар жүйе деңгейінде де (операциялық жүйе, MCP хосты және сервер) бақылануы керек.
№4 қатер: әлсіз аутентификация және авторизация
Аутентификация MCP серверіне қосылатын пайдаланушылардың немесе қолданбалардың сәйкестігін растайды. Авторизация олардың қандай құралдар мен ресурстарға қол жеткізе алатынын анықтайды.
Дұрыс бапталмаған MCP серверлері пайдаланушыларды дұрыс аутентификацияламай немесе қолжетімділік шектеулерін қолданбай сұрауларды не токендерді қабылдауы мүмкін. Сонымен қатар, тексеру әлсіз болса, зиянкестер ұрланған тіркелгі деректері арқылы қолжетімділік алуы мүмкін.
Әлсіз аутентификация мен авторизациядан қалай қорғануға болады
Қашықтағы MCP серверлері үшін OAuth негізіндегі аутентификация, қысқа мерзімді токендер және рөлге негізделген қолжетімділікті басқару (RBAS) — әлсіз авторизация тәуекелін азайтуға көмектесетін шаралар. Рөлге негізделген қолжетімділік пайдалы, өйткені ол сервердің өзінде қолжетімділік болса да, пайдаланушылардың өз рұқсаттарынан тыс деректер мен құралдарға қол жеткізуіне жол бермейді.
№5 қатер: тіркелгі деректерінің ағуы және теріс пайдаланылуы
MCP серверлері сыртқы қызметтерге қосылу үшін API кілттері мен OAuth қолжетімділік токендері сияқты тіркелгі деректерін үнемі пайдаланады. Егер олар әшкереленсе немесе теріс пайдаланылса, шабуылдаушылар құпия деректер мен функцияларға қол жеткізе алады.
Мысалдардың бірі — token passthrough (токенді өткізіп жіберу): бұл жағдайда MCP сервері қолжетімділік токенін шын мәнінде қабылдаушы қызметке арналғанын тексермей, басқа қызметке жібереді. Бұл өз кезегінде, егер қабылдаушы қызметтің қорғанысы жеткіліксіз болса, деректердің ағуына әкелуі мүмкін.
Тіркелгі деректерінің ағуы мен теріс пайдаланылуынан қалай қорғануға болады
Қысқа мерзімді, аумағы тар токендер және тіркелгі деректерін ротациялау ағып кеткен деректерді зиянкестердің пайдалану ауқымын шектеуде тиімді. API кілттері мен тіркелгі деректері әрқашан құпиялар менеджері арқылы қауіпсіз сақталуы керек.
№6 қатер: «шатасқан өкіл» шабуылдары
«Шатасқан өкіл» (confused deputy) шабуылы шабуылдаушы сенімді қолданбаны алдап, оның рұқсаттарын заңды пайдаланушы рұқсат бермеген әрекетті орындау үшін пайдалануға мәжбүрлегенде орын алады. Бұл жағдайда өкіл — MCP сервері.
Шабуылдаушы құрал шақыру немесе деректерді алу сияқты зиянды процесті орындау үшін MCP серверінің осалдығын (мысалы, әлсіз OAuth тексерулерін) пайдаланады.
«Шатасқан өкіл» шабуылдарынан қалай қорғануға болады
Әрбір құрал шақыруының белгілі бір пайдаланушыға тиесілі екені тексерілетін авторизацияны валидациялау «шатасқан өкіл» шабуылдарын шектеуге көмектеседі. Сонымен қатар, деректерді экспорттау сияқты құпия әрекеттер нақты авторизацияны талап етуі керек.
№7 қатер: зиянды серверлер және бұзылған тәуелділіктер
MCP серверлерінде зиянды код болуы мүмкін (олар негізінен сыртқы бағдарламалар) немесе олар үшінші тарап кітапханалары сияқты бұзылған тәуелділіктерге сүйенуі мүмкін. Бұл MCP-ге ғана тән мәселе емес, бағдарламалық жасақтаманы жеткізу тізбегінің мәселесі.
Мұның орын алуының қарапайым жолдарының бірі — шабуылдаушының заңды болып көрінетін интеграцияны таратуы. Ол орнатылғаннан кейін тіркелгі деректерін ұрлап, қайта пайдалана алады, құпия деректерге қол жеткізіп, рұқсатсыз операцияларды орындай алады.
Зиянды серверлер мен бұзылған тәуелділіктерден қалай қорғануға болады
MCP серверлерін тек сенімді әрі тексерілген көздерден орнатыңыз. Мүмкін болса, олардың кодын қарап шығыңыз және сыртқы тәуелділіктерді әрдайым тексеріңіз. Серверлердің үнемі жаңартылып, патчтармен түзетіліп отыруын қамтамасыз етіңіз.
№8 қатер: сервер жағындағы сұрауды қолдан жасау (SSRF)
Сервер жағындағы сұрауды қолдан жасау (SSRF) — шабуылдаушы MCP серверін алдап, пайдаланушы қол жеткізуді көздемеген ішкі мекенжайларға желілік сұраулар жіберуге мәжбүрлейтін шабуыл.
Бұл MCP сервері URL мекенжайынан ақпарат алатын құралды ұсынғанда орын алуы мүмкін. Егер шабуылдаушы URL параметріне әсер ете алса, ол оны өзіне қажетті желілік мекенжайға, мысалы, ішкі API-ге немесе бұлттық қызметке өзгерте алады. Нәтижесінде құпия деректер алынып, қолжетімді болып қалуы мүмкін
Сервер жағындағы сұрауды қолдан жасаудан (SSRF) қалай қорғануға болады
MCP серверлері әрқашан URL мекенжайларын тексеріп, шектелген ішкі желі мекенжайларына қолжетімділікті бұғаттап, сыртқа шығатын желілік қолжетімділікке жол бермеуі керек. Қайта бағыттаулар да осы хаттаманы сақтауы керек.
№9 қатер: сеансты ұрлау
Сеансты ұрлау — шабуылдаушының MCP клиенті мен сервер арасындағы белсенді қосылымды басып алуы.
Мысалы, шабуылдаушы нашар қорғалған MCP қолданбасынан (мысалы, хосттан немесе серверден) сеанс идентификаторын ұрлауы мүмкін. Егер MCP сервері бұл идентификаторды қабылдаса, шабуылдаушы пайдаланушының заңды рұқсаттарымен құралдарды шақыра алуы мүмкін.
Қалай қорғануға болады
MCP жүйесіндегі барлық қолданбаларда сәйкестікті қатаң тексеру арқылы сеансты ұрлау тәуекелін азайтуға болады. Сеанс идентификаторларының анықталып қалуына жол бермеу үшін MCP клиенттері мен қашықтағы серверлер арасындағы шифрлау да өте маңызды.
№10 қатер: шатастыру (mix-up) шабуылдары
Шатастыру шабуылында шабуылдаушы MCP клиентін алдап, авторизация кодын клиент пен MCP сервері арасында тұрған зиянды авторизация серверіне жіберуге мәжбүрлейді. Авторизация сервері — сұралған қолжетімділіктің рұқсат етілгенін тексергеннен кейін OAuth қолжетімділік токендерін беретін қолданба.
Егер MCP хосты әрқайсысы әртүрлі авторизация серверін пайдаланатын бірнеше қызметке қосылса, шабуылдаушы олардың бірін басқаруға алуы (мысалы, зиянды қызметті тіркеу арқылы) және клиентті заңды сервер берген авторизация кодын зиянды серверге жіберуге мәжбүрлеуі мүмкін. Мұндай шатастыру шабуылдаушыға авторизацияланған қолданбаның атын жамылып, қорғалған қызметтерге қол жеткізуге мүмкіндік беруі мүмкін.
Шатастыру шабуылдарынан қалай қорғануға болады
MCP клиенттері OAuth процесі бойы авторизация серверінің сәйкестігін тексеріп отыруы керек. Атап айтқанда, олар сервердің эмитент идентификаторын (iss) күтілетін сәйкестікпен салыстырып, сәйкес келмегендерін қабылдамауы керек.
№11 қатер: жергілікті MCP серверінің бұзылуы
Көптеген MCP серверлері пайдаланушының жергілікті компьютерінде жұмыс істейді. Пайдаланушы серверді үшінші тараптан орнатуы немесе оны өзі жасауы мүмкін. Егер шабуылдаушы осы жергілікті MCP серверін бұза алса, ол жергілікті жүйенің үлкен бөліктеріне қол жеткізуі мүмкін.
Шабуылдаушының қолжетімділік алуының түрлі жолдары бар. Ол заңды интеграция ретінде бүркемеленген зиянды серверді таратуы, MCP хостының конфигурациясын зиянды команда беретіндей етіп өзгертуі немесе қауіпсіздікті бақылау құралдары жеткіліксіз ортада жұмыс істейтін MCP серверіне қол жеткізуі мүмкін, мысалы, браузерді localhost қызметіне сұраулар жіберуге алдап көндіретін DNS rebinding арқылы.
Жергілікті MCP серверінің бұзылуынан қалай қорғануға болады
Жергілікті MCP серверлерін пайдаланғанда оқшаулау (sandboxing) және қатаң келісім хаттамалары маңызды. MCP серверлерін тек сенімді жеткізушілерден орнату керек, ал операциялық жүйе рұқсаттары олардың қай каталогтарға қол жеткізе алатынын шектеуі тиіс.
MCP осалдықтары — көбіне жаңа кейіпке енген ескі қатерлер
MCP осалдықтары көбіне бұрыннан белгілі тәуекелдер мен шабуыл әдістемелерінің жаңаша қолданылуынан туындайды. MCP шабуылдаушыларға осы осалдықтарды LLM-дердің, MCP серверлерінің және сыртқы қызметтердің өзара әрекеттесуі арқылы пайдаланудың жаңа жолдарын ашады.
Әрине, MCP-ге тән қатерлер бар. Дегенмен қатаң авторизацияны енгізу, сенімді жеткізушілерді пайдалану және промпт инъекцияларынан қорғану сияқты стандартты қауіпсіздік хаттамалары кез келген MCP іске асырылымын қорғауда үлкен рөл атқаратынын есте ұстаған жөн.