Che cos'è un call gate?
Un gate di chiamata è una funzione del processore nelle unità di elaborazione centrale (CPU) Intel ™. Consente l'alterazione dinamica del livello di privilegi della CPU quando si utilizzano determinate istruzioni. Ciò consente a codice e programmi con meno privilegi di agire temporaneamente come se fossero programmi con privilegi più elevati. Il vantaggio principale di un gate di chiamata è la capacità del programma di eseguire un comando di alto livello sul sistema con un tempo di risposta molto più veloce rispetto a una chiamata che procede attraverso un gate di interrupt. Uno svantaggio è il potenziale per i programmi non autorizzati di eludere le misure di sicurezza attraverso l'uso di porte di chiamata.
Pensa a un gate di chiamata come a una backdoor nel processore attraverso la quale è possibile eseguire comandi di livello superiore, come la modifica delle informazioni archiviate in memoria. Sebbene quasi tutti i programmi su un computer siano in grado di eseguire questi tipi di comandi, la maggior parte dei programmi sono necessariamente limitati nei loro privilegi dal sistema operativo. Ciò impedisce la manipolazione indiscriminata del computer da parte di codice potenzialmente dannoso. Il sistema operativo garantisce che le chiamate di routine che vanno al processore attraverso il gate delle chiamate siano legittime. Questo ulteriore livello di sicurezza protegge la memoria del computer dalla maggior parte dei tipi di minacce di hacking di base.
Tuttavia, alcuni virus attaccano specificamente le porte di chiamata dei computer. Presentandosi come un programma legittimo, worm e virus possono accedere al gate delle chiamate, consentendo loro di assumere il controllo delle funzioni di livello superiore del computer. Ciò può potenzialmente compromettere la sicurezza e le informazioni personali sul sistema, illustrando l'importanza di aggiornare costantemente un sistema operativo, poiché gli exploit al call gate vengono spesso rattoppati - riparati attraverso le revisioni del sistema operativo - non appena vengono scoperti.
Le porte di chiamata vengono utilizzate solo da determinati processori prodotti in un arco di tempo limitato. I metodi più recenti sono generalmente più veloci delle porte di chiamata, così come le porte di chiamata sono più veloci degli interrupt tradizionali. Il principale svantaggio di questi metodi più recenti è che consentono solo il rafforzamento dei privilegi di programma a un livello predeterminato, dove un gate di chiamata può decidere a quale livello di privilegio assegnare un programma indiscriminatamente.