CPI vs. Point Guard

1

Qualcuno ha paragonato CPI e PointGuard, che sono due strumenti basati sul compilatore per gestire il danneggiamento della memoria?

Code Pointer Integrity (CPI): link

PointGuard: link

Sebbene i due utilizzino tecniche molto diverse (CPI mantiene i metadati per ogni puntatore realizzato dal controllo e PointGuard crittografa i puntatori quando sono memorizzati in memoria), entrambi devono strumentare il codice del programma per cambiare il modo in cui vengono usati i puntatori e proteggere entrambi i valori di puntatori da manipolare.

Da quello che posso vedere, condividono lo stesso problema di compatibilità: se una libreria non viene compilata utilizzando il compilatore personalizzato, il codice nella libreria che utilizza i puntatori protetti attiverà il crash (la modalità di debug del CPI potrebbe non avere quel problema quando il i puntatori protetti vengono letti, ma la scrittura ha ancora lo stesso problema di compatibilità e la modalità di debug non è sicura per perdite di informazioni).

Il documento CPI dice che "PointGuard [13] ... ha problemi di compatibilità". Questo mi ha confuso perché penso che l'IPC non abbia alcun vantaggio in termini di compatibilità.

Se hai letto i due articoli, potresti condividere alcuni pensieri e confrontare la loro compatibilità?

    
posta Infinite 20.12.2016 - 01:53
fonte

0 risposte

Leggi altre domande sui tag