セキュリティは、難しく、お金のかかる世界です。そこで私たちは、オープンソースのセキュリティ・ツールの包括的なガイドを作成し、でたらめな情報に切り込み、導入すべき最も重要なツールは何か、保護すべき資産は何か、フリーでオープンソースのツールだけを使って長期的なセキュリティ・プランを構築する方法を示すことにした。

最も重要なツールとは?
利用可能なセキュリティ・ツールは無限にあるように見えるが、最初のステップは常にどこから始めるかを決めることだ。具体的な内容によって異なることもあるが、私たちは常に、攻撃者にとって危険の少ないものから始めることを推奨している。クラウドインフラが安全であること、攻撃者が見つけやすい秘密がないこと、エラーにつながる単純なコーディングミスがないこと、オープンソースのサプライチェーンに致命的な脆弱性がないことを確認してください。そこから、セキュリティを向上させるツールをさらに導入し、ソフトウェア開発ライフサイクル全体を通じて、より多くのベストプラクティスを導入することができる。

どのようなツールがありますか?
素晴らしいオープンソースのツールはたくさんあり、あなたのスタックや正確なニーズにもよるだろうが、以下に我々がゴールドスタンダードと考え、手始めに最適と考えるものをいくつか紹介する。
CSPM (クラウド・セキュリティ・ポスチャー・マネジメント)
Cloudsploit
CSPMはクラウド資産を保護するために不可欠なツールであり、CloudsploitはオープンソースのCSPMである。このプロジェクトは、Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP)、Oracle Cloud Infrastructure (OCI)などのクラウド・インフラ・アカウントのセキュリティ・リスクを検出する。
秘密の検出
Trufflehog|gitleaks.
シークレットは、新しいシステムへの迅速な横の動きを可能にするため、攻撃者にとって価値の高いターゲットです。実際、侵害の83%でシークレットが使用されています。シークレットが存在する場所、特にあなたの git リポジトリでシークレットを検出することが不可欠です。オープンソースのシークレット対策ツールとしては、Trufflehogとgitleaks があります。
SCA(ソフトウェア構成分析)
Trivy|Dependency-Check| Dependency-Track
オープンソースの依存関係は、私たちのアプリケーションのコードの85%を占めています!どのオープンソースコンポーネントに脆弱性が含まれているかを知ることは非常に重要です。SCAツールは、アプリケーションで使用しているオープンソースの依存関係を分析し、それらに対して既知の脆弱性があるものを特定します。Trivy、Dependency-Check、Dependecy-Trackは、オープンソースのリスクを理解するのに役立つ素晴らしいツールです。
SAST(静的アプリケーション・セキュリティ・テスト)
Bandit|Breakeman|GoSec|SemGrep
SASTは、セキュリティ問題につながる可能性のあるミスがないか、ソースコードをレビューします。SASTが発見できる最も一般的なエラーには、インジェクションの脆弱性、暗号化の失敗、バッファオーバーフローがあります。あなたが選択するツールは、あなたの特定の技術スタックに特化する必要があります。Bandit(Python)、Breakeman(Ruby)、GoSec(Go)、SemGrep(Generic)などがあります。
DAST(ダイナミック・アプリケーション・セキュリティ・テスト)
Nuclei|Zap
DASTツールは、悪用可能な脆弱性を発見するために、あなたのドメインに対して攻撃を実行する自動ハッカーのように機能する。2つの素晴らしいオープンソースツールはNucleiと Zapです。
マルウェア検出
Phylum
Classic SCAツールは、公表されている脆弱性に依存しています。マルウェア検出は、報告されていないかもしれないパッケージ内部の悪意のあるコードを発見することです。技術的には完全なオープンソースではありませんが、彼らのCLIスキャンツールと一緒に使える無料版があります。
IaCスキャニング
Checkov
Infrastructure as codeのおかげで、クラウド・インフラストラクチャのプロビジョニングとデプロイがより確実かつ簡単にできるようになった。しかし、これはセキュリティ問題を引き起こす設定ミスにつながる可能性がある。前述したCSPMツールはクラウド・インフラストラクチャのエラーを見つけることができるが、IaCスキャンはデプロイ前にエラーの発生を防ぐことができる。Checkovは、セキュリティ上の問題をスキャンできる優れたツールだ。
アプリ内ファイアウォール
Zen-Node|Zen Python
セキュリティの左遷(ライフサイクルの早い段階でのセキュリティの移行)についての実際のトレンドがあります。これは素晴らしいことですが、この反対側をないがしろにして、実行中のアプリケーションにセキュリティを実装すべきではありません。Zen byAikido オープンソースのアプリ内ファイアウォールで、実行時にインジェクションのような攻撃をブロックし、二次的な保護レベルを追加することができる。Zen-Node|Zen Python
使用済み部品
endoflife.date
オープンソースのサプライチェーンの大きなリスクは、メンテナンスされなくなったコンポーネントである。endoflife.dateは、もはやメンテナンスされておらず、本番で使うべきでないプロジェクトの素晴らしいデータベースである。
ライセンス保護
Trivy
アプリケーションで正しいオープンソースライセンスを使用していることを認識することは重要です。Trivyは、オープンソースライセンスの種類とそれらがどのように使用されているかについての素晴らしい洞察を提供します。
オープンソースのツールは商用版と同等か?
オープンソースのツールは、スキャン能力という点では非常に高品質である。しかし、ノイズ除去、修復、モニタリングに関しては、商用ツールの方が優れている。Aikido ような多くの商用ツールは、オープンソースのスキャナーを使用している。オープンソースのツールを使用することを恐れるべきではありませんが、オープンソースのツールを使用することは、特に成長するにつれて、多くのエンジニアリング時間を必要とすることに注意してください。
オープンソースのセキュリティツールを使う理由
- 参入障壁がない(すぐに無料で始められる)
- オープンソースは、取締役会の賛同を得るための素晴らしいツールである。
- 高品質のスキャナ(多くのオープンソースツールは、スキャニングの能力において一致している)
- 地域支援
なぜオープンソースのセキュリティツールを使わないのか
- セットアップが難しい。オープンソースのツールは、さまざまな言語やフレームワークを使用しているため、それらをうまく使いこなすのは難しい。
- ノイズの多いオープンソースのツールは、発見を重視する傾向があるため、フィルタリングの追加レイヤーを作成しなければ、多くの偽陽性をもたらす可能性がある。
- サポートは限定的、道具が壊れたら自己責任
- RBACなし。最新の開発では、チーム全体が関与することが重要だ。オープンソースのセキュリティは、役割間のフィルタリングを許さないため、セキュリティチームにとって大きな負担となる。
商用ツールよりオープンソースの方が良いという正解はなく、どちらにも適材適所がある。
Aikido 違い
オープンソースのセキュリティ・ツールを調査している場合、商用ツールは高価である一方、オープンソースのツールはダッシュボードに一元化するために多くの作業が必要であることに気づいたか、あるいは気づくことになるでしょう。Aikido 、この課題を理解し、オープンソースプロジェクトをシームレスに統合し、単一のダッシュボードに一元化し、自動トリアージと修復ワークフローですべてのセキュリティ問題にコンテキストをもたらす製品を作成しました。これにより、大規模な商用ツールのパワーをわずかな価格で利用することができます。
