0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人メモ】DevSecOpsとは

0
Posted at

はじめに

IBM Concert勉強に関連して、DevSecOpsの役割について、以下の勉強素材を飛ばし飛ばしでまずはザクっと理解した内容をまとめます。

DevSecOpsとは

昔の開発フロー

開発 → テスト → リリース → セキュリティ確認

リリース直前に脆弱性が見つかったり、修正コストが高いなどの問題があった。

現在のDevSecOps

開発 → セキュリティチェック → CI/CD → リリース
      ↑
   常に実施

「セキュリティを最後にやるのではなく、開発工程に組み込む」という考え方。

SASTとは

SAST = Static Application Security Testing。日本語だと静的アプリケーションセキュリティテスト。(←→DAST)ソースコードを実行せずに分析します。

例えば

String sql =
  "SELECT * FROM user WHERE id='" + userInput + "'";

を見て、SQLインジェクションの可能性を検出する。
静的アプリケーションテストは、開発中に実行する。

Shift Leftとは
Shift Left = 左に寄せる

設計 → 開発 → テスト → 本番

の左側(早い段階)で、SAST, SCA, Secrets検査、IaC検査などを実施し、早期に検出できる脆弱性やセキュリティリスクを開発段階で発見・修正するという考え方。

DevSecOpsエンジニアの役割

DevSecOpsエンジニアは、DevSecOpsサイクルにおいて、開発スピードを落とさずに、開発ライフサイクル全体にセキュリティを組み込むことが仕事。具体的には以下のようなタスクがある。

  • SAST導入(ソースコードの脆弱性検査)
  • DAST導入(稼働中アプリの脆弱性検査)
  • Secrets検査(パスワード・APIキー漏洩検知)
  • SCA導入(OSSライブラリの脆弱性管理)
  • コンテナイメージの脆弱性スキャン
  • IaC(Terraform等)のセキュリティ検査
  • 誤検知(False Positive)の分析・除外
  • Jira等と連携した脆弱性管理プロセスの整備
  • CI/CDパイプラインへのセキュリティ組み込み
  • Shift Left推進(開発初期からのセキュリティ実践)
  • 脆弱性の優先順位付けと修正支援
  • 修正完了までの追跡・可視化

例えばシークレット検査では、Git Guardianを用いてAWS_SECRET_KEY=xxxxxというようなシークレット情報を開発者が誤って流出したときに検出してくれたり、Snykを用いてOSSライブラリの脆弱性を検出したりする。

おわりに

この学習材料でいっていたDevSecOpsとは、DevSeccOpsエンジニアの役割、実際のタスクについてザクっと知れた。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?