![virushacker | Embarcadero RAD Studio Delphi C++Builder Blogs virus hacker](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/05/virus_hacker-4776631.jpg?resize=1140%2C694&ssl=1)
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.
![InkedAnnotation20190919114909LI3090339 | Embarcadero RAD Studio Delphi C++Builder Blogs inkedannotation 2019 09 19 114909 li 3090339 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/05/InkedAnnotation-2019-09-19-114909_LI-3090339.jpg?resize=474%2C362&ssl=1)
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.
![keep617x2259952930 | Embarcadero RAD Studio Delphi C++Builder Blogs keep 617x225 9952930 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/05/keep-617x225-9952930.png?resize=617%2C225&ssl=1)
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!
Table of Contents
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.
![Annotation201909191320572885035 | Embarcadero RAD Studio Delphi C++Builder Blogs annotation 2019 09 19 132057 2885035 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/05/Annotation-2019-09-19-132057-2885035.png?resize=437%2C539&ssl=1)
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).
![pexelsanetelusina52405449328827 | Embarcadero RAD Studio Delphi C++Builder Blogs pexels anete lusina 5240544 9328827 2](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2021/05/pexels-anete-lusina-5240544-9328827.jpg?resize=461%2C690&ssl=1)
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:
- Mein eigener Blog-Beitrag über die Codesignatur, in dem die verschiedenen Arten der Codesignatur ausführlich beschrieben werden und wo sehr kostengünstige Codesignaturzertifikate sowie Beispiele für die Bildschirme erhältlich sind: https://www.codedotshow.com/blog/delphi -10-3-Rio-Code-Signing-Provisioning-und-der-Microsoft-App-Store /
- Der wirklich großartige Wikipedia-Artikel enthält eine gute Übersicht über die Vorteile der Codesignatur auf oberster Ebene: https://en.wikipedia.org/wiki/Code_signing
- Ein Artikel mit weiteren Informationen zu den Vorteilen der Codesignatur finden Sie unter folgendem Link: https://www.encryptionconsulting.com/code-signing-top-5-benefits/ und hier https://www.globalsign.com / de / blog / die-Wichtigkeit-der-Code-Signatur-Redux HINWEIS: Diese beiden Links haben etwas zu verkaufen. Denken Sie also daran, aber ihre Beschreibungen und Prämissen sind solide genug.
Verschwenden Sie Ihre harte Arbeit nicht an einen drakonischen Sicherheitstorhüter – es ist Zeit, Ihre Anwendungen zu modernisieren und mit Code zu signieren.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition