読者です 読者をやめる 読者になる 読者になる

treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

ユーザにインストール権限を付与しない理由

運用管理 PC セキュリティ

今日はWindowsユーザにインストール権限(管理者権限など)を付与せず、Users権限でPCを利用することを推奨する意味をご報告します。

最初に申し上げておきます。
システム管理者がPCを管理している会社環境では、システム管理者が責任もって会社PCを運用管理している限りはユーザに対してインストール権限を付与しないことが望ましいです。
そして明確な理由を解説してくれているページが見つからなかったので、私の経験上の意見をここに表明します。
本記事は私の意見であり、世間一般すべてで当てはまることではありません。考え方の一つとしてよろしければご覧ください。
なお、自宅環境で個人が個人PCを使っている環境では本記事は全く関係ありません。(多少役に立つ内容は含まれますが)

この「ユーザにインストール権限を付与しない」という表現は、以前のWindows的な表現にすると「Windowsを管理者権限で使わない理由」と言い換えることもできます。
以前は管理者権限=インストール権限でした。
「以前のWindows」という、但し書きがついてしまう理由は、一つあります。
UACです。
最近ではUACによって、ローカルセキュリティグループがAdministratorsグループ所属の管理者権限ユーザであっても普段のプロセスはUsers権限で動作する、という動きをしています。
なので、Administratorsグループ所属のユーザアカウントでも普段は管理者権限で使われていない、というのがWindowsVista以降のWindowsの挙動です。

ここでは、PCのユーザアカウントはAdministratorsグループに所属させないということを差して「管理者権限で使わない。」と表現する箇所があることを予めご認識ください。

インストール権限を付与しない理由はシンプルにまとまります。
「ユーザの操作によって意図しないソフトウェアをインストールしないため」です

意図しないソフトウェアには、マルウェアスパイウェアのようなすぐに思いつくコードもあれば、広告(詐欺)ソフトや不要なツールバールートキット、ユーザの意図しない通信をインターネットに垂れ流すソフト、など悪いイメージのソフトウェアがまず真っ先に思いつきます。
この辺りのソフトウェアについては特に説明の必要はないかと思います。とにかく入れたくないですよね?
これとは別でソフトウェア自体は"適正なソフトウェア"であっても、この意図しないソフトウェアに分類する必要性があるソフトウェアがあります。
最近の有名なところでは「Windows8.1(update)」です。

Windows8プレインストールPCを10台程度保有している小規模オフィスでの話です。
Windows8.1適用はポップアップで情報は出ていましたが、メーカのファームウェア/ドライバが出そろっていないことに加え、モバイル接続に使う周辺機器がWindows8.1に対応しておらず次期バージョンのリリース待ちとなっていました。
そんなある日、「Windows8.1のアップグレードが強制実行された。」という報告があがってきました。1日で1台~2台くらいのペースで徐々に強制適用されていきます。
強制適用、と表現しているのは、従来までの8.1アップグレードを促す画面ではキャンセルボタンがあったのに強制適用時期に来るとキャンセルボタンが画面から消えていて8.1にアップグレードする以外の選択肢がなくなってしまった、というのです。
が、結局強制適用が動作したのは4台だけで他の6台では強制適用はされずWindows8のまま利用できています。
この差がどこにあったかといいますと、強制適用が動作した4台は「ユーザがローカルAdministratorsグループに所属」していました。
他のWindows8PCではユーザはローカルUsers権限で動作していました。
いまとなっては推測でしかありませんが、Administratorsグループに所属しているユーザを普段使いしていたPCではWindows8.1のアップグレードがキャンセルできない形で動作したと考えられます。

コスト面からプレインストールOSを使うことは通常であることだと思います。Professional EditionがプレインストールされるPCを調達していればなおさら社内のWindowsOSを入れ替える必要性は低いと思いますし、実際Professional Editionなら社内利用では十分です。
ですが、会社で管理されるべきPCはバージョンコントロールをしなければ、バージョンアップによって業務に支障をきたす動作をもたらす可能性も高いです。
この例の時は1台で利用上の問題が発生したので、代替機を手配しデータ移行、Windows8.1アップグレードしてしまったPCをリカバリしWindows8を再インストールして環境のセットアップを1からやり直すことになりました。
意図しないWindows8.1アップグレード適用による不具合であっても悪意のあるマルウェア/スパイウェア感染による不具合であっても、結局のところ業務に支障ないように満足に使えるような復旧作業には「1から再インストールし環境再構築」に帰結します。
違いは適正なソフトウェアなら業務利用ができないことによる機会損失といった間接的な損害で済みますが、マルウェア/スパイウェアであれば実際の金銭被害や犯罪に巻き込まれることもあり得る話になってきます。

インストール、という行為に対するリスクはご理解いただけたでしょうか?

ユーザが会社PCに対してインストールという行為を実行しない方がよい理由はこのリスクを「知らなかった。で済まされない場合があるとは夢にも思わない。」ところにあります。

ソフトウェアを起点にしたリスクは以下のようなものがあります。

  • 使用許諾条件を違反した使い方をして訴訟リスク(罰金)
  • アドウェア混入のソフトウェアインストールによるマルウェア/スパイウェア感染リスク
  • インストールソフトウェアのアップデートを実施しないことによるセキュリティ侵害リスク
  • 物理的(ソフトウェア的)にPCがおかしくなる、という故障リスク


これをインストールしたら、「存在しなかったはずのリスクを抱えることになるかどうか。」そして「このリスクが損害につながるかどうか。」を判別するためには、インストール行為を実行する前にメーカからの情報を収集し、実際に利用している情報を収集し、セキュリティ関連の情報収集を実施し、さらに必要とあらば実際にテスト環境でインストールして動作確認をして、ようやくリスクがは存在しないor実害はない、と結論付けることができ、利用が妥当だということになります。
前述の「知らなかった。で済まされない場合があるとは夢にも思わない。」ところはここに掛かってきます。
ユーザは使うことが目的ですから、情報収集や検証は省略していきなり自分のPCにソフトウェアをインストールしてしまう傾向が多いです。
管理者を通してくれれば、情報収集による調査を実施して安全かどうかを判別してからのインストールとなるのですが、PCユーザでそこまでやっている方は少数派です。
何の害もないフリーソフトがある日突然牙をむくこともあると認識してもらいたいです。
また、フリーソフトというのは使う側の自由を意味していません。実際にフリーソフトで商用利用不可という表現で「会社(法人)組織内での利用不可」を使用許諾条件としているフリーソフトはたくさんあります。
なお商用利用の定義はソフトによって違います。
会社(法人)組織内での利用可、としながらも対象フリーソフトをその会社の取引(売買)に含めることを商用利用と定義しているソフトもあれば、広義に会社(法人)で利用することをすべて商用利用としているソフトもあります。(もちろんその中間もあります。)

ここで問題なのは、使用許諾条件に目を通さないとこれは分からない、にも関わらず使用許諾条件に目を通さないでインストールを実行する、あるいは使用許諾条件が見つからないから未確認で利用していい(気がする)ことになっている、という認識の誤りです。
で、あれば社内の利用に問題がないことを調べる役割の部署や担当者が問題ないことを確認してインストールするべきです

同じ考え方から「このソフトウェアは安全なのか?」「ソフトウェアが安全でもこのダウンロード元は安全か(※)」は調べずにダウロードしてインストールするのも問題で、利用に際して問題がないことを調べる役割の部署や担当者が「ここからダウンロードしたこのソフトウェアは安全だ。」という確認が取れてからインストールするべきです。
----------------------------------------------
閑話休題(※):ダウンロード元によってソフトウェアの安全性が変わることがあるのは…
ソフトウェア自体が広く一般に利用されている安全なソフトウェアであっても、ダウンロードサイトがインストーラを改変していて、アドウェアや迷惑なツールバー、エラー点検商法ソフトを混入した状態でフリーソフトのインストールを実行させるサイトがあります。最近多いです。
こういったサイトは「%ソフト名% ダウンロード」で検索すると公式サイトより上位の検索結果として表示されることが多く見受けられます。
具体的に言えば、有名サイトである「窓の杜」や「Vector」などでダウンロードすれば改変されたインストーラを実行させられることはまずないのですが、その他のダウンロードサイトではインストーラが改変されていて不要なソフトウェアが満載、ということです。
さらにこういったアドウェアや迷惑なソフトウェアの大多数はウィルスではないのでセキュリティソフトで検出されないことが多いです。
しかし、前出の「使用許諾条件」によく目を通すと"○○と○○と…を同時インストールします。"という記載がされていることが多いです。
最近では、ウィルスやハッキングで侵入してPCの情報を搾取するよりも、ユーザが自分でダウンロードしてインストールをしてくれるこういった手法でPCに食い込んだ方が楽、という流行があるようです。
----------------------------------------閑話休題ここまで

リスク視点なしでのインストールに対する危険性はご理解いただけたでしょうか?
もう一つの管理視点なしでインストールした後の危険性が、
「インストールソフトウェアのアップデートを実施しないことによるセキュリティ侵害リスク」
です。
ちょっと図にしてみました。

f:id:treedown:20150917124146p:plain


図中の
ユーザ独自でインストールしているソフトウェアのうちユーザがアップデートしていないソフトウェアの中から、セキュリティソフトの干渉を受けない以下の条件のソフトウェアが攻撃対象となった場合、PCを使っている側は何のガードもできない可能性が高いです。

  1. インストールしたがアップデートしていない
  2. インストールした記憶がない(知らない)
  3. コンピュータウィルスのように勝手に入ってくる類ソフトウェア

がリスクを生む穴となり得ます。

これはなぜかといえば、ソフトウェアの宿命であるアップデートによって脆弱性が修正されるアクションが取れない(あるいはそれ自身が悪意のソフトウェア)からです。
アドウェアやブラウザハイジャッカーのセキュリティアップデートなど聞いたこともありません。
こういったソフトウェアが別の悪意あるユーザから攻撃の標的とされてしまった場合、元来正規の手順がないソフトウェアはひとたまりもないだろうことは予想がつきます。
(あくまでも予想です。実際には公表されることなく密かに攻撃されていて、ユーザも悪意のあるソフトウェア提供者も気づいていないうちにデータ・情報が搾取されている、という状況をわざわざ公表する人もいないのが現実です。)

会社の重要な情報資産を保存しているPC。
管理視点がないユーザに対して、管理者権限という名の実行権を付与する、という要望は私の理解を超えています。
百歩譲って、管理者権限を付与するとしたら、自己で責任を持ち会社から預かったPCを保護する視点とインストールや設定変更に対するリスクは自身で調査し理解したうえで判断し実行していただく必要があります。
現実は、管理者権限は自分が貸与されたPCを好き放題いじれるかどうかのフラグでしかなく、好き放題するための後ろ盾になっている、という状態しか経験がありません。

Users権限でPCを利用することを推奨することの意味は、これまでに記載したような、
「盲目によって正しくない状態に陥らない。」
ためです。
正しくないPCが社内に1台存在するだけで社内全体がダメージを受けます。
システムの世界においては正しくないPCは1台も存在してはいけないのです。
ですから、目を閉ざし耳をふさぎ入れたいソフトをインストールする行為をUsers権限という枷で制限します。

PCの管理者権限(Administrator権限)の要求というのは、これだけのことを一言で要求している、ということをユーザの方には分かって欲しいです。
そして「軽く考えていました。」という言い訳も無用です。管理者権限を要求する類の発言を二度としないでいただければそれで結構です。

自宅のPCでウィルス対策を考えたり、手間や時間を掛けてアップデートしたり、これを会社のPCでやらなくていいのは代わりにやってくれる社員がいるからです。もっといえば会社が専任の人に給料を支払って雇用しているからです。
にもかかわらず、好き勝手したいから管理者権限を要求し、いざ実際に管理者権限を入手し、気づいた時にはアドウェアやエラー点検商法ソフトが5個も6個もPCにインストールされている、というのはいったいどういうつもりなんでしょうか?
しかもいくつも別のアドウェアやブラウザハイジャッカーがアンインストールした形跡があり残骸がいくつも散見されることから実際にインストールされた数はもっと多いと分かったときの絶望感、どこにこの感情を持っていきましょうか。
いくらアップデートを頑張っても、こんなPCが社内インフラに存在していると意味ナイジャン、という気になってきます。このPCがある日いきなり乗っ取られて社内の他のPCを攻撃し始める、なんてことはないと誰が保証できるものでもありませんから。
だからといって、被害を最小限に食い止めるためには、何か気持ちが整理できないながらもできるだけ正当なユーザを守るためにアップデートを頑張るしかないのです。

この心境はユーザには絶対分かりません。
逆に、システム管理をある程度経験したミドル層なら大なり小なり気持ちは理解してもらえるのではないでしょうか?

私たち、システム管理者は技術で実現できる"本質的に正しいこと"をやりたいのです。
ライセンス違反も迷惑ソフトウェアも正しくありません。


最後になりますが、
管理者権限がどうしても必要なユーザに付与する場合には、
「そのユーザが管理者権限を要する業務を遂行するための専用PCを用意する。」
ことは快く応じることができます。
開発に管理者権限が必要であれば開発用PC、検証のために管理者権限を要するのであれば検証専用PCを用意し、その中で業務を絞った形で管理者権限を行使したPC利用に加えて
1名で2台のPCを使い分けることになりますが、それはセキュリティの境界線が違う環境を使い分けて業務を遂行することを組織から要求されている、ということなのです。

運用される環境と開発・検証する環境は分離すべきであり、業務上必要であればその業務を達成するために使用する環境も分離すべきです。
いっしょくたにした結果として、データという財産が危険にさらされる、ということが問題です。

で、現実世界の私は…といいますと。
情けない話ではございますが、実際問題として強く言えない、という状況です。(ここで述べているような内容を提言はしますが)
結局はエンドユーザの納得を引き出せなければ無駄な議論となります。しかも、概ね普通~優秀側のユーザはこれで合意を得られるのですが、大体合意を取れないのは下層に位置づけられるユーザです。

現実は厳しいものです。