Ang Kasper, usa ka scanner alang sa speculative code execution nga mga problema sa Linux kernel, anaa na karon

Ang usa ka grupo sa mga tigdukiduki gikan sa Free University of Amsterdam nagpatik sa usa ka toolkit sa Kasper nga gidisenyo aron mahibal-an ang mga snippet sa code sa Linux kernel nga magamit aron pahimuslan ang mga kahuyangan sa klase sa Specter nga gipahinabo sa espekulatibo nga pagpatuman sa code sa processor. Ang source code alang sa toolkit giapod-apod ubos sa Apache 2.0 nga lisensya.

Atong hinumdoman nga aron mahimo ang mga pag-atake sama sa Spectre v1, nga nagpaposible sa pagtino sa mga sulud sa memorya, ang presensya sa pribilihiyo nga code sa usa ka piho nga pagkasunod-sunod sa mga mando (mga gadget) gikinahanglan, nga nagdala sa espekulatibo nga pagpatuman sa mga panudlo. . Alang sa mga katuyoan sa pag-optimize, ang processor nagsugod sa pagpatuman sa ingon nga mga gadyet sa speculative mode, dayon gitino nga ang panagna sa sanga dili makatarunganon ug gibalik ang mga operasyon sa ilang orihinal nga kahimtang, apan ang datos nga giproseso sa panahon sa speculative execution natapos sa cache ug microarchitectural buffers ug magamit alang sa pagkuha gikan kanila gamit ang lainlaing mga pamaagi sa pagtino sa nahabilin nga datos pinaagi sa mga agianan sa ikatulo nga partido.

Kaniadto nga magamit nga mga himan alang sa pag-scan sa mga gadyet alang sa kahuyang sa Spectre, base sa pagpangita alang sa kasagaran nga mga sumbanan, nagpakita sa usa ka taas kaayo nga lebel sa mga sayup nga positibo, samtang nawala ang daghang mga tinuud nga gadget (gipakita sa mga eksperimento nga 99% sa mga gadget nga giila sa ingon nga mga himan dili magamit alang sa mga pag-atake. , ug 33% sa nagtrabaho nga mga gadyet nga mahimong mosangpot sa pag-atake wala mamatikdi).

Aron mapauswag ang kalidad sa pag-ila sa mga problemadong gadget, ang Kasper nagmodelo sa mga kahuyangan nga mahimong pahimuslan sa usa ka tig-atake sa matag lakang sa paghimo sa mga pag-atake sa klase sa Spectre - ang mga problema nga nagtugot sa pagkontrol sa datos gimodelo (pananglitan, pag-ilis sa data sa tig-atake sa mga istruktura sa microarchitectural aron maimpluwensyahan ang sunod nga pagpatuman sa espekulasyon gamit ang Pag-atake sa klase sa LVI), pag-angkon og access sa kompidensyal nga impormasyon (pananglitan, kung lapas sa mga utlanan sa buffer o paggamit sa memorya human kini mapagawas) ug pag-leak sa kompidensyal nga impormasyon (pananglitan, pinaagi sa pag-analisar sa kahimtang sa cache sa processor o paggamit sa pamaagi sa MDS).

Ang Kasper, usa ka scanner alang sa speculative code execution nga mga problema sa Linux kernel, anaa na karon

Kung gisulayan, ang kernel nalambigit sa Kasper runtime nga mga librarya ug mga pagsusi nga nagdagan sa lebel sa LLVM. Ang proseso sa pagsusi nagsunod sa speculative code execution, gipatuman gamit ang checkpoint-restore nga mekanismo, nga espesipikong nagpatuman sa sayop nga gitagna nga code branch, ug unya mibalik sa orihinal nga kahimtang sa wala pa magsugod ang branch. Gisulayan usab ni Kasper ang pagsundog sa lainlaing mga kahuyangan sa software ug hardware, pag-analisar sa epekto sa mga epekto sa arkitektura ug microarchitectural, ug nagpahigayon og fuzz testing sa posible nga mga aksyon sa pag-atake. Sa pag-analisar sa mga dagan sa pagpatuman, ang DataFlowSanitizer port para sa Linux kernel gigamit, ug alang sa fuzzing testing, gigamit ang giusab nga bersyon sa syzkaller package.

Ang Kasper, usa ka scanner alang sa speculative code execution nga mga problema sa Linux kernel, anaa na karon

Ang usa ka pag-scan sa Linux kernel gamit ang Kasper nagpaila sa 1379 nga wala pa nahibal-an nga gadgets nga posibleng mosangpot sa data leakage atol sa speculative execution sa mga instruksiyon. Namatikdan nga tingali pipila lamang kanila ang mahimong hinungdan sa tinuod nga mga problema, apan aron ipakita nga adunay usa ka tinuod nga kapeligrohan, ug dili lamang usa ka teoretikal, usa ka nagtrabaho nga prototype sa usa ka pagpahimulos gihimo alang sa usa sa mga problema nga mga tipik sa code, nga nagdala sa kasayuran. leakage gikan sa kernel memory.

Source: opennet.ru

Idugang sa usa ka comment