Nasza wiedza Programowanie .NET Tajne dane (np. hasła aplikacji) w kodzie programistycznym .NET – zagrożenia

Tajne dane (np. hasła aplikacji) w kodzie programistycznym .NET – zagrożenia

TideSoftware.pl, Programowanie, .NET, Framework, IL, MSIL, CIL, CLR, CLS, dekompilacja, zaciemniacz

Nowe technologie mają wiele plusów i wiele „minusów”. Przyglądając się dokładniej często minusami nazywamy to co w koncepcji miało być wyróżnikiem. Dziś chciałbym powiedzieć o czymś co nazywa się dekompilacją kodu i zagrożeniami z tego płynącymi. Na początek krótka teoria. .NET Framework, poprzez środowisko uruchomieniowe .NET przekształca kod źródłowy (zgodny z CLS – Common Language Specyfication) w kod pośredni IL – Intermediate Language (nazywany też MSIL – Microsoft Intermediate Language czy CIL –Common Intermediate Language). Następnie, już podczas uruchamiania na konkretnej maszynie CLR (Common Language Runtime) poprzez kompilator JIT (Just In Time) przekształca kod IL w kod maszynowy. Ciekawy jest kod pośredni IL. To właśnie ten kod przechowywany jest w kontenerach nazywanych podzespołami. Podzespoły te mają ogólnie znane rozszerzenia .exe i .dll, (w rzeczywistości są w nich spore różnice w stosunku do „dawnych” .exe czy .dll, ale dziś nie o tym chcę napisać). I teraz sedno tematu. Otóż z plików tych można w dość prosty sposób uzyskać kod programistyczny (pierwotny) poprzez dekompilacje (np. programem ILDasm.exe). Co to oznacza? Ujawniany jest nasz know-how programistyczny, dostępne są np, często innowacyjne, algorytmy. Ponadto jeżeli użylibyśmy w kodzie jakichkolwiek haseł czy innych danych, które stanowią naszą tajemnicę, wszystko to będzie widoczne. Można się przed tym częściowo zabezpieczyć stosując „zaciemniacze” (jest dostępnych trochę komercyjnych rozwiązań, a w Visual Studio 2005 jest dostarczony Dotfuscatro Community Edition). Powodują one, że jest znacznie trudniej pozyskać kod źródłowy, ale nadal będzie to możliwe.


Tide Software na facebook Tide Software na twitter
Copyright © 2012 Tide Software Sp. z o.o. All Rights Reserved.