Avatar billede neocron Nybegynder
15. juli 2007 - 18:33 Der er 16 kommentarer og
1 løsning

Sikkerhedsspørgsmål v/ databaser

Hej,
Jeg har et spørgsmål vedr. sikring af sine applikationer. Et meget aktuelt eksempel på dette er Connection strings, hvis jeg skal connecte til min MySQL database.

Hvis en ondsindet person så lige kører mit program gennem en decompiler (f.eks. Lutz Roeders) får han serveret alle mine databaseinformationer på et sølvfad.

Hvordan kan jeg sløre disse oplysninger? Jeg ved at VS.NET har en indbygget obfuscator - men den er dårlig og er ikke besværet værd. I så fald skal jeg betale yderligere for at få den opgraderet, og det er ikke noget jeg har lyst til.

Så - er der nogle som har nogle tricks til at undgå at man kan få mine database oplysninger bare ved at decompile og så læse kildekoden?
Avatar billede ranglen Nybegynder
15. juli 2007 - 18:40 #1
Uanset hvor meget du beskytter din egen kode, så foretager du nogle kald til metoder i .NET. Hvis en ondsindet person overvåger disse kald, så får han dine oplysninger
Avatar billede nielle Nybegynder
15. juli 2007 - 18:42 #2
Du bliver nok nødt til at have noget kode liggende på serveren.
Avatar billede neocron Nybegynder
15. juli 2007 - 18:47 #3
Det er korrekt, men jeg synes det er tankevækkende at det er så "åbent" at man bare lige skal hente en decompiler, og så - haps. Jeg ved at Obfuscatoren kan løse dét problem, men i så fald kommer det til at koste. Det har altid irriteret mig at man så let kan læse informationerne, og jeg ville gerne bare gøre LIDT mere til at maskere det - gerne uden eventuelle "server-backends" ;)
Avatar billede arne_v Ekspert
15. juli 2007 - 18:48 #4
Medmindre du kan have din database adgang server side (og på en server med en pålidelig
admin), så er løsningen individuelle passwords som brugeren faktisk skal indtaste.
Avatar billede nielle Nybegynder
15. juli 2007 - 18:53 #5
Problemet er ikke specielt .Net. Hvis du ikke aktivt gør noget for at f.eks. kryptere dit password i en "almindelig" exe så kan det såmæn aflæses med en almindelig hexeditor.
Avatar billede windcape Praktikant
15. juli 2007 - 19:58 #6
"security though obscurity" er også dumt

Hvis du ikke stoler på dine brugere, så bør du some arne_v sagde, lave enkeltpersonsadgang, eller evt. bruge en service-orienteret arkitektur med tokens som "security".

Under alle omstændigheder kan man næsten altid hacke det information ud fra et program som man vil have, så du kan godt opgive ideen med obfuscators, de kan sagtens omgåes.
Avatar billede arne_v Ekspert
16. juli 2007 - 15:53 #7
.NET kode kan decompiles.

Native kode kan kun deassembles.

Medmindre man laeser assembler lige saa flydende som C#, saa er der lidt forskel.
Avatar billede neocron Nybegynder
16. juli 2007 - 23:30 #8
Det må siges at være fornuftig snak.
Tja, tror såmænd jeg laver en dll til at håndterer database-sjovet, og så kan jeg meget passende genbruge den i kommende projekter. Jeg bruger det udelukkende til at lære mere omkring det i øjeblikket så jeg kan få noget mere hands-on erfaring med det.

Jeg må ærlig indrømme at jeg er lidt i tvivl om hvordan vi skal fordele points, da jeg synes alle har haft fornuftigt input. Måske, nielle, arne og windcape kan deles?
Avatar billede erikjacobsen Ekspert
16. juli 2007 - 23:42 #9
Og så kan man jo lytte på pakkerne der sendes på netværket.

Skal du have en databaseadgang, så opret en mysql-bruger med præcis de rettigheder, der er brug for, intet mere.

Men direkte adgang til databasen udefra bør undgås, som du selv er ved at opdage. Jeg kender ikke din problemstilling, men vil alligevel foreslå at du kigger på muligheden for at dit program forbinder til en webservice, som så igen forbinder til databasen. Dermed er adgangen til databasen væk fra dit program, og databaseadgangen kan også lukkes helt/delvist mod verden. I den webservice skal du så tage stilling til hvordan adgangskontrollen skal ske - har du flere kunder, skal de vel ikke kunne se hinandens data, selv om de decompiler, snuser pakke, eller hvad de nu kan finde på. Kan de alligevel, så er det ikke en applikation du skal frigive.
Avatar billede neocron Nybegynder
19. juli 2007 - 22:38 #10
Det bliver ikke noget som skal bruges med af 3. parts, det bliver mere præcist et lille system til at styre sager og koordinere ting med sammen med nogle få personer som jeg vel at mærke kender godt. Det kunne godt vise sig at skulle være en webservice. I de gamle dage lavede jeg bare en php backend som modtog dataerne. Simpelt, men det virkede.
Avatar billede erikjacobsen Ekspert
19. juli 2007 - 22:43 #11
;) Det kan være du har opfundet webservices før alle andre ...
Avatar billede neocron Nybegynder
24. juli 2007 - 14:47 #12
Hvis jeg havde opfundet det er jeg sikker på at min tegnebog ville være større idag :)
Vil de, der har kommenteret være søde at smide et svar så vi kan få lukket butikken?
Avatar billede erikjacobsen Ekspert
24. juli 2007 - 14:55 #13
Jeg samler slet ikke på point, tak.
Avatar billede nielle Nybegynder
24. juli 2007 - 17:27 #14
Står over :^)
Avatar billede neocron Nybegynder
26. juli 2007 - 17:24 #15
I orden - men tak for den gode indsats ;o)
Arne og Windscape, vil I melde jer på banen med et svar?
Avatar billede arne_v Ekspert
27. juli 2007 - 03:05 #16
ja da
Avatar billede neocron Nybegynder
31. juli 2007 - 03:02 #17
Denne har været åben et stykke tid. Jeg tillader mig derfor at lukke denne således at den ikke forsvinder i tågerne. Jeg er dog ked af at Windscape ikke meldte sig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB