忙しい人のためのセキュリティ・インテリジェンス No.27 - 2021/03/29
今週のおすすめ/一言所管
しばらく(個人的な理由で)Trusted Computingのインプットをメインにします
特集: Trusted computing
Trusted Computingとは
Trusted Computing Groupによって開発・標準化された技術。
構成管理の証明や機微情報の安全な保管など、Trusted Systemの一部の要件を満たす
Trusted System: 特定のセキュリティポリシーを適用するために、特定の範囲で依拠(relied)されるシステム
つまりユーザーにとって信頼されるシステムとは、ユーザーが安全と感じるものや、秘密裏に不適切な処理ぬきにタスクを実行できるようなシステム
信頼できる処理(Trusted Computing)は、プログラムが期待される動作をそのまま改変されることなく、プログラムが無害か正当か、実行されるタスクが望ましいか望ましくないか判断が可能
この過程で作られたのがTPM
ハードウェアやソフトウェアによって期待通りの動作がコンピュータ適用される。これは、他のシステムによってアクセスできないユニークな暗号鍵を含むハードウェアをロードすることで達成される
ハードウェアのオーナーのためのセキュリティなだけではなく、オーナーからのセキュリティでもある
Trusted Computingの6つの技術コンセプト
Endorsement Key
Secure Input and Output
Memory Curtaining / Protected Execution (メモリの分離の話)
Sealed Storage
Remote Attestation
Trusted Third party
Trusted Computingに対する批判
一方、リチャード・ストールマンが「Teacherous(信用できない・裏切る) Computing」と言ったように、批判も少なくない
基盤あるいは企業の設計者や実装者に多くの権限と制御を与えすぎる
基盤が完全なroot of trustになる
互換性問題
例えばその基盤が署名方法・アルゴリズムをサポートしてないと使えない
ベンダーアンロック
ユーザーの著作物には権利がある。当然、所有者はそれを別のデバイス等に移転する法的権利を有する。Trusted Computingではユーザーがその権利を行使できなくなる可能性がある
Remote Attestationをつかった場合は匿名性の毀損も問題になる
Remote Atestaitionはコンピュータの一意の特定が可能になる。
例えば「紛失したスマホを探す」などの機能をベンダー・プラットフォームのIDでログインすると、一意の端末とユーザーが紐付いてしまう。
これにより、個人を特定しやすくなり、それはジャーナリストや内部告発などの匿名性を保ちたい要件には悪影響を及ぼす可能性がある
基盤やシステムの正当性を必ずしも常に検証できるとは限らない
Trustworthy Computing
社会がコンピュータシステムへの依存度とThe Internetの隆興が始まったと同時に、システム上の脆弱性も高まった。
ビル・ゲイツは2002年にTrustworthy ComputingイニシアチブをMicrosoftないで開始
このときに主領域が定められた: Security, Privacy, Reliability, and Business Integrity
というわけで、根本的に違う
TEE: Trusted Execution Environment
TPMにUser Programmable(第三者がプログラム可能)になったもの
TEEの分類
World View Model: Normal WorldとSecure Worldで分離されたモデル。それぞれのユーザ・カーネルモードは分離されている
ARM Trust Zone, RISC-V Keystone
Single Address Model: ユーザー空間のプログラムからTEEに切り替わる
Intel SGX
ARM TrustZone, Intel SGX, RISC-V Keystoneなど
Arm系は機密情報処理などのメモリ消費が少なく、スマホで使うユースケース
機密情報処理: 鍵管理、DRM処理、指紋認証処理など
Intel SGX, AMD SEVはプライバシーデータ処理などのメモリ消費が多い、サーバで使うケース
プライバシーデータの処理: 機械学習の重み付けデータ、プライバシー保護、ゲノム解析
TEEの課題
TEEシステムソフトの仕様だけでなく、OSバージョンなどの実装複雑姓が高い
TEEの宝庫旺盛
仮想マシンそのもののTEE化
TEEないを仮想化して複数のTruted OSを実行
TEE関連組織・規格
Global Platform
CCC: Confidential Computing Consortium (Linux Foundation)
TCG: Trusted Computing Group
ARM PSA(Platform Security Architecture) Certificate
IETF
programmable だけどセキュリティを重視するサービスの場合に、どうプラットフォームのセキュリティが使えるか、っていう話
TEEでのサービス提供は徐々に増えつつあるがTEE提供機能そのものに脆弱性や攻撃があったり(研究報告)、TEEがのるプラットフォームそのものの設定齟齬によって予想外の動作が生じる報告もある
TEEも、やはりSecuity on chipを使ったセキュリティ・リスク対策をしている
主なリスク
プラットフォーム上の鍵管理リスク
TEEの脆弱性と課題
課題: 設計、実装、HW
設計: TEE機能が広くなっている -> 発生しうる脆弱性が増える
脆弱性が顕在化しうる状況
プラットフォーム/ハードウェア
ハードウェアの脆弱性がでてしまうと、対応が困難
アプリ・サービス
第三者のアプリの動作を前提とした対策が求められるスマート・デバイスの OS やパソコンと比べると、TEE のセキュリティ機能や評価手法は各 SoC ベンダー等によってバラつきが生じる
SoC(security on chip), deviceメーカー, アプリ提供者がみんなバラバラであり、その違いに、設計・実装がおいつかず脆弱になってしまった
よって、アプリ・サービス提供者が、プラットフォームの構成や仕様に関する情報を得て、対策を講じる
ハードウェアRoT:
ソフトウェア一貫性による改ざん予防(例: Secure Boot)
SIMカードも1つの形態
が、2010にSIMカード製造会社だったGemaltoで情報漏えいがあるなど
Widnows10/Intune/Endpoint
Compliance
他
Google
個人情報や気密性を要する情報は、政府機関における利用は許容
取り扱う場合はいったん停止、タスクフォースによるガイドライン提示に動く
自治体向けワクチン接種予約システムは開発段階なので継続する
行政/会社/団体
Data iam pokiucyにタグ使えるようになったり、deployment circuit breaker for ecsがサポートされたり
LastPassのTOTPコードを拡張アプリからとれるように
https://gyazo.com/da79d6dbb39eea98ea24b4601d37ea37
いや、そんなん普通わからんやん
privateリポジトリのシークレットスキャンがGA。なお、Enterpriseのみ
イベント/勉強会/発表資料]
自治体向けコンサル会社のサーバーがランサムに感染 -> 流出
その他
過去事例からの確率予測判断、計測データの連携技術、クラウド上で強化するソフトウェアを前提として業務を設計すると、伝統的なCRUDに基づいた業務フローとは異なることになるか
技術要素によって業務フローが変わる時代