← 最新の論文
💻 computer science

GraphQLer: Enhancing GraphQL Security with Context-Aware API Testing

GraphQLerは、ライブスキーマから型付きの依存グラフを構築することで、IDOR、UAF、およびインジェクション脆弱性のような複雑で状態に依存する欠陥の検出において、ZAPやEvoMasterといった既存のツールを凌駕し、マルチステップの脆弱性チェーンを合成することによってGraphQL APIのセキュリティを強化する、オープンソースの自動セキュリティテストフレームワークである。

原著者: Omar Tsai, Jianing Li, Tsz Tung Cheung, Lejing Huang, Hao Zhu, Jianrui Xiao, Iman Sharafaldin, Mohammad A. Tayebi

公開日 2026-08-05
📖 1 分で読めます☕ さくっと読める

原著者: Omar Tsai, Jianing Li, Tsz Tung Cheung, Lejing Huang, Hao Zhu, Jianrui Xiao, Iman Sharafaldin, Mohammad A. Tayebi

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

インターネットを、さまざまなコンピュータプログラム(アプリ)が情報を共有するために絶えず会話をしている、巨大で賑やかな都市だと想像してみてください。長年、これらの会話は厳格で予測可能な地図に従ってきました。もし画像が欲しければ「画像」フォルダを求め、メッセージが欲しければ「メッセージ」フォルダを求めるという具合です。これは、すべての料理に固定の名前と場所があるメニューから注文するようなものでした。しかし最近、GraphQLと呼ばれる新しい会話方法が普及しました。GraphQLは、固定されたメニューの代わりに、魔法のように形を変える自動販売機のようです。あなたが欲しいものを正確に伝えれば、それはその場であなたのために作ろうとしてくれます。問題は、この機械があまりにも柔軟であるため、目の前に誰が立っているのかを確認することを時々忘れてしまうことです。普通の自動販売機なら、コインを持っている人にしかソーダを与えませんが、この魔法の機械は、もし正しい方法で頼めば、誤って個人の日記や銀行口座を渡してしまうかもしれません。ここでセキュリティ研究者が登場します。彼らは、街そのものを壊すことなく、いかにして機械に秘密を漏らすよう仕向けるかを解明しようとしているのです。

これから読む論文は、GraphQLerという新しいデジタル探偵を紹介しています。ほとんどのセキュリティスキャナーを、自動販売物に近づいてボタンを一つ適当に押し、何が起こるかを見るだけの、不器用な観光客だと考えてみてください。もし「ソーダ」を押してソーダが出てきたら、彼らはそのまま進みます。「水」を押してエラーが出たら、諦めてしまいます。彼らは、点と点をつなげることに気づきません。「秘密の隠し場所」を手に入れるには、まず「ソーダを買う」、次に「レシートを受け取る」、そして最後に「秘密の隠し場所」を押さなければならない、という一連の流れを理解できないのです。古いツールはあまりに愚かで、これら複雑な手順を連結させることができず、すべてのボタンをバラバラにテストしてしまい、システムを突破するために必要な複雑なシーケンスを見逃してしまいます。

GraphQLerは違います。それは、まず機械の設計図(「スキーマ」)を研究して、ボタンがどのように接続されているかを理解する探偵のようなものです。それは、「ボタンA」は新しいアイテムを作成し、「ボタンB」はそれを削除し、「ボタンC」はそれが消えた後でもまだ閲覧できる可能性がある、といったメンタルマップを構築します。このマップを持つことで、GraphQLerはただランダムにボタンを押すのではありません。特定の**連鎖(チェーン)**となるアクションを作り出します。ユーザーがアイテムを購入し、次にそれを盗もうとしたり、あるいは削除した後に再び読み取ろうとしたりするシナリオをシミュレートするのです。

研究者たちは、この新しい探偵を、21種類の現実世界および架空だが現実的なAPI(テスト対象のコンピュータシステム)でテストしました。その結果、GraphQLerは既存のツールよりも大幅に改善されていることがわかりました。既存の最良のツールが機械のボタンの約29%にしか到達できなかったのに対し、GraphQLerは**85.52%**に到達しました。さらに重要なことに、複雑なマルチステップの問題を見つけるという点において、古いツールはゼロであったのに対し、GraphQLerは確認された5つの「IDOR」脆弱性(番号を変えるだけで他人のものが見えてしまう脆弱性)をすべて発見し、さらには「Use-After-Free」バグ(ファイルが削除された後にそれが見えてしまうバグ)さえも捉えました。

著者たちは、自分たちのツールがこれらの特定の連鎖反応型のバグを見つけるのには優れているものの、すべてを解決する魔法の杖ではないことを慎重に述べています。複数の情報を同時に必要とする非常に特定の複雑なシナリオでは、依然として苦戦することがあります。しかし、この柔軟なGraphQL技術を使用している現代のアプリの大部分において、GraphQLerは、もはやボタンを一つずつテストするだけでは不十分であることを証明しています。あなたは機械が語っている物語を理解しなければなりません。そうして初めて、プロットの穴を見つけることができるのです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →