Macアプリケーションのデジタル署名が破損した場合、どのような迷惑または実際の問題が発生する可能性がありますか?
Mac上のアプリケーションはデジタル署名できます。署名が何らかの理由で破損している場合、いくつかのアプリケーションがそれに気付くことがあります。しかし、これらが単に迷惑になるか、実際に物事を壊してしまうのか、私は詳細に知りません。
OS Xファイアウォールはアドホック署名を正しく設定できないため、「アプリケーション '[..]'が着信ネットワーク接続を受け入れるようにしますか?」という繰り返しのプロンプトが表示される場合があります。
ペアレンタルコントロールによって許可されたアプリケーションは、実行されなくなる可能性がありますか?
キーチェーンアクセスが壊れている可能性がありますか?
Appleソフトウェアのアップデートが失敗する可能性があると言う人もいます。trueの場合、これは実際にコード署名の署名に依存するのか、アプリケーション全体の一部の不一致ハッシュ、またはBOMファイルからの情報に起因するのだろうかと思います。
以下の詳細な背景情報。
コード署名の詳細は、次を使用して表示できます。
codesign --display -vv /Applications/iTunes.app/
...次のようになります(ただし、変更については警告しません):
[..]
CDHash=86828a2d631dbfd417600c458b740cdcd12b13e7
Signature size=4064
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
[..]
署名は次を使用して検証できます。
codesign --verify -vv /Applications/iTunes.app/
どちらが得られますか:
/Applications/iTunes.app/: valid on disk
/Applications/iTunes.app/: satisfies its Designated Requirement
...または(アプリケーションの./Contents/Resourcesフォルダーに追加のファイルを単に配置する場合でも):
/Applications/iTunes.app/: a sealed resource is missing or invalid
...または(上記のメッセージよりも悪い場合があります):
/Applications/iTunes.app/: code or signature modified
コード署名はOS 9以前に戻りますが、現在の実装は 10.5 Leopardで導入されました。Ars Technicaの書き込み:
コード署名は、暗号で検証可能なIDをコードのコレクションに結び付け、そのコードへの変更が検出されるようにします。関係者に関する保証は一切行われません。たとえば、Acme Inc.によって署名されたアプリケーションをダウンロードした場合、最後にWebサイトから何かをダウンロードしたときにAcme Inc.であると主張する同じエンティティからのものであることを除いて、何も証明できません。
この例は、実際に消費者の観点からテクノロジーの最も有用なアプリケーションを強調しています。Mac OS Xアプリケーションを今日(10.4 Tiger、AvBで)アップグレードすると、ユーザーはしばしば、このアプリケーションがキーチェーンにアクセスしてユーザー名とパスワードを取得できることを再確認するように求められます。これは優れたセキュリティ機能のように思えますが、実際に表示されるたびに「常に許可」をクリックするようにMacユーザーを訓練するだけです。そして実際、平均的なユーザーは何をし、逆アセンブラーを通して実行可能ファイルを実行し、コードが安全であることを手動で確認しますか?
一方、署名されたアプリケーションは、過去に信頼を表明したのと同じベンダーの同じアプリケーションの新しいバージョンであることを数学的に証明できます。その結果、安全性を検証する妥当な方法がない選択肢を確認するように求めるダイアログボックスが終了します。
10.5 Leopardのファイアウォールについて、Apple は次のように説明しています。
このリストにアプリケーションを追加すると、Mac OS Xはアプリケーションにデジタル署名します(まだ署名されていない場合)。アプリケーションが後で変更された場合、アプリケーションへの着信ネットワーク接続を許可または拒否するように求められます。ほとんどのアプリケーションは自分自身を変更しません。これは、変更を通知する安全機能です。
[..]
(コード署名の目的で)システムが信頼する認証局によってデジタル署名されたリストにないすべてのアプリケーションは、着信接続を受信できます。LeopardのすべてのAppleアプリケーションはAppleによって署名されており、着信接続の受信が許可されています。デジタル署名されたアプリケーションを拒否する場合は、最初にリストに追加してから明示的に拒否する必要があります。
10.6 Snow Leopardでは、後者は「署名付きソフトウェアが着信接続を自動的に許可する。有効な認証局によって署名されたソフトウェアがネットワークからアクセスされるサービスを提供できるようにする」としてより明確になります。
(10.6では、10.5.1のオプション「すべての着信接続を許可する」、「必須サービスのみを許可する」、「特定のサービスとアプリケーションへのアクセスを設定する」が「着信接続をすべてブロックする」またはリストの選択肢に変更されました許可されたアプリケーションとオプションの「署名されたソフトウェアが着信接続を自動的に許可する」および「ステルスモードを有効にする」。10.5.1アップデート以前は、「必須サービスのみ許可する」は「着信接続をすべてブロックする」と呼ばれていました。)
元の署名が何らかの理由で破損している(Apple)アプリケーションの場合、このアドホック署名は何らかの理由で永続化されず、configd、mDNSResponder、およびracoonに問題を引き起こしたことが知られています。