パスワードを忘れた? アカウント作成
15396063 story
プライバシ

Microsoft Power Apps で個人情報を含む計 3,800 万件のレコードが流出、その原因は仕様? 21

ストーリー by nagazou
しようがない 部門より
headless 曰く、

Microsoft Power Apps ポータルから個人情報を含む計 3,800 万件のレコードが流出した問題について、発見者の UpGuard がそのなりゆきを解説している(UpGuard のブログ記事The Verge の記事The Register の記事)。

Power Apps は開発者としてのスキルがなくてもビジネスアプリケーションを開発できるローコードアプリ開発ツール。OData (Open Data Protocol) API を使用することでポータルでのレコード公開が可能になるのだが、デフォルト無効の「テーブルのアクセス許可を有効にする」オプションを有効にしなければ匿名かつ認証なしでデータへのアクセスが可能になる。このことは Power Apps のドキュメントにも明記されているが、見過ごされることが多かったようだ。

個人情報が公開状態になっているとして UpGuard が通知したのは (Microsoftを含む) 企業や州政府など合計 47 エンティティにのぼる。UpGuard のアナリストは 5 月 24 日に最初の個人情報が公開状態になっている OData API を発見してオーナーに通知。通知を受けたオーナーは問題を修正した。UpGuard が調査を進めたところ、複数のポータルで OData API を通じた個人情報への匿名アクセスが可能になっていることが判明する。

UpGuard は Microsoft による顧客への通知に期待して MSRC (Microsoft Security Response Center) に脆弱性リポートを送るが、(設定を変更しなければデータが一般公開状態になるのは) 仕様であるとして、問題は解決済みとされてしまう。そのため、UpGuard 自ら各エンティティに通知を送ることになった。Microsoft のポータルで見つかった問題については脆弱性リポートへの返信という形で報告したものの回答はなく、新たな脆弱性リポートを送ったところ、不正利用リポートを送れと言われたそうだ。

Microsoft に脆弱性リポートを送り、あとは任せるという UpGuard の試みは失敗したが、UpGuard が複数のエンティティに最も深刻な複数の問題を報告したのち、Microsoft 側でも顧客の通知を開始したとみられる。また、Microsoft は匿名アクセスが許可されたリストを検出する ポータルチェッカーの提供を開始し、新規作成された Power Apps ポータルではテーブルのアクセス許可がデフォルト有効になっている。なお、現在は英語版のドキュメントに OData フィードを有効化した場合はテーブルのアクセス許可を無効にできないとの説明が追加されている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Power Appsのは設定変更してない奴が悪いって強弁すればどうにかなりそうな話ですが、こっちは本物の脆弱性。

    https://www.wiz.io/blog/chaosdb-how-we-hacked-thousands-of-azure-custo... [www.wiz.io]

    ChaosDB: How we hacked thousands of Azure customers’ databases

    a series of flaws in a Cosmos DB feature created a loophole allowing any user to download, delete or manipulate a massive collection of commercial databases, as well as read/write access to the underlying architecture of Cosmos DB.

    ・2019年、CosmosDBの可視化ツールとしてJupyter Notebookが導入された。
    ・Jupyter Notebookの設定ミスで、他ユーザの権限を手に入れることが可能だった。
    ・最終的に他者のCosmosDBプライマリキーをゲットすることができた。
    ・MSに連絡したら48時間以内に修正された。

    めちゃ深刻な問題だと思うんだけど全然話題になってない。

  • by Anonymous Coward on 2021年08月27日 18時28分 (#4100478)

    開発スキルがなくてもビジネスアプリケーションを開発できるコンセプトが無謀としか…

    • by Anonymous Coward

      ノーコードとやらで競合企業のECサイト価格をチェックしようとして、エラー処理とトリガー設定がタコでDoS攻撃しちゃったバカの話とか、セキュリティ関連のカンファレンスで聞いたわ。

    • by Anonymous Coward

      プログラマの立場からするとプログラミング不要でシステム開発ができるという宣伝文句は嘘にしか聞こえないね。最近はロボット作成用ツールでその文句が使われていることが多い。導入後、みなさんどうしているのかしら?

      • by Anonymous Coward

        例えば一昔前にCファミリーのような言語でHTTPサーバを作れといわれたらどれだけのコードが必要になったか想像もしたくないが、
        今では多くの言語でものの数行でHTTPサーバを起動できる。
        もちろんそのコードではHTTPサーバの動作を決めるための数多のパラメータはデフォルトの値で起動していて、多くの開発者はそんなパラメータについて気にすることもない。
        前段の時代と比べれば明らかに「ローコード」といえるのではないか。

        これまで生み出されてきたプロダクトが謳い文句ほどの成果をだせてこなかったことは同意するが、
        今はまだその完成形を模索している段階というだけで、抽象化を重ねて行き着く先がノーコード/ローコードであることは必然ではないだろうか。

        • by Anonymous Coward

          プログラミングのリソース注ぎ込む場所が変わっただけで作るのは開発スキルある人。

          スキルない人に作らせたが為にトラブル炎上は数多の開発現場が実績示してます。

          powerappも結局スキルない人が作って動かす事を可能にしようとしたが為にこんな事起こしてますしね。

  • by Anonymous Coward on 2021年08月27日 18時46分 (#4100490)

    全国の高専でデータを共有した状態だった Office365の設定を巡り高専機構に批判集まる - ねとらぼ
    https://nlab.itmedia.co.jp/nl/articles/1707/12/news123.html [itmedia.co.jp]

    まだOffice365を導入したばかりで使い方を試行錯誤している状態で
    全国で共有するデータだけおけよっていう指示まで来てたのに
    どっかのセキュリティマニアがいきなり外部に向けて批判を載せたため
    外部から運用方法を批判された

  • by Anonymous Coward on 2021年08月27日 20時49分 (#4100543)

    ・デフォルト無効の「テーブルのアクセス許可を有効にする」オプションを有効にしなければ匿名かつ認証なしでデータへのアクセスが可能です
    Q.デフォルトを変更するべきですか?
    A.はい/いいえ

    これでアンケートとったらどんな感じになるんだろね?

    • by Anonymous Coward on 2021年08月27日 21時22分 (#4100562)

      匿名かつ認証なしでアクセスさせろ!
      でも漏えい絶対させるな!
      こんな感じですかね。

      昔、ウイルス感染したソフトの駆除の時、消すな!そのまま使わせろ!ても他へは一切感染させるな!がありましたよ。

      親コメント
    • by Anonymous Coward

      日本語むずかしいね

      • by Anonymous Coward

        「なりゆきを解説」って予言かね

    • by Anonymous Coward

      ・デフォルト無効の「テーブルのアクセス許可を有効にする」オプションを有効にしなければ匿名かつ認証なしでデータへのアクセスが可能です
      Q.デフォルトを変更するべきですか?
      A.はい/いいえ

      これでアンケートとったらどんな感じになるんだろね?

      ・関係者以外立入禁止の札はついていませんので匿名かつ認証なし出入り可能です
      Q.デフォルトを変更するべきですか?
      A.はい/いいえ

      これと大差ないっちゃないけれど

      # 関係者の定義にもよるが

    • by Anonymous Coward

      アプリのプライバシー設定とかで「ワザとわかりにくくして誤認を誘導してるだろ」ってのあるよなー。

      「✅ オプトアウト:サービス向上のためにユーザーの利用情報を共有」
      って共有を容認するのか拒否するのかどっちやねん!
      「✅ ユーザ情報送信を確認する」
      ってOFFにしたら送信しなくなるのか確認なしで送信するのか。
      みたいな。

    • by Anonymous Coward

      >・デフォルト無効の「テーブルのアクセス許可を有効にする」オプションを有効にしなければ匿名かつ認証なしでデータへのアクセスが可能です

      いつもの、マイクロソフト翻訳(マイクロソフトに限りませんが)って感じですね。
      「外国語→英語→日本語」の多重翻訳文に特有の難読化が実に香ばしい。

      “アクセス許可”=“アクセス制御”という“許可”と“制御”が同一単語の言語が語源と思われる。
      しかし、「States」を「都道府県」に訳したものは翻訳バグとすぐに分かるが、これは「(外部ユーザへ)テーブルのアクセス許可を有効にする」と読み解けるため、誤解したまま、無効を選択するから危ないね。
      ※翻訳もちゃんとテストしないとだめですよ。テスト方法? 多言語を完璧にマスターした人材に訳文を評価してもらう。←そんな人材おるか! 結果、ユーザに毒味してもらうことになる。(;_;)

      • by Anonymous Coward

        追記
        「Enable Access Control on Table」だと思ったら、
        「Enable Table Permissions」だった。
        これを「権限」ではなく「アクセス許可」と訳したようです。
        となると「有効にする」を「設定する」にして
        「テーブルのアクセス許可を設定する」と訳した方がいいのか・・・?

  • by Anonymous Coward on 2021年08月28日 13時41分 (#4100836)

    バ、バグじゃないんだからねっ!仕様なんだからねっ!(窓辺といち風に)

    • by Anonymous Coward

      といちとか言われると萬田銀次郎のビジュアルしか浮かんでこない

typodupeerror

アレゲは一日にしてならず -- アレゲ見習い

読み込み中...