Upgrade to Pro — share decks privately, control downloads, hide ads and more …

システム開発とセキュリティのお話

 システム開発とセキュリティのお話

2022/11/26 山形県内ITコミュニティ共催! LT大会

イマドキなアプリケーション開発では、OSSやコンテナイメージなどの「アリモノ」の活用がよく行われますが、その「アリモノ」の安全性は大丈夫でしょうか?
ソフトウェアサプライチェーン攻撃のお話とセキュリティとうまく付き合う大切さについて述べました。

Yoshihisa Sato

November 26, 2022
Tweet

More Decks by Yoshihisa Sato

Other Decks in Technology

Transcript

  1. Wordpressのインフラを用意する ✅ Wordpressとは? ➢ PHPベースのOSSなCMS(Content Management System、コンテンツ管理) ➢ 全世界のCMSの市場シェア: 63.5%(2020年8月現在

    *1) ➢ 日本国内のシェア: 83.1%がWordPress(2020年8月現在 *1) ➢ インフラ構築を必要としないホスティングサービス多数。 ✅ ホスティングを使用せず、Wordpressの実行環境を自前で用意するとしたら? ➢ DBサーバを用意 (MySQL、MariaDB…) ➢ DBの設定 (DBユーザ作成、データベースの作成、テーブル作成...) ➢ Webサーバを用意 (Apache、nginx…) ➢ Webサーバの設定 (PHPの実行、WPへのパス指定、DB接続設定...) *1: https://openstandia.jp/oss_info/wordpress/
  2. Dockerを使って用意すると? ✅ Dockerとは? ➢ コンテナ型アプリケーション実行環境 ➢ Docker Hubなどで公開されている「コンテナイメージ」を使うこ とで、アプリケーション環境を容易に作成可能 ✅

    Dockerを使ってWordpressの実行環境を自前で用意する ➢ Docker環境の用意 ➢ Docker Composeのため、YAMLファイルに アプリケーションのサービスを設定 ➢ コマンド、ポン version: '3.8' services: db: image:mysql:5.7 platform: linux/x86_64 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image:wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data:
  3. Dockerに限った話ではない ✅ OSSに含まれる脆弱性 ➢ 活発に活動しているところが作ったものはすぐに修正される可能性が高い ➢ あまり活動されていないところは・・・ ✅ OSSもDockerイメージのように、内部で使われている場合もある ➢

    OSSの開発も効率化のために、別のOSSを使っている可能性がある ✅ アリモノの脆弱性は、ある日突然判明する ➢ すでに動いているアプリ上で使っているものに脆弱性が判明したとき、 すぐに対応できるでしょうか? ➢ 自分が使っているアリモノの中身を正しく把握していますか?
  4. ソフトウェアのサプライチェーン攻撃 原料 部材 購入 出荷 製造 メーカー (サプライヤー) 消費者 (在庫/流通/販売)

    (供給・調達) ソース コード アリモノ サービス メーカー (サプライヤー) 消費者 リリース ビルド 製造業の サプライチェーン ソフトウェア開発の サプライチェーン
  5. SLSA: Supply-chain Levels for Software Artifacts ソフトウェアサプライチェーンのそこ、大丈夫?チェックポイント ソース コード OSS

    ビルド リリース H F G D A B C E SOURCE THREATS DEPENDENCY THREATS BUILD THREATS 脅威 A 不正な変更の送信 B リポジトリの侵害 C 正しいソースからのビルド D 不正なビルドプロセス E 侵害されたOSSの使用 F CI/CDで作られていない アーティファクトの登録 G パッケージリポジトリ H 侵害されたパッケージ利用 どこでも入りうる!!
  6. 「セキュリティ」とうまく付き合う ✅ どんなセキュリティを狙った攻撃があるかを知る ➢ どんなものを狙った攻撃があるか、概要でいいから知る。 ➢ 攻撃したいと思う人は手を変え品を変え狙ってくるので、日々攻撃の仕方も変わる ✅ ツールを活用して、自動的に問題がある箇所がわかるようにする ➢

    全部を人がカバーするのは難しい。任せられる部分は機械にお願いする。 ➢ 既知のものは、できる限り早い段階で検知できるように組み込む。 ➢ 既知でないものもある日突然やってくる。サービス開始後もチェックできる仕組みを持つ