Blackboardは堅牢なセキュリティプログラムを備えており、セキュリティ上の問題発生を防止するだけでなく、そのような問題を根絶するべく動作します。コードレベル (静的解析) およびアプリケーションレベル (動的解析) での内部セキュリティテストを継続的に行い、Blackboardとお客様の両方の期待を確実に満たすようにしています。さらに、アプリケーションを常に新しい視点で見られるように、Blackboardではサードパーティのセキュリティベンダーによるセキュリティペネトレーションテストを受けています。問題が特定された場合は、ただちに修正が予定されます。

Blackboardのセキュリティプログラムは発展と充実の途上にあることを認識することが重要です。Blackboardでは、自社製品のセキュリティ機能と堅牢性を強化するよう、常に努めています。


セキュリティに留意した構築

Blackboardは、クライアントに安全なアプリケーションを提供するために努力を続けています。Blackboardは、OWASP (Open Web Application Security Project) を始めとする多くの組織のセキュリティエンジニアリングに関するガイドラインに基づき、製品を開発しています。この中には、OWASPの10大脆弱性への特定の対抗策も含まれます。Blackboardは、これらのセキュリティプラクティスを、ソフトウェア開発サイクル (SDLC) のすべてのフェーズに取り入れています。

Blackboardは、自社のアプリケーションを保護するために、静的分析、動的分析、手動侵入テストによりコードレベルで脅威を検出する「ボトムアップ」手法だけでなく、脅威をモデル化して分析する「トップダウン」のセキュリティアセスメントなど複数の手法を使用しています。

Blackboardは多くの組織のベストプラクティスガイダンスに従って、製品およびプログラムのセキュリティ強化に取り組んでいます。いくつかの組織をここに示します :

  • 米国国立標準技術研究所 (NIST)
  • 欧州ネットワーク情報セキュリティ庁 (ENISA)
  • SANS Institute
  • Open Web Application Security Project (OWASP)
  • クラウドセキュリティアライアンス (CSA)

脅威のモデル化

新規機能の開発に際し、セキュリティチームでは脅威のモデル化を行うことにより、要件とシステム設計を評価してリスクの軽減に役立てます。脅威のモデル化は構造化されたプロセスであり、ここではレビュー中の機能に関するセキュリティの脅威を特定することで、適切なセキュリティ対応策が特定され、適用されるようにします。


安全なコーディングとOWASPの10大脆弱性

Blackboard製品は、OWASPに由来する一連の開発ガイドラインに従って開発されます。具体的には、2013年のOWASPの10大脆弱性 に対する固有の対応策が含まれます。

A1 :インジェクション (SQL/DOM/LDAPインジェクション)当社のコーディング規格では、バインド変数を使用し、SQL文に転記されるリテラルを避けることとしています。LDAP機能は認証に制限されています。
A2 :認証の不備とセッション管理Blackboard製品はTLS下でのみ動作するため、すべてのCookieは暗号化されます。
A3 :クロスサイトスクリプティング (XSS)ESAPIなどの共有ライブラリおよび開発標準を使用することにより、クロスサイトスクリプティングは軽減されます。エンドユーザが送信したテキスト入力はすべてsanitizerメソッドで渡されることが想定されています。その他の入力 (日付、選択/オプション値) はユーザ入力から直接転記されるのではなく、入力ドメインオブジェクトから生成されることが想定されます。
A4 :安全でないオブジェクトへの直接参照すべてのアプリケーションオブジェクトは、通常はプライマリキーにマップされる“ids”経由で参照されます。ただし、すべてのオブジェクトは「コンテキスト」にマップされ、すべてのセキュリティチェックは「コンテキスト」に対して実行されます。たとえば、あるリクエストで参照される「メッセージID」がコースの掲示板投稿である場合があります。Blackboardの規格では、ユーザロールに付加された権限に対して承認チェックを行うこととなっています。
この規格が正しく順守されていない場合でも、システム内の保護されたデータエンティティはすべてセキュリティコンテキスト (コースまたはドメイン) にマップされているため、改善は容易です。
A5 :不適切なセキュリティ設定Blackboardでは、システム管理者の特別な考慮が必要な場合に利用されるリリースノートおよびドキュメントに関し、Secure by Default (デフォルトで保護) ポリシーに従っています。Blackboardでは、セキュリティで保護された構成のベストプラクティスガイドが利用可能であり、特定のBlackboard製品に関連する場合、それに従うようお客様に勧めています。

セキュリティの監査
セキュリティイベントはセキュリティ固有のログに記録されます。

情報漏洩およびエラー処理
標準のエラー処理がすべてのページに適用され (標準ページテンプレートとタグライブラリによる)、すべてのエラー、特に未認識のエラーが標準出力に出力されます。標準出力にはスタックトレースが含まれる場合がありますが (軽微な情報漏洩)、リクエスト失敗時に処理中であったデータは全く出力されず、管理者レベルのアクセス権を持つユーザにのみ可視となります。権限のないユーザ (学生など) は詳細なスタックトレースを見ることができません。

A6 :機微な情報の露出Blackboard標準では、ユーザのパスワードにSHA-160によるハッシュおよびソルトを使用することになっています。

Blackboard製品はTLSでの実行がサポートされています。ただし、セルフホスト製品の場合、デプロイヤの責任でTLSを正しく構成する必要があります。

A7 :機能レベルのアクセス制御の不足これは業務ロジック実施で認証チェックを必要とすること、QAテストケースがさまざまな画面での認証要件を満たすようにすることの2つのレベルで管理されます。
A8 :クロスサイトリクエストフォージェリ (CSRF)当社のセキュリティフレームワークではOWASPの推奨に従い、リクエストごとのノンス値およびPOSTのみのセマンティックを導入しています。AJAXリクエストではセッションごとにノンス値を使用します。
A9 :既知の脆弱性のあるコンポーネントの使用この問題は、当社のインフラストラクチャとサードパーティのソフトウェアパッケージの両方で定期的に脆弱性のスキャンを実施して、既知の脆弱性を持つコンポーネントを特定し、利用可能なパッチによりコンポーネントをアップグレードするロードマップを開発することで軽減されます。
A10 :未検証のダイレクトと転送Blackboardセキュアコーディング規格では、リダイレクトおよび転送がローカルアドレスであることを検証するよう要求しています。この脆弱性は定期的にテストされています。

Blackboardに対する将来的な期待、計画、展望に関する声明に、当社の最新の見解が示されています。実際の結果は、さまざまな重要要因により、大きく異なる可能性があります。今後のイベントや開発により、当社の見解が変化することが予想されます。ただし、当社ではこれらの声明を将来のいずれかの時点で更新することを決定する可能性があるものの、当社はそれを行う義務を明確に否認します。