Gibt es Möglichkeit, Ihre Anwendung zu verhindern, analysiert oder injiziert werden? (C #)

StackOverflow https://stackoverflow.com/questions/893658

  •  23-08-2019
  •  | 
  •  

Frage

Es gibt viele Profilern und statische Code-Analysatoren gibt für C # Baugruppen.

Frage mich nur, ob es irgendwelche Methoden werden analysiert, um zu verhindern, weil es mich ein bisschen nervös macht, wenn abgestreift.

Ich habe alle über das Internet und Stackoverflow gesucht. Es scheint keine für mein Wunder.

Was ich habe nur einige noch beängstigend Titel wie diese (sorry, können neue Benutzer nicht hyper-Links posten, bitte google sie):

"Assembly Manipulation und C # / VB.NET-Code Injection"

"Wie einzuspritzen, um eine Managed .NET Assembly (DLL) in eine andere Prozess"

Ist es sein mir nur allzu besorgt, oder was?

BTW, mit C #, bauen wir einen neuen winform Client für einen Kunden der Bank Online-Transaktionen zu tun. Sollten wir in der winform Art und Weise tun dies nicht oder sollten wir verwenden eine andere Sprache wie Delphi, C ++? Zur Zeit haben wir einen winform Client mit C ++ Builder gebaut.

War es hilfreich?

Lösung

So gut wie jede Anwendung kann „analysiert und injiziert“ werden. Einige mehr als andere. Deshalb sollten Sie nie USER INPUT vertrauen. Sie voll und ganz Ihren Benutzeranfragen auf dem Server Ende validieren, dafür, dass Sie nicht anfällig sind Überschreitungen zu puffern, SQL-Injection und anderen Angriffsmethoden.

Obfuscators können .NET-Assemblies schwieriger zu analysieren machen. einen sicheren Schlüssel verwendet zu starkem Namen Ihrer Baugruppen können es viel schwieriger zu ändern, um Ihren Code machen. Aber, wie alles andere in der digitalen Welt, jemand kann eine Schwachstelle auszunutzen und zu umgehen, was Garantien Sie geschaffen.

Andere Tipps

Wenn durch analysieren Sie bedeuten jemand den Code dekompiliert und es zu betrachten, dann ist der Dotfucstor, dass Schiffe mit VS Pro und oben ist ein einfaches (frei) Werkzeug hier zu helfen. Es gibt eine vollständigere Funktionalität (aber bezahlt) Version, die mehr kann.

Um jemanden Manipulationen an Ihrem Einsatz assmebliles zu vermeiden, verwenden starke Namen .

Wo ein Wille ist, ist es eine Möglichkeit, ob es Code oder native Baugruppe verwaltet wird. Der Schlüssel ist, die wichtigen Informationen auf dem Server Ende zu halten und die Kontrolle über die halten.

Das erste, was Sie gegen entscheiden müssen, was Sie zu schützen versuchen? Obfuscators sind nur sinnvoll, „geheime Zutat“ Algorithmen zu schützen, aber der Angreifer kann einfach den Code extrahieren und sie als Black-Box verwenden. In 99% der Fälle obfuscators ist Geldverschwendung. Wenn der Angreifer physischen Zugriff hat, ist es nicht viel Sie tun können.

Wenn der Endbenutzer mit Administratorrechten ausgeführt wird, dann wird sie in der Lage sein, einen Debugger zu befestigen, und den Code ändern, einschließlich Zielkontodaten. Meine lokale freundliche Bank hat mir einen Chip & Pin-Leser, dass ich die letzten n Stellen des Zielkontos eingeben muß, die es Hashes / verschlüsselt mit meiner Bankkarte Chip; Ich geben Sie den Code aus dem Gerät in die Webapplikation der Bank, die auch bei der Bank Ende geprüft werden. Dies mildert "man in the middle" Attacken ...

Die Sicherheit ist nur dann möglich, auf Systeme, die Sie physisch Zugang zu kontrollieren, und auch dann nicht garantiert, nur erreichbar. Sie müssen jeder Code annehmen, nicht auf die Ausführung eines Systems Sie können steuern, und beeinträchtigt. Wie Rowland Shaw erklärte, ist die beste Wette für ein Finanzinstitut einer Art physischer Token, das effektiv eine offline einzigartige Komponente für alle Transaktionen hinzufügt, die nicht (leicht) vor der Zeit Betrieb von einem Angreifer bekannt sein können, von einem kompromittierten System. Selbst dann sollten Sie sich der Tatsache bewusst sein, dass, wenn der Benutzer Computer kompromittiert wurde und er meldet sich mit seinem sicheren Token von diesem Punkt an, bis die Sitzung beendet der Angreifer frei auszuführen, was Aktionen der Benutzer hat die Erlaubnis, aber zumindest in diesem Fall ist der Benutzer eher die betrügerischen Aktivitäten bemerken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top