Hoe & te tonen Verifieer codehandtekeningen voor apps in Mac OS X
Inhoudsopgave:
Met Code-ondertekende applicaties kunnen beveiligingsbewuste gebruikers de maker en hash van een bepaalde app verifiëren om te bevestigen dat deze niet is beschadigd of waarmee is geknoeid. Dit is zelden nodig voor gemiddelde Mac-gebruikers, vooral degenen die hun software verkrijgen via de Mac App Store of andere vertrouwde bronnen, aangezien de apps gecertificeerd zijn, maar het verifiëren van de digitale handtekening van een app kan zeer nuttig zijn voor gebruikers die apps van derden krijgen bronnen.
Het verifiëren van een codehandtekening is vooral belangrijk voor degenen die software en installatieprogramma's van p2p en gedistribueerde bronnen krijgen, misschien een torrent-site of nieuwsgroepen, IRC, openbare ftp of een andere netwerkbron. Laten we voor een praktisch voorbeeld zeggen dat een gebruiker om welke reden dan ook geen toegang heeft tot de Mac App Store, maar een Mac OS X-installatieprogramma moet downloaden en dus afhankelijk is van een externe bron. In een dergelijke situatie is het belangrijk om te weten en te verifiëren dat er niet met het installatieprogramma is geknoeid en dat het legitiem van Apple afkomstig is. hash van de betreffende app.
Codehandtekening controleren voor apps op Mac
Om aan de slag te gaan, start u Terminal, te vinden in /Applications/Utilities/. We zullen de toepasselijk genaamde 'codesign'-opdracht gebruiken, compleet met de markeringen -dv en -verbose=4 om identificerende informatie over elke toepassing weer te geven, inclusief het hash-type, de hash-checksum en de ondertekeningsbevoegdheid.
De basissyntaxis is als volgt:
codesign -dv --verbose=4 /Path/To/Application.app
Laten we bijvoorbeeld de handtekening controleren op Terminal.app, te vinden in /Applications/Utilities/
codesign -dv --verbose=4 /Applications/Utilities/Terminal.app Executable=/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal Identifier=com.apple.Terminal Formaat=bundel met Mach-O thin (x86_64) CodeDirectory v=20100 size=5227 flags=0x0(none) hashes=255+3 location=embedded Platform identifier=1 Hash type=sha1 size=20 CDHash=0941049019f9fa3499333fb5b52b53735b498aed6cde6a23 Grootte handtekening=4105 Authority=Software Signing Authority=Apple Code Signing Certification Authority=Apple Root CA Info.plist entries=34 TeamIdentifier=niet ingesteld Verzegelde bronnen versie=2 regels=13 bestanden=996 Aantal interne vereisten=1 grootte=68
Waar u naar op zoek bent, zijn het hashtype, de hash en de autoriteitsvermeldingen. In dit geval is het hash-type sha1 en de ondertekende autoriteit is Apple, wat je zou verwachten.
Ja, je kunt ook de opdrachtregel gebruiken om sha1- of md5-hashes van app-installatieprogramma's en downloads te controleren en ze te vergelijken met een legitieme bron, maar dan worden de code-ondertekening en certificaatdetails niet onthuld.
Houd er rekening mee dat de meeste code-ondertekende software die door een niet-geautoriseerde partij is gewijzigd, door Gatekeeper in Mac OS X wordt afgewezen, tenzij Gatekeeper is uitgeschakeld of anderszins omzeild, maar zelfs als Gatekeeper op zijn theoretisch mogelijk voor een ondernemende knul om er een manier omheen te vinden, en natuurlijk kan software die niet is gecertificeerd door een geïdentificeerde ontwikkelaar toch altijd rond Gatekeeper worden gelanceerd.
Je kunt informatie over het ondertekenen van code vinden op Wikipedia en in de Apple Developer-handleiding voor het ondertekenen van code hier.
Controleer je wel eens of apps zijn ondertekend? Het kan een geldige manier zijn om te bepalen wat sommige processen en apps zijn, en kan ook nuttig zijn bij het oplossen van problemen. Probeer het de volgende keer dat je je afvraagt wat iets is en of het is ondertekend of niet!