いつものように始まった一日。

 

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)」不健全」という判断基準は全く聞かなくなりましたね。それは、

 

みーんな病んでいる

 

からかしら?