Was ist Codesignatur?
Hacker verwenden häufig Software - ob offline oder online -, um den Code zu ändern, um ihn bösartig zu machen, und laden ihn dann online hoch, damit Benutzer das kostenlose Programm und den darin enthaltenen bösartigen Code herunterladen können. Um sicherzustellen, dass Benutzer nicht auf dieses Problem stoßen, wird die Codesignatur verwendet. Die Codesignatur ist eine Methode, mit der der ursprüngliche Programmierer oder die Firma, die das Programm erstellt hat, das Programm signiert und bei der Installation des Programms authentifiziert wird, um sicherzustellen, dass dem Programm keine Codes hinzugefügt oder geändert wurden. Dies erfordert keine spezielle Software seitens des Benutzers, und der Benutzer kann die Identität des Programmierers überprüfen. Während dies als Sicherheitsmaßnahme gedacht ist, kann ein Hacker, der ein Programm erstellt oder eine Signatur entfernt, künstliches und falsches Vertrauen schaffen.
Programme werden ständig sowohl online als auch offline verkauft. Wenn jemand ein Programm offline von einem vertrauenswürdigen Lieferanten oder Einzelhändler kauft, hat der Benutzer kaum Grund, sich über Hacker Sorgen zu machen, die schädlichen Code in das Programm einschleusen. Dies liegt daran, dass niemand die Software manipulieren und bösartig machen kann, es sei denn, der Softwareentwickler hat absichtlich ein gefährliches Programm erstellt. Wenn ein Benutzer ein Programm aus dem Internet herunterlädt, gibt es keine solche Garantie.
Um Benutzer zu schützen, die Programme online kaufen oder herunterladen, wird die Codesignatur implementiert. Die Codesignatur besteht aus zwei Teilen: dem Entwickler und dem Endbenutzer. Der Entwickler verwendet einen kryptografischen Hash, eine Einwegoperation, die den Code des Programms verschleiert und dann seinen privaten Schlüssel mit dem Hash kombiniert. Dadurch wird eine Signatur erstellt, die in das Programm implantiert wird.
Wenn der Benutzer das Programm empfängt, findet der zweite Teil des Codesignierprozesses statt. Das Programm überprüft das Zertifikat und einen öffentlichen Schlüssel, die der Programmierer in das Programm eingegeben hat. Mit dem öffentlichen Schlüssel kann das Programm denselben Hash für die aktuelle Programmierung ausführen und dann das Original mit der aktuell installierten Version vergleichen. Wenn sowohl das installierte Programm als auch das Original synchronisiert werden, wird dem Benutzer angezeigt, dass nichts geändert wurde. Dieser Vorgang wird automatisch ausgeführt und die für diese Authentifizierung erforderlichen Programme sollten auf dem Betriebssystem des Computers vorinstalliert sein.
Die Codesignatur ist zwar eine leistungsstarke Methode zur Gewährleistung der Sicherheit, weist jedoch Mängel auf. Wenn der Benutzer ein Programm von einem Hacker herunterlädt, zeigt die Authentifizierung, dass das ursprüngliche Programm intakt ist. Dies würde einen Benutzer zu einem falschen Sicherheitsgefühl führen. Das Programm ist als bösartig eingestuft, daher wird die Sicherheit in diesem Sinne nicht erreicht. Anspruchsvolle Hacker können den Hash auch umgehen, um Code zu injizieren, wodurch Codesignaturen unbrauchbar werden.