Դեպի root՝ հազար ճանապարհով պակաս
Ստեղծել ենք խոցելիությունների որոնման, շահագործման ու շտկման ինքնավար շղթա։ Մեր կիբերմոդելով մեկ գործարկումը հաստատեց ու շտկումներ ստեղծեց Linux-ի արտոնությունների տեղային բարձրացման 948 խոցելիության համար՝ API-ի $1,2 մլն ծախսով։
Անվտանգության հետազոտությունը, որը նախկինում յուրաքանչյուր հայտնաբերված խնդրի համար պահանջում էր առանձին, տևական ուսումնասիրություն, ավելի ու ավելի հաճախ կարելի է իրականացնել որպես համակարգված գործընթաց։ Այս փաստաթուղթը ներկայացնում է այդ ուղղությամբ մեր աշխատանքներից մեկը։
Խոցելիությունների որոնման ծավալներն ընդլայնելն ավելի հեշտ է դառնում, սակայն առաջնահերթությունների որոշումն ու հաստատումը շարունակում են խոչընդոտել գործընթացին։ Մենք ստեղծեցինք նախատիպ՝ վերահսկվող հետազոտական միջավայրում Linux միջուկի անվտանգության թերությունները որոնելու համար։ Մեր նախատիպը հայտնաբերեց և վերլուծեց Linux միջուկի 2 308 հնարավոր խնդիր, դինամիկ կերպով վերարտադրեց 1 724 խոցելիություն և ստեղծեց արտոնությունների տեղային բարձրացման (LPE) 948 էքսպլոյտ, որոնք կարող էին արտոնություններ չունեցող տեղային օգտատիրոջը root հասանելիություն տալ։
Այս ապացույցներն օգտագործեցինք խոցելիությունների հաղորդման առաջնահերթությունները որոշելու համար և մշակեցինք առաջարկվող շտկումներ՝ սպասարկողների ստուգմանը ներկայացնելու նպատակով։ Հետևելով Linux միջուկի համայնքի ցուցումներին՝ սկսեցինք կրիտիկական խոցելիություններից և Patch the Planet-ի գործընկերների հետ աշխատում ենք հաջորդ զեկույցների ու շտկումների վրա։
Հունիսին, մեր Patch the Planet նախաձեռնության շրջանակում, հայտնել էինք, որ GPT‑5.5 Cyber-ը հայտնաբերել է Linux միջուկի խոցելիություններ և մշակել արտոնությունների տեղային բարձրացման 24 էքսպլոյտ՝ դրանք հաստատելու և հաղորդելու համար։ Մենք ընդլայնեցինք այդ աշխատանքը՝ ստեղծելով առաջիկա կիբերմոդելով աշխատող շղթա, որն ընդգրկում է խոցելիությունների հայտնաբերումը, դինամիկ հաստատումը, շահագործելիության գնահատումը և շտկումների գեներացումը։ Ավարտից հետո հետազոտողները ստուգեցին արդյունքները և հայտնաբերված խոցելիությունների մասին հաղորդեցին շտկումների հետ միասին։
Ամփոփում
Մեթոդաբանություն
Ընդհանուր առմամբ, մեր մշակման շղթան գործում է այսպես․ նախ որոշում է Linux միջուկի՝ անվտանգության տեսանկյունից կարևոր հատվածները, ստատիկ վերլուծությամբ դրանցում որոնում է հնարավոր խոցելիություններ, դինամիկ կերպով վերարտադրում դրանք մեկուսացված միջավայրում, ստեղծում շահագործելիությունն ապացուցող ցուցադրական (PoC) էքսպլոյտ, գեներացնում շտկումներ, իսկ վերջում անվտանգության հետազոտողը ստուգում է արդյունքները։
Շղթայի արդյունքները ներառում են սկզբնապատճառի վերլուծություն, խափանում առաջացնող նվազագույն ցուցադրական օրինակ, առաջարկվող շտկում և ամբողջական էքսպլոյտ, որոնք օգնում են հետազոտողներին գնահատել խոցելիության լրջությունը և շտկումները ներառել հիմնական նախագծում։
Արդյունքներ
2026 թ. հոկտեմբերի կեսերին կատարված գործարկման ընթացքում մեր շղթան, օգտագործելով առաջիկա կիբերմոդելը, դինամիկ կերպով վերարտադրեց 1 724 խոցելիություն և ստեղծեց PoC օրինակներ տեղեկատվության արտահոսքի 291 խոցելիության համար, ինչպես նաև արտոնությունների տեղային բարձրացման 948 աշխատող (LPE) էքսպլոյտ՝ Linux-ի լայնորեն օգտագործվող բաշխման համար։ Ամբողջ գործարկման արժեքը կազմեց $1 213 430՝ API կրեդիտներով, կամ $1 279՝ յուրաքանչյուր LPE էքսպլոյտի համար։
Թիրախային վիրտուալ մեքենաներն աշխատում էին սովորական աշխատասեղանային օպերացիոն համակարգով, ոչ թե թուլացված թիրախով, և կիրառվում էր սպառնալիքների նույն մոդելը, ինչ կիբերանվտանգության մրցույթներում (օրինակ՝ Pwn2Own(բացվում է նոր պատուհանում), TyphoonPWN(բացվում է նոր պատուհանում))։ Նախկինում Pwn2Own-ը և TyphoonPWN-ը Linux միջուկի LPE էքսպլոյտների համար առաջարկել են համապատասխանաբար $20 000 և $70 000 պարգևավճար։ Այդ նախկին պարգևավճարները 948 էքսպլոյտների նկատմամբ կիրառելիս ստացվում է $18,9–66,3 միլիոն պայմանական գնահատական՝ մեր շղթայի ծախսերի մոտ 16–55-ապատիկը։
Հարմարեցված kernelCTF(բացվում է նոր պատուհանում) միջավայրում, որն օգտագործում է հարձակման նվազեցված մակերեսով Linux միջուկի տարբերակ, մեր շղթան ստացավ տեղեկատվության արտահոսքի 25 PoC և 21 LPE էքսպլոյտ։ Համեմատության համար՝ այս նյութը գրելու պահին kernelCTF-ը 2026 թվականին ընդունել էր զրոյական օրվա 26 հաստատված LPE էքսպլոյտ։
Այս աշխատանքների արժեքը կազմեց մոտ $32 936՝ API կրեդիտներով։ Եթե ծրագիրն ընդուներ այդ 21 խոցելիությունները, պարգևավճարը կկազմեր մոտ $1,5 միլիոն՝ սկանավորման ծախսերի մոտ 45-ապատիկը։
Մեզ հայտնի տվյալներով՝ այս շղթայի ագենտները հայտնաբերել և օգտագործել են Linux-ի խոցելիությունների շահագործման առնվազն 10 նոր մեթոդ։
Դիտարկումներ
Linux-ի սպասարկողներն ու անվտանգության համայնքը ջանասիրաբար աշխատում են խոցելիություններն արագ հայտնաբերելու և շտկելու ուղղությամբ։ Սկանավորման 10 օրերի ընթացքում նկատեցինք, որ Linux-ի ավելի քան 100 LPE խոցելիություններ արդեն շտկվել էին կամ այլ մասնակիցների կողմից ունեին նախապատրաստվող շտկումներ, իսկ ևս մոտ 300-ը հրապարակայնորեն քննարկվում էին։
Հաշվի առնելով առաջադեմ մոդելների՝ խոցելիություններ հայտնաբերելու արագությունը՝ կարծում ենք, որ շտկումների ավտոմատ գեներացումը կարևոր է ծրագրային ապահովումն անհրաժեշտ տեմպով պաշտպանելու և շահագործման համար հասանելի ժամանակահատվածը սահմանափակելու համար։ Կարծում ենք՝ մասնագետների ուղղորդմամբ կրկնաբար կատարելագործելու դեպքում ԱԲ-ի գեներացրած շտկումները կարող են գործառութային առումով ճիշտ լինել, համապատասխանել կոդավորման առկա ոճերին և դիմակայել հարձակման տարբերակներին։ Սա հետագա հետազոտությունների կարևոր ուղղություն է։
Ավելի կարող մոդելներն ի վիճակի են առկա կոդում նոր խոցելիություններ հայտնաբերել, հաճախ նաև այնպիսիք, որոնք վաղուց են գոյություն ունեցել և ավելի դժվար են հայտնաբերվում։ Հոկտեմբերի կեսերին ավելի նոր կիբերմոդելով աշխատող մեր վերլուծական շղթան հայտնաբերեց >5 անգամ ավելի շատ նոր LPE խոցելիություններ, քան հուլիսին GPT‑5.6 Sol-ով գործարկումը՝ չնայած սկանավորումների միջև պաշտպանության ամրապնդման երեքամսյա աշխատանքին։
Խոշոր, բարդ ծրագրային նախագծերում թաքնված սխալները լիովին բացահայտելու համար, հավանաբար, անհրաժեշտ են սկանավորման և խոցելիությունների շտկման մի քանի փուլեր։ Իդեալական դեպքում այս գործընթացը կրկնվում է առաջադեմ մոդելների յուրաքանչյուր հաջորդ սերնդի հետ։ Սա վերաբերում է ինչպես սեփականատիրական, այնպես էլ բաց կոդով ծրագրային ապահովմանը։
Առաջիկա և միջնաժամկետ հեռանկարում, եթե օպերացիոն համակարգում տեղադրված չեն հասանելի վերջին շտկումները, լավ ռեսուրսներով ապահովված հարձակվողի համար ցածր արտոնություններով հաշվի հասանելիությունը գործնականում պետք է համարել root հասանելիությանը համարժեք։ Բազմաշերտ պաշտպանությունը, ավազարկղերի և Firecracker-ի ու gVisor-ի նման մեկուսացման մոտեցումների կիրառումը կարևոր են շահագործված խոցելիությունների վնասի տարածումը սահմանափակելու համար։
Կարծում ենք՝ առաջիկա մի քանի տարում, եթե որևէ ծրագրային նախագծում խոցելիություններ լինեն, առաջադեմ մոդելները, հավանաբար, կկարողանան հայտնաբերել դրանք, իսկ դրանց բացահայտումից հետո նույնիսկ պակաս կարող մոդելները կարող են էքսպլոյտներ մշակել։ Մի աշխարհում, որտեղ անհայտ խոցելիություններ չկան, վճռորոշ կլինի անվտանգության բարձր երաշխիքներով ծրագրային ապահովում ստեղծելն ու սպասարկելը, հատկապես այնպիսի հիմնարար բաղադրիչների համար, ինչպիսիք են օպերացիոն համակարգերը, դիտարկիչները, պատկերների վերլուծման գրադարանները, TCP/IP ստեկը և այլն։ Բացի առկա խոցելիությունները գտնելուց ու շտկելուց, ծրագրային անվտանգության արդյունավետ ընդլայնման համար հետագա հետազոտությունների խոստումնալից ուղղություններ են մոդելներին ի սկզբանե անվտանգ կոդ գրել սովորեցնելը, ավելորդ գործառույթները հեռացնելով հարձակման մակերեսը նվազեցնելը և ձևական ստուգումը։
Linux միջուկը Android սարքերի, ամպային ենթակառուցվածքների, գերհամակարգիչների և միլիարդավոր մարդկանց օգտագործած այլ համակարգերի հիմքում է։ Ավելի քան 40 միլիոն տող կոդով միջուկն ունի հարձակման լայն մակերես՝ համակարգային կանչերի, ցանցային գործառույթների, ֆայլային համակարգերի և սարքերի դրայվերների միջոցով։ Ընտրեցինք Linux-ը՝ ուսումնասիրելու, թե որքան արդյունավետ կարող են առաջադեմ մոդելները խոցելիություններ գտնել և ցույց տալ դրանց ազդեցությունն անվտանգության վրա՝ այս ծավալի ու կարևորության կոդային բազայում։
Խոցելիությունների հայտնաբերման սկզբնական փուլը տվեց հազարավոր հնարավոր խնդիրներ՝ չափազանց շատ, որպեսզի անվտանգության հետազոտողները դրանք ձեռքով ստուգեին և գնահատեին։ Խոցելիությունների հայտնաբերման մեր շղթայի գործնական մարտահրավերը ոչ թե հայտնաբերումն էր, այլ որոշելը, թե որ խնդիրներն են վերարտադրվում, անվտանգության ինչ սահման են խախտում և որոնց պետք է սպասարկողներն առաջին հերթին ուշադրություն դարձնեն։
OpenAI-ի Cyber թիմի առաքելությունն է օգնել ապահովել այն ծրագրային ապահովման անվտանգությունը, որի վրա հենվում է աշխարհը։ Ներկայացնում ենք յուրաքանչյուր փուլի API ծախսերը՝ հետազոտողներին օգնելու գնահատել այս աշխատանքը կրկնելու և ընդլայնելու համար անհրաժեշտ ռեսուրսները։ Այս ծախսերն արտացոլում են տվյալ գնահատման մեջ օգտագործված մոդելները, թիրախների կազմաձևերն ու աշխատանքային գործընթացը։ Մեր ավելի լայն նպատակն է օգնել պաշտպաններին գտնել և շտկել խոցելիությունները՝ նվազեցնելով հարձակվողների հնարավորությունները և բարձրացնելով նրանց համար ծրագրային ապահովման շահագործման արժեքը։
Վերջապես նշենք, որ այս հետազոտության մեջ կենտրոնացել ենք մեթոդաբանության և մոդելի կարողությունների չափման, այլ ոչ թե ծախսերի վրա։ Ակնկալում ենք, որ հարնեսի բավարար ինժեներական կատարելագործումը կարող է զգալիորեն նվազեցնել յուրաքանչյուր փուլի ծախսը․ հետևաբար ներկայացված ծախսերն ավելի շուտ վերին սահման են։
Խոցելիությունների հետազոտման մեր նախատիպը հինգ փուլից բաղկացած շղթա է, որի հիմքում առաջիկա կիբերմոդելն է․
Խոցելիությունների հայտնաբերում․ ագենտները որոշում են կոդային բազայի՝ անվտանգության տեսանկյունից կարևոր հատվածները և սկանավորում դրանք՝ հնարավոր խնդիրներ գտնելու համար։
Դինամիկ հաստատում․ ագենտները փորձում են մեկուսացված միջավայրում վերարտադրել յուրաքանչյուր հնարավոր խոցելիություն և պահպանում են կատարման ընթացքում ստացված ապացույցները։ Այս քայլի արդյունքը վերարտադրված և հաստատված խոցելիություններն են։
Շահագործելիության գնահատում․ ագենտները ստուգում են՝ արդյոք հաստատված խոցելիությունները կարող են թույլ տալ տեղեկատվության բացահայտում կամ արտոնությունների տեղային բարձրացում։
Շտկումների գեներացում․ ագենտները գեներացնում են շտկումներ՝ յուրաքանչյուր հայտնաբերված խոցելիության համար։
Մասնագետների ստուգում․ անվտանգության հետազոտողները ստուգում են էքսպլոյտը, շտկումը և լրջության առաջարկվող գնահատականը՝ նախքան սպասարկողներին հաղորդելը։
Շղթայի վերջում համակարգը միավորում է սկզբնապատճառի վերլուծությունը, խափանում առաջացնող նվազագույն ցուցադրական օրինակը, առաջարկվող շտկումը և ամբողջական էքսպլոյտը՝ հետազոտողներին օգնելու գնահատել խոցելիության լրջությունը և շտկումները ներառել հիմնական նախագծում։
Linux միջուկի կոդի ոչ բոլոր տողերն են առնչվում անվտանգությանը։ Մեր շղթան հետախույզ ագենտների թիմի միջոցով որոշում էր ստուգման առավել կարևոր թիրախները, որոնք այնուհետև փոխանցվում էին վերլուծաբան ագենտներին՝ խոցելիություններ որոնելու համար։
Հետախույզ ագենտներն ուսումնասիրում են յուրաքանչյուր պանակն ու ֆայլը և ընտրում ստուգման թիրախները՝ ըստ ցածր արտոնություններով օգտատերերի համար դրանց հասանելիության և անվտանգության տեսանկյունից կարևորության։
Այս փուլում որոշվեց ստուգման 5 034 թիրախ՝ մոտ 2,8 միլիոն տող կոդով, ինչը Linux միջուկի ամբողջ կոդային բազայի մոտ 7%-ն է։ Սա զգալիորեն նվազեցրեց անվտանգության ստուգման արժեքը՝ ամբողջ կոդային բազայի վերլուծության համեմատ։ Այս քայլի արժեքը կազմեց $3 426՝ API կրեդիտներով։
Այնուհետև վերլուծաբան ագենտները վերլուծեցին ստուգման յուրաքանչյուր թիրախ և գրանցեցին հնարավոր խոցելիություններ՝ կիրառելով Codex Security փլագինի(բացվում է նոր պատուհանում) աշխատանքային գործընթացին նման մոտեցում։ Ընդհանուր առմամբ, վերլուծաբան ագենտներն ուսումնասիրում են իրենց հանձնարարված թիրախի կոդը՝ հասկանալու դրա աշխատանքը, որոշելու սպառնալիքների մոդելը և խոցելիություններ որոնելու համար։
12 ժամվա ընթացքում վերլուծաբան ագենտները գրանցեցին 2 308 հնարավոր խոցելիություն՝ կրկնությունները հեռացնելուց հետո։ Այս փուլի արժեքը կազմեց $316 549՝ API կրեդիտներով։
Հնարավոր խնդրի հայտնաբերումը դեռ չի նշանակում, որ խոցելիությունը հաստատված է։ Այս ծավալի դեպքում մեր հետազոտական թիմի համար յուրաքանչյուր զեկույց ձեռքով ուսումնասիրելն իրատեսական չէ։
Ուստի կենտրոնացանք այն խնդիրների հաստատման վրա, որոնք ա) հասանելի էին ցածր արտոնություններով օգտատիրոջը, բ) հատուկ լիազորություններ չէին պահանջում և գ) տալիս էին հիշողության վնասման չափելի ապացույցներ։
Յուրաքանչյուր հնարավոր խոցելիության համար նախնական գնահատման ագենտը գեներացնում էր ցուցադրական օրինակ և գործարկում այն մեկուսացված վիրտուալ մեքենայում՝ Kernel Address Sanitizer-ով (KASAN) Linux միջուկի վրա։ Ագենտը հետևում էր թե՛ ծրագրի ելքին, թե՛ համակարգային վահանակին, ապա կրկնաբար կատարելագործում ցուցադրական օրինակը, մինչև այն վերարտադրեր հաղորդված վարքագիծը կամ սպառվեին այն առաջացնելու հնարավոր եղանակները։
30 ժամվա ընթացքում մեր համակարգը վերարտադրեց 1 724 խոցելիություն՝ 2 308 հնարավոր խնդիրների մոտ 74,7%-ը։ Միայն ստատիկ կոդի ստուգումը կարող է կեղծ դրական արդյունքներ տալ, ուստի մեզ տպավորեցին վերլուծաբան ագենտների ճշգրտությունն ու նախնական գնահատման ագենտների արդյունավետությունը․ դրանք ինքնուրույն աշխատող ցուցադրական օրինակներ ստեղծեցին հնարավոր խնդիրների գրեթե երեք քառորդի համար։
Մնացած խնդիրների մեծամասնությունը կա՛մ պահանջում էր բարձր արտոնություններ, կա՛մ չվերարտադրվեց հատկացված ժամանակում՝ դժվար վերարտադրվող մրցակցային վիճակների, գործարկման հատուկ պայմանների (օրինակ՝ որոշակի տողում հիշողության հատկացման պարտադիր ձախողման) կամ ժամանակատար հաստատման (օրինակ՝ հղումների հաշվիչի շրջապտույտի) պատճառով։ Միայն 3,1%-ն էր պայմանավորված մոդելի սխալ վերլուծությամբ, երբ հաղորդված խոցելիությունը ենթադրում էր անհնարին պայման։
Հաստատման փուլի ընդհանուր արժեքը կազմեց $73 330՝ API կրեդիտներով։ Նկատեցինք, որ հաստատման մեր շղթայում հնարավոր խոցելիության իրական լինելը ստուգելու համար ցուցադրական օրինակ ստեղծելը ավելի թանկ էր, քան միայն ստատիկ վերլուծությամբ առաջարկ ներկայացնելը։ Ընդ որում, իրական և կեղծ դրական արդյունքները հաստատելու փորձերի ծախսերը նման էին։ Այսպիսով, շղթայի վաղ փուլերում կեղծ դրական արդյունքները բացառելը զգալիորեն նվազեցնում է գործընթացի ծախսերը։
Հաստատումը ցույց է տալիս, որ խոցելիությունն իրական է, բայց ոչ այն, թե որքան հրատապ է դրա շտկումը։ Օրինակ՝ արտոնությունների տեղային բարձրացում թույլ տվող խոցելիությունն ավելի բարձր առաջնահերթություն ունի, քան այն, որը կարող է միայն ծառայության տեղային մերժում առաջացնել։ 1 724 խոցելիություն հաստատելուց հետո հաջորդ խնդիրը անվտանգության վրա ամենամեծ հնարավոր ազդեցություն ունեցողները որոշելն էր։
Նախնական զտման ագենտը ստատիկ եղանակով ուսումնասիրում էր յուրաքանչյուր զեկույց, խափանման մատյան և համապատասխան սկզբնական կոդ։ Չափանիշները միտումնավոր մեղմ էին՝ հնարավոր լուրջ խնդիրները չբացառելու համար, բայց միևնույն ժամանակ զտվում էին այն դեպքերը, որոնց շահագործման հավանական ուղի չկար։ Արդյունքում մնաց տեղեկատվության արտահոսքի 313 և արտոնությունների տեղային բարձրացման 1 238 հնարավոր խոցելիություն։
Այնուհետև էքսպլոյտների մշակման (ExploitDev) ագենտները դրանք փորձարկեցին մեկուսացված վիրտուալ մեքենաներում, որտեղ միացված էին Linux-ի ստանդարտ բաշխման պաշտպանությունները, այդ թվում՝ վերահսկիչ ռեժիմում կատարման կանխումը (SMEP), վերահսկիչ ռեժիմում հասանելիության կանխումը (SMAP), միջուկի հասցեային տարածքի դասավորության պատահականացումը (KASLR) և HARDENED_USERCOPY-ն։ Սա օգնեց խուսափել անիրատեսական գնահատականներից, որոնք հիմնվում էին պաշտպանությունների անջատված լինելու վրա։
Ագենտները ստեղծեցին տեղեկատվության արտահոսքի 291 ցուցադրական օրինակ և արտոնությունների տեղային բարձրացման 1 169 աշխատող էքսպլոյտ, որոնք կարող էին արտոնություններ չունեցող տեղային օգտատերերին root հասանելիություն տալ։
Կատարեցինք տարբերակների վերլուծություն և մշակեցինք 948 առանձին շտկում՝ այդ էքսպլոյտների հիմքում ընկած խոցելիությունների համար։ Այս թիվն օգտագործում ենք եզակի LPE խոցելիությունների ընդհանուր քանակը որոշելու համար։ Հաջող էքսպլոյտների մշակումն արժեցավ միջինը $359՝ կրեդիտներով։ Սա պաշտպանների համար համեմատաբար մատչելի է դարձնում հայտնաբերված խոցելիությունների շահագործելիության ստուգումը։
Խոցելիությունների նախնական զտման ագենտի ծախսը կազմեց $44 194՝ API կրեդիտներով։ Շահագործման փուլի ընդհանուր արժեքը կազմեց $775 929՝ API կրեդիտներով․ $84 929՝ տեղեկատվության արտահոսքի հնարավոր խոցելիությունների մշակման համար և $691 000՝ արտոնությունների տեղային բարձրացման հնարավոր խոցելիությունների համար։
Միջինում արտոնությունների տեղային բարձրացման հնարավոր խոցելիության մշակումը ($558) մոտ երկու անգամ ավելի թանկ էր, քան տեղեկատվության արտահոսքի հնարավոր խոցելիությանը ($271)։ Պատճառն այն էր, որ տեղեկատվության արտահոսքի PoC օրինակներն արդեն առկա էին հաստատման փուլից և էքսպլոյտում օգտագործելի դառնալու համար ավելի քիչ փոփոխություններ էին պահանջում։ Մինչդեռ հնարավոր LPE խոցելիությունից էքսպլոյտ մշակելը պահանջում էր բազմաթիվ լրացուցիչ քայլեր՝ շահագործման ռազմավարության պլանավորում, օգտագործվելիք խոցելի օբյեկտների որոշում, պաշտպանությունների շրջանցում և այլն։ Նաև նկատեցինք, որ շահագործման անհաջող փորձերը (69 դեպքի համար՝ $3 922) շատ ավելի թանկ էին, քան հաջողները (1 169 դեպքի համար՝ $360)։ Դա պայմանավորված էր մի քանի դժվար շահագործվող խոցելիություններով (օրինակ՝ մրցակցային վիճակներով)։ Փորձը դադարեցնելու ողջամիտ պայմանի սահմանումը, օրինակ՝ մեկ ժամ առաջընթաց չլինելու դեպքում կանգ առնելը, զգալիորեն կնվազեցներ ExploitDev-ի ծախսը։
Յուրաքանչյուր հաստատված խոցելիության համար համակարգը նաև շտկում է գեներացնում։ Մոդելին տալիս ենք համապատասխան սկզբնական կոդը և հարցման մեջ ներկայացնում շտկումներ գրելու լավագույն գործելակերպերը՝ շտկման ստատիկ ստուգումներ, հարակից կոդում կիրառվող մշակման մոտեցումների պահպանում և տարբերակների վերլուծություն՝ շտկման ամբողջականությունն ապահովելու համար։
Հետևելով Linux միջուկի համայնքի առաջարկին՝ արդեն ուղարկել ենք կրիտիկական խոցելիությունների հարյուրավոր զեկույցներ ու շտկումներ և Patch the Planet-ի գործընկերների հետ աշխատում ենք մնացած շտկումներն աստիճանաբար ուղարկելու ուղղությամբ։ Այս աշխատանքը բաց կոդով նախագծերին աջակցելու՝ Daybreak-ի շրջանակում մեր ավելի լայն հանձնառության մասն է։
Այս բաժնում ներկայացնում ենք հետազոտությունից քաղած դասերը, դիտարկումներն ու լրացուցիչ վերլուծությունը։
Այս հետազոտության ընթացքում տեսանք, թե Linux-ի սպասարկողները որքան արագ են աշխատում խոցելիությունները շտկելու և օգտատերերին պաշտպանելու համար։ Սկանավորումն իրականացվեց 2026 թ. հոկտեմբերի կեսերին՝ Linux միջուկի վերջին տարբերակի վրա։ Երբ 10 օր անց ավարտվեցին ինքնավար սկանավորումն ու ձեռքով վերլուծությունը, 61 LPE խոցելիություն արդեն շտկված էր հիմնական նախագծում, 43-ի շտկումները նախապատրաստման փուլում էին, իսկ 299-ի մասին հրապարակային հաղորդումներ ու քննարկումներ կային։
Մենք խորապես գնահատում ենք Linux-ի սպասարկողներին, որոնք հրատապ աշխատում են հայտնաբերված խնդիրները շտկելու ուղղությամբ, ինչպես նաև անվտանգության լայն համայնքին, որը նույնպես ներկայացնում է իր գտած խնդիրները։ Հենց այսպիսի համատեղ արձագանք է անհրաժեշտ աշխարհի ծրագրային ապահովությունն անվտանգ դարձնելու համար։ Խոցելիությունների բացահայտման և շտկման արագ տեմպը նաև ընդգծում է, թե որքան կարևոր է օգտատերերի ու ընկերությունների համար ծրագրային ապահովումը մշտապես թարմ պահելը։
Հիմնական հետևություն․ ավտոմատ նախնական գնահատումը պետք է հաշվի առնի շտկումների արագ ցիկլը։ Գտած խնդիրները վերջին կոդով վերահաստատելը, այդ թվում՝ սկզբնական սկանավորումից հետո միավորված նոր կոդով, օգնում է խուսափել կրկնվող կամ հնացած զեկույցներից։ Սա ուշադրությունը կենտրոնացնում է չլուծված խոցելիությունների վրա և սպասարկողներին տալիս գործնական ապացույցներ՝ առանց ստուգման ավելորդ բեռի։
Շղթայի մշակման ընթացքում՝ 2026 թ. հուլիսի վերջին, GPT‑5.6 Sol-ը գտավ և շահագործեց 166 եզակի LPE խոցելիություն՝ ամբողջ գործընթացի համար ծախսելով $513 690՝ API կրեդիտներով։
Երկրորդ սկանավորման ժամանակ՝ 2026 թ. հոկտեմբերի կեսերին, ավելի նոր կիբերմոդելը գտավ և շահագործեց 948 եզակի LPE խոցելիություն՝ ամբողջ գործընթացի համար ծախսելով $1 213 430՝ API կրեդիտներով։ Երկու դեպքում էլ սկանավորել ենք Linux միջուկի master ճյուղի՝ այդ պահին վերջին տարբերակը։
Հիմնական հետևություն․ մոդելների կարողությունների աճին զուգընթաց նորից սկանավորեք նախկինում ստուգված կոդը։ Ավելի կարող մոդելը կարող է հայտնաբերել նախորդ մոդելների բաց թողած խոցելիությունները՝ նույնիսկ նույն հետազոտական հարնեսն օգտագործելիս։
Ընտրանքում ընդգրկեցինք ագենտների մշակած 166 էքսպլոյտ և վերլուծեցինք դրանցում օգտագործված շահագործման մեթոդները։ Մեզ հայտնի տվյալներով՝ ընտրված էքսպլոյտներում ագենտներն օգտագործել էին շահագործման 10 նոր մեթոդ։ Այդ մեթոդները ներկայացրինք միջուկի խոցելիությունների շահագործման արտաքին մասնագետներին, և դրանք նոր էին նաև նրանց համար։
Այդ 10 մեթոդներից երկուսը նոր, երկարատև պահպանվող էլաստիկ օբյեկտներ են, որոնք մոդելն օգտագործել էր թիրախային միջուկի քեշը օբյեկտներով լցնելու համար։ Երկուսը հիշողության էջերի դասավորության նախապատրաստման նոր մեթոդներ են՝ էքսպլոյտի հուսալիությունը բարձրացնելու համար։ Հինգը միայն տվյալների փոփոխմամբ գործող նոր մեթոդներ են՝ արտոնություններն անմիջապես կամ կամայական գրառման միջոցով բարձրացնելու համար։ Մյուս մեթոդը ներառում է տիպերի կամայական շփոթում։ Անվտանգության նկատառումներով այս հրապարակման մեջ չենք ներկայացնում շահագործման այս նոր մեթոդների ամբողջական տեխնիկական մանրամասները։
Հիմնական հետևություն․ առաջադեմ մոդելները պարզապես չեն ճանաչում խոցելի կոդի հայտնի ձևանմուշները կամ օգտագործում միայն շահագործման հայտնի մեթոդներ․ դրանք ցուցաբերում են ստեղծարարություն և նոր մոտեցումներ։
Մեր թիմի առաքելության կարևոր մասն է չափել խոցելիությունների հայտնաբերման ու շահագործման արժեքը և այդ տվյալներով ուղղորդել պաշտպանության ներդրումները։ Մեր նպատակն է օգնել պաշտպաններին շտկել խոցելիությունները՝ նախքան հարձակվողները կօգտագործեն դրանք, և ծրագրային ապահովման շահագործումը հարձակվողների համար դարձնել տնտեսապես աննպատակահարմար։ Շահագործման ծախսերի չափումն օգնում է գնահատել, թե ինչպես է այս մարտահրավերը փոխվում մոդելների կարողությունների աճին զուգընթաց։ Այս բաժնում համեմատում ենք մեր շղթայի գործարկման ծախսը հայտնաբերված խոցելիությունների համար պարգևատրման ծրագրերի վճարների հետ։
Մեր փորձի թիրախային վիրտուալ մեքենաներն աշխատում էին սովորական աշխատասեղանային օպերացիոն համակարգով, ոչ թե թուլացված թիրախով, և կիրառվում էր սպառնալիքների նույն մոդելը, ինչ կիբերանվտանգության մրցույթներում (օրինակ՝ Pwn2Own(բացվում է նոր պատուհանում), TyphoonPWN(բացվում է նոր պատուհանում))։ Նախկինում Pwn2Own-ը և TyphoonPWN-ը Linux միջուկի արտոնությունների տեղային բարձրացման էքսպլոյտների համար առաջարկել են համապատասխանաբար $20 000 և $70 000 պարգևավճար։ Այդ նախկին պարգևավճարները 948 էքսպլոյտների նկատմամբ կիրառելիս ստացվում է $18,9–66,3 միլիոն պայմանական գնահատական՝ մեր շղթայի ծախսերի մոտ 16–55-ապատիկը։
Մեր շղթան փորձարկեցինք նաև Google-ի kernelCTF(բացվում է նոր պատուհանում) խոցելիությունների պարգևատրման ծրագրում, որի թիրախը ուժեղացված պաշտպանությամբ և հարձակման նվազեցված մակերեսներով Linux միջուկն է։ Շղթան գործարկեցինք kernelCTF միջավայրում՝ Linux միջուկի վերջին տարբերակի վրա (այն անհամատեղելի էր kernelCTF-ի SLAB_VIRTUAL պաշտպանության հետ, ուստի վերջինս հեռացրինք կազմաձևից)։ Ստացանք տեղեկատվության արտահոսքի 25 ցուցադրական օրինակ և արտոնությունների տեղային բարձրացման 21 էքսպլոյտ։ Համեմատության համար՝ այս նյութը գրելու պահին kernelCTF-ը 2026 թվականին ընդունել էր զրոյական օրվա 26 հաստատված LPE էքսպլոյտ։ Ամբողջ աշխատանքը տևեց 112 ժամ և արժեցավ մոտ $32 936՝ API կրեդիտներով։ API ծախսերի 83,7%-ը բաժին ընկավ խոցելիությունների հայտնաբերմանը։ Եթե ծրագիրն ընդուներ այդ 21 խոցելիությունները, պարգևավճարը կկազմեր մոտ $1,5 միլիոն՝ ծախսերի մոտ 45-ապատիկը։
Հիմնական հետևություն․ հրապարակային պարգևավճարների հիման վրա՝ ներկայիս կիբերկարողություններով մոդելների կիրառմամբ մեր խոցելիությունների հետազոտման շղթան այս հետազոտության պահին ապահովում էր զուտ շահույթ։ Պաշտպանները պետք է նախապես վերլուծեն իրենց ծրագրային ապահովումը, որպեսզի դրա շահագործումը հարձակվողների համար դառնա տնտեսապես աննպատակահարմար։
Շահագործելիության գնահատման ընթացքում ExploitDev ագենտներին տրվում էր խոցելիության զեկույց՝ լիարժեք աշխատող էքսպլոյտ ստեղծելու առաջադրանքով։ Մեր շղթան խոցելիությունը նշում էր որպես շահագործված, եթե հաջողվում էր ստանալ root հրամանային միջավայր։ Վաղ գործարկումներից մեկում շահագործման փուլը հաղորդեց արտոնությունների տեղային բարձրացման 200 հաջող էքսպլոյտի մասին։ Սակայն մասնագետների ստուգումից հետո պարզեցինք, որ դրանցից 20-ը root արտոնություններ էին ստացել ոչ թե հանձնարարված, այլ զրոյական օրվա մեկ այլ խոցելիության միջոցով։ Սա ցույց է տալիս, որ ագենտների նույնիսկ հաջող շահագործումը պատշաճ հաստատման կարիք ունի։
Հետագայում խստացրինք առաջադրանքի սահմանափակումները և ավելացրինք անկախ ստուգում՝ հաստատելու, որ յուրաքանչյուր վերջնական էքսպլոյտ օգտագործում է հենց իրեն հանձնարարված խոցելիությունը։
Հիմնական հետևություն․ ինքնավար անվտանգության հետազոտություններում ստուգեք ոչ միայն արդյունքը, այլև դրան հասնելու ուղին․ մեկուսացումը, մշտադիտարկումն ու անկախ ստուգումները անհրաժեշտ վերահսկման միջոցներ են։
Հետազոտության սկզբում քննարկում էինք՝ արդյոք արժե ագենտի շուրջ բարդ համակարգում կառուցել՝ նրա կիբերկարողությունները բարելավելու համար։ Մեր արդյունքը ցույց տվեց, որ ավելի ուժեղ մոդելներին ավելի պարզ համակարգում և պակաս ուղղորդում է անհրաժեշտ։ Իսկ փոքր բարելավումը չի արդարացնում սպասարկման ծախսը։ Արդյունքում որոշեցինք հրաժարվել բարդ համակարգումից։
Փորձում համեմատվում էին GPT‑5.5 Cyber-ը և GPT‑5.6 Cyber-ը։ Մեր դիտարկմամբ՝ GPT‑5.5 Cyber-ը միշտ չէ, որ ճիշտ որոշում էր՝ երբ և ինչպես կիրառել Linux միջուկի խոցելիությունների շահագործման առկա մեթոդները։ Այնուհետև 103 մեթոդ հավաքեցինք մոդելի համար հարմար ձևաչափով, դրանք հասանելի դարձրինք ագենտի միջավայրում և հրահանգեցինք օգտագործել դրանք։ Շահագործման համար ընտրված 63 հնարավոր խոցելիությունների դեպքում սա հաջողության տոկոսը բարձրացրեց 76,2%-ից մինչև 88,9%։
Երբ սա կրկնեցինք GPT‑5.6 Cyber-ով, մոդելն ավելի լավ էր ինքնուրույն գտնում, ընտրում և կիրառում համապատասխան մեթոդները։ Հեռացրինք մեթոդների ու հմտությունների համակարգման շերտը, և GPT‑5.6 Cyber-ի այս պարզ համակարգմամբ գործընթացը գերազանցեց GPT‑5.5 Cyber-ի՝ ավելի բարդ օժանդակ կառուցվածքով գործընթացին։ GPT‑5.6 Cyber-ի համար մեթոդների լրացուցիչ շերտը վերադարձնելը տվեց ընդամենը 1,5 տոկոսային կետի բարելավում։
Հիմնական հետևություն․ բազային մոդելի կարողությունների փոփոխությանը զուգընթաց վերագնահատեք ձեր համակարգումն ու հարնեսը։ Օժանդակ կառուցվածքը, որը զգալիորեն բարելավում է մոդելի մի սերնդի աշխատանքը, կարող է քիչ օգուտ տալ ավելի ուժեղ մոդելին, ուստի դրա արժեքը պետք է համադրել սպասարկման ծախսերի հետ։
Սկզբում, երբ մոդելին ուղղակիորեն հանձնարարվում էր առաջարկվող շտկումներ գեներացնել, այն ստեղծում էր գործառութային առումով ճիշտ շտկումներ, որոնք չեզոքացնում էին ցուցադրական օրինակը, բայց երբեմն այլ խնդիրներ էին առաջացնում․ ավելորդ կոդ, կատարողականի հնարավոր կորուստ, կոդավորման կանոններից շեղում կամ հարակից կոդում նույն խոցելիության տարբերակների չուսումնասիրում, ինչը հանգեցնում էր թերի շտկումների։
Լրացուցիչ հրահանգներն ու գեներացման գործընթացի կրկնաբար կատարելագործումը բարելավեցին շտկումների որակը։ Սա ցույց է տալիս, որ պատշաճ մոտեցման դեպքում ԱԲ-ի գեներացրած անվտանգության շտկումները կարող են լինել ճիշտ, նվազագույն ծավալով և կոդավորման առկա կանոններին համապատասխան։ Սա ակտիվ հետազոտական ուղղություն է, և կարծում ենք՝ ապագա մոդելների շնորհիվ այն կդառնա ավելի հեշտ ու արդյունավետ։ Մի քանի դեպքում մեր հետազոտական նախատիպը կարողացավ նաև խնդիրներ հայտնաբերել մասնագետների գրած շտկումներում, որոնք այնուհետև ուղղվեցին՝ նախքան հիմնական կոդի մեջ միավորվելը։
Հիմնական հետևություն․ մոդելները կարող են արագացնել շտկման գործընթացը, բայց շտկման հմտություններն ու հարնեսները կարող են կրկնաբար կատարելագործման կարիք ունենալ, որպեսզի շտկումները հուսալիորեն բավարարեն թե՛ գործառութային, թե՛ ոչ գործառութային պահանջները։ Նաև խորհուրդ ենք տալիս մոդելներով ստուգել մարդկանց և ԱԲ-ի ստեղծած շտկումները՝ հարձակվողի տեսանկյունից։ Սա կարող է բացահայտել շտկումը շրջանցելու հնարավորությունը, բաց թողնված հարձակման ուղիներն ու տարբերակները և այլ խնդիրներ։
kernelCTF գործարկման ժամանակ, բացի Linux միջուկի զրոյական օրվա 21 էքսպլոյտներից, մեր հետազոտական նախատիպը նաև գտավ և շահագործեց QEMU TCG-ի խոցելիություն։ Վերլուծաբան ագենտին հանձնարարված էր վերլուծել համակարգային կանչի մուտքային կոդը։ Արտոնությունների մակարդակների անցումները փորձարկող ծրագրեր գրելիս այն հանդիպեց միջուկի անսպասելի խափանման։ Այն գնահատեց խափանումը և պարզեց, որ խնդիրը QEMU TCG-ում է՝ առանց QEMU-ի սկզբնական կոդին հասանելիության, ապա խոցելիությունը ներառեց զեկույցում։ Հետագայում ExploitDev ագենտը հաջողությամբ մշակեց այս խոցելիության համար արտոնությունների տեղային բարձրացման էքսպլոյտ։ Մենք հայտնաբերեցինք QEMU-ի այս խոցելիությունը էքսպլոյտները ձեռքով վերլուծելիս և հաստատեցինք, որ այն արդեն շտկված էր QEMU-ի հիմնական նախագծում, բայց ոչ փորձի ժամանակ օգտագործված թողարկման հավաքածուում։
Հիմնական հետևություն․ կիբերկարողություններով առաջադեմ մոդելները կարող են խոցելիություններ գտնել փորձարկման ենթակառուցվածքում։ Խորհուրդ ենք տալիս փորձարկել ենթակառուցվածքի յուրաքանչյուր մասը՝ նախքան խոցելիությունների հետազոտությանն անցնելը հարձակողական մեթոդներով։ Մենք նախապես փորձարկել ենք մեր ենթակառուցվածքը՝ բացահայտելով և շտկելով բազմաթիվ խոցելիություններ Kata, Moby/Docker, gVisor և այլ նախագծերում։
Մեր նպատակն է մոդելների աճող կարողությունները վերածել կայուն առավելության նրանց համար, ովքեր ապահովում են համացանցի անվտանգությունը։ Այս հետազոտությունը ցույց է տալիս, որ առաջադեմ մոդելների աճող կիբերկարողությունները կարելի է արդյունավետ օգտագործել բարդ ծրագրային ապահովման, օրինակ՝ Linux միջուկի խոցելիությունները որոնելու համար։ Linux-ի նման կարևոր ծրագրային նախագծերի և բաց կոդով այլ նախագծերի պաշտպանության ամրապնդումը կարող է պաշտպանել դրանց վրա հիմնված բազմաթիվ համակարգեր ու դրանց օգտատերերին։
Daybreak նախաձեռնության մաս կազմող Patch the Planet-ի միջոցով նպատակ ունենք այս հետազոտությունն ընդլայնել դեպի այլ կարևոր ծրագրային նախագծեր և սպասարկողների ու անվտանգության ոլորտի գործընկերների հետ մշակել հուսալի ավտոմատ շտկումներ։ Մենք ցանկանում ենք հետևողականորեն կրճատել հարձակվողների հնարավորությունները և բարձրացնել խոցելիություններ գտնելու ու շահագործելու ծախսերը, մինչև ակնկալվող օգուտն այլևս չարդարացնի հարձակումը։
Մոդելների յուրաքանչյուր սերունդ պետք է օգնի մեզ ստեղծել ծրագրային ապահովում, որի անվտանգությունը հաջորդ սերնդի համար ավելի դժվար կլինի խախտել։ Մենք կշարունակենք աշխատել անվտանգ համացանց ստեղծելու ուղղությամբ, որտեղ յուրաքանչյուրը կարող է հաճույքով ստեղծագործել։


