BT

Gauntltによる継続的セキュリティテスト

| 作者: Manuel Pais フォローする 9 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2013年12月19日. 推定読書時間: 3 分 |

原文(投稿日:2013/11/30)へのリンク

GauntltコアチームのJames Wickett氏はVelocity Conf Londonで,アプリケーションのセキュリティレベルに関するフィードバックの迅速化を目的とした,継続的インテグレーションサイクルへのセキュリティテスト統合についての解説を行った。氏が強調したのは,継続的デリバリによるリリースデリバリ率の増加に伴う,定期的セキュリティチェックの重要性だ。リリース後のセキュリティチェックと長期的な外部監査では,氏によれば,もはや十分とは言えない。アプリケーションの安全を維持し,セキュリティ低下を防止するためには,運用(Ops)と開発(Dev)双方への継続的なフィードバックが必要なのだ。

Gauntltはこの考えを実践するために,ビヘイビア駆動開発のツールとして評価の高いCucumberと,一連のオープンソースのセキュリティテストツールをベースとした,セキュリティテスト自動化フレームワークを提供している。GauntltはRuby gemとして入手可能なので,継続的インテグレーションのデリバリパイプラインの一部として,Ruby環境でテストを実行することができる。次の例では,Cucumberの場合と同じようなHTMLテストを生成する:

bundle exec gauntlt --format html > out.html

Gauntltには,事前に定義された一連の”アタックアダプタ”と,それを使ったアタックをまとめたセットが同梱されている。アタックアダプタはアタックの各ステップを,種類別に実行可能なセキュリティツールにマッピングしたものだ:

  • Arachni (XSSのテスト)
  • Garmr (ログインフロー内の新なたログインページや安全でない参照のテスト)
  • SQLmap (SQLインジェクション攻撃のテスト)
  • dirb (Webオブジェクト設定のテスト)
  • SSlyze (SSLサーバ設定のテスト)
  • NMap (想定外のオープンポートに関するテスト)

現在のツールセットを拡張するのは,特殊な既定ステップを使ってバイナリコマンドラインの呼び出しを指示し,その実行後の出力をチェックする方法でのみ可能である。

 Gauntltは内部的にCucumberを実行しているので,Gauntltのアタック定義ファイルはCucumberの機能ファイルに変換される。Cucumberの各シナリオが特定のアタックに対応する。例えばport-check.attackというアタックファイルでは,対象ホストに想定外のポートがオープンされていないことを確認するためにnmapを使用するかも知れない:

 

Feature: nmap attacks for example.com

    Background:

      Given "nmap" is installed

      And the following profile:

      | name     | value       |

      | hostname | example.com |

    Scenario: Verify that there are no unexpected ports open

      When I launch an "nmap" attack with:

         """

         nmap -F <hostname>

         """

      Then the output should not contain:

         """

         25/tcp

         """

氏は "頑丈なソフトウェアマニフェスト(Rugged Software Manifesto)” に触発されて,アプリケーションのセキュリティテストに対する強い主張を持ったフレームワークとしてGauntltを作り上げた。その最終的な目標は,開発(Dev),運用(Ops)とセキュリティチームとのコミュニケーションの促進だ。 セキュリティ的考慮と監視機能をDevOpsに統合するというテーマでは,DevOps Weekly創刊者のGareth Rushgrove氏も,セキュリティ監視に関する記事の中で取り上げている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT