人気のオンライン講座プラットフォーム「Coursera」で、最近脆弱性が発見された。この問題はAPIに起因するもので、ハッカーが「BOLA」と呼ばれる脆弱性を悪用して、ユーザーの講座選択の好みを把握し、講座選択を操作した可能性があるとみられている。
さらに、最近明らかになった脆弱性によって、パッチが適用される前にユーザーデータが漏洩していた可能性もあると考えられています。これらの欠陥は、アプリケーションセキュリティテスト会社Checkmarxの研究者によって発見され、先週公表されました。
これらの脆弱性は、Courseraの様々なアプリケーションプログラミングインターフェースに関連しており、研究者たちは、新型コロナウイルス感染症のパンデミックによるオンラインでの仕事や学習への移行に伴い、Courseraの人気が高まっていることから、Courseraのセキュリティについてより深く調査することにした。
Courseraに慣れていない方は、これが82万人のユーザーを抱え、200を超える企業や大学と提携している企業であることを知っておく必要があります。 注目すべきパートナーシップには、イリノイ大学、デューク大学、グーグル、ミシガン大学、インターナショナルビジネスマシーンズ、インペリアルカレッジロンドン、スタンフォード大学、ペンシルベニア大学が含まれます。
パスワードリセット機能によるユーザー/アカウントの列挙、 GraphQLおよびREST APIの両方を制限するリソース不足、GraphQL設定の誤りなど、複数のAPIの問題が発見されました。中でも、オブジェクトレベルの認証の不具合が最も深刻な問題です。
通常のユーザー(学生)としてCoursera Webアプリケーションを操作すると、最近表示したコースがユーザーインターフェイスに表示されていることがわかりました。 この情報を表すために、同じエンドポイント/api/userPreferences.v1/[USER_ID-lex.europa.eu~[PREFERENCE_TYPE}への複数のAPIGETリクエストを検出します。
BOLA APIの脆弱性は、ユーザー設定に影響を与えるとされています。この脆弱性を悪用することで、匿名ユーザーであっても設定を取得したり、変更したりすることが可能になります。最近閲覧したコースや資格など、一部の設定にはメタデータも漏洩します。BOLA APIの欠陥は、オブジェクト識別子を扱うエンドポイントを露呈させる可能性があり、より広範な攻撃につながる恐れがあります。
「この脆弱性は、一般ユーザーのコース設定を大規模に理解するために悪用された可能性がありますが、最近のアクティビティの操作が特定のホームページCourseraに表示されるコンテンツに影響を与えたため、何らかの方法でユーザーの選択を歪める可能性もあります。ユーザー」と研究者は説明します。
「残念ながら、承認の問題はAPIで非常に一般的です」と研究者は言います。 「アクセス制御の検証を単一のコンポーネントに一元化し、十分にテストし、継続的にテストし、積極的に保守することが非常に重要です。 新しいAPIエンドポイント、または既存のエンドポイントへの変更は、セキュリティ要件に照らして慎重に確認する必要があります。」
研究者は、承認の問題はAPIで非常に一般的であり、そのため、アクセス制御の検証を一元化することが重要であると指摘しました。 これを行うには、十分にテストされた単一の継続的なメンテナンスコンポーネントを使用して行う必要があります。
発見された脆弱性は10月5日にCourseraのセキュリティチームに報告された。同社が報告を受け取り、対応中であるとの確認は10月26日に行われた。その後、CourseraはCherkmarxに対し、12月18日から1月2日の間に問題を解決した旨を伝え、新たな問題点を指摘した再テスト報告書を提出した。そして5月24日、Courseraはすべての問題が解決したことを確認した。
開示から修正までかなり長い時間がかかったにもかかわらず、研究者たちは、Courseraセキュリティチームが一緒に仕事をするのは楽しいことだと言いました。
「彼らのプロ意識と協力、そして彼らが引き受けた迅速な所有権は、ソフトウェア会社と関わるときに私たちが楽しみにしていることです」と彼らは結論付けました。