C#: Jak zabránit přečtení stringu po dekompilaci programu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C#: Jak zabránit přečtení stringu po dekompilaci programu – C / C++ – Fórum – Programujte.comC#: Jak zabránit přečtení stringu po dekompilaci programu – C / C++ – Fórum – Programujte.com

 

xmat0
Newbie
31. 1. 2010   #1
-
0
-

Dobrý den,

chtěl bych se vás zeptat na doporučení a rady, jak dobře ukrýt v programu přístupové údaje k MySQL databázi, na kterou se bude program připojovat. Zkrátka jde o to, že mám program, který komunikuje se vzdálenou databází a potřebuji aby po dekompilaci programu nebyly přístupovky čitelné. Programovacím jazykem je C# a k MySQL se připojuji přes SqlConnection.

Děkuji, Matěj K.

Nahlásit jako SPAM
IP: 88.146.62.–
KIIV
~ Moderátor
+43
God of flame
31. 1. 2010   #2
-
0
-

muzes sice trochu zasifrovat ale nikdy nedokazes zabranit precteni .. jak uz je jednou to heslo ulozeny v programu tak taky pujde z programu vytahnout

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
xmat0
Newbie
31. 1. 2010   #3
-
0
-

A měl bys nějaké doporučení, jak postupovat, abych se mohl z programu připojovat na databázi, aniž by hrozila šance vnějšího zásahu do db?

Nahlásit jako SPAM
IP: 88.146.62.–
RedDragCZ0
Newbie
31. 1. 2010   #4
-
0
-

Pokud můžeš, tak v některých případech si lze na to vytvořit ještě nějakou veřejnou mezivrstvu s omezeným manageovaným přístupem k té databázi, v závislosti na použití třeba i v PHP nebo opět tím C# (či čímkoli jiným vhodným), ve kterém pak budeš připojeným klientům dovolovat pouze určité úkony.
Alternativně si na to ještě můžeš i nastavit nějaký nový účet k té MySQL databázi u kterého budou osekána všechna privilegia na minimum a připojovat se tam stále přímo, ovšem to obvykle už nepůjde tak dobře do detailu regulovat a nevyhneš se tomu přímému rizikovému přístupu k DB.

Nahlásit jako SPAM
IP: 212.158.156.–
dannyk0
Věrný člen
31. 1. 2010   #5
-
0
-

Nanestesti tohle nelze zajistit. Je to problem aplikaci pracujicich na localhostu. At sebelepe zasifrujes/zahashujes udaje, vzdycky budou sifrovaci klice pritomne v aplikaci a bude mozno je dohledat a nasledne pomoci nich desifrovat udaje k db.
Pouzitim hashe taky temer nicemu nelze zabranit, protoze se muze odchytit dany hash a pak ho podstrcit k pristupu k db.

Nejjistejsim a zaroven jedinym opravdovym resenim, jak zabezpecit db u aplikace z localhostu je vytvorit si na serveru nejakou proxy aplikaci, ktera bude obsluhovat pozadavky od klienta (klienta posle SQL na proxy, proxy se pripoji na db a zpracuje dotaz, vysledky posle klientovi). Takhle jedine lze opravdu zabranit precteni pristupovych udaju. Nevyhodou tohoto reseni je jista narocnost na tvorbu a obsluhu db - proxy - klient (samozrejme vcetne nejake prodlevy pri zpracovani pozadavku) a nutnost mit i server s moznosti mit spustenou nejakou webovou sluzbu nebo web obstaravajici zminenou proxy funkci.

Odlehcenou verzi je mit opet nejakou miniaplikaci na serveru, ke ktere se klient pripoji a ona vytvori SqlConnection k db a tento vytvoreny objekt poslat klientovy, ktery by jej pouzil pro naslednou praci s db. Nevyhodou tohoto reseni je opet moznost odchytit at uz sitove, nebo memory dumpem pripadne prihlasovaci udaje k db. Dale si nejsem jisty, jestli neni SqlConnection vazany na danou masinu, na ktere se vytvori instance tridy. Naopak vyhodou neni zadna prodleva jako v predchozim pripade.

Jeste odlehcenejsi verzi je prakticky to same, co predchozi pripad jen s tim rozdilem, ze se neposle klientovi instance tridy, ale samotne prihlasovaci udaje k serveru. Nevyhody jsou ty same, krom te provazanosti na masinu.

Jine moznosti me prakticky nenapadaji a vsechny vicemene potrebuji nejakou proxy aplikaci na vzdalenem serveru, protoze na klientovi pujde vzdy v urcitem bode odchytit prihlasovaci udaje (at uz drive nebo pozdeji). Nejjistejsim je prvni reseni, zde neni mozno se dostat k udajum. Dalsi 2 uz maji pripadnou diru, kde by se daly ochytit.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 142 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý