PowerShell Core 6にセキュリティ脆弱性、アップデートを

【連載】

PowerShell Core入門 - 基本コマンドの使い方

【第59回】PowerShell Core 6にセキュリティ脆弱性、アップデートを

[2019/07/26 19:39]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

PowerShell Core 6.2.2登場

Microsoftは2019年7月17日、「Microsoft Security Advisory CVE-2019-1167: Windows Defender Application Control Security Feature Bypass Vulnerability」において、PowerShell Core 6.1およびPowerShell Core 6.2にセキュリティ脆弱性が存在すると伝えた。このセキュリティ脆弱性を利用されると、PowerShell Core制限付き言語モードが回避される危険性があるとされている。

Windows Defender Application Control (WDAC)のセキュリティ機能をバイパスすることができるというもので、攻撃者がWDACの実施を回避できる可能性があるとしている。すでに修正したバージョンが公開されており、Microsoftは修正されたバージョンにアップデートすることを推奨している。修正が実施されたバージョンは次のとおり。

  • PowerShell Core 6.2.2
  • PowerShell Core 6.1.5


LinuxでSnap経由でPowerShell Coreをインストールしてある場合には自動的に修正されたバージョンへアップデートが実施されるが、Windows 10またはmacOSを利用している場合には自分でアップデート作業を実施する必要がある。今回はこの修正されたバージョンへアップデートする方法を取り上げる。

Windows 10

Windows 10では、まずインストールされているPowerShell Core 6をアンインストールする。設定アプリケーションを起動し、「アプリ」を選択する。

設定アプリケーションを起動し、「アプリ」を選択

表示されるアプリケーション一覧から「PowerShell 6 x64」を選択肢、「アンインストール」をクリックする。

「PowerShell 6 x64」の「アンインストール」をクリック

Releases - PowerShell/PowerShell|GitHub」からPowerShell-6.2.2-win-x86.msiをダウンロードして実行する。インストールウィザードが起動するので、手順に従ってインストールを行う。

PowerShell Core 6.2.2インストーラ

インストールが完了したら次のようにPowerShell Coreを実行してバージョンを確認する。

PowerShell Core 6.2.2の動作を確認

macOS Mojave

macOSでは、まずインストールされているPowerShell Core 6を次のようにアンインストールする。

PowerShell Core 6をアンインストール

$ sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell

Releases - PowerShell/PowerShell|GitHub」からpowershell-6.2.2-osx-x64.pkgをダウンロードしてから、次のコマンドを実行する。

PowerShell Core 6.2.2をインストール

$ sudo installer -pkg powershell-6.2.2-osx-x64.pkg -target /
installer: Package name is PowerShell - 6.2.2
installer: Upgrading at base path /
installer: The upgrade was successful.
$

インストールが完了したら次のようにPowerShell Coreを実行してバージョンを確認する。

PowerShell Core 6.2.2の動作を確認

Ubuntu 18.04 LTS

Snap経由でPowerShell Core 6をインストールしたのであれば、次のように自動的にアップデートが実施されている。

Snap管理下のPowerShell Core 6は自動更新

$ snap list
Name                Version          Rev   Tracking  Publisher              Notes
core                16-2.39.3        7270  stable    canonical✓             core
fast                0.0.4            4     stable    ddooo                  -
hello               2.10             38    stable    canonical✓             -
powershell          6.2.2            36    stable    microsoft-powershell✓  classic
powershell-preview  7.0.0-preview.1  23    stable    microsoft-powershell✓  classic
tree                1.8.0+pkg-3fd6   18    stable    brlin                  -
$

PowerShell Core 6.2.2の動作を確認

なお、Snap経由でPowerShell Core 6をインストールする場合には次のようにコマンドを実行する。

PowerShell Core 6をSnap経由でインストール

sudo apt update
sudo apt upgrade
sudo apt install snapd
sudo snap install powershell

Windows 10とパッケージ管理

PowerShell CoreのマザープラットフォームはWindowsなのだが、ここでわかるように運用という面ではLinuxがもっとも簡単だ。Snap経由でインストールしておけば常に最新版にアップデートされる。オペレーティングシステムごとにパッケージ管理の方法が異なるのでどうしようもないところなのだが、今のところWindowsとmacOSでは手動でアップデートし続ける必要がある。

Microsoftが最終的にどのような方式でPowerShell 7をWindows 10以降のプラットフォームに取り込んでいくのかはわからない。しかし、現状のままではあまりにも面倒だ。かといって、月1のアップデートでの提供となると、セキュリティアップデートとしては少々遅すぎるような気もする。開発版の提供と正式版の提供を並列化する必要があるなど、Windows 10におけるPowerShell Core/PowerShell 7の提供方法は今後変わっていく可能性があり、しばらく注目しておく必要がありそうだ。

参考資料

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
知りたい! カナコさん 皆で話そうAIのコト
教えてカナコさん! これならわかるAI入門
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る