Windowsのセキュリティ機能

本稿では**Windowsのセキュリティ機能**（ウィンドウズのセキュリティきのう）について記述する。本稿ではMicrosoft Windows本体のみならず、Active DirectoryやWSUSなどWindowsと連携するサーバソフト等が提供するセキュリティ機能も説明するものとする。

## Windowsにおけるアカウント
### アカウントの種類
Windowsには以下の種類のアカウントがある：

これらのアカウントの情報の表示や設定は以下のコマンドで実行可能である：

### アカウントの識別方法
#### SIDとGUID
Windowsの全てのユーザアカウント、コンピュータアカウント、グループアカウントのように認証やアクセス制御の対象となる主体の事を**セキュリティプリンシパル**といい、Windowsのセキュリティプリンシパルには'''SID'''(Security Identifier、セキュリティ識別子)、'''GUID'''（Globally Unique Identifier、グローバル一意識別子）という2つの固有識別子が割り振られている。

SID、GUIDはいずれもユーザアカウントを識別するためのものだが、以下のような特徴と違いがある。まずSIDはActive Directoryドメイン（後述）で一意な識別子でアクセス制御などに使われる。SIDはユーザ名やコンピュータ名を変更してもSIDは変更されない。また異なる2つのマシンで同一のユーザ名のアカウントを登録した場合、それら2つのマシンのアカウントのSIDは互いに異なる。

しかしユーザの所属するドメインが変更になった場合はSIDも変更になる。そこでドメインが変更になってもアカウントを一意に識別できるように作られたのがGUIDである。

#### アクセストークンとUID
各ユーザアカウントには、ユーザアカウントのSID、ユーザが属しているグループ（達）のSID、アクセス制御情報等を記述した**アクセストークン**が割り振られている。

ネットワーク経由でアクセスしてくるユーザーに対しては、アクセス トークンの代わりに**UID** (User IDentifier、ユーザー識別子)が用いられる。アクセストークンの全情報をネットワークに流すのはセキュリティ上危険なので、アクセストークンから必要情報のみを抜き出したUIDを用いるのである。

### ユーザアカウントの分類
#### 権限による分類
ユーザアカウントはそのアカウントが持つ権限により、以下の2つに分類される：

* **User**：標準ユーザ
* **Administrator**：特権ユーザ

User、AdministratorはそれぞれUsersグループ、Administratorsグループに属している。なおWindows XPにはこの他にPower Userという区分が存在したが、Windows 7以降は廃止された。

またマシンを他のユーザに貸したりするときのための**Guestアカウント**があるが、Guestアカウントはセキュリティ上危険な事もあり、Windows 7以降はデフォルトでGuestアカウントはオフになっている。

Active Directory（後述）ではこれらの他に

* **Domain Administrator**：ドメイン管理者
* **Enterprise Adiminstator**：フォレスト管理者

がある。

Windows 10ではユーザアカウントに**家族**という概念が導入されており、家族のアカウントには、**保護者**や**お子様**がある。保護者アカウントはお子様アカウントのPC 使用時間の制限、閲覧ウェブページの制限、アプリやゲームの年齢制限の設定、利用履歴の確認といったペアレンタルコントロールを行う事ができる。

#### アカウント管理場所による分類
以下のように分類できる：

Windows 10以降は、マイクロソフトのシングルサインオンウェブサービスである**[[Microsoft アカウント]]**を使って自分が所有するマシンにサインインする事が可能になった。

## マシンをまたがるアカウント管理・ファイル共有
小規模なネットワークではワークグループの機能を使う事により、マシンをまたがるアカウント管理・ファイル共有を行う事ができる。大規模なネットワークであればディレクトリサービスActive Directoryで一括管理する必要がある。

### ワークグループ
ユーザ名を用いてアカウント管理を行う仕組みである。すなわち、あるマシンから別のマシンのリソースにアクセスする（例：エクスプローラーにパス名を打ち込んでファイルやフォルダにアクセスする）場合、アクセス元のマシンとアクセス先のマシンで同一のユーザ名が登録されており、しかもアクセス先に登録されているパスワードを打ち込めばアクセスが許可される。

クライアントWindowsではワークグループはユーザ数が20以下（Windows 7）ないし10以下（それ以前）の場合しか利用できない。WindowsサーバやNASを使えばこの制限はない。

ワークグループはTCP/IPベースのNetBIOSにより通信を行っている。古いバージョンのWindowsではNetBEUIベースのNetBIOSでも通信できた。

#### 利用方法
Windows 10の場合、ワークグループの機能を使うには、「システムのプロパティ」でワークグループ名を事前に設定しておく必要がある。複数のマシンを同一のワークグループに置くには各マシンで同一のワークグループ名を登録する必要がある。同一のワークグループに属している場合のみファイル共有が可能である。なお同一のワークグループ内にあるマシンのコンピューター名は互いに異なっている必要がある。

さらに「ネットワークと共有センター」の「共有オプション」で「ネットワーク探索を有効にする」をチェックし、必要に応じ「ファイルとプリンターの共有を有効にする」もチェックする。

#### ゲストアカウント
リソース公開側のマシンが**ゲストアカウント**を許可していれば、ユーザ名がなくともパスワードだけ知っていればアクセスできる。特にパスワードを空に設定すれば誰でもアクセスできるようになるが、セキュリティ上危険である。

#### 参考：ホームグループネットワーク
Windows 7で導入された新しい形態のワークグループネットワークであるが、Windows 10 (Version 1803) 以降では削除されている。

### 参考：Windows NTドメインネットワーク
**NTドメイン**という単位でマシンやアカウントなどを管理する仕組み。ユーザアカウント、グループアカウント、システムポリシーが利用可能。「**ドメインコントローラー（DC）**」と呼ばれるサーバーでユーザアカウントやグループアカウントを一括管理しており、DCに（ユーザないしグループ）アカウントがNTドメイン内でどのような権限（書き込み権限、読み込み権限など）を持つかを一度登録すればNTドメイン内の全てのマシンでこの登録情報が共有される。このためワークグループと違い、個々のマシンにユーザ登録する必要はない。

ただし、NTドメインやアカウント管理に階層構造がない事やアカウント数に上限があるといった欠点がある。

Active Directoryが登場したこともあり、Windows 2000以降は新規にNTドメインが利用される事はほとんどなくなった。

### Active Directory
**[[Active Directory]]**（以下、**AD**）はユーザ、グループ、およびコンピュータアカウントを管理するディレクトリサービスである。マイクロソフトはソフトウェアとしてADを提供しているのみならず、**Azure Active Directory（Azure AD）**としてクラウド提供もしている。

ADはこれらのアカウントを**Active Directoryドメイン**（略して**ADドメイン**、あるいは単に**ドメイン**）としてまとめられる。さらに複数のドメインをツリー型の階層構造を持つ**ドメインツリー**としてまとめられ、ドメイン・ツリー同士を結び合わせた**フォレスト**を作る事ができる。Windows Server 2003以降ではフォレスト間の信頼関係（**クロスフォレスト信頼**）も設定可能である。

企業を例に取ると、例えば以下のように上記分類を利用できる：

* ドメイン：部署
* ドメインツリー：関西支社といった拠点
* フォレスト：企業全体

各ドメインは**ドメインコントローラー**というサーバで管理できる。ドメインコントローラーの主な役割は、ユーザアカウントを管理し、ユーザが自身の端末にログオンする際ADが管理しているユーザアカウント情報と照らし合わせてログオン認証することと、アカウントに特権・権利を認可する事である。

各ドメイン内のアカウントは**OU**（Organizational Unit、組織単位）という単位でまとめる事ができ、さらにOU内にOUをいれるなど階層的な管理も可能である。なお、OU毎に別の管理者を割り当て管理委任する事も可能である。

#### レプリケーション
1つのドメインに複数のドメインコントローラーを設置してレプリケーションを行う事でドメインコントローラーの可用性や信頼性を向上する事ができる。なお、レプリケーションはマルチマスタである。

#### 信頼関係
* ドメイン内のアカウントの信頼関係はドメインコントローラーが制御する。
* 同一ドメイン・ツリー内の各ドメイン間には双方向かつ推移的な信頼関係が結ばれる。よってドメイン・ツリー内の他ののドメインのリソースへもアクセス可能になる。
* 同一フォレスト内の各フォレストツリーも双方向かつ推移的な信頼関係が結ばれている。
* フォレスト間の信頼（クロスフォレスト信頼）は、一方向の信頼関係も双方向の信頼関係も築ける。また信頼関係は推移的にも非推移的にもできる。なおデフォルトは双方向かつ推移的な信頼である。ただし、ドメインコントローラーのレプリケーションがフォレストをまたいで行われる事はない。

## アクセス制御と監査
Windowsではファイルシステム、ファイル共有、プリンター、レジストリ、グループポリシー、サービス、WMIなど様々な箇所にアクセス制御を導入している。

### NTFSのDACL
Windowsの標準ファイルシステムの一つである'''NTFS'''では**DACL**(Discretionary Access Control List、**随意アクセス制御**)というアクセス制御機構を導入している。これはTCSECC2レベルセキュリティ（＝コモンクライテリア・ISO/IEC15408のEAL3に対応）を実現するために導入されたものである。

NTFS DACLはリソースの所有者が任意にアクセス権を規定できるアクセス制御方式（任意アクセス制御方式）で、具体的にはファイルやフォルダの「プロパティ」から「セキュリティ」を選択する事でアクセス制御を設定できる。

アクセス制御は複数の**ACE**（Access Control Entry）からなっており、各ACEは以下の4つの項目の組み合わせとして記述される：

#### 制御内容
「制御内容」として選択可能なのは以下の14種類である：「フォルダーのスキャンとファイルの実行」、「フォルダーの一覧／データの読み取り」、「属性の読み取り」、「拡張属性の読み取り」、「ファイルの作成／データの書き込み」、「フォルダーの作成／データの追加」、「属性の書き込み」、「拡張属性の書き込み」、「サブフォルダーとファイルの削除」、「削除」、「アクセス許可の読み取り」、「アクセス許可の変更」、「所有権の取得」、「同期」。

なお、アクセス制御設定画面の「簡易表示」では制御内容として「フルコントロール」、「変更」、「読み取りと実行」、「フォルダーの内容の一覧表示」、「読み取り」、「書き込み」があるが、これらは前述した14項目の組み合わせとして定義される。例えば「読み取り」は「フォルダーの一覧／データの読み取り」、「属性の読み取り」、「拡張属性の読み取り」、「アクセス許可の読み取り」、「同期」の5項目を全て「許可」にし、それ以外の9項目を全て「拒否」にするという設定である。

#### 適用先
「適用先」に関しては、ACEを定義するのがファイルの場合はそのファイル自身が選択肢としてあるだけだが、ACLを定義するのがフォルダである場合は、そのフォルダに属するファイルやサブフォルダにACEの制御が**継承**されるか否かを決める必要がある。

ACEの継承関係は以下の3つのフラグでより規定される：

フラグが3つあるので、組み合わせは8通りあるが、フラグIOのみ立っているのは無意味なので、実際はこれを除いた7通りが選択肢となる。フォルダの「プロパティ」＞「セキュリティ」で表示されるGUIベースのAECの設定では、この7通りの選択肢が以下のように表示される：

なお、アクセス権を全て拒否したとしても、そのリソースの所有者とCREATE OWNERグループのメンバーはそのリソースのアクセス権を変更できる。

cacls、icacls、Get-ACLのようなCUIベースのコマンドの場合は、前述したOI、CI、IO以外にさらに2つのフラグが表示される：

#### その他のアクセス制御
* 共有フォルダ（SMB・CIFSによるファイル共有）では**NTFS DACLとは別のACL**により共有アクセスのアクセス権を制御しており、このACLで付与されたアクセス権を**共有アクセス権**という。共有アクセス権は「共有フォルダのプロパティ>共有>詳細な共有」で設定可能。共有アクセス権とNTFS DACLのアクセス権が競合している場合は両者とも許可の場合のみアクセスが許可される。
*Windows Server 8では任意アクセス制御であるDACLの他に強制アクセス制御である**Central Access Policy**(集約型アクセス ポリシー)が実装されている。
* AzureではAzure RBACというロールベースアクセス制御が導入されている。

### WebDAV
**[[WebDAV]]**（Web-based Distributed Authoring and Versioning、ウェブダブ）はマイクロソフトが開発したHTTP拡張で、「ファイル システムなどの格納媒体を HTTP 接続で使用可能にする、HTTP 1.1 規格の拡張機能」で、WebサーバのIISなどに実装されている。WebDEVでは以下のアクセス権を設定できる：

* ディレクトリおよびファイルとそのプロパティの検索
* ディレクトリおよびファイルとそのプロパティの作成、変更、削除、および参照
* ファイルおよびディレクトリのカスタム プロパティの保存および検索
* 共同作業環境でのファイルのロック

### AD環境のアクセス制御
AD環境ではグループアカウントを利用してアクセス制御を行うので、まずグループアカウントの種別について述べた後、AD環境のアクセス制御の基本方針である「AGUDLP」について述べる。

#### グループアカウントの分類
グループアカウントには個々のマシンで管理する**ローカルグループ**と、Active Directoryで管理される**セキュリティグループ**とがあり、これらに加えて**配布グループ**というメールアプリケーションでメールの配布先を指定したりする為のグループの種類がある。なおドメイングループと配布グループはActive Directoryに関するグループの種類であるので、ドメインアカウントしかグループメンバーに出来ない。

セキュリティグループと配布グループはその有効範囲によって**ドメインローカルグループ**、**グローバルグループ**、**ユニバーサルグループ**に分かれる。ドメインローカルグループはドメイン内でのみ参照可能である。これに対しグローバルグループとユニバーサルグループはいずれも他のドメイン、ドメインツリー、フォレスト全体から参照可能であるが、グローバルグループはメンバー追加に制限があり、追加できるのは同一ドメインのアカウントやグローバルグループのみである。ユニバーサルグループにはそのような制限はない。

#### AGUDLP
'''AGUDLP'''はAD環境においてロールベースアクセス制御を行うためのマイクロソフト推奨の方針である。ここでAGUDLPはAccount（アカウント）、Grobal group(グローバルグループ)、Universal group（ユニバーサルグループ）、Domain Local group(ドメインローカルグループ)、Permission（パーミッション）の頭文字を集めたもので、これらを以下のように用いるとよいと推奨している：

規模がより小さい企業では上述したA、G、U、DL、Pを全て用意する必要はなく、AUP、AGLP、AGDLPなどにする。

### 監査
Windowsではユーザやプロセスの振る舞いを監査するため、監視者が予め指定した行為をユーザが行った場合には**監査ログ**に記述する事ができる。

何を監査ログに書き込むのかは管理者が**監査ポリシー**として事前にしてする必要がある。監査ポリシーは**コンピュータの構成\Windows の設定\セキュリティの設定\ローカル ポリシー \監査ポリシー**で閲覧・設定が可能である。監査ポリシーに記述可能なイベントとしては

* アカウントログオンイベント
* アカウント管理イベント
* Active Directoryのオブジェクトへのアクセスイベント
* ポリシー変更
* 特権変更
* プロセス追跡
* システムイベント

Active Directoryでは監査ポリシーは**SACL**(システムアクセス制御リスト)として記述される。

## 認証とID連携
### Window 10へのサインイン方法

Window 10には以下の4通りのサインイン方法がある：

上記4種類のサインインのうち、PINは個々の端末にしか保管されない為、PINが漏洩しても攻撃者がユーザになりすまして他のPCからMicrosoft アカウントにサインインする事はできない。

またサインインの際、事前に指定した携帯電話やメール アドレスに送信されるセキュリティコードを入力する2段階認証もできる。

### Active Directoryにおける認証
Active Directoryはユーザ認証としてケルベロス認証とNTLM認証が利用可能である。ただし、NTLMは（バージョン1、2双方とも）認証プロトコルそれ自身がセキュリティ上脆弱である事が知られているので、その利用は推奨されない。クライアント端末がWindows 7以降であればケルベロス認証に対応しているのでNTLM認証を停止可能である。

Azure ADは多要素認証にも対応している。

### シングルサインオン
#### Active Directoryによるシングルサインオン
Active Directoryはケルベロス認証により、ドメイン内の**[[シングルサインオン]]**を実現する。**ドメイン連携**の仕組みや**ADFS**（Active Directoryフェデレーションサービス）というを使えば、ドメインの垣根を超えてシングルサインオンが可能になる。

Azure ADの場合はSAMLやOpenID Connectなどでシングルサインオンを実現している。

Azure ADはシングルサインオン機能のよりマイクロソフトを含む各社のクラウドアプリケーションと連携可能で、Azure AD経由でアクセス可能なクラウドアプリケーションは2000種類以上ある（2016年現在）。

またWindow 10では事前にAzure ADにアカウントを登録しておくと、ユーザが端末にサインインしたときに透過的にAzure ADからも認証され、Azure ADの連携サービスにシングルサインオンできる。

#### Microsoft アカウントによるシングルサインオン
**Microsoft アカウント**（マイクロソフトアカウント、以前は **Microsoft Wallet**、**Microsoft Passport**、**.NET Passport**、**Microsoft Passport Network**、**Windows Live ID**）は、

* マイクロソフトのウェブサイト（例：Outlook.com）
* マイクロソフトのOS(例：Windows 10、Windows Phone、Xbox)が載っているデバイス
* マイクロソフトのソフトウェア（例： Visual Studio、Skype）

にログインするためのシングルサインオンWebサービスである。OpenID、FIDO2をサポートしている。

### Microsoft Identity Manager(MIM)
AD環境のAGUDLPではグループ管理が煩雑になる事を踏まえて作られたユーザープロビジョニングサービス。「ID統合」を行うためのサービスで、特に「「IDのライフサイクル管理を行う」ことで、管理者の作業・監査における省力化を目的」としている。下記のように、何度か名称が変更されている：

## ポリシー管理・ポリシー制御
### Windowsにおける権限
Windowsにおけるユーザ権限は、シャットダウンやバックアップなどマシン全体に関わる権限である**特権**とローカルログインなど個々のユーザに関する権限である**権利**に分かれる。

ユーザの特権・権利は**secpol.msc**(ローカル セキュリティ ポリシー)の「ユーザー権利の割り当て」から確認でき、グループポリシー（後述）は**gpmc.msc**（グループポリシーの管理）の「ユーザー権利の割り当て」から確認できる。

### ローカルセキュリティポリシー
各マシンローカルなセキュリティ設定は**ローカルセキュリティポリシー**と呼ばれ、secpol.mscツールを使えばアカウントに対してどのような特権・権利が与えられているかを確認できる。

### グループポリシー
ADでは**[[グループポリシー]]**という機能を用いて各ユーザアカウントの各端末における特権・権利を一括で設定できる。グループポリシーの管理はgpmc.mscツールを用いて管理できる。

各グループポリシーは**GPO**(グループポリシーオブジェクト）と**リンク**からなる。GPOにはユーザアカウントや端末に認可（ないし禁止）したい特権・権利を指定し、リンクはGPOを適用するOUを指定する。ユーザアカウントからなるOUやコンピュータアカウントからなるOUをリンクに指定する事で、ユーザや端末の特権・権利を一括で設定できる。

GPOとしては例えば以下のものが設定可能である：

セキュリティ周りでは例えば以下のものが設定可能である：

* ファイルやレジストリのアクセス権などの設定
* パスワードポリシーの設定
* ローカルへのパスワード保存やパスワードキャッシュ保存の禁止
* アカウントロックポリシーの設定
* 管理者グループメンバーの制限
* ファイヤーウォールの受信ポート制御
* シャットダウン時のページファイルの削除
* サインイン時の利用規約の表示

グループポリシーはGPMCというツールで管理する事ができる。

#### セキュリティポリシーテンプレート
なお、Windows Serverには**セキュリティポリシーテンプレート**というGPOの雛形が%SystemRoot%\Security\Templatesに複数置いてあるので、必要に応じてテンプレートの中身を書き換えて自組織の環境用にカスタマイズした上でテンプレートをGPOに読み込む事で容易にポリシーを設定できる。

#### AppLocker
AppLockerはアプリケーションの実行の許可・不許可を設定できるツールである。具体的には、「「実行可能ファイル（EXE）」「Windowsインストーラ・ファイル」「スクリプト」「DLL」の各カテゴリに対して、それぞれ「ファイルのパス」「ハッシュ値」「発行元（デジタル署名）」を設定し、これに「許可」「拒否」「例外」という3種類のルールが適用できる」。「AppLockerによるプログラムの実行制御は、ローカル・セキュリティ・ポリシーかグループ・ポリシーを使って行う」。

またApplockerでは「規則の実施」か「監査のみ」を選ぶことができ、前者を選ぶと実行の許可・不許可がAppLockerにより制御されるが、後者を選んだ場合には、AppLockerは実行を制御せず、実行結果がログに記載されるのみである。

### Security Compliance Toolkit
**Security Compliance Toolkit**はマイクロソフト内外の専門家のフィードバックに基づいてベストプラクティスをまとめたセキュリティベースラインで、マイクロソフトが過去に公開していたベストプラクティス集Security Compliance Managerを置き換えるものである。各セキュリティ分野別の推奨設定がスプレッドシート形式で記載されており、分析テスト機能を使うと必要なGPO、テンプレート、クライアントインストールスクリプトが入手できる。

またSecurity Compliance Toolkitのページから、マイクロソフトのポリシーアナライザツールや、ローカルWindowsポリシーを管理する「Local Group Policy Object Utility」もダウンロードできる」。

## 暗号化
### BitLocker
**BitLocker**はディスク全体を暗号化することができるセキュリティ機能。他のPCにディスクを接続されても、中身を読むことはできない。コンピューターにTrusted Platform Module(TPM)が搭載されていれば、それを使用して暗号化を行う。**BitLocker To Go**はUSBメモリなどのリムーバブル・ディスクの暗号化を行える。

### Encrypting File System
'''Encrypting File System(EFS)'''はNTFSバージョン3.0で追加された機能で、ファイルシステムレベルでの暗号化を提供する。この技術はコンピューターに物理的にアクセスする攻撃者から機密データを保護するために、ファイルの透過的暗号化を実現する。

### DPAPI

### Cryptographic API

#### Security Support Provider Interface

### Host Guardian Service

## セキュアなブートプロセス
Window 10では下記の仕組みによりブートキットやその他ルートキットに感染するのを防いでいる：

## アンチウイルスソフトウェア
### Microsoft Defender

**Microsoft Defender**はその内容が時とともに変化したが、2018年現在はマイクロソフトがWindows向けに提供するセキュリティ機能のシリーズ名で、下記のものを含んでいる：

### Microsoft Security Essentials

2009年9月29日～2020年1月14日にWindows XP, Vista, 7向けに提供していたアンチウイルスソフトウェア。

## VBS(Virtualization-Based Security)
**VBS**(Virtualization-Based Security、仮想化ベースのセキュリティ)は仮想化基盤Hyper-Vを利用したハイパーバイザーベースのセキュリティ技術で、Windows Defender System Guardともいう。ハイパーバイザーが通常のWindows OS自身を1つの仮想マシンとして実行し、それとは別にもう一つの仮想マシンVSM（Virtual Secure Mode）を実行する。Windows OSとVSMはハイパーバイザーレベルで分離されている為、Windows OS側の特権が攻撃者に乗っ取られても、VSM側は乗っ取られない。

そこでVBSではVSMにWindows OS自身よりも高い特権レベルを要求する操作を割り振っており、Windows OS、VSMの特権レベルをそれぞれVTL 0、VTL 1という（VTLはVirtual Trust Levelの略）。（リングプロテクションと違い、数字が大きいほど特権レベルが高い事に注意）。

VTL 0、VTL 1はリングプロテクションのRing 0、Ring 3とは独立した特権レベル概念であり、VTLが0か1か、リングプロテクションレベルが0か3かの組み合わせで計4つの特権レベルがある事になる。

WindowsではVBSを使うことで以下の3つのセキュリティ機能を実現している：

Windows 10 Fall Creators Update（バージョン1709）ではDevice Guardに代わる機能として**Windows Defender Application Guard（WDAG）**が導入されている。WDAGと並び、**AppLocker**もWindowsが持つもう一つのアプリケーションホワイトリスト機能であるが、両者はいわば補完関係にある。WDAGは自組織にとって可能な制限レベルに対してのみ強制すべきで、それより低いレベルに関してはAppLockerによる保護で補完する。

## 更新プログラムの適用
マイクロソフトでは、自社が提供するWindows、Microsoft Officeなどのソフトウェアの更新プログラム（パッチ）、およびデバイスドライバのダウンロードと更新を行うためサービスである**[[Microsoft Update|Windows Update]]**を提供している。

個人用の端末の場合には、マイクロソフトが提供するWindows Updateのサイトから直接更新プログラムを入手するが、企業などでは**WSUS**という中間サーバを社内に立て、WSUSが代表してマイクロソフトから更新プログラムを取り寄せ、各社員の端末はWSUSから更新プログラムを取り寄せる構成にするケースも多い。このような構成を取る目的は、企業の側が社員のPCにおける更新プログラムの適用状況を把握したり、マイクロソフトからの更新プログラムのダウンロードによる通信帯域の圧迫を避けたりする事にある。

Window UpdateやWSUSはバックグラウンドで'''BITS'''（Background Intelligent Transfer Service、バックグラウンド インテリジェント転送サービス）という仕組みを用いている。これはアイドル中のネットワーク回線の帯域幅を使用し、非同期にマシン間のファイル転送を行う事を可能にする。

### WSUS
'''WSUS'''（読みはダブルサス。Windows Server Update Services、ウィンドウズサーバーアップデートサービス）は、更新プログラムやデバイスドライバなどの適用制御用のサーバ・アプリケーションである。

クライアントPCは、グループポリシーまたはレジストリによって指定されたWSUSサーバに対して、指定された時間間隔（既定値は約22時間間隔）でアクセスしてローカルにダウンロードし、「自動更新」コンポーネントに表示する。なおダウンロードのタイミングは指定できない。

またユーザがクライアントPCにログインしていなくても更新プログラムのダウンロードや適用を行うよう設定可能である。

更新プログラムの適用が完了すると、クライアントPCは適用ステータスをWSUSサーバ（グループポリシー設定での名称は「イントラネット統計サーバ」）に報告する。WSUSサーバでは、このステータス報告をもとに更新プログラムやクライアントPCごとのレポートを作成する。

更新プログラムのダウンロードはBackground Intelligent Transfer Service (BITS) が実行しており、利用可能なネットワーク帯域に応じて回線がパンクしないように、また更新データの配布によって回線を独占し、ネットワークが使用不可になるような状況にならないように、通信量が自動的に調整される。

#### 更新プログラムの承認
WSUS管理者は、管理コンソール上で更新プログラムをどのように配布するか制御する事ができる。配布を許可する場合、更新プログラムに対して「承認」の作業を行う事が必要になる。WSUS 2.0 (SP1) においては、承認には以下の4つの状態がある。

#### クライアントPCのグループ分け
WSUSでは、クライアントPCを「コンピュータ・グループ」という任意の管理グループに分類して、グループ毎に更新プログラムの承認を行う事が可能である。コンピュータ・グループの登録とグループ分けは、管理画面で管理者が手動で行うか、グループポリシーまたはレジストリによってクライアントPCに対して設定することで行う。

コンピュータ・グループによって、きめ細かな更新プログラムの適用管理が可能になる。例えば、更新プログラムをまず適用試験用のPCに適用して評価を行い、安全を確認した後に一般のクライアントPCに対して配布する、といった適用制御が容易に可能になる。

#### レポート
クライアントPCから報告されるステータス情報やWSUSサーバ自身のステータス情報を元に、WSUS 3.0 (SP1) では、以下のレポートを作成できる：

#### クラス
以下の種類の更新プログラムを配布する事ができる（2008年7月末日現在）。

* Feature Packs : 新しく公開された機能。通常は時期リリース製品に含まれる。
* Service Packs
* セキュリティ問題の修正プログラム : 製品のセキュリティホールを修正する更新プログラム。
* ツール : ユーティリティ類
* ドライバ : デバイスドライバ
* 更新 : 重要性が低く、セキュリティに関連しない不具合を修正するための更新プログラム。
* 修正プログラム集 : 複数のホットフィックスやセキュリティ修正プログラムなどを集約した更新プログラム。
* 重要な更新 : 重要性が高く、セキュリティに関連しない不具合を修正するための更新プログラム。
* 定義自動更新プログラム : Windows DefenderやForefront Client Securityなどの定義ファイル。

## バックアップ、復元
### バックアップ
Windowsにはバックアップを取る方法がいくつかある。

* Windowsにはデフォルトでファイルのバックアップの機能が備わっている。例えばWindow 10では「更新とセキュリティ」の「バックアップ」を選択する事でバックアップが可能になる。この際バックアップしたいフォルダ全てを一覧から選択し、バックアップ先のドライブを選択する。
* こうしたファイルごとのバックアップとは別にシステムイメージを作成する機能も備わっているが、Windows 10 バージョン1709 Fall Creators Updateからは非推奨の機能になった。
* Windows Server 2008以降にはWindows Server Backupというバックアップ機能が標準で装備されており、そのコマンドラインインターフェースとしてwbadmin.exeが提供されている。（wbadmin.exeはクライアントWindowsにもデフォルトで入っている為、一部制限があるもののクライアントでもwbadmin.exeを使ったバックアップが可能）。
* Azureを契約していれば、Azure Backupの機能を使う事でMicrosoft Cloudのデータ 、およびオンプレミスのWindows ServerやWindows Clientのデータをバックアップできる。

### 復元
Windowsには「システムの復元」という機能が備わっており、システムに不具合が生じたとき、過去に作成した復元ポイントまでシステムの状態を巻き戻す事ができる。「システムの復元」で復元されるのは具体的には、OSの重要ファイル、レジストリ、設定、アプリケーションやデバイスドライバの追加・変更などである。

またWindows 10の「更新とセキュリティ」には「このPCを初期状態に戻す」という機能がついており、初期状態にリセットできる。

## 著作権保護・情報保護
### Information Rights Management

IRMは、デジタル著作権管理（DRM）の一種であり、機密情報を不正アクセスから保護する技術である。情報の暗号化や選択的機能拒否機能を使うことができ、企業の電子メール、 Microsoft Word文書、 ウェブページなどの文書へのアクセスを制限し、許可されたユーザーのみが閲覧、編集することができるようにする。Microsoft Officeなどの対応ソフトウェアを使うことで、情報を作成、表示、編集、配布できる権限を情報毎に個別に設定することができる技術である。

### Active Directory Rights Management Services

Windows Serverの機能であるInformation Rights Management (IRM)を利用するためのサーバソフトウェア。**AD RMS**と省略する。AD RMSはWindows Server 2003で新規に実装された。

### PlayReady

### Protected Media Path

### Azure Information Protection

### Windows Information Protection

## その他
### Control flow guard
CFI(Control-Flow integrity)技術の一つ。インストラクション ポインタの制御を奪う攻撃に対策するため、「コンパイル時にIndirect Call(call eaxなど)を精査して、正当な呼び出しだけを「ホワイトリスト化」したうえで、呼び出し先アドレスにチェックするための関数を挿入する」。

### Dynamic Lock
ユーザが所有しているスマートフォンとBluetoothをあらかじめペアリングしておくと、Bluetoothの電波強度を測り、ユーザ（が持っているスマートフォン）がPCから離れるとおよそ1分後に、自動で画面ロックがかかる。

## 関連項目
* :Category:Windowsのセキュリティ技術
* 信頼できるコンピューティングのセキュリティ開発ライフサイクル
* Threat model
* STRIDE

## 脚注

### 注釈

### 出典

## 参考文献
* 
*
* 
*