Prettylib-tuoteratkaisut - Wiki

PrettyLib ja EMET / DEP

Erillisiä ongelmia, jotka ilmenevät käytettäessä Microsoft EMET-ohjelmistoa. Osa ongelmista ilmenee tietyllä PrettyLib versiolla (päivitys korjaa asian), osa ilmenee tietyillä EMET ohjelmiston versioilla.

  1. DEP - ongelma
  2. ROP Caller mitigation - ongelma (EMET 4.x)
  3. EAF - ongelma (EMET 5)
  4. Stack Pivot - (EMET 5)

EMET 4 vs EMET 5

EMET ohjelmiston eri versiot toimivat erilailla. Jotkin "mitigation" estot aiheuttavat ongelmia EMET versioissa 4 ja toiset versioissa 5, mutta ei välttämättä molemmissa samoja.

Omissa testeissämme EMET 5 version kanssa toimivat seuraavat "mitigation" tekniikat: DEP, SEHOP, Null Page Protection, Heap Spray, EAF + (EI EAF), Mandatory ASLR, Bottom-up ASLR, Load Library, Memory Protection,ROP Caller Check (Caller), ROP Simulate Execution Flow (SimExecFlow)

DEP - Data Execution Prevention

PrettyLib versio 4.65.326 ja sitä aiemmat sisältävät asennuspaketissa kolmannen osapuolen kontrolleja, jotka eivät toimi seuraavissa olosuhteissa:

  • Käytössä on Microsoft EMET-ohjelmisto ja DEP (Data Execution Prevention) on laitettu tilaan "Always on" tai "Application Opt-Out"
  • Käyttöjärjestelmän asetuksissa on laitettu DEP päälle kaikille ohjelmille

Tällaisessa tilanteessa yllämainitut, ja vanhemmat (ei välttämättä kaikki), PrettyLib versiot lakkaavat toimimasta kunnolla / kokonaan.

Mikäli käytössä on EMET, ilmoittaa se erikseen ilmoituksella suojanneensa DEP hyväksikäytöltä. Tällöin PrettyLib voi käynnistyä, mutta esimerkiksi "Hae"-näytöltä puuttuu kaikki päivämääräkontrollit. Tällöin myös luettelointipohjalla ei näy yhtään kontrollia/kenttää (luettelointipohja on tyhjä).

Mikäli käytössä on käyttöjärjestelmän asetuksista laitettu asetus voi virhe ilmetä niin, että ohjelma kaatuu sisäänkirjautumisen jälkeen.

DEP: Korjattu versio

Ongelma on havaittu huhtikuussa 2014 ja se on korjattu päivittämällä käytetyt kolmannen osapuolen kontrollit uudemmilla toimivilla versioilla.

Korjattu versio ohjelmasta (varsinainen korjaus on tapahtunut päivittämällä komponentteja) on versio 4.66.327 tai sitä uudempi. Versio on jakelussa touko-/kesäkuussa 2014.

Käyttöjärjestelmän asetuksissa tämä löytyy Windows 7 -käyttöjärjestelmässä seuraavasti: http://windows.microsoft.com/en-us/windows7/Change-Data-Execution-Prevention-settings

DEP: Ongelman kiertäminen

Mikäli ongelmaa ilmenee, eikä versiota pystytä päivittämään uudempaan, voi ongelman kiertää poistamalla DEP -toiminnon joko EMET-ohjelmassa tai käyttöjärjestelmän asetuksissa. Toiminnot voi ottaa pois ohjelmistokohtaisesti, tutustu joko käyttöjärjestelmän tai EMET-ohjelmiston ohjeistukseen. Tämän ohjeistaminen ei kuulu ylläpitoomme.

ROP Caller (EMET 4)

Microsoft EMET sisältää niin sanotun "ROP Caller" suojauksen. Mikäli PrettyLib-ohjelman kanssa käytetään tuota suojausta, ainakin joissakin ympäristöissä tämä aiheuttaa sen, että EMET ei salli PrettyLibin käynnistymistä.

Vika ei ole PrettyLibin koodissa (keskeytys tapahtuu ennen ohjelmistomme oman koodin suorittamista). Toistaiseksi olemme saaneet tämän aikaiseksi vain omissa testeissämme.

ROP Caller: Ongelman kiertäminen

Ottakaa pois erikseen PrettyLib.exe -tiedoston osalta "Caller" -mitigation. Ominaisuus ilmenee rastina EMET-ohjelman "Application Configuration" -näytön sarakkeessa "Caller".

EAF (EMET 5)

Microsoft EMET sisältää niin sanotun "EAF" suojauksen. Mikäli PrettyLib-ohjelman kanssa käytetään tuota suojausta, ainakin joissakin ympäristöissä tämä aiheuttaa sen, että EMET ei salli PrettyLibin käynnistymistä.

Vika ei ole PrettyLibin koodissa (keskeytys tapahtuu ennen ohjelmistomme oman koodin suorittamista). Toistaiseksi olemme saaneet tämän aikaiseksi vain omissa testeissämme.

EAF (EMET 5): Ongelman kiertäminen

Ottakaa pois erikseen PrettyLib.exe -tiedoston osalta "EAF" -mitigation. Ominaisuus ilmenee rastina EMET-ohjelman "Application Configuration" -näytön sarakkeessa "EAF".

Stack Pivot (EMET 5)

Microsoft EMET sisältää niin sanotun "Stack Pivot" suojauksen. Mikäli PrettyLib-ohjelman kanssa käytetään tuota suojausta, ainakin joissakin ympäristöissä tämä aiheuttaa sen, että EMET ei salli PrettyLibin käynnistymistä.

Vika ei ole PrettyLibin koodissa (keskeytys tapahtuu ennen ohjelmistomme oman koodin suorittamista). Toistaiseksi olemme saaneet tämän aikaiseksi vain omissa testeissämme.

Stack Pivot (EMET 5): Ongelman kiertäminen

Ottakaa pois erikseen PrettyLib.exe -tiedoston osalta "Stack Pivot" -mitigation. Ominaisuus ilmenee rastina EMET-ohjelman "Application Configuration" -näytön sarakkeessa "Stack Pivot".