计算机组成原理和安全性

  1. (コンピュータシステム・アーキテクチャ特論)安全性
    1. なぜ,マイクロプロセッサでセキュリティー?
    2. マイクロプロセッサにおいて

(コンピュータシステム・アーキテクチャ特論)安全性

なぜ,マイクロプロセッサでセキュリティー?

如图, 在指令执行的时候存在安全隐患

image-20200719212917547image-20200719212959358

マイクロプロセッサにおいて

  1. (ブラックリスト)不正プログラムを探し出す

  2. (ホワイトリスト)正規プログラムだけを実施する

  3. 実行制御の乗っ取りを防止する

    • バッファ・オーバフロー攻撃 データ境界を越えた書込み:strcpyなどで スタックの破壊(スタック・スマッシング):攻撃コードの挿入と戻りアドレスの改ざん プログラム実行制御の乗っ取り:改ざんされた戻りアドレスがPCに設定

    • Secure Casheによるバッファオーバフローの動的検出 ハードウェアによる戻りアドレス改ざんの検出: 戻りアドレス書込み時に複製(レプリカ・ライン)を作成 戻りアドレス読出し時に複製と比較 LIFO以外のアクセスにも対応

      image-20200719220127840

  4. データの改竄を検出する

    • Spoofing Attack ある偽のデータを生成し,それが本物であるかのように見せかける

    • Splicing Attack データ・フラグメントのコピーや並び替えを行い他メモリ領域に格納する

    • Replay Attack 過去に生成された有効なデータを再度入力させる

    • Message認証コード(MAC) 命令ブロック毎に(CBC-MACやHMACなど)MACを計算し追加する. 命令キャッシュへのフェル時にMACを確認する. 具体的に,「書き込み時刻,書き込みアドレス,書き込みデータ,秘密鍵」でMACを生成する.つまり「いつ,誰が,どこの」書き込んだデータかを記録する.

    • ハッシュ木によりメモリイメージのダイジェストを保存する ハッシュ値のキャッシングにより性能オーバヘッドを削減する データ読み出し時:rootまでのハッシュ値を比較する.(メモリ整合性検証の実行) データ書き込み時:rootまでのハッシュ値を更新する.(ハッシュ木を更新する)

      image-20200719215247971


转载请注明来源 https://tianweiye.github.io