Kodu injekcija ir izplatīta sistēmā Windows. Lietojumprogrammas "injicē" savus koda gabalus citā darbībā, lai mainītu savu uzvedību. Šo metodi var izmantot labā vai ļaunā, bet gan tā var radīt problēmas.
Kodu injekciju parasti dēvē par DLL injekciju, jo ievadītais kods bieži ir DLL (dinamiskās saišu bibliotēkas) faila formā. Tomēr lietojumprogrammas var arī injicēt citus kodu tipus, kas nav DLL, procesā.
Koda injekcija tiek izmantota, lai veiktu dažādus trikus un funkcionalitāti Windows. Lai gan likumīgās programmas to izmanto, to izmanto arī ļaunprātīga programmatūra. Piemēram:
Šo paņēmienu nepārtraukti lieto daudzos lietojumprogrammas Windows. Tas ir vienīgais reālais veids, kā izpildīt dažādus uzdevumus. Salīdzinājumā ar mūsdienīgu mobilo platformu, piemēram, Apple iOS vai Google Android, Windows darbvirsma ir tik spēcīga, jo tā piedāvā izstrādātājiem tādu elastīgumu.
Protams, ar visu šo varu nāk daži briesmas. Koda ievadīšana var radīt problēmas un kļūdas lietojumprogrammās. Google saka, ka Windows lietotājiem, kuriem ievadīts kods pārlūkprogrammā Chrome pārlūkprogrammā, ir par 15% lielāka iespēja, ka viņiem rodas avārijas, tādēļ Google strādā pie tā bloķēšanas. Microsoft norāda, ka ļaunprātīgas lietojumprogrammas var izmantot kodu ievadīšanu, lai ietekmētu pārlūkprogrammas iestatījumus, kas ir viens no iemesliem, kādēļ tas jau ir bloķēts programmā Edge.
Microsoft pat sniedz norādījumus, lai pārbaudītu, vai trešās puses DLL tiek ielādētas programmā Microsoft Outlook, jo tās rada tik daudz Outlook avārijas.
Kā Microsoft darbinieks to ievietoja izstrādātāja emuārā kopš 2004. gada:
DLL injekcija nekad nav droša. Jūs runājat par kodēšanas kodēšanu procesā, ko procesa autors nekad nav izstrādājis, uzcēlis vai nav pārbaudījis, un koģenerējot vai izveidojot pavedienu, lai palaistu šo kodu. Jūs riskējat izveidot laika noteikšanas, sinhronizācijas vai resursu problēmas, kas tur nebija agrāk, vai saasināt problēmas, kas tur bija.
Citiem vārdiem sakot, koda injekcija ir sava veida netīrs banalizēt. Ideālā pasaulē būtu drošāks veids, kā to panākt, neradot potenciālu nestabilitāti. Tomēr koda injekcija šodien ir tikai daļa no Windows lietojumprogrammu platformas. Tas pastāvīgi notiek jūsu Windows datora fonā. Jūs varētu sauc to par nepieciešamo ļaunu.
Jūs varat pārbaudīt koda injekciju savā sistēmā ar Microsoft spēcīgo Process Explorer lietojumprogrammu. Tas pārsvarā ir uzlabotā Task Manager versija, kas ir papildināta ar papildu funkcijām.
Lejupielādējiet un palaidiet Procesora pārlūku, ja vēlaties to izdarīt. Noklikšķiniet uz Skatīt> Apakšas paneļa skats> DLL vai nospiediet Ctrl + D.
Augšējā rūtī izvēlieties procesu un atrodiet apakšējo rūti, lai redzētu ielādēto DLL. Slejā "Uzņēmuma nosaukums" ir noderīgs veids, kā filtrēt šo sarakstu.
Piemēram, ir normāli redzēt dažādas "Microsoft Corporation" izveidotās DLL, jo tās ir daļa no sistēmas Windows. Normāli ir redzēt arī to pašu uzņēmumu radītās DLL, kuras ir saistītas ar attiecīgo procesu - "Google Inc" - pārlūka Chrome gadījumā tālāk redzamajā ekrānuzņēmumā.
Mēs varam arī novērot dažas AVAST programmatūras radītās DLL šeit. Tas norāda, ka mūsu sistēmā Avast antimalware programmatūra pārlūkā Chrome injicē kodu, piemēram, "Avast Script Blocking filter library".
Nav daudz, ko jūs varat darīt, ja savai sistēmai atradīsit koda injekciju, atceļot programmas injicēšanas kodu, lai novērstu problēmas rašanos. Piemēram, ja pārlūks Chrome automātiski tiek avarēts, iespējams, vēlēsieties redzēt, vai pārlūkā Chrome ir instalētas kādas programmas, kas injicē kodu, un tos noņemiet, lai neļautu viņiem manipulēt ar Chrome procesiem.
Kodu injekcija negroza jūsu diskā esošo lietojumprogrammu. Tā vietā tā gaida, ka šis lietojumprogramma palaiž, un tā ievieš papildu kodu šajā darbības procesā, lai mainītu tā darbību.
Windows ietver dažādas lietojumprogrammu saskarnes (API), kuras var izmantot koda injekcijai. Process var pievienot sevi mērķa procesam, piešķirt atmiņu, ierakstīt DLL vai citu kodu šai atmiņā un pēc tam norādīt mērķa procesu, lai izpildītu kodu. Windows nepieļauj, ka jūsu datorā notiekošie procesi traucē viens otru, piemēram, šo.
Lai saņemtu plašāku tehnisko informāciju, izlasiet šo emuāra ziņu, kurā paskaidrots, kā izstrādātāji var injicēt DLL, un tas ļaus apskatīt citu kodu ievadīšanu sistēmā Windows.
Atsevišķos gadījumos kāds var mainīt pamata kodu uz diska, piemēram, aizstājot DLL failu, kas nāk ar PC spēli ar modificētu, lai iespējotu krāpšanos vai pirātismu.Šis tehniski nav "koda injekcija". Šis kods netiek ievadīts ekspluatācijas procesā, bet tā vietā tiek sagrābta programma, iekraujot citu DLL ar tādu pašu nosaukumu.
Attēlu kredīts: Lukatme / Shutterstock.com.