Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
BeiträgeCodeDelphiRAD Studio

Sehen alle Ihre Windows-Anwendungen wie ein Computervirus aus?

virus_hacker

OK, Sie haben also etwas Brillantes geschrieben, das Next Big Thing. Sie verfolgen den modernen Ansatz. Sie haben unsere Serie über Fluent UI gelesen oder gesehen und vielleicht sogar ein paar visuelle Dinge wie Neo-Skeuomorphismus angewendet, die wir auf der Desktop First-Konferenz kennengelernt haben . Vielleicht haben Sie einige VCL-Themen auf Ihre App angewendet und die Fähigkeit zur Erkennung des Windows 10-Dunkel- / Hellmodus in Ihre Delphi-Anwendung integriert? Alles läuft gut … bis die Benutzer versuchen, Ihre Anwendungen zu verwenden.

inkedannotation-2019-09-19-114909_li-3090339-2
Dies ist die Meldung, die Sie erhalten, wenn Sie ein sehr beliebtes Open Source-Projekt mit mehr als 100.000 Downloads ausführen..

Sie erhalten Beschwerden von Ihren Benutzern, die Ihre Anwendung nicht herunterladen können. Oder wenn es ihnen endlich gelingt, sich gegen die Paranoia des modernen Webbrowsers zu wehren, wird Ihre App von Windows 10 blockiert oder verschwindet auf mysteriöse Weise ganz in einer blauen Wolke aus Genie-Rauch von Unternehmensgruppenrichtlinien.

keep-617x225-9952930-2

Sie haben nicht den letzten Schritt getan: Sie haben Ihren Code signiert, um zu beweisen, dass Ihre wunderbar gestaltete Anwendung von Ihnen und nur von Ihnen stammt und nicht von einem Computervirus oder einem Cryptolocker-Trojaner infiziert wurde.

In dem kürzlich erschienenen TCoffeeAndCode zum Thema Sicherheit hatten wir vor, über das Signieren von Code zu sprechen, aber wir wurden irgendwie von den vielen anderen Sicherheitsaspekten abgelenkt, die aufgetaucht sind. Um fair zu sein, haben wir gesagt, dass es kein Skript gibt!

Was ist Codesignatur?

Das Signieren von Code ist ein manueller Vorgang, den Sie unmittelbar nach oder zum Zeitpunkt der endgültigen Erstellung Ihrer Anwendung durchführen können. Es fügt Ihrer Exe eine kleine Ressource hinzu, die eine digitale Signatur enthält. Die Signatur gibt an, wer zumindest theoretisch den Code geschrieben hat, und fügt Informationen hinzu, die eine Prüfsumme der exe-Datei Ihrer Anwendung enthalten. Diese Informationen – die Codesignatur – bedeuten, dass jeder Benutzer, der Ihre Anwendungen ausführt, sicher sein kann, dass die exe-Datei nicht geändert wurde, seit Sie sie auf Ihrem Computer oder Build-Server erstellt haben. Änderungen an der Exe, z. B. durch einen Virus, führen zu einer Unterbrechung der kryptografischen Prüfsumme, sodass Benutzer feststellen können, dass ein Fehler aufgetreten ist.

annotation-2019-09-19-132057-2885035-2
Eine ordnungsgemäß mit Code signierte App (das Bild ist alt – das Zertifikat zeigt ein aktuelles Ablaufdatum an)

Die Bereitstellung von Apps über einen Weblink erfordert eine Code-Signatur

Das Signieren von Code hilft nicht nur bei der Identifizierung des ursprünglichen Entwicklers, sondern spielt auch eine Rolle, wenn Ihre Programme von einer Website oder einem ähnlichen Online-Übermittlungsmechanismus heruntergeladen werden. Die meisten Browser (wahrscheinlich alle) warnen Sie vor dem Herunterladen von Exes von einer Website, insbesondere einer, die kein HTTPS verwendet. Microsoft Edge und Windows zusammen gehen noch einen Schritt weiter und werden Sie aktiv anschreien, wenn die Exe keine digitale Signatur trägt (eine andere Art zu sagen, dass sie nicht mit einem Code signiert ist).

pexels-anete-lusina-5240544-9328827-2

Nicht signierte Apps sehen genauso aus wie Computerviren

Wenn es Ihren Benutzern endlich gelingt, durch die verschiedenen Rahmen zu springen und die Exe tatsächlich auf Ihren Computer herunterzuladen, stellen einige von ihnen möglicherweise fest, dass die heruntergeladene Datei auf magische Weise verschwunden ist. Dies liegt daran, dass Unternehmensnetzwerke häufig eine Regel durchsetzen, nach der Benutzer möglicherweise nur bestimmte vertrauenswürdige Anwendungen ausführen. Keine Codesignatur bedeutet normalerweise, dass Ihre Anwendung nicht vertrauenswürdig ist. Einige gehen sogar noch weiter, obwohl dies weniger verbreitet ist und darauf besteht, dass alle Benutzeranwendungen 64-Bit sein müssen, insbesondere serverseitige Anwendungen und Windows-Dienste. Administratoren von Unternehmensnetzwerken und ITSec-Mitarbeiter können ein wenig überfordert sein, wenn es darum geht, Richtlinien durchzusetzen und eine Reihe von Benutzern dazu zu bringen, sich selbst zu verhalten, indem sie verhindern, dass sie offensichtliche Dinge wie das Streamen von Torrents tun.Öffnen fragwürdiger Anhänge und versehentliches Ausführen von Malware.

Ihre nicht mit Code signierte Bewerbung? Es sieht für sie wie die schlimmste Art von kryptolockendem Passwort-Stealer aus – und nein, sie möchten ihren mageren Extra-Mandel-Latte-Macachoolie nicht mit extra Spirella ablegen, um ihn zum „Auschecken“ auszuführen. Vielen Dank.

Ist Code-Signing nur für Blue-Chip-Unternehmen?

Das Signieren von Codes ist ein MUSS, wenn Sie mit Ihrem Code ein Einkommen erzielen möchten. Aber selbst wenn Sie ein Open Source- oder Freeware-Projektcode sind, hilft das Signieren Ihrer Benutzer Ihren Benutzern, sich selbst zu helfen.

Die halcyon Tage, in denen einfach eine Exe erstellt, gezippt und auf einen Webserver gestellt wurde, sind so gut wie vorbei. Wenn Sie Ihre Software auf diese Weise bereitstellen, hasse ich es, schlechte Nachrichten zu überbringen: Sie sind veraltet und es ist Zeit für eine Modernisierung. In Kürze werden eine ganze Reihe von Änderungen an der Funktionsweise von Windows vorgenommen, und viele der Sicherheitsverbesserungen wie UAC, HTTPS und erzwungener Verzeichnisschutz werden einseitig erfolgen und haben dies in den meisten Fällen bereits getan.

Von den Fragen, die mir gestellt werden, ist das Signieren von Code wahrscheinlich das wichtigste Thema, daher weiß ich, dass es eine ganze Menge von Entwicklern gibt, die zu der Erkenntnis kommen, dass das Signieren von Code keine optionale Aktivität ist.

Weitere Ressourcen zum Signieren von Code

Um mehr über die Vor- und Nachteile der Codesignatur als Thema zu erfahren, versuchen Sie die folgenden Ressourcen:


Verschwenden Sie Ihre harte Arbeit nicht an einen drakonischen Sicherheitstorhüter – es ist Zeit, Ihre Anwendungen zu modernisieren und mit Code zu signieren.


What's New for RAD Studio 11

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Zusammenhängende Posts
BeiträgeDelphiDeveloper InterviewsInterview

Wie ist es, ein Entwickler Joe C. Hecht zu sein?

BeiträgeCodeRAD Studio

Warum Sie dieses Jahr auf jeden Fall weniger Code schreiben sollten

BeiträgeDelphiDeveloper InterviewsInterview

Wie ist es, ein Entwickler Sunil Kumar Arora zu sein?

BeiträgeC++DelphiRAD Studio

Desktops sind ein unübertroffenes Produktivitäts-Kraftpaket

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES