Gå til innhold

Anbefalte innlegg

Folkens....

Trenger noen tips her...

På tirsdag slapp Microsoft ut en Windows Defender oppdatering som resulterte i at vårt program sluttet å virke i de tusen hjem.En av våre DLLer ble nå gjenstand for sletting.  Så testet jeglitt rundt dette for å se hva som skjer.  Scannet DLL'en rett etter kompillering i VS og null problemer.  Så testet jeg samme DLL obfuskert på maskinen som produserer våre builds og filen ble igjen slettet av defender.  Så renamet jeg Binary navnet i Visual Studio til julenissen.dll og gjenntok prosessen og vips så slapp filen igjennom

Dermed ble det klart at kombinasjonen ByggePC/Filnavn/Obfuskering var noe av årsaken.

 

Så, bare for morro skyld, så oppdaterte jeg Defender og nå har to ting skjedd:

1. Filen som bygges er 100 bytes mindre

2. Filen slipper nå igjennom Defender

 

Første tanke så klart er jo at dette må skyldes et virus i.o.m. at filen nå er blitt litt mindre, men jeg har sjekket alle logger som produseres på maskinen og kan ikke finne spor av noe som helst.  Jeg slår meg derfor til ro med at bygge prosessen i VS ikke har vært helt identiske fordi personen som bygger i VS aldri bruker ReBuild/Clean og da kan det hende noen eldre DLL'er har blitt byttet ut i den siste versjonen av build, som resulterer at SmartAssembly som obfuskerer nå gjør dette på en litt annen måte.

 

Så til det jeg trenger noen tips om:

Har det noe for seg å signere binaries?

Vi har nemlig også sendt den aktuelle fiilen til et web sted som scanner binaries med "alle kjennte" antivirus systemer og får masse tyn fordi filen ikke er signert.  Vi har vel aldri vurdert å signere før, men ser jo at dette er et spørsmål som i hvertfall må tenkes igjennom.

Er det sånn at et signert binary ikke kan bli smittet av virus?

 

Lenke til kommentar
Videoannonse
Annonse

Fikk en del klager for noen år siden da jeg komprimerte/obfuskerte programmet mitt med UPX, MPRESS osv. Fikk t.o.m. klager av webhost-en fordi datasenterets AV-program flagget det som virus. Siden jeg sluttet med dette ble det tilnærmet stopp på problemet. I tillegg signerer jeg programmene fordi det hjelper med bygge opp tilliten. Med tiden har jeg fått færre henvendelser som gjelder problemer med AV.

 

En signert fil kan smittes av virus, men ikke uten at signaturen ugyldiggjøres. Hva som skjer når signaturen er ugyldig er avhengig av f.eks. operativsystemet og programmet ditt eller systemet du bruker for å obfuskere det, og sikkert også andre teknologier (.NET vs native). Signaturen kan dog fjernes, og med «native» programmer kan filen signeres på nytt uten store problemer. Usikker på om det er litt vanskeligere med .NET assemblies.

 

Er ikke en ekspert, men synes det er en god idé å signere slik at det er lettere å stole på at programmet ikke har blitt endret siden da du signerte det.

Lenke til kommentar

ok.  Men hvorfor sluttet du med obfuskeringen? Kunn på grunn av ovennevnte ?  Jeg tenker jo at obfuskeringen er en nøldvendighet for å beskytte teknologi, og da tenker jeg ikek bare på hvordan ting er løst, men faktiske ting i programmet som ikke må "avsløres" som egne protooller, inhenting av sensitive ting m.m.  Slutter man å obfuskere så er jo alt dette åpent igjen. 

Lenke til kommentar

Obfuskering vil ikke hindre en dedikert person i å hente ut brukbar data eller modifisere den obfuskerte koden. Det tar bare noe mer tid. Hvis det finnes sensitiv data hos en klient, kan det ekstraheres på et eller annet vis.

 

Siden jeg for tiden utelukkende har valgt å skrive kode i C++ og kompilere til «native» programmer (ikke .NET), er det vanskeligere å analysere koden enn med både obfuskert og uobfuskert .NET-kode. Noe jeg aldri har forsøkt å gjøre er å kompilere .NET-kode til «native», så kanskje det er noe man kan se nærmere på.

 

Synes du fortsatt bør obfuskere .NET-koden fordi det er altfor lett å konvertere fra bytecode rett til brukbar kildekode.

Endret av ahw_
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...