情報セキュリティ

ウェブサイトの攻撃兆候検出ツール iLogScanner FAQ

iLogScannerについて

  1. Q1.iLogScannerは無償で利用できますか?

    A1.

    iLogScannerは無償で利用できます。また、検査結果などの情報は外部に送信しないため、安心してご利用ください。

  2. Q2.iLogScannerが検出できるウェブアプリケーション攻撃の種類を教えてください。

    A2.

    iLogScannerが検出できるウェブアプリケーション攻撃については、
    「機能説明」ページをご参照ください。

  3. Q3.解析することができるエラーログを出力するModSecurityのバージョンは?

    A3.

    iLogScannerは以下のウェブサーバソフトウェアのエラーログフォーマットに対応しております。

    ウェブサーバソフトウェア

    Apache HTTP Server(2.0系、2.2系、2.4系)

    エラーログフォーマット

    ModSecurity 2.5系、2.6系、2.7系、2.8系が出力するエラーログ形式

  4. Q4.iLogScannerが認証ログから検出できる項目を教えてください。

    A4.

    iLogScannerが認証ログから検出できる項目については、
    「機能説明」ページをご参照ください。

  5. Q5.iLogScanner V4.0 で追加した機能は何ですか。

    A5.

    iLogScanner V4.0で追加した機能は以下の通りです。

    • 認証ログ(SSH、FTP)の解析に対応しました。
      • ・sshdの出力ログに対応
      • ・vsftpdの出力ログに対応(vsftpd形式、wu-ftpd形式)
    • 解析対象アクセスログを増やしました。
      • IIS7.5/8.0/8.5のアクセスログ解析処理の追加
      • Apache HTTP Server 2.4系のcommonタイプのカスタムフォーマット対応
    • 動作する環境を増やしました。
    • オフラインでの実行に対応しました。
      • オフライン版(GUI)
      • オフライン版(CUI)
  6. Q6.利用しているiLogScannerのバージョンを確認する方法を教えてください。

    A6.

    iLogScannerオフライン版(GUI)起動後、表示された設定画面の上部のタイトルから確認することができます。

解析処理について

  1. Q1.解析機能が3種類ありますが、どのような違いがあるのですか?

    A1.

    iLogScannerでは、以下の3種類の解析を行うことができます。検出したい項目に応じて機能を使い分けてください。

    • アクセスログ解析
      • Apache HTTP ServerやIISのアクセスログを解析し、ウェブアプリケーションに対する攻撃の兆候を検出することができます。
    • ModSecurityログ解析
      • ModSecurityのエラーログを解析し、ModSecurityで検出・遮断した攻撃の統計情報を出力することができます。 Apache HTTP ServerのアクセスログとModSecurityのエラーログを同時に指定して解析することで、より詳細な解析を行うことができます。
    • 認証ログ解析
      • SSH、FTPのログを解析し、パスワードクラッキングなどの不正アクセスの兆候を検出することができます。 また、利用者のログイン状況に関する解析を行い、業務時間外や長時間のログインなど、不適切と思われる利用状況を検出することができます。
  2. Q2.解析にはどのくらい時間がかかりますか?

    A2.

    下記に示したアクセスログおよび環境での平均値を記載いたします。

    1. アクセスログを解析レベル標準で解析した結果になります。

    解析用アクセスログファイル

    • IIS6.0のW3C拡張ログファイル形式のアクセスログファイル
      全ての行で脆弱性が検出されるアクセスログファイル
      • IIS_W3C-1:ファイルサイズ2MB/14446行(脆弱性 14442件)
      • IIS_W3C-2:ファイルサイズ2MB/7200行(脆弱性 7196件)
    • IIS6.0のIISログファイル形式のアクセスログファイル
      全ての行で脆弱性が検出されるアクセスログファイル
      • IIS-1:ファイルサイズ2MB/14336行(脆弱性 14336件)
      • IIS-2:ファイルサイズ2MB/7200行(脆弱性 7196件)
    • Apache1.3系/2.0系/2.2系のcommon形式のアクセスログ
      全ての行で脆弱性が検出されるアクセスログファイル
      • Apache-1:ファイルサイズ2MB/14616行(脆弱性 14616件)
      • Apache-2:ファイルサイズ2MB/7192行(脆弱性 7192件)

    動作環境

    CPU:

    Intel Pentium4 2.8GHz

    Memory:

    1GB

    Javaランタイムパラメータ:

    最大ヒープサイズ256MB(-Xmx256m)

    平均処理時間(単位:秒)

    ・IIS_W3C-1

    118.2 秒

    ・IIS_W3C-2

    67 秒

    ・IIS-1

    116 秒

    ・IIS-2

    66 秒

    ・Apache-1

    118.4 秒

    ・Apache-2

    65 秒

    1. 各自の動作させる環境によって時間の差異は発生します。ご了承ください。
  3. Q3.攻撃と思われる痕跡はどのように検出しているのですか?

    A3.

    アクセスログ/エラーログの解析では、ウェブサーバのアクセスログに記録されたリクエストのクエリ文字列から、ウェブアプリケーションへの攻撃によく見られる文字列が含まれているか調べています。
    それぞれの攻撃でよく見られる文字列は次のような意味のある文字列になります。

    SQLインジェクション
    • SQLステートメントで使用されるキーワード
    • データベースのシステムテーブル名
    • SQLステートメントで使用される関数
    • システムストアドプロシージャ名
    • システム拡張ストアドプロシージャ名
    OSコマンド・インジェクション
    • コンピュータの基本ソフトウエアを操作するための命令文やそれらのパラメータ文
    ディレクトリ・トラバーサル
    • ディレクトリ操作文
    クロスサイト・スクリプティング
    • スクリプト関数
    • HTMLタグ文字列
    • イベントハンドラ
    その他(IDS※回避を目的とした攻撃)
    • 特殊文字を使用して、偽装した文字列
    1. IDS : 侵入検知システム(Intrusion Detection System)
    • 一般的なGETメソッドを使用したウェブアプリケーションについて、リクエストのクエリ文字列から攻撃と思われる痕跡を検出しています。
    • 一般的なPOSTメソッドを使用したウェブアプリケーションについては、リクエストのクエリ文字列がアクセスログに出力されないため、攻撃と思われる痕跡をiLogScannerで検出することはできません。
    • ウェブアプリケーションへ無差別に攻撃するような一部の攻撃は、 POSTメソッドによる攻撃の場合でもリクエストのクエリ文字列がアクセスログに出力される場合があるため、iLogScannerで検出できる場合があります。
    • 攻撃が成功した可能性が高いかどうかを検出することができるのは、SQLインジェクションの攻撃と思われる痕跡からのみとなります。

    認証ログの解析では、SSH、FTPのログに記録された認証情報や認証結果、ファイルへのアクセス回数をカウントし、検出項目の条件に当てはまるものがあるか調べています。
    それぞれの検出項目の検出条件は以下の通りです。

    大量のログイン失敗

    基準時間内の同一ユーザ名によるログイン試行回数が基準値に達した場合

    短時間の集中ログイン

    基準時間内のログイン試行回数が基準値に達した場合

    同一ファイルへの大量アクセス検知

    基準時間内に同一のファイル名に対するファイルアクセス(ダウンロード)が基準値に達した場合

    認証試行回数

    ログに含まれるログイン試行総回数

    業務時間外アクセス

    ログイン時の時間が指定された業務時間外だった場合

    ルート昇格

    ルート昇格の操作が行われた場合

    指定IP外からのアクセス

    ログイン時の接続元IPアドレスが指定範囲外だった場合

    特権アカウントでのログイン検知

    ログイン時のユーザ名がrootだった場合

    長時間ログインの検知

    ログイン~ログアウトの時間差が基準値を超えていた場合

    匿名アカウントでのログイン検知

    ログイン時のユーザ名がanonymousまたはftpだった場合

    ゲストアカウントでのログイン検知

    ゲストユーザでのログインだった場合

  4. Q4.解析レベルを「詳細」に設定したときに行われる「攻撃が行われている可能性」はどのように検出しているのですか?

    A4.

    オプション選択画面で解析レベルの詳細を選択時、以下3項目による解析を行っています。これらは、以下の基準値や条件を設定し、その基準値を超えた場合や条件を満たした場合に攻撃の可能性があると判断しています。また、一部ではウェブサーバのアクセスログに記録されたリクエストのクエリ文字列から、ウェブアプリケーションへの攻撃によく見られる文字列が存在した場合に検出する方法をとっています。

    同一IPアドレスから同一URLに対する攻撃の可能性

    攻撃検出用シグネチャによる解析結果に対して、以下の基準にて、再解析を行います。表中の条件を全て満たす場合、攻撃と判断します。

    条件1

    同一IPアドレスから同一URL(CGI、ASP、JSP等を含むウェブアプリケーション全般)に対する攻撃痕跡が一定件数に達している。

    条件2

    同一IPアドレスからの攻撃痕跡が一定件数に達している。

    1. 標準解析による脆弱性5種類の分類は問いません。

    アクセスログに記録されないSQLインジェクションの可能性

    アクセスログに次の表中の条件を全て満たすリクエストが記録されている場合、ログに記録されないタイプのSQLインジェクション攻撃が行われた可能性があると判断します。

    条件1

    アクセスログに記録されたリクエストの応答コード(サーバレスポンス)が5xx番台であること。
    かつPOSTメソッドであること。

    条件2

    条件1に合致するリクエストが

    • 同一IPアドレスにより
    • 一定時間以内に規定数回以上行われている

    ウェブサーバの設定不備を狙った攻撃の可能性

    No.1 PUTメソッドの設定不備

    リクエストのメソッドがPUTであり、リクエストに対する応答コードが201であること

    No.2 FrontPage Server Extensionsの設定不備

    FrontPage Server Extensionsの設定不備を狙うような、特定ファイルURLに対するリクエストが行われていること

    No.3 Tomcatの設定不備

    Tomcatの設定不備を狙うような、特定ファイル(URL)に対するリクエストが行われていること

  5. Q5.攻撃が成功した可能性が高い痕跡はどのように検出しているのですか?

    A5.

    攻撃を受けた際、ウェブサーバのアクセスログに内部エラーが発生したログや攻撃成功時に記録されるログなどの、特徴的なログが記録されている場合、攻撃が成功した可能性が高い痕跡として検出しています。

    • ウェブアプリケーションの実装や使用するサーバソフトウェアによっては、アクセスログに特徴的なログが記録されず、攻撃が成功した可能性が高い痕跡を検出できない場合もあります。
    • ウェブサーバのアクセスログに記録された攻撃の痕跡は、攻撃を受けたことが記録として残っているのみで、攻撃を受けた結果(攻撃の成功可否)については記録されていません。このため、iLogScannerの解析だけでは、攻撃の成功/失敗について確実な判断をすることはできません。
    • 攻撃が成功した可能性が高いかどうかを検出することができるのは、SQLインジェクションの攻撃と思われる痕跡からのみとなります。
    • 攻撃が成功した可能性が高い痕跡が検出されない場合でも、攻撃と思われる痕跡が検出された場合は製作者またはセキュリティベンダーに相談することをお勧めします。

解析結果について

  1. Q1.解析結果はどのような形式で出力されますか?

    A1.

    解析結果レポートは、以下の3種類の形式で出力することができます(出力される内容は同一です)。用途に応じて使い分けてください。

    • HTML形式
      • HTML形式のレポートをウェブブラウザで開くことで、視覚的に分かりやすい形でレポートの内容を確認することができます。
    • TEXT形式
      • コンソールで作業を行っている場合など、ウェブブラウザが利用できない環境でも、TEXT形式のレポートで出力結果を確認することができます。
    • XML形式
      • iLogScannerの解析結果をプログラムで処理する場合など、機械処理を行いたい場合には、XML形式のレポートをご利用いただくことができます。
  2. Q2. 攻撃と思われる痕跡が検出されました。どうすればよいですか?

    A2.

    痕跡が検出された場合は、製作者またはセキュリティベンダーに相談することをお勧めします。

    • なお、iLogScannerは簡易ツールであり、実際の攻撃による脆弱性検査は行っていません。攻撃が検出されない場合でも安心せずに、ウェブサイトの脆弱性検査を行うことをお勧めします。
  3. Q3.攻撃と思われる痕跡があるのに、ModSecurityで検出・遮断した件数が0件です。どうしてでしょうか?

    A3.

    ModSecurityおよびApacheのバージョンはiLogScannerが対応しているバージョンになっていますか?

    「解析することができるエラーログを出力するModSecurityのバージョンは?」を参照してください。

    結果レポートの表の「検出対象脆弱性」項目の「上記以外の分類(ModSecurity)」に検出数が出力されていませんか?

    ModSecurityでエラーログに出力する名称が、iLogScannerで検出対象としている脆弱性とは異なる場合、結果レポートの表の「検出対象脆弱性」項目の「上記以外の分類(ModSecurity)」に検出数を表示しています。そちらの項目をご確認ください。

    ModSecurity のルールを設定していますか?

    ModSecurityで遮断/検出するためのルールが設定されているかどうか確認してください。

    エラーログ出力項目に以下の項目が表示されるように設定されていますか?

    iLogScannerで解析処理を行う場合、以下の項目が必須になっています。
    ModSecurityの設定に以下の項目が含まれているかどうかをご確認ください。

    【必須項目】
    • アクセス日時
    • Apacheのエラーレベル
    • アクセス元IPアドレス
    • タグ
    • リクエストURI
    • リクエストの固有番号

    その他

    アクセスログとエラーログが記録している時期が異なるため、マッチングができなかった可能性があります。アクセスログおよびエラーログのデータ内容をご確認ください。

  4. Q4.年情報が含まれないログ(RSYSLOG_TraditionalFileFormat形式のsshdのログ等)の解析において注意点はありますか。

    A4.

    sshdのログ出力形式がRSYSLOG_TraditionalFileFormatの場合、ログに年情報が含まれません。そのため、解析処理に以下の制限があります。

    • 解析対象の年月日を指定した場合、月日の情報のみを使用して解析を行います。年の指定はできません。
    • 年をまたいだログが記録されている場合、正しく解析が行われません。
    • うるう年のログファイルを解析する際に、解析を実行した年がうるう年ではない場合、2月29日のログは解析対象外となります。解析対象外となったログの情報はレポートに出力されますので、必要に応じて内容をご確認ください。
    • うるう年以外のログファイルを解析する際に、解析を実行した年がうるう年の場合、2月28日~3月1日のログ解析において誤検知が発生する場合があります。 具体的には、2月28日~3月1日にかけてログインしていたユーザが長時間ログインとして検知される可能性があります。
  5. Q5.ログイン失敗が連続しているのに認証ログ解析で検出されない行があります。どうしてでしょうか?

    A5.

    認証ログ解析では、条件を満たす行数が閾値に達した段階で1回の攻撃と判断し、次の行から再度解析を行っています。閾値未満の行については検出されません。
    (例:閾値が10回で、ログイン失敗が27行連続した場合、2回の攻撃があったと判断し、最後の7行は閾値未満のため検出対象外となります)
    なお、1回でも閾値に達した場合、攻撃を行われている可能性があるため、必要に応じてセキュリティベンダに相談する等の対策をご検討ください。

  6. Q6.解析結果サマリ画面に表示されるレポートファイル名が途中で切れています。

    A6.

    出力先のフォルダ名が長い場合、解析結果レポートファイルのパスが途中で切れた状態で表示されることがあります。
    画面上の解析結果レポートファイルをドラッグしてコピーし、テキストエディタ等に貼り付けることで、レポートファイルのパスを確認することができます。

  7. Q7.Linux環境で解析結果が文字化けします。

    A7.

    解析結果レポートはS-JISで出力されるため、OSの言語設定がUTF-8の場合、more等でレポートを確認すると文字化けして表示されます。文字コードの変換を実施してください。なお、Linux環境の場合、以下のコマンドを実行することで、レポートファイルの文字コードを変換できます。
    iconv -f SJIS -t UTF8 [レポートファイル名] > [変換後レポートファイル名]

  8. Q8.検査結果などのデータをIPAに送信していますか?

    A8.

    IPAには検査結果などのデータの送信は一切行っておりません。

  9. Q9.「D053」シグネチャ対応コードは何を検出してるのでしょうか?

    A9.

    「D053」は16進コード等の特殊文字を使用して、IDS回避を目的とした攻撃に対応するシグネチャです。
    リクエスト文字列中にある"0x"の文字列を検出したことを表しています。

  10. Q10.攻撃が成功した可能性の高い件数が「-」のままです。どうしてでしょうか。

    A10.

    攻撃が成功した可能性が高いかどうかの検出はSQLインジェクションの攻撃と思われる痕跡からのみとなります。
    それ以外の攻撃については検出されません。

実行時のエラーについて

  1. Q1.「入力されたログフォーマットが不正です。」が表示されます。

    A1.

    下記の対処方法をご確認ください。

    • アクセスログフォーマットで指定の書式指定子をご確認ください。

    詳細設定画面のアクセスログのフォーマットを入力する項目「ログフォーマット:」に正しく書式指定子が入力されているか、または、必須になっている書式指定子が入力されているかご確認ください。ログフォーマットの詳細については、「
    操作手順」の「2.4 解析対象ログファイル」に記載しております。ご確認ください。

    • X-Forwarded-Forの書式を使用している場合

    X-Forwarded-Forの出力形式は対応しておりません。書式指定子の必須項目以外は、取り込むデータは半角スペースで区切られた1個のデータが指定されているものとして扱います。そのため、X-Forwarded-Forの出力形式のように client1, proxy1, proxy2 とカンマとスぺースで分けられたIPアドレスの複数個のデータは、ログフォーマットと異なると判断されます。X-Forwarded-Forの出力データを1つにするなど事前に解析可能なデータへ整形するなどをご検討ください。

  2. Q2.実行時にエラーメッセージが表示され、解析処理が行われません。

    A2.

    エラーメッセージの内容を確認し、下記の対処方法をご確認ください。

    「指定されたディレクトリは、存在しないか書き込み権限がありません。」

    解析結果の出力先として指定されたディレクトリへの書き込みが許可されていない可能性があります。ディレクトリのセキュリティ設定をご確認ください。

    「メモリが不足しています」

    解析するアクセスログファイルに1行が非常に大きいログがある場合、Java Plug-inでエラーが発生する場合があります。この場合、Javaの起動パラメータ「-Xmx(size)m」を指定してJavaが使用するメモリの最大サイズを大きくしてください(デフォルトでは64MBです)。設定方法の例は「
    操作手順」の「2.3.Javaの設定」をご確認ください。

    「システムエラーが発生しました」

    • IISやApacheなどサービスが書込中(使用中)のファイルを解析している時に 同様なエラーが発生する場合あります。一度ファイルをコピーするなど退避を行い、退避した ファイルに対して解析をお試しください。

    ・エラーメッセージに記載されているエラーコードをメモとしてお控えいただき、iLogScannerトップページのお問合わせ先へご連絡ください。

    「ファイルまたはディレクトリが存在していません。」

    実行途中でファイルまたはディレクトリが消された可能性があります。選択したファイルまたはディレクトリを確認してください。

    「入力ファイルのログタイプ形式が不正です。」

    アクセスログまたは、エラーログのログタイプが異なるか、または必須項目が出力されていない可能性があります。アクセスログについての詳細は、「解析対象のアクセスログ詳細」、エラーログについての詳細は「解析対象のエラーログ詳細」をご確認ください。

    「入力ファイルに必須のカラムデータが存在していません。」

    ウェブサーバのアクセスログかどうか今一度ご確認をお願いいたします。また、アクセスログのログタイプが異なるか、必須項目が出力されていない可能性もありますので、ログの項目の確認をお願いいたします。アクセスログについての詳細は、「解析対象のアクセスログ詳細」をご確認ください。

    「当ツールを実行する許可が取消しされました。」

    実行時に表示された署名確認画面でキャンセルを選択されませんでしたでしょうか。署名確認画面がキャンセルされた場合は、当ツールは実行されません。
    ※ツール実行時に表示された署名確認画面の署名内容を必ず確認してください。
    ※一度、ウェブブラウザを閉じ、再度、ウェブブラウザを起動していただく必要があります。

    コマンドプロンプト上に次のメッセージが表示される。

    Exception in thread "Thread-3" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBContext
      at jp.go.ipa.ilogscanner.bl.ScannerXmlReport.Output(ScannerXmlReport.java:51)
      at jp.go.ipa.ilogscanner.bl.LogScannerLogic.makeReport(LogScannerLogic.java:1011)
      at jp.go.ipa.ilogscanner.bl.LogScannerThread.run(LogScannerThread.java:330)
      at java.base/java.lang.Thread.run(Thread.java:834)
    Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
      at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
      at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
      ... 4 more

    Javaの仕様変更(Java11 以降)により、レポートの出力形式を"XML形式"または"すべての形式(HTML,XML,TEXT)"を選択して解析を行った際に発生します。
    Java11以降をご利用の場合は、レポートの出力形式を"HTML形式"または"TEXT形式"をお選びください。

    コマンドプロンプト上に「例外が発生しました。」とメッセージが表示され、アクセスログ解析画面が正しく表示されません。

    例外が発生しました。

    一部のWindows環境にてGUIが正しく表示されない場合があります。別のWindows環境でiLogscannerの起動をお試しいただくか、CUI版の利用(コマンドラインでの実行)をご検討ください。

更新履歴

  • 2022年11月30日

    「実行時のエラーについて」-「2.実行時にエラーメッセージが表示され、解析処理が行われません。」を追記

  • 2022年5月31日

    「実行時のエラーについて」-「1.「入力されたログフォーマットが不正です。」が表示されます。」を追記

  • 2021年9月9日

    「システムエラーが発生しました」の内容を追記

  • 2021年6月1日

    「解析結果について」-「9.「D053」シグネチャ対応コードは何を検出してるのでしょうか?」を追記

  • 2019年12月4日

    「実行時のエラーについて 」-「1.実行時にエラーメッセージが表示され、解析処理が行われません」を追記

  • 2019年1月16日

    iLogScannerオンライン版の公開終了に伴い関連FAQの削除および見直し

  • 2014年11月14日

    「iLogScannerについて 」-「7.利用しているiLogScannerのバージョンを確認する方法を教えてください。」を追加

  • 2014年10月9日

    掲載