Zašifrovanie zdrojového kódu   otázka

VB.NET, Bezpečnost

Zdravím!

Mohol by mi prosím Vás niekto poradiť ako zašifrovať zdrojový kód?

Aby to hackeri nemohli upravovať. Ďakujem za Vaše príspevky.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To se udělat nedá. Dá se to maximálně znesnadnit různě účinnými metodami.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zašifrovať nie, ale môžete program podpísať.Taktiež sa zvykne robiť iná ochrana a tá sa separuje do .dll, opäť podpísanej.Potom CLR nedovolí, aby sa načítala .dll, ktorá bola upravená a program spadne na chybe.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano, ale od Frameworku 3.5 Service Pack 1 se bohužel provádí ověřování jenom pokud assembly nepochází z důvěryhodné zóny Tento počítač, což v 99% případů pochází.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrá poznámka.Dá sa proti takémuto chovaniu účinne brániť?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

http://www.vbnet.cz/forum-tema--4623-zji...

Účinnost závisí na dodržování běžných bezpečnostních praktik (běžní uživatelé v žádném případě oprávnění Administrators) a schopnosti daných osob se "vrtat" v systému. Dále také na úrovni obfuskace assembly.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Niečo ma k tomu napadlo. Užívateľ môže síce zmeniť konfiguračný súbor, ale čo tak ho otestovať na zmeny po spustení aplikácie ? AK bude zmenený, Application.Exit() a je to!Fungovala by taká ochrana?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Tak to je debilita první třídy. Konfigurační soubor slouží ke konfiguraci, tedy v něm provádět změny je žádoucí. Pokud je správně nastaveno zabezpečení, nemá běžný uživatel oprávnění pro zápis do Program Files. Mnohem lepší řešení je nastavit to v registru a příslušnému klíči odepřít oprávnění pro zápis. A vůbec nejlepší je to nastavit jak v registru, tak v konfiguračním souboru. Tím se zavede další stupeň ochrany.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

1)Mohol by som sa spýtať, ako sa vôbec dá kľúču v registri odoprieť prístup?

2)Myslel som skontrolovať konkrétnu sekciu konfiguraného súboru.Ak nastane zmena inde, tak mi je jasné, že netreba ukončovať aplikáciu.Ale ak by niekto odstránil ten jeden dôležitý element(resp. atribút), tak vtedy ukončiť.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

1) V Editoru registru podobně jako u souborů a složek v NTFS.

2) Zajímavý nápad, vyzkouším a případně implementuji do svého licencovacího API.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Podíval jsem se na to trochu hlouběji a má to následující mouchy:

- Pokud někdo jednoduše předělá metodu pro kontrolu hodnoty v konfiguračním souboru pomocí Reflexilu, nebude problém odstranit/změnit tuto hodnotu a tím zabránit ověřování assembly.

- U všech aplikací hostujících DLL s tímto kontrolním mechanismem je nutné zajistit, aby tato hodnota vždy byla v konfiguračním souboru (DLL assembly nemůže mít vlastní konfigurační soubor).

Přesto jsem to ale do svého licencovacího API dodělal, protože to minimálně znesnadňuje překonání ochrany.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback