SAC – Windows Smart App Control

()

SAC è una funzionalità inerente al sistema operativo: tienilo a mente, questa è una funzionalità del sistema operativo che, se abilitata, bloccherà le app dannose o non affidabili. Questo è molto simile, probabilmente potremmo dire è lo stesso, ad AppLocker , ma immagina che MS sia quello che ha scritto le regole/politiche.

SAC ha tre possibili stati e solo uno di essi applicherà le azioni:

  • Applica : verrà applicato il blocco di app dannose o non attendibili – Stato = 1.
  • Valutazione : in questa modalità la funzione continuerà a valutare se il tuo sistema è un buon candidato per la modalità di applicazione della funzione – Stato = 2.
  • Spento : la funzione è disabilitata. Una volta disabilitato, non può essere riattivato a meno che non si esegua una nuova installazione del sistema operativo – Stato = 0.

Microsoft considera un buon candidato qualcuno a cui la funzionalità “non si intrometterà troppo spesso”. Purtroppo MS non ci fornisce ulteriori informazioni per quanto riguarda la modalità di valutazione. La modalità di valutazione può commutare la funzione sullo stato Enforce o Off. Ma l’utente può sempre decidere di disabilitare la funzionalità (modello Opt-In) – Come accennato in precedenza, ciò implica non poterla abilitare nuovamente a meno che non si reinstalli il sistema operativo.

Se ci riferiamo alla documentazione Microsoft su SAC. Possiamo constatare che al momento non saranno consentite esclusioni. Non è possibile consentire a un’applicazione di ignorare SAC una volta che la funzionalità è in modalità di applicazione. Ciò significa che le app non affidabili o dannose non avranno modo di essere eseguite. D’altra parte, questo potrebbe anche bloccare alcune app legittime che non sono firmate o la sicurezza del cloud MS non ha una reputazione per loro.

Installazione SAC

Scopri come viene installato. Questa funzione richiede una nuova installazione per essere attivata. Se montiamo l’ISO per Build 22621 e navighiamo attraverso install.wimla cartella contenente gli hive del registro, possiamo caricare l’hive SYSTEM nell’editor del registro. All’interno della CI\Policychiave troviamo il Valore VerifiedAndReputablePolicyStateimpostato a 2 (Stato di valutazione).

alt img

Sempre all’interno della CIchiave abbiamo la SubKey Protecteddove troviamo il seguente valore VerifiedAndReputablePolicyStateMinValueSeenanch’esso impostato a 2.

alt img

Più avanti vedremo di più su come queste chiavi vengono usate per controllare lo stato attuale di SAC, e vedremo anche come i valori sotto la ProtectedSottochiave sono protetti per evitare manomissioni.

Prima di concludere questa sezione vediamo cosa succede in caso di aggiornamento del sistema operativo. Per applicarlo durante l’aggiornamento, possiamo vedere che l’ISO di installazione ha il codice seguente nel manifest di sostituzione per l’elemento della configurazione – [ISO]\sources\replacementmanifests\codeintegrity-repl.man.

<addObjects>
  <conditions>
    <condition negation="Yes">MigXmlHelper.DoesObjectExist("Registry", "HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy [VerifiedAndReputablePolicyState]")</condition>
  </conditions>
  <object>
    <location type="Registry">HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy [VerifiedAndReputablePolicyState]</location>
    <attributes>dword</attributes>
    <bytes>00000000</bytes>
  </object>
</addObjects>

Durante l’aggiornamento del sistema operativo questo pezzo di codice verificherà se il valore del Registro di sistema HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy\VerifiedAndReputablePolicyStateesiste, in caso contrario verrà creato con lo stato SAC 0 (stato Off).

Oltre a questi due nuovi valori di registro, il sistema operativo verrà fornito con due nuovi file di criteri di integrità del sistema ( .cip) all’interno della System32\CodeIntegrity\CiPoliciescartella.

  • PolicyGUID: applica la{0283AC0F-FFF1-49AE-ADA1-8A933130CAD6} policy SAC, attiva quando lo stato SAC è impostato per l’applicazione (1)
  • PolicyGUID: criterio{1283AC0F-FFF1-49AE-ADA1-8A933130CAD6} Eval SAC, attivo quando lo stato SAC è impostato su valutazione (2)

Utilizzando lo script CIPolicyParser di WDACTools, convertiamo entrambi i .cipfile nella loro .xmlrappresentazione. Dall’XML possiamo prendere le Regole delle Politiche per avere un’idea delle opzioni di queste Politiche. Sono impostate le seguenti regole: entrambi i file XML possono essere trovati nell’Appendice.

  • Abilitato: UMCI
  • Abilitato: autorizzazione del grafico di sicurezza intelligente
  • Abilitato: attendibilità del codice dinamico in modalità sviluppatore
  • Abilitato: Consenti criteri supplementari
  • Abilitato: revocato scaduto come non firmato
  • Abilitato: eredita criterio predefinito
  • Abilitato: criterio di integrità del sistema non firmato
  • Abilitato: menu delle opzioni di avvio avanzate
  • Disabilitato: applicazione dello script
  • Abilitato: politica di aggiornamento senza riavvio
  • Abilitato: criterio di blocco di Windows condizionale
  • Abilitato:Modalità di controllo (solo nella politica di valutazione SAC)

Infine, possiamo cercare all’interno della System32cartella per trovare binari/moduli che utilizzano i valori di registro precedentemente menzionati.

alt img
/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?