Ukrycie parametrów połączenia z bazą MySQL

Ukrycie parametrów połączenia z bazą MySQL
LO
  • Rejestracja:około 14 lat
  • Ostatnio:około 3 lata
  • Postów:17
0

witam,

proszę o praktyczną poradę w jaki sposób ukryć parametry połączenia z bazą MySQL (DBExpress) tak aby użytkownicy nie mogli ich podejrzeć w edytorze tekstu lub w Hex-edytorze?

W przypadku wpisania parametrów połączenia do komponentu SQLConnection są one widoczne w zwykłym edytorze tekstu, wystarczy otworzyć plik exe w notatniku i wszystko widać.
W przypadku wpisywania ich w locie w samej aplikacji można je łatwo podejrzeć w HEX edytorze.

Jak to rozwiązujecie w swoich aplikacjach?

KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
0

Jeżeli chodzi tylko o hexedytor czy notatnik to nie ma problemu aby parametry zaszyfrować dowolnym algorytmem i jako takie przechowywać w programie i przed połączeniem deszyfrować tyle że musisz pamiętać że są jeszcze debuggery i wtedy tak czy tak jak ktoś będzie chciał to odczyta te dane tyle że to już wymaga pewnej wiedzy.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
0

Jakiej wiedzy, zwykły Cheat Engine do przeglądania pamięci i szukajka wyrażeńa pasująca do modelu connectstring.
Nie da się tego tak zabezpieczyć żeby nikt nie miał tam wglądu, zawsze znajdzie się jakiś sposób.

KA
Czyli jakiejś wiedzy (nie napisałem że dużej), bo musisz wiedzieć czego szukasz i w ogóle że jest coś takiego jak Cheat Engine :P
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
0

Tak naprawdę to najlepiej skorzystać z dobrego exe protectora powinien mieć min. anti-debugger i anti-memory dump ale to też nie daje pewności że nikt tego nie obejdzie.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
0

polecam vmprotect, oczywiscie najnowsza licencjonowana wersje.

ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:3 minuty
1

Taa, szyfrujcie sobie exe, kiedy baza danych jest zdalna i bez problemu można prześledzić wychodzące dane. Można nawet obejść ssl, wystarczy wystawić sobie certyfikat, zaufać mu lokalnie i wpiąć się np. Fiddlerem.


KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
0

No też można czyli wychodzi na to że tak naprawdę nie ma w miarę skutecznej metody zawsze znajdzie się jakaś dziura i jak ktoś będzie bardzo chciał to wyciągnie te dane. Oczywiście można i przed tym się zabezpieczyć wykrywać czy karta sieciowa nie jest w promiscuous mode ale kto chce i tak znajdzie sposób (np. choćby głupi hosts trzeba by i go kontrolować).


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 3x, ostatnio: kAzek
ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:3 minuty
0

Bo takich rzeczy nie robi się w ten sposób. Pisze się webserwisy udostępniające konkretne funkcjonalności i za ich pośrednictwem korzysta z bazy. Wtedy masz stuprocentową kontrolę nad tym kto do czego ma uprawnienia i żadne strategiczne hasło nie wycieknie.


vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0

Jest pewnie tysiące sposobów na to, bo to temat stary jak świat.

Można użyć LDAP:
http://infoscope.gr/mysqlauthldap

Można użyć rozwiązania od MySQL:
http://www.mysql.com/products/enterprise/security.html

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.