I file .dll si trovano normalmente in system32 ma ora nella cartella AppData di un utente sono sempre sospetti?

27

Recentemente ho dovuto leggere alcune segnalazioni di malware e log associati per un rilevamento di malware confermato e successiva infezione di un asset Windows. I log mostrano chiaramente i file .dll nella cartella AppData di un utente. Questi file .dll hanno lo stesso nome di .dll s normalmente trovato in system32 , ad esempio cryptbase.dll .

So che in questo caso specifico si trattava sicuramente di malware e il disimballaggio della% canaglia% s era parte del normale processo del malware. L'ho chiesto in chat e mi è stato detto che l'unica spiegazione credibile per questo comportamento sarebbe il malware (come in questo caso) o una pessima pratica di programmazione, e anche in questo caso si tratta di uno scenario raro.

La mia domanda è duplice; esiste uno scenario in cui .dll file con lo stesso nome di% standard.dll system32 s si trovano nella cartella .dll di un utente per qualsiasi motivo diverso da malware o programmazione scadente?

Inoltre, è corretto trattare i file AppData che si trovano in .dll e sembrano essere copie di AppData file in .dll , come indicatore di compromissione?

    
posta TheJulyPlot 23.12.2015 - 13:10
fonte

3 risposte

31

Poiché Microsoft ha raddrizzato le autorizzazioni predefinite sulla cartella Program Files , molti sviluppatori sono passati a AppData come posizione alternativa per il loro codice. La logica è che un'applicazione installata in questo modo può essere aggiornata senza richiedere elevazione o accesso a livello di amministratore. (Google Chrome, ad esempio, fa questo).

Questo significa anche che, a volte, troverai librerie legittime che di solito vivono nella cartella system32 da qualche parte sotto il percorso AppData . Questi di solito sono componenti di runtime (come MSVCRT, GDI + o capicom) che vengono mantenuti e aggiornati dall'applicazione stessa (di solito perché richiedono una versione specifica per funzionare, ma a volte perché vengono spinti come componente utente anziché come sistema e deve essere distribuito senza elevazione).

Questo non significa che dovresti trovare librerie appartenenti al sistema operativo lì: non esiste alcun motivo legittimo per, per esempio, che schannel.dll venga trovato lì poiché l'unica applicazione che gestisce quella libreria è il sistema operativo.

Quindi, le dll sotto AppData che hanno lo stesso nome di una dll in system32 sono non automaticamente sospette.

    
risposta data 23.12.2015 - 14:50
fonte
4

Sebbene non sia appropriato per distribution , un'altra ragione per cui qualcuno potrebbe utilizzare il percorso %appdata% per le librerie di sistema sarebbe lo shim di runtime.

Specificamente : se volevo avere l'ispezione run-time in una determinata convalida del contratto API (un esempio comune è malloc / free , ma questo è già gestito da AppVerifier) o generale utilizzo del profilo, potrei scrivere un livello shim che esegue la convalida, quindi passa alla libreria di sistema legittima.

In generale, le librerie di sistema dovrebbero essere nel sistema appropriato o SXS percorso. Tutti quelli con Certificazione del logo Windows aderiranno a questo, ma molte app distribuiscono senza certificazione.

    
risposta data 23.12.2015 - 23:05
fonte
0

Lo definirei programmazione errata se si sovrascrivono effettivamente le DLL predefinite di Windows. Inserirli in un'altra posizione rispetto a System32 è un modo per:

  • Utilizzare una versione DLL esatta senza dipendere dal sistema. (Esempio: le DLL di Direct 9 non sono incluse di default su Windows 10 e qualsiasi gioco che dipende da tali arresti anomali)
  • Aggiorna gli eseguibili senza diritti di amministratore (Firefox e Chrome lo fa)
  • Sovrascrivi una DLL di sistema solo per la tua app (perché dovresti farlo in primo luogo)

Se un software è ben fatto, inserisce DLL in AppData o nella sua directory di installazione invece che in System32 .

Se un malware è ben fatto, metterà le DLL in System32 .

    
risposta data 29.01.2016 - 19:23
fonte

Leggi altre domande sui tag