Puncte:1

Este posibil să se verifice dacă rezultatul unui executabil provine din fluxul său de control nealterat?

drapel in

Presupun că un executabil ar putea conține o cheie care semnează rezultatul său, dar acea cheie ar putea fi extrasă și utilizată pentru a semna alte date. Este posibil să se verifice dacă rezultatul unui executabil este rezultatul direct al propriului flux de control (asamblare) nealterat?

Daniel S avatar
drapel ru
Cred că, în general, acest lucru ar fi echivalent cu rezolvarea problemei Halting (ceea ce nu este posibil pe un echivalent al mașinii Turing).
Puncte:1
drapel kr

acea cheie ar putea fi extrasă și utilizată pentru a semna alte date

Corect. Un atacator poate extrage cheia și poate semna orice.

Este posibil să se verifice dacă rezultatul unui executabil este rezultat direct al propriului flux de control (asamblare) nealterat?

În general, nu.

Poate fi verificat doar în anumite cazuri specifice. O abordare poate fi folosirea unui executabil semnat (semnat de furnizorul său) care rulează într-un mediu controlat. Prin verificarea semnăturii, veți fi sigur că codul nu este modificat. Utilizând mediul controlat, veți fi sigur că nici intrarea, nici ieșirea nu a fost modificată, nici codul nu a fost modificat atunci când executabilul a fost încărcat de sistemul de operare, nici memoria folosită de executabil nu a fost modificată de alt proces.

Puncte:0
drapel cn

În general, într-un mediu necontrolat (de exemplu, sistemul de operare poate fi modificat), acest lucru nu este posibil. Orice ați veni cu (verificarea codului mașinii, verificarea semnăturilor digitale etc.) ar putea NU se face printr-o copie a software-ului dvs. și semnarea rezultatului ar fi în continuare posibilă.

Verificarea faptului că codul real care este încărcat și rulat este de la un anumit autor poate fi făcută numai de sistemul de operare (sau de sistem în general), fără posibilitatea ca acesta să fie falsificat de o terță parte.

Și a avea încredere în această verificare ar fi doar că sistemul în sine nu poate fi manipulat.

Deci nu, nu cred că există o modalitate practică de a face asta. Cel mai aproape te afli de un astfel de sistem închis este poate iOS/iPad OS. Și cel puțin nu știu că există o astfel de funcție de sistem disponibilă acolo. Chiar l-am mai căutat, pentru că l-aș fi găsit destul de util dacă, de exemplu, iOS ar putea semna o solicitare web și include producătorul aplicației în semnătură. Din câte știu, acest lucru nu este posibil, totuși. (Mai ales că și iPhone-urile pot fi jailbreaked)

Pe de altă parte, într-un sistem încorporat (închis), unde puteți controla fiecare interfață care poate fi folosită pentru a încărca codul, puteți implementa acest lucru singur. Totuși, acest lucru este la fel de sigur și anti-manipulare. Și adăugăm că știm că acest lucru nu este niciodată perfect.

Pe laptopul sau PC-ul tău obișnuit, însă, nu cred că este posibil.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.