
関連するソリューション

アプリケーション開発

マネージドサービス(運用・保守)

セキュリティ製品

業務改革
フェロー 関原 弘樹
今年も残すところあと一か月、ラストスパートの時期となりました。体調に気を付けて最後まで駆け抜けたいものです。
ちょっと古いニュースになりますが、今年の中盤に「コンシューマ向け
x86CPU
の市場」におけるシェア(販売数ベース)で
AMD
が
Intel
を逆転した※ということをつい最近知りびっくりしました。
主な理由としては
Intel
の最新世代
CPU
が品薄であることと、一昨年リリースした
AMD
のコンシューマ向け
CPU Ryzen
の
C/P
(コスト
/
パフォーマンス)がこれまで好調であったことによるものだそうです。
※外部サイト:
AMD
が
CPU
でインテルを大逆転、シェア
6
割乗せ
Intelのサプライ戦略におけるミスもあるとはいえ、
10
年ほど前は
Intel
が独禁法の適用を受けないためだけに生かされている※とまで言われた
AMD
がこの
2019
年に王者
Intel
を上回るとは天地がひっくりかえったようなインパクトがあります。
※外部サイト:
インテル、
AMD
と独禁法違反訴訟などで全面和解
さて今回はこの快挙にちなんで
AMD
の「サーバ向け
CPU
」と「
CPU
のセキュリティ機能」についてみていきましょう。
■現在のCPU
最初に内容をご理解いただきやすくするために最初に現在の
CPU
についてちょっとお話します。
現在のパソコンやサーバに利用されている
CPU
のアーキテクチャ(ここでは命令のセットとお考えください)は
Intel
が
1985
年に発表した
i386
という
CPU
の流れをくむ
x86
というものになります。
皆さんが一般的に使っている
Windows
や
Linux
が動作する
PC
(パソコンという意味ではなく
IBM”PC”/AT
互換機のことで一般的に今販売している
Windows
パソコン
/
サーバ
/
タブレットと
Linux
サーバ等が該当します。また現在の
Mac
もこの系列の
CPU
を採用しています。
かつては様々なアーキテクチャの
CPU
がありましたが、この
x86
は基本となる命令セットにその後のトレンドで必要とされる命令が追加され、現在「携帯電話・スマートフォンや組み込み
”
以外
”
の分野」では主流として利用されていいます。
なお、追加された命令として代表的なものとしては
①マルチメディアや
3D
処理のため効率よく大量のデータに対して同一命令で演算可能な
SIMD
(
Single Instruction, Multiple Data
)である
MMX, 3DNow!, SSE
や
AVX
の各シリーズの命令セット
②
32bitCPU
である
x86
が
64bitOS
(現行の
Windows
サーバ
OS
はすべて
64bitOS
です※)に対応するべく開発されたが
AMD64
(
x64,
EM64Tとも呼ばれる)の命令セット
③
TLS
で多用される共通鍵暗号方式である
AES
(
Advanced Encryption Standard
)の演算を加速する
AES-NI (AES instruction set)
という命令
等が存在します。
※誤解を恐れず非常に簡単に説明すると
32bitCPU/OS
は最大で一度に
2
進数
32
ケタのデータが扱え、
64bitCPU/OS
は最大
64
桁のデータを扱えます。そのため
64bitCPU/OS
の方が扱えるメモリサイズやディスクサイズが大きくなり、大量のデータを利用するプログラム上では性能が高くなります。
※外部サイト:
x86
※外部サイト:
AMD64 x64
ちなみに
x86
以外で現在シェアを持つ
CPU
アーキテクチャとして
1990
年創業で、
2016
年ソフトバンクが買収した
ARM
ホールディングス傘下の事業会社
ARM
が設計・ライセンスしている「
ARM
アーキテクチャ」が存在します。
ARMアーキテクチャは低消費電力が持ち味でスマートフォンやコンシューマゲーム機、組み込みの機器で広く使われています が、 ARM 自身は CPU を製造しないので CPU を 製造するベンダはIntel, Freescale, Renesas Electronics等他社 となっています。
※昔では考えられませんでしたが、今はx86とバイナリ互換のARM版のWindowsも存在するようです。
※外部サイト:
ARM 版 Windows 10
出典:
wikipedia.org
■
AMD
の歴史
ここで、今回のコラムの主役となる
AMD
の歴史を少し。
その昔
=x386
が発表される以前、
1970
年代の
AMD
(
Advanced Micro Devices, Inc.
)は
Intel
のセカンドソース
CPU
(
CPU
の安定供給のためライセンスを受けて複数ベンダで製造されるコピー製品)を提供するベンダの一つでした。
その後、
Intel
との契約問題を経て独自に開発した「
Intel
互換
CPU
」のビジネスを展開しますが一定のニッチ市場にとどまります。
Intel側が「
CPU
とマザーボードインターフェイスに関する物理仕様」を知財で確保し、他者にライセンスしない方針をとった
1990
年代後半以降には
AMD
も再び路線変更を強いられます。
Intel
の
PentiumII
向けインターフェイス
Slot1
他の
CPU
ベンダにはライセンスしなかった
※外部サイト:
© Raimond Spekking / CC BY-SA 4.0 (via Wikimedia Commons), CC
表示
-
継承
4.0,
しかし、ここでついに
AMD
は
K7
シリーズという「基本となる命令セット」が
x86
と互換となる独自開発の
CPU
を市場に送り込み、その
C/P
が受け入れられることで一時的とはいえコンシューマ市場で
Intel
と五分のシェアを確保することに成功しました。
ここで現在の
AMD
の戦略と現在の業界ポジションが確立したといったところでしょうか。
AMDはこれを含めて
2
回ほど
Intel
のアーキテクチャ移行のミスに乗じてその牙城を切り崩しかけましたが、今年の逆転劇までは万年ナンバー
2
に甘んじていました。
■
AMD
の最新サーバ向け
CPU
この年末の
x86
サーバ市場に目を向けると
AMD
がサーバベンダと連携し、
この秋発表した自社の最新サーバ向けCPU(第2世代EPYC)
を搭載したエントリー・ミッドレンジ向けサーバのプロモーションを積極的に行っています。
第
2
世代
EPYC
イメージ
出典:
AMD
AMD64という拡張命令セットで
64bitCPU
の世界を切り開いた
AMD
は
10
年以上前にもサーバ向け
CPU
「
Opteron
」を展開していましたが最終的にシステム構成をスケール出来た
Intel
の開発力の前に敗北しました。
しかし
AMD
は今回、この第
2
世代
EPYC
搭載サーバの
シングルソケット版(つまりハイエンドのセグメントは除くがそれでも64コア搭載)に戦略的な価格を設定
し、
Intel
製
CPU
を搭載した同ランクの(
Xeon
)サーバと比較し、
C/P
の点でダブルスコアに近い圧倒的なメリットがあることを訴求しています。(こちらでは未検証です)
■性能向上へのアプローチ
ここではなぜ第
2
世代
EPYC
の
C/P
がよいのかということについて
AMD
の資料から見ていきます。
前提として
Intel
創業者のひとりゴードン・ムーアが
1965
年に論文化した
ムーアの法則(半導体の集積率は1.5年で2倍のペースで進む。集積率が上がると同じサイズでトランジスタを多く搭載できるため、コストが変わらず性能をあげられる)
も今は昔。
ここ数年
CPU
のプロセスルール(ハードウェアロジックのサイズ)の微細化はリーク電流の影響(小さいスペースにトランジスタを詰め込むと回路間で常時電流が漏れ出すので消費電力を制御できなくなり、それに伴う発熱をコントロールできなくなる)
10nm
前後(このサイズの基準は各ファブ
=
工場により異なる)で足踏みしている現実があります。
AMDはここでライバル
Intel
が苦戦していることを逆手に取り、同社最新
CPU
である 第
2
世代
EPYC
では以下のようなハイブリッド構成が採用しました。
①
CPU
コアのダイ※のみを高コストだが高性能で小面積に集積可能な最先端のプロセスルール(
AMD
の製造委託先
TSMC
の基準による
7nm
※)で設計・製造
②メモリコントローラ
+I/O
コントローラや
AMD Secure Processor(後述のセキュリティチップ
)
等の特定の機能は
CPU
コアから外出しにされた上、
1
世代前のコストが安いプロセスルール(おそらく
GlobalFoundries
ラインを転用した
14nm
)で設計・製造
③「①」最大
8
個と「②」
1
個をまとめて一つの
CPU
としてパッケージングし販売
#メモリコントローラ(DRAMへのアクセス機能)が外付けだと接続に広帯域が必要ですが他コアにつながるメモリにアクセスした際の応答性能が向上します。
※
1
つのダイ(単一チップ)あたり
8
コア内蔵×最大
8
ダイ
=1
ソケットあたり最大
64
コアを搭載可能
※外部サイト:
AMD
次世代「
Zen 2
」「
Navi
」チップを
TSMC
で製造へ。
GlobalFoundries
が
7nm
プロセス開発を無期延期
第
2
世代
EPYC
アーキテクチャイメージ
出典:
AMD
AMDではこれらの手法により最新
CPU
である第
2
世代
EPYC
を高性能かつ安価で提供することが可能と主張していますが、見る限りロジック的には問題ないように思えます。あとはこれまでの
AMD
になかった実績でしょうか。
■これまでの
CPU
のセキュリティ機能
このセクションでは、まずこれまでの
CPU
(
+
チップセット)が持っているセキュリティ機能についてピックアップしていきます。
もっとも汎用的で重要なものは
CPUのリング保護機能
ですね。
これは
OS
上の権限と密接に関連するもので、簡単にいうと「カーネルモードのプロセス(デバイスドライバや
OS
が実行するプログラム)は
Ring0
の高い権限で」「ユーザモードのプロセス(ユーザが実行するプログラム)は
Ring3
の低い権限で」というように実行するプログラムにより、
CPU
レベルでレジスタやメモリ等のリソースへのアクセス権を強制するものです。
このアクセス権の強制により、
OS
全体を制御されるプロセスが使うリソースが個々のユーザが実行させるプロセスから隠蔽※されることになり、セキュリティが担保されるという原理になります。
※例えば
2
つの仮想マシンを立てているサーバ上で仮想マシンから
OS
が利用するメモリ空間や他の仮想マシンのメモリ空間が覗けない等…
この仕組みはそれなりにオーバーヘッドもあり、実行するプロセスのパフォーマンスとトレードオフになるため、近年仮想化への対応やパフォーマンスへの改善のための仕組みが脆弱性の温床となっています。
※外部サイト: 英語版ウィキペディアの Hertzsprung さん , CC 表示 - 継承 3.0,
また、典型的なアプリケーションの脆弱性である、
バッファオーバーフロー(BoF)を防ぐメモリ保護機能の「NXビット((No eXecute bit)」
という機能も存在します。※
Intel
での呼び名は「
XD
ビット
(eXecute Disable)
」
これは値をチェックしないよう設計されたアプリケーションの入力バッファを溢れさせてメモリに格納された重要な値を書き換えるという
BoF
の攻撃手法に対し、書き換えられてはいけないメモリ空間に書き込み禁止フラグを立てて防御するという仕組みの拡張機能として
AMD64
の
CPU
と一部の
x86
の
CPU
に実装されています。
そのほかには
CPU
ではないですがマザーボード上のチップセットに付随する機能の一つとして実装されている
TPM(Trusted Platform Module)
が挙げておきます。
TPMはハードディスク暗号化に使用する鍵の管理等で活躍しますが、内部で公開鍵
/
秘密鍵のペアを生成したり、秘密鍵を外部に漏らさない形でデジタル署名を生成することができる、耐タンパ性(チップ自体からデータを盗み出したり、チップ自体を改ざんしようとした場合に検知・防御が可能な性質)を持ったチップです。データ改ざん検知のためのハッシュ値の計算を行う機能も持っています。
■
AMD CPU
のセキュリティ機能
さて、ここからは
AMD
製である各世代の
EPYC
が共通して搭載するセキュリティ機能についてです。
といってもまだまだフィールドでのレビューは少ないので机上のお話となってしまいます。
AMD Secure Processor
出典:
AMD
前のセクションでも少しふれましたが、上記
AMD
サイトの資料を見るとこの
EPYC
のパッケージ内には
「AMD Secure Processor」
というセキュリティチップが搭載されていることが確認できます。
セキュリティチップの実態は
Arm Cortex-A5というARMアーキテクチャのCPUで、独自にセキュアOSが動いている
と記載があります。
Arm Cortex-Axといえばスマホの
CPU
そのもの、さらにその上で独自
OS
が動いているとなるとこれはもう
Android
のスマホが
CPU
の中に入っているというイメージでしょうか!?
EPYCではこのセキュリティチップが暗号鍵の生成から廃棄までのライフサイクル管理や暗号アルゴリズムの演算機能を持ち重要なセキュリティ機能を担うことになっています。
EPYCではこのように独立した
ARM
コアが
x86CPU
コアにセキュリティ機能を提供しているため、
PC
上のすべてのソフトウエアから技術的に隔離されているようです。
これはもう
HSM((Hardware Security Module言い換えると強力で独立したTPM)※を内蔵
しているようなもので他の
CPU
にはないセキュリティレベルが期待できます。
※外部サイト:
HSM
とは
また、
EPYC2
に関して発表されている具体的な利点としてウェブサイト上に以下の
3
点がピックアップされており、
1)
は現在全盛のブートシーケンスに割り込むマルウェアに対抗する機能、2
)
と
3)
はこれまでに
Intel
や
AMD
の
CPU
で指摘されていた
Spectre
等のサイドチャネル攻撃による脆弱性に対抗する機能となっています。
--
1)
ソフトウェアが破損することなく確実に起動
近年はやりのマルウェアによる
BIOS
やブート領域等のブートプロセスの改ざんを検知し、悪意のある変更を加えて
OS
がブートすることを防ぐ
Secure Processor
によるセキュアブートの機能。
一般にコンピュータシステムのブートは下から上への多段です。下のレベルで悪意のある変更があった場合後続フェーズではそれを検知したり修正したりすることは非常に難しい(無理)です。
EPYCの以前のバージョンでは脆弱性も見つかっていますが、それらの対策が完了したのでしょう。
ブートシーケンスイメージ
セキュアブートについてはこちらの記事もどうぞ
【エバンジェリスト・ボイス】ランサムウェア「
WannaCry
」亜種と
UEFI
セキュアブート
2)
内部の脆弱性を削減
SME
(
AMD Secure Memory Encryption
)
Secure Processorに
AES
暗号化エンジンが内蔵されているため、アプリケーションとそのパフォーマンスに影響を与えることなく
DRAM
上で取り扱うデータを暗号化可能。
省電力ステート時に
DRAM
から
HDD
暗号鍵等を取り出し
HDD
の内容を窃取するコールドブート攻撃等に対抗。
DRAM
にロードされたデータの暗号化(
C-bit
によりセレクタブル)
出典:
AMD
3)
仮想インフラストラクチャーとクラウド・インフラストラクチャーの保護
SEV
(AMD Secure Encrypted Virtualization)
v2
CPU上のみで認識可能な
500
個以上の個別かつブートごとに変更となる
AES128bit
の暗号鍵を使用してホスト
DRAM
上の
VM
関連ファイルを暗号化。
万一何らかの原因で他
VM
からのエスケープやハイパーバイザーの乗っ取りが発生しても個々の
VM
のデータにはアクセス不能。
SEV
セキュリティモデル(
VM
がハイパーバイザーから分離される)
出典:
AMD
VM
関連ファイルの暗号化イメージ(暗号鍵は個別)
出典:
AMD
以前発表された資料からの情報ですが、
VM
だけでなくコンテナベースのアプリケーションの隔離もスコープに入っているようです。
コンテナのサンドボックス化イメージ
出典:
AMD
--
クラウドやコンテナ等の仮想化基盤として利用されることがデフォルトである今のサーバ向け
CPU
のセキュリティ機能はここまで進化していた
のですね。
データの保管中、送信中のみならずこれまで難しく現在重要なイシューであるデータ利用中のセキュリティが向上することは今後大きなメリットとして歓迎されるのではないかと思います。
ただ、セキュリティ機能といえ、機能が多いということはそれだけ新しい攻撃対象や脆弱性が増え、リスクが高まるということを意味します。
サイドチャネル攻撃を起点とした
CPU
の脆弱性探しが全盛の昨今、このあたりがウィークポイントにならないか少しだけ気になるところではあります。
CPUの脆弱性については松岡エバンジェリストの以下の記事もご覧ください。
【エバンジェリスト・ボイス】忘れたころに振り返る
CPU
の脆弱性
【エバンジェリスト・ボイス】 2018 年 CPU 脆弱性まとめ
■まとめ
競争があってこそ進歩があるという意味では今後の
Intel
と
AMD
のシェア争いは大歓迎です。
Intelからの視点でいうと新ファブへの投資や新技術を使ったメモリ戦略のニュースが流れている中でその全体戦略が必ずしも理解できているわけではありませんが、
AMD
がこれまでのポジションから脱却しリーダとなれるのかどうか一つのチャンスであると考えらえます。
CPUの源平合戦が -娑羅双樹の花の色、盛者必衰の理をあらはす。奢れる人も久しからず、ただ春の夜の夢のごとし。- となるのかどうか来年以降注目ですね。
2019年の私のコラムはこれで最後となります。来年もどうぞよろしくお願いいたします。
Hiroki Sekihara, CRISC, CISSP, CCSP, CEH, PMP, CCIE #14607 Emeritus,
AWS Certified Solutions Architect – Professional,
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。