Aikido

AISAST何ですか?

執筆者
Dania Durnas

AISAST パターンとの照合ではなく、コードを推論するAIエンジンを用いた静的アプリケーションセキュリティテスト(SAST)SAST 。 

このカテゴリーが存在する理由は、従来のSAST価値があるものの、限界があるからです。ルールで検出するための構文上の特徴を持たない、IDOR(インターフェース定義の逆利用)、アクセス制御の不備、ビジネスロジックの欠陥といった脆弱性の種類全体を、SASTでは検出できません。これらはすべて、攻撃者の視点が必要となる問題です。従来、こうした点はコードレビューでカバーされてきましたが、LLM(大規模言語モデル)の普及により本番環境にデプロイされるコード量が飛躍的に増加しているため、手動によるレビューをスケールさせることは困難になっています。

ここでSAST 。AISAST SAST 経験豊富なエンジニアがコードレビューを行うのと同じようにソースコードを読み取り、ファイル間の参照を追跡し、コードの意図された動作と実際の動作を比較・分析SAST SAST SAST 。また、従来はペネトレーションテストによって発見されていた脆弱性の一部も検出可能ですが、その処理ははるかに高速かつ低コストです。

AISAST どういうSAST ?

要するに、AISAST 、AIがコードを読み取り、推論を行うことでセキュリティ上の脆弱性を発見する静的コード解析SAST 。この用語については業界内で定義が定まっていませんが、個々のAISAST 具体的にどのような機能を持つのかが不明確な場合が多く見られます。一般的に、AISAST 以下の2つのアプローチのいずれかをSAST : 

AIネイティブSAST

「推論ベースのAISAST」とも呼ばれるこの手法は、AI推論SAST 単なる補助手段ではなく、検出メカニズムそのものとしてSAST AISAST です。本稿では主にこの定義について論じていきます。 このモデルはコードベースを読み取り、それを直接推論します。パターンマッチングが補助的なインフラとして関与している場合もありますが、それが主たる駆動要因ではありません。SAST SAST 、従来ペネトレーションテストで発見されてきた脆弱性をSAST 、SASTペネトレーションテストSAST 多くなっています。優れたAIネイティブSAST 、ソースコードに対してペンテスト推論能力を提供します。 

AIを活用したSAST

これはパターンマッチング型SASTであり、SAST呼ばれます。この定義によれば、AISAST 、従来のSAST AI機能が追加されたSAST 。検出エンジンはルールベースかつ決定論的なままであり、AIはトリアージ、優先順位付け、誤検知のフィルタリング、自動修正の提案、および自然言語によるルール作成を担当します。 AIはコードベースを読み込んで脆弱性を発見するわけではありません(SAST については後述します)。必要な作業ではありますが、基盤となるスキャナーは長年稼働してきたものと同じであるため、これは既存技術の改良版と言えます。現時点では、SAST 販売するすべてのベンダーは、AIによる機能強化を「あれば望ましい」ものではなく、「必須要件」として扱うSAST 。

本稿では、AISAST AIが分析を行う「SAST」を指すものとして使用しますSAST 、SAST SASTと同様の役割SAST 。AIネイティブSAST 、脆弱性の発見を支援する全く新しいカテゴリーをSAST 。

SAST どのような種類のAISAST 販売しているか、どのように見分ければよいでしょうか?

AISAST 売り込んでいるベンダーに尋ねるべき最も重要な質問SAST 、具体的にどのタイプを指しているSAST なぜなら、これら2つの製品は解決すべき課題が異なるからです。しかし、ベンダーがAIについてどのような機能や効果を謳っているかをSAST 、SAST AI拡張SAST SAST 可能です。

提案の内容が、誤検知の削減、検出結果の優先順位付け、結果の説明、あるいは修正案の提示に関するものである場合、その根底にある検出は依然としてルールベースであり、AIはあくまで補助的な役割を担っています。これはSAST範疇に該当します。一方、提案の内容が、コードベース全体にわたる推論、IDORの検出、ビジネスロジックの欠陥の発見、あるいはサービス間のデータフローの追跡に関するものである場合、検出そのものをAIが行っています。

役割が異なるため、互いに代用できるものではありません。ですから、自分が何に参加しようとしているのかを理解することが重要です。 Aikido は、AIネイティブのSAST AI拡張型SASTの両方を提供する数少ないベンダーの一つです。

AIネイティブSAST と通常のSASTの違い

SAST(SASTを含む) SAST、パターンマッチングによって機能します。セキュリティエンジニアは、「ユーザー入力がサニタイザーを経由せずにこの関数に流入した場合、SQLインジェクションとしてフラグを立てる」といったルールを記述します。 ツールはコードを抽象構文木(AST)に解析し、データがアプリケーション内をどのように移動するかを追跡した上で、ルールがトリガーされる箇所を探します。SAST SAST 決定論的SAST 、同じコードに対しては毎回同じ結果をSAST 。そのため、SAST 高速かつ低コストSAST 、CI/CDすべてのコミットをゲートするほど十分に信頼性SAST 。

その反面、パターンマッチングにはコードが本来何を行うべきかという概念はなく、文字通りの記述内容のみを扱う。例えば、SAST 「論理的には、このエンドポイントはリソースを変更する前にユーザーがその所有者であるかを確認すべきだが、実際には確認していない」といったケースを検知するルールはSAST これはコード化可能なパターンではなく、人間やAIが「思考」して判断する必要がある。

これこそが、SAST より複雑な脆弱性をSAST 理由です。このツールは、ファイル間の参照を追跡し、サービスを通じたリクエストをトレースし、どの関数が呼び出されているか、またその呼び出し元にどのような権限が必要かを検証し、コードの実行内容と本来あるべき動作を比較します。パターンマッチングのルールをすべてすり脆弱性 、このモデルは単に存在しないシンクを探すだけでなく、欠落しているチェックについて推論を行うことができるため、脆弱性 検出できるのです。

もう一つの違いは、対応言語の範囲です。SAST、エンジンがサポートする必要がある言語ごとにルールを記述する必要があります。一方、AISAST、AIがコードベースで使用される可能性のあるあらゆる言語を理解できるため、多種多様な言語やあまり一般的ではない言語で書かれたコードベースを持つ組織にも対応可能です。

また、AISAST SASTスキャンあたりのコストSAST 。実行に30分かかり、数百ドルもかかるスキャンを、すべてのプルリクエストに対して実施するわけにはいきません。こうした経済的な理由から、AISAST 確定SAST 異なる頻度SAST SAST リスクの高い変更やリリース監査SAST 活用されるSAST こうしたトレードオフがあるため、AISAST AppSecスタックを補完SAST 、代替となるものではないSAST 。

AISAST 内容

AISAST 脆弱性は、SAST 従来、人間によるSAST ものです。モデルが一見無関係に見える発見事項を結びつけることができるため、多段階エクスプロイト 明らかになります。深刻度の低い情報漏洩、スコープが不十分なセッショントークン、および制限の緩いCORSポリシーが連鎖することで、アカウントの完全な乗っ取りにつながる可能性があります。これには以下が含まれます:

  • IDOR(インメモリ・オブジェクト参照)と不備のあるアクセス制御:AIは、ルートハンドラーからデータベースクエリに至るまでのリクエストの経路を追跡し、その間に所有権を強制する仕組みが一切存在しないことに気付く。
  • サービス境界を越えた権限昇格:
  • ビジネスロジックのバイパス:AIはコードが何を強制しているかを推論し、その強制が不完全である場合にそれを検知できます。例えば、あるエンドポイントでサブスクリプション・ティアのチェックが欠落している場合などです。

{{idors}}

AISAST AIペネトレーションテストはどのようにSAST のでしょうか?

SAST 境界線も曖昧になりがちです。その理由の一つは、両方のツールが同じ脆弱性を検出できると主張できる点にあり、また、多くの場合、両者はアーキテクチャ設計の一部を共有しているからです。

AISAST ソースコードSAST 。デプロイ済みのアプリケーションは必要とせず、使用もしません。そのため、まだ実行されていないコードや、実環境でのテストでは安全に実行できないコードパスに対しても利用可能です。 しかし、すべてのパスが実際に悪用可能かどうかを検証できないため、実環境ペンテストよりも多くの誤検知(false positive)を生成します。AISAST コードを実行せずにSAST 、脆弱性 のように脆弱性 実行時には発動しないものをフラグ付けしてしまうことがあります。網目を広げることで、ペンテスト 箇所ペンテスト 捕捉できますが、その検出結果は検証することができません。 

AIペネトレーションテストは、稼働中のアプリケーションをテストします。エンジンは、実際のエクスプロイトを試行することで、攻撃者が行うのと同じ方法でアプリケーションを検証します。検出結果には、HTTPリクエストが実際に機能したことを確認するなど、証拠が伴います。ペンテスト 、追加のコンテキストとしてソースコードを受け入れるものもあり(これをホワイトボックスペネトレーションテストと呼びます)、これによりAIはコードを読み取り、実際のエクスプロイトと並行してアプリケーションのロジックを推論することができます。 この点において、AIペネトレーションテストSAST似ています。どちらもソースコードを読み込んで脆弱性を検出するためです。そのため、両者ともIDOR(情報開示型脆弱性)やビジネスロジックのエラーといった複雑な脆弱性を検出することができます。違いは、ペンテスト 脆弱性 ペンテスト 、検出結果には証拠が伴うという点です。

これらのツールは互いに代替し合うものではありません。AISAST 、コードが本番環境にデプロイされる前の変更内容や、実行時に安全にテストできないコードパスに対してSAST 。一方、AIペネトレーションテストは、デプロイ済みの環境に対して実行され、本番環境で実際にどのような脆弱性が悪用されるかを確認します。

SAST、AISAST、およびAIペネトレーションテストが必要ですか?

これら3つすべてを活用することは可能ですが、その実施頻度はそれぞれ異なります。小規模なチームSAST ネSAST のみを行うことを選ぶ場合もありますが、大規模な組織ではより徹底的に、これらすべてを活用することを選ぶかもしれません。各レイヤーは異なる課題に対応しており、それぞれが他の手法では見逃されがちな種類のバグを発見します。

  • 決定論的SAST 、コミットが行われるたびにSAST 。既知のパターンに合致するOWASPの定番脆弱性を、迅速かつ低コストで検出します。これはあらゆる組織のセキュリティスタックに不可欠な要素です。ベンダーがどのような名称で呼んでいるかにかかわらず、優れたSAST AIによる優先順位付け機能と自動修正機能が備わっています。
  • AISAST 、ロジックが最も重要となる変更箇所やコードパス、SAST 到達できない箇所を対象にSAST 。ルールベースSAST よりはコストSAST AIペネトレーションテストよりは安価です。 
  • AIペネトレーションテストは、本番環境で稼働中のアプリケーションに対して実行され、実行時に実際にどのような脆弱性が悪用されるかを確認します。徹底的なテストですが、コストは高くなります。

大まかな目安として、SAST 実施し、AISAST 、ペンテスト する。 

AISAST アプリケーションセキュリティチームにSAST

AIネイティブSAST 、ルールベースSAST 複雑なペネトレーションテストの間の領域をSAST 。パターンマッチングは従来、ロジックの欠陥を見逃しがちであり、アプリケーションセキュリティチームはコードレビュー、ペネトレーションテスト、バグ報奨金プログラムなどでその不足を補ってきました。AISAST 、これらの取り組みの一部をSAST 、人間よりもコスト効率に優れ、モデルの進化に伴い検出範囲も向上します。

Aikido は、SAST 検出できないケースについてコードベース全体を推論するエージェント型エンジン「AI Code Audit」SAST AISAST を提供します。これは Aikido SASTと並行して動作し、その代わりとなるものではありません。Aikidoは当初からAIトリアージやAI AutoFixといったAI機能を搭載しています。 Aikido は、AIネイティブSAST AI支援型SASTの両方を提供する数少ないプラットフォームの一つであり、組織に最適なセキュリティカバレッジを構成することが可能です。

共有:

https://www.aikido.dev/blog/what-is-ai-sast

ニュースを購読する

4.7/5
誤検知にうんざりしていませんか?
10万人以上のユーザーと同様に Aikido をお試しください。
今すぐ始める
パーソナライズされたウォークスルーを受ける

10万以上のチームに信頼されています

今すぐ予約
アプリをスキャンして IDORs と実際の攻撃パスを検出します

10万以上のチームに信頼されています

スキャンを開始
AI がどのようにアプリをペンテストするかをご覧ください

10万以上のチームに信頼されています

テストを開始

今すぐ、安全な環境へ。

コード、クラウド、ランタイムを1つの中央システムでセキュアに。
脆弱性を迅速に発見し、自動的に修正。

クレジットカードは不要です。 | スキャン結果は32秒で表示されます。