AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Softwareentwicklung im Allgemeinen Projektplanung und -Management Software gegen API-Zugriffe von aussen schützen?

Software gegen API-Zugriffe von aussen schützen?

Ein Thema von nuclearping · begonnen am 20. Jan 2014 · letzter Beitrag vom 25. Jan 2014
Antwort Antwort
Seite 2 von 3     12 3   
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#11

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 21. Jan 2014, 19:03
Nicht möglich!
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#12

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 21. Jan 2014, 19:18
Das ist mehr oder weniger die Wahl zwischen Strick und Pistole:
  1. unübliche GUI-Verhalten, um Tools zu täuschen: nicht benutzerfreundlich, teuer und kann wie ein Fehler aussehen
  2. Verhaltensanalyse: fehleranfällig und teuer
Die Verhaltensanalyse könnte man entweder auf der Ebene der Windows-Message oder auf Ebene von Events machen. Du könntest zum Bespiel das Verhalten der normalen Nutzer und das der Tools analysieren. Wenn das Verhalten zu stark von dem eines menschlichem Nutzer abweicht oder zu Nahe am Profil eines der bekannten Tools ist, dann kannst du Maßnahmen ergreifen.
Das Ding wäre mehr oder weniger ein Forschungsprojekt mit ungewissen Ausgang
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#13

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 22. Jan 2014, 04:44
Ich weiß ehrlich gesagt nicht, was dein Problem ist? Wenn du es sinnlos findest, gut. Aber darum gehts hier doch garnicht? Wenn du was sinnvolles zu meiner Fragestellung beitragen kannst, gern. Andernfalls würde ich dich bitten, damit aufzuhören, hier in dem Thread über Sinn oder Unsinn von Softwareschutz diskutieren zu wollen.
Ich hab dir hier zu sagen versucht, dass das auslesen via Windows Messages im VST nicht möglich ist.

Snagit ist eine Screenshot Software. Alles was du auf den Screen bringst, kann auch gescreenshottet werden, nichts anderes macht Snagit oder jedes andere beliebeige Screenshot-Programm.

Die Frage die du dir stellen solltest ist, was du erreichen willst.

Du willst Datendiebstahl verhindern. Gut. Aber wer sollte denn die Daten stehlen?
Eine Schadsoftware? Du gehst doch nicht ernsthaft davon aus, dass deine Software auf kompromittierten Systemen läuft, oder?

Wer könnte noch die Daten stehlen? Derjenige der an dem Arbeitsplatz arbeitet? Der kann aber auch sein Handy benutzen und den Screen abfotografieren.

Die Frage ist, wie weit du gehen willst?

Du willst Screenshots per Printscreen verhindern. Das geht noch relativ einfach.

http://labnol.blogspot.de/2004/08/disable-print-screen-key-in-windows.html

Aber selbst mit dem Windows-Snipping Tool kann man das schon wieder umgehen.

Um das Ganze halbwegs dicht zu machen, müßtest du auch sämtliche Screencaptue und Screencam Programme blocken. Dabei wünsche ich viel Gluck und Spass.

Darum die Frage nach Sinn und Unsinn. Bitte nicht falsch verstehen. Aber Sicherheit und Windows passen einfach nicht zusammen, besonders nicht auf dem Level, das du anstrebst.
Gruß
Cookie

Geändert von cookie22 (22. Jan 2014 um 07:13 Uhr)
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
Ort: OPR
708 Beiträge
 
Delphi XE7 Professional
 
#14

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 22. Jan 2014, 13:42
Du willst Datendiebstahl verhindern. Gut. Aber wer sollte denn die Daten stehlen?
Eine Schadsoftware? Du gehst doch nicht ernsthaft davon aus, dass deine Software auf kompromittierten Systemen läuft, oder?

Wer könnte noch die Daten stehlen? Derjenige der an dem Arbeitsplatz arbeitet? Der kann aber auch sein Handy benutzen und den Screen abfotografieren.
Die Frage ist, wie weit du gehen willst?
Darum die Frage nach Sinn und Unsinn. Bitte nicht falsch verstehen. Aber Sicherheit und Windows passen einfach nicht zusammen, besonders nicht auf dem Level, das du anstrebst.
Es geht hier im speziellen um den chinesischen Markt und das System kostet mehrere tausend Euro. Weiterhin enthält es Daten, die wir über viele Jahre durch Forschungen, Recherchen oder Zusammenarbeit mit anderen Instituten zusammengetragen haben.

Also es geht hier nicht darum, dass ein Otto-Normal-Anwender sich mal was ausdruckt oder sowas, sondern um professionelle Piraterie, mit der Absicht die Daten aus dem System zu extrahieren, die Hardware auseinander zu nehmen und zu kopieren, um eine billige Kopie zu erschaffen. Das wollen wir so gut wie möglich erschweren oder gar verhindern. Und unser Problem besteht nebenbei nicht nur auf Software- sondern auch auf Hardware-Ebene, da unser System mit einem eigenen Set an USB-Geräten ausgeliefert wird.

Die Frage ist nicht, wie weit ich gehen will, sondern was im vernünftigen Rahmen möglich ist. Wie schon gesagt: Mir ist völlig bewusst, dass man keinen 100%igen Schutz bieten kann und ein Angreifer einfach eine Screen-Capturing-Software laufen lässt, die Texte per OCR extrahiert und die Bilder (die es zB zu den Texten geben kann) ausschneidet. Wo ein Wille ist, ist mindestens auch ein Weg.

Andererseits können wir auch nicht einfach sagen, dass wir garnichts machen. Ich hoffe du verstehst mein Problem.

Das ist mehr oder weniger die Wahl zwischen Strick und Pistole:
  1. unübliche GUI-Verhalten, um Tools zu täuschen: nicht benutzerfreundlich, teuer und kann wie ein Fehler aussehen
  2. Verhaltensanalyse: fehleranfällig und teuer
Die Verhaltensanalyse könnte man entweder auf der Ebene der Windows-Message oder auf Ebene von Events machen. Du könntest zum Bespiel das Verhalten der normalen Nutzer und das der Tools analysieren. Wenn das Verhalten zu stark von dem eines menschlichem Nutzer abweicht oder zu Nahe am Profil eines der bekannten Tools ist, dann kannst du Maßnahmen ergreifen.
Das Ding wäre mehr oder weniger ein Forschungsprojekt mit ungewissen Ausgang
Danke für die Tipps. Ich denke das wäre durchaus ein alternativer Ansatz.

Statt zu verhindern, dass man Controls ausliest, kann man "einfach" untypisches Verhalten blockieren. Zum Beispiel:

- Wie oft ändert ein Benutzer die Datenbank-Kategorie, um sich was anderes anzuschauen? Sicher nicht mehr als 1x in 5 Sekunden. Und wenn er das doch öfters als X Mal macht, stimmt was nicht.
- Wie oft führt ein Benutzer eine Analyse über die Hardware (mit geänderten Anfrageparametern) durch? Sicherlich auch nicht öfters X Mal pro Minute bzw. X Mal sofort immer wieder hintereinander. Wenn doch, stimmt was nicht.
- Usw...

Ich denke in die Richtung könnte man wirklich was machen.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
2.740 Beiträge
 
Delphi 2009 Professional
 
#15

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 22. Jan 2014, 16:57
Statt zu verhindern, dass man Controls ausliest, kann man "einfach" untypisches Verhalten blockieren. Zum Beispiel:
- Wie oft ändert ein Benutzer die Datenbank-Kategorie, um sich was anderes anzuschauen? Sicher nicht mehr als 1x in 5 Sekunden. Und wenn er das doch öfters als X Mal macht, stimmt was nicht.
Dann würde ich das Programm mehrmals auf verschiedenen VMs installieren. Auf jeder VM schaue ich mir nur eine einzige Datenbank-Kategorie an. Und schon wird kein "untypisches" Verhalten erkannt.
Michael Justin

Geändert von mjustin (22. Jan 2014 um 16:59 Uhr)
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
Ort: OPR
708 Beiträge
 
Delphi XE7 Professional
 
#16

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 22. Jan 2014, 17:34
Dann würde ich das Programm mehrmals auf verschiedenen VMs installieren. Auf jeder VM schaue ich mir nur eine einzige Datenbank-Kategorie an. Und schon wird kein "untypisches" Verhalten erkannt.
Das Programm braucht beim ersten Start eine Freischaltung, die durch einen Kundenbetreuer geschieht. Ich weiß nicht, ob geclonte VMs auch die gleichen Seriennummern für Hardware usw. zurückliefern, aber ich glaube bei den WinLicense-Schlüsseln fliesst zur Berechnung der eindeutigen ID mehr als nur die Hardware ein.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#17

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 22. Jan 2014, 18:05
Wenn die Daten an sich tatsächlich so unglaublich wertvoll sind, dann ist es allein schon der völlig falsche Ansatz, diese komplett als Datenbank auszuliefern. Egal ob letztere symmetrisch oder assymetrisch verschlüsselt ist, in beiden Fällen muss zwangsläufig der Schlüssel ja beim Endnutzer vorliegen, und damit führt der einfachste Weg nach wie vor darüber, die Datenbank an sich zu entschlüsseln. Kein Screen-Scraping nötig, dann habe ich einfach ALLES.

Meiner Meinung nach wäre der wesentlich sinnvollere Weg, die Daten auf einem Server bereitzustellen, und API Request mit den Lizenzen der Nutzer zu signieren. Dann hat man exakte Kontrolle darüber, wie viele Daten pro Lizenz und pro Zeiteinheit abgefragt werden können. Der Nachteil an der Sache ist natürlich der online-Zwang.
Leo S.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#18

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 22. Jan 2014, 21:35
Die Frage ist nicht, wie weit ich gehen will, sondern was im vernünftigen Rahmen möglich ist. Wie schon gesagt: Mir ist völlig bewusst, dass man keinen 100%igen Schutz bieten kann und ein Angreifer einfach eine Screen-Capturing-Software laufen lässt, die Texte per OCR extrahiert und die Bilder (die es zB zu den Texten geben kann) ausschneidet. Wo ein Wille ist, ist mindestens auch ein Weg.
Dazu eine Anekdote: Als ich vor einiger Zeit eine industrielle Produktionsdatenerfassung bei einem großen deutschen Ableger in China etablieren wollte, scheiterte jegliche Investition in MDE (also mobile Terminals) daran, das die einfach genügend Leute haben, die den ganzen Zag mit Strichlisten durch die Werkshallen laufen, dann die Strichlisten in EXCEL übertragen, wieder aufstehen und wieder von vorne ihre Strichlisten machen. Das ist *billiger*, als jede automatische oder halbautomatische Datenerfassung.

Wenn also ein Chinese deine SW bzw. den Inhalt der DB klauen will, dann holt er sich 100 Landarbeiter (oder 1000), setzt die an deine SW und jeder schreibt etwas anderes ab. Gar-kein-Problem für die. Die unterhalten ja auch 1000 Leute, die WoW spielen, um dann irgendwelche Punkte zu verticken oder virtuelle Waren. Ich kann mir vorstellen, das die noch nicht einmal auf die Idee kämen, die SW per Screenshot abzukopieren, denn direkt Abschreiben geht eh schneller und ist billiger, als dann ne OCR-SW zu nehmen.

Das Einzige, was einen Plagiator davon abhält, dein Produkt zu kopieren, ist die handwerkliche Qualität, die es benötigt, das Produkt herzustellen. Denn *das* muss erlernt werden und geht auch mit Manpower nicht von jetzt auf gleich. Aber selbst hier holen die Chinesen auf und produzieren durchaus beachtliche Qualität.

Tipp: Sucht euch einen Partner in China, der Verbindungen zu den Triaden hat.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
Ort: OPR
708 Beiträge
 
Delphi XE7 Professional
 
#19

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 23. Jan 2014, 09:48
Der Nachteil an der Sache ist natürlich der online-Zwang.
Ja, im Prinzip hast du da natürlich recht. Die Auslagerung der Daten wird aber auf jeden Fall mit in die Vorschlagkiste genommen.

Ich weiß nicht, wie die Netzinfrastruktur in China aussieht, aber ein anderer Nachteil wäre hier wohl auch die flächendeckende Verfügbarkeit von genügend Bandbreite und Netzstabilität.

Wirklich guter Beitrag, der das Problem nochmal deutlich macht.

Edit: Aber du hast wirklich recht. Es ist eigentlich absurd zu denken, dass ein Plagiator in China die technische Herangehensweise als erstes wählt, wenn das Land so vor Überbevölkerung und Staatsherrschaft strotzt, dass man an jeder Ecke Leute von jung bis alt findet, die sich für 'n Hungerlohn 18 Stunden am Tag vor den Computer setzen, um in WoW Gold und Items zu farmen oder Sachen abzuschreiben ...

Das Einzige, was einen Plagiator davon abhält, dein Produkt zu kopieren, ist die handwerkliche Qualität, die es benötigt, das Produkt herzustellen. Denn *das* muss erlernt werden und geht auch mit Manpower nicht von jetzt auf gleich. Aber selbst hier holen die Chinesen auf und produzieren durchaus beachtliche Qualität.
Ja, die Daten sind nicht alles, die Software hat auch spezielle Algorithmen und Verfahren zur Datenaufbereitung nach einer Analyse. Jedoch sind die Daten quasi mit ein Herzstück.

Tipp: Sucht euch einen Partner in China, der Verbindungen zu den Triaden hat.
Hehehe.

Geändert von nuclearping (23. Jan 2014 um 09:56 Uhr)
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#20

AW: Software gegen API-Zugriffe von aussen schützen?

  Alt 23. Jan 2014, 13:10
Man kann ja auch die Controls hooken und WM_GETTEXT abfangen.

Mir stellt sich allerdings hier wieder mal die Frage, wie sinnvoll so etwas wie WinLicense ist. Soweit ich weiß fahren da diverse Virenscanner garnicht gut drauf ab.
Mir stellt sich allerdings hier wieder mal die Frage, warum crachschutz sinnlos sein soll. Man kann nälich sehr wohl mit JEDEM wie auch immer gearteten Crackschutz den Aufwand für die illegale Nutzung der Software oder hier Daten für den illegalen Interessenten so schwer wie nur möhlich machen. Geht sogar bei Open Source. Hab ich jetzt erst wieder erlebt mit dem Mystix Texteditor-Projekt. Die nur schlecht dokumentierten JEDI Komponenten werden zwingend vorausgesetzt, deren Installation ein einziger Krampf ist, ich habe 3 volle Tage zur Installation gebraucht. Damit aber nicht genug, setzt Mystix noch die Units ThemeMgr.pas, ThemeSrv.pas, TmSchema.pas und UxTheme.pas voraus. Dann kommt noch dazu, das die Sysnedit-Codefolding Komponenten mit Unicode-Teilen verknüpft sind, die bei der Package Installation der Synedit Codefolding Komponenten nicht mit übersetzt werden. Das hat zur Folge, das sich Mystix noch immer nicht übersetzen lässt. Das alles bloß dafür das ich den Mystix Editor für meine vor längerer Zeit entwickelte "Einfache Freepascal IDE" zur Weiterentwicklung nutzen wollte, im nicht alles noch mal neu programmieren zu müssen. Der alte Entwurf ist alles Andere als stabil. Besser ich beginne neu. Deshalb wollte ich eben nicht ganz neu sondern auf dem Stand von Mystix beginnen. Der Autor ist nicht mehr erreichbar, keine gültige Emailadresse mehr. Ältere Versionen setzen neben Jedi auch noch die TB2K Kompos voraus, die zwar einfacher zu installieren sind, aber nerven tut das dennoch. Und ALLE Versionen auch die allererste kommt mit dem ThemeMgr daher, was deshalb nervt, da wegen angeblich ab Compilerversion oberhalb Delphi 7 dieser ThemeManger im Quelltext nicht mehr akzeptiert wird. Es gibt dehalb im Quelltext die folgende Zeile:

Delphi-Quellcode:
{$ifedf COMPILER_7_UP}
  Error: Delphi versions upper 7 have their own thememanger. You must remove the ThemeManager from
  the project for proper copmpilation.
{$endif}
Ich habe nun die Bezüge auf ThemeMgr.pas entfernt und nun kommt Compilerfehler ".exe kann nicht erstellt werden. Na toll.

Optimal geschützt der Mystix Editor. Optimal vor illegaler Veränderung abgesichert. Auch wenn Experten den sich zumLaufen kriegen werden. Bloß, habe ich in derselben Zeit nicht auch, übrigens mit den wirklich ansprechend aussehenden SPTBX KOmponenten oder mit den nun mal schon installierten Jedis das Editor Layout neu gebaut, einschließlich der Implementierung der Funktionen "Suchen", "Ersetzen", "Gehe zu Zeile" sowie der Clipboardfunktionen????

Wenn schon ein Softwareschutz soooooo sinnlos ist, dann macht es bitte wenigsten auf dem Gebiet der im Quelltext frei verfügbaren Software den interessierten Nutzern leichter setzt nicht schwierig zu installierende oder womöglich noch kostenpflichtige Koponenten voraus. Ausgenommen die Delphi Standard Komponenten. Die Jedis sind zudem nur schlecht dokumentiert und so für mich eher Ballast als nützliche Komponentensammlung. Auch ich habe, wenn auch in der Regel nur mitgelesen, wie ich jetzt auch wieder tun wollte, bis ich diesen Beitrag hier fand, die Geschichte mit Delphi Portable mit Interesse verfolgt. Und daher habe ich für mich beschlossen, die portable Version von Turbo Delphi zu nutzen, erweitert um die Teile, die zwar ohne .NET vorauszusetzen im Original, jedoch nicht in der im Internet verfügbaren englischen Version enthalten sind. Bereichert um den XRefactor aus der DP und ESSModel zur Modellunterstützung. Daher wollte ich eigentlich nicht noch in D7Per die Jedis noch mal installieren und den anderen Ballast dazu, um Mystix vielleicht doch noch zum Laufen zu kriegen. Bringt jetzt auch nix mehr, denn nach all dem Stress ist eine Weiterentwicklung dieses Projektes nur noch kommerziell möglich. Im Preis wäre dann aber auch der Anschaffungspreis für einen neuen fett ausgestatteten PC mit mindesten 4GB RAM, SSD Festplatte, etc. plus aktuelle Softwareentwicklungswerzeuge, abhängig von zukünftigen möglichen Projekten zwingend enthalten. Somit wird so eine Entwicklung für eine neue IDE wohl kaum sinnvoll sein, wenn mir da die IDEs von MS, einigen OpenSource-Entwicklern oder auch von Emba ansehe.

Ist die Software gut, dann wird sie eh gecrackt. Egal welchen Machanismus man verwendet. Das ist alles nur Zeitverschwendung.
Sicher. Aber es ist sehr wohl möglich, dem illegalen Interessenten das Leben zur Hölle zu machen. Siehe voriger Absatz. Das funktioniert sogar bei frei verfügbarem Quelltext!
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf