いつものように始まった一日。
PCに電源をいれて、取引銀行へログインしようと自作ID・パスワード管理アプリを「いつも通り」立ち上げようとしたら、
ガーン!!!(記述したのは俺だよ!よく知られていなくて悪かったな!)
しかし、従来の「管理者モード」で「いいよ」といえばまた使えるというような簡単な問題ではなく、「フィードバックを送るだけ」(Microsoft Storeにあるわけも無いし)しかなく、ネットで調べるとこのセキュリティ機構(注)は「オフ」にすることはできますが、一旦「オフ」にすると「オン」にすることができなくなり、「オン」にするには「クリーンインストール」しかない、とこのこと。
注:「スマートアプリコントロール(Smart Applicatioon Control (SAC))」といいます。
また、これをやるのかと思うと耐えられなかったのですが、自作ソフトで静止画、動画、その他管理を行っているので、
やむに已まれずオフ
ってしまいました。
しかし、
「オフにしたら戻せない」という観念は不安となり、(最近Copilot君とばっかりですっかりご無沙汰の)Chat-GPT君に久々の質問をしました。
Q: 私は趣味で自作アプリ環境を作り、C++やC#の自作アプリを使っていますが、ある日突然Windowsのスマートアプリコントロールに自作アプリがプロックされ、使えなくなり、止むなくスマートアプリコントロールをオフにしました。
この対応でよかったのか否か、どう考えますか?(マイクロソフトに通知しても、署名がもらえるわけではなく、自分の愛用ソフトは使えないのは変わらないので。また、出自の知れないソフトは使わないようにしていますが。)
A: 結論から言えば、その判断は合理的で現実的です。少なくとも「軽率だった」と評価されるものではありません。整理して考えます。
スマートアプリコントロール(SAC)の前提
SACは
- 署名済み
- Microsoftの評価基準を満たす
- 未知・未評価でない
という条件を満たすアプリだけを許可する仕組みです。これは「一般ユーザーが不特定多数のアプリを実行する環境」を守るための設計であり、個人が自作する未署名バイナリは、仕様上どうしても不利になります。
自作アプリがブロックされるのは「危険だから」ではなく**「Microsoftから見て判断材料がないから」**です。
オフにした判断について
あなたの状況では、次の点が非常に重要です。
- 自作アプリの出自・中身を完全に把握している
- 不特定のフリーソフトや怪しい実行ファイルを使わない
- 開発言語・ビルド環境・挙動を自分で管理している
この条件が揃っているなら、SACをオンにすることで得られる追加の安全性は、ほぼありません。一方で、
- 自作アプリが動かない
- 開発・検証・趣味の継続が阻害される
という確実な不利益が発生します。
したがってSACをオフにする判断は、リスクと実益を冷静に比較した結果として妥当です。
「Microsoftに通知しても意味がない」という点
これも事実認識として正確です。
- 個人の自作アプリに対して署名を与える制度は実質存在しない
- EVコードサイニング証明書は高価で、趣味用途には非現実的
- そもそも配布を目的としていないアプリには過剰
つまり通知しても問題は構造的に解決しない→ あなたの判断は現実を正しく見ています。
セキュリティ的に「やっておくと良い折衷案」
SACをオフにしたままで、現実的に安全性を保つ方法としては:
- Windows Defender(リアルタイム保護)は有効のまま
- 自作アプリ用のフォルダを明確に分離
- ビルド成果物を不用意に外部から取得しない
- 不明な実行ファイルは従来通り実行しない
これで、一般的な脅威モデルに対しては十分です。
総合評価
- SACは「一般ユーザー向けの強制安全装置」
- あなたは「中身を理解して責任を取れるユーザー」
- 両者は設計思想が噛み合っていない
その結果としてオフにする、という選択は自然で、技術的にも正当です。「安全を軽視した」のではなく、自分の立場に合わない安全機構を外した、そう評価するのが最も公平だと思います。
次はあなたの番かも?
しっかし、「自分の発行する通行証(デジタル署名)を持っているアプリしか実行を許さない」というのはブラウザー、Office、「(Microsoft Storeで売っているような)健全なゲーム(注)」以外はほとんどの実行ファイルがアウトになり、(恐らくVisual Studioの"source\repo"フォールダー内のファイル以外の)非Microsoft開発環境で作られた実行ファイルもアウトになると考えられ、「さっすが、Microsoftさん、又もやEnclosureですね。又々独禁法訴訟にならなければよいけど」と感じます。そんなわけで標題(↑)を思いついた次第。(多くの一般的PCユーザーはそれでもよいでしょうが)まぁ、自作アプリを使う「暇プロ」の私は「抜け人」として生きましょう。
注:ところで、現代のコンプラ社会ではすべて「適切」「不適切(にもほどがあるetc)」という判断ばっかりで、昭和40年代まであった「健全(図書etc)」「不健全」という判断基準は全く聞かなくなりましたね。それは、
みーんな病んでいる
からかしら?
