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

コンテナ脆弱性体験資料

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for shoma shoma
July 10, 2023

 コンテナ脆弱性体験資料

コンテナの脆弱性を体験する資料です。

Avatar for shoma

shoma

July 10, 2023

More Decks by shoma

Other Decks in Technology

Transcript

  1. コンテナってなーに • 移植性 • 効率性 • アジリティ • デリバリーの高速化 •

    セキュリティの強化 • アプリの起動の高速化 • 柔軟性 • 管理の簡素化
  2. コンテナの運用サイクルとは? • Build – Ship – Run の3つに分けられる • Build

    : Dockerfileなどからコンテナイメージを作成する • Ship: 作成したコンテナをリポジトリなどで共有する • Run: 作成またはリポジトリからpullしたイメージをランタイム上で動かす
  3. Run面でのセキュリティ課題 • ランタイムの保護 • 想定外のプロセスの実行 • 脆弱性対応 • コンプライアンス対応 •

    ネットワークセキュリティ • コンテナ実行基盤へのアクセス管理 • コンテナホストの保護
  4. • 文字列が適切に処理されておらずsqlが叩ける構造になってい る insert into dteam values (NULL, + session["user"]

    + ,'" + session["password"] + "','" + session["mailaddress"] + "')" Session["user"]にsqlが流せる ・(select user from dteam where id = "5") ・(select user from dteam where id = "5") Webアプリケーションから情報取得(解説)
  5. • サブクエリを使用するときはそのテーブル自身を参照できな い →外部からは参照できるので一時暗黙的なテーブルのコピー 答え: ・(select user from (select user

    from dteam where id = "5")tmp) ・(select password from (select password from dteam where id = "5")tmp) Webアプリケーションから情報取得(解説)
  6. 解答 • $ docker pull localhost:5000/shomaigu/mysql-en • $ docker run

    localhost:5000/shomaigu/mysql-en • $ docker images • $ docker history --no-trunc 【IMAGE NAME】:【TAG】 • $docker history --no-trunc 8d1f53415da3 | grep ADD • /bin/sh -c #(nop) ADD file:ff415a0e122ed9d21a5e6c92cc3a0f05e3bd3010886f96ea228aa48 872be0145 in /docker-entrypoint-initdb.d
  7. 解答 • $docker exec –it こんてなID /bin/bash • $cd /docker-entrypoint-initdb.d

    • $ cat db.sql | grep INSERT INSERT INTO userinfo VALUES(0, “root", “tmcittmcit");
  8. 解答 • Curl http://192.168.56.113:5000/v2/_catalog • docker pull localhost:5000/shomaigu/mysql-en • docker

    pull localhost:5000/shomaigu/zeikansi_apache • Trivy image ----スキャン対象のimageID---