キーワードは特別な単語またはフレーズです。特定のタイプのデータを識別するには、関連するキーワードをキーワードリストに追加します。たとえば、診断書で使用されることのある「予後」、「血液型」、「予防接種」、「医師」などがキーワードとなります。診断書ファイルの送信を防ぐため、これらのキーワードが含まれるファイルをブロックするようにIMSVAを設定します。
キーワードは特定の構造を備えたデータです。たとえば、クレジットカード番号は通常16桁の数字で構成され、「nnnn-nnnn-nnnn-nnnn」という形式で表示されるため、キーワードベースの検出に適しています。
コンテンツの検索条件を選択する
手順
- ウイルス対策ポリシーでない「その他」のポリシーを作成して変更します。
-
新しいルールの作成手順については、ポリシーの設定を参照してください。
-
既存ルールの変更手順については、既存のポリシーの設定を参照してください。
-
- [検索条件] 画面の [コンテンツ] で、コンテンツの条件を適用するメッセージ部分の横のチェックボックスをオンにします。
- 内容の条件を設定するメッセージ部分のリンクをクリックします。次の2つの列が表示されている [キーワードおよび式] 画面が表示されます。
-
使用可能: キーワードは利用可能ですが、現在使用されていません。
-
選択済み: キーワードは現在使用中です。
-
- ヘッダにキーワードを設定する場合は、キーワードを適用するヘッダ項目の横のチェックボックスをオンにします。
- [追加] をクリックします。キーワード表現を管理する画面が表示されます。
- キーワードを設定します。
- [使用可能] リストで、有効にするキーワードリストをクリックします。
- [>>] をクリックします。キーワードが [選択済み] リストに表示されます。キーワードリストを利用可能な状態にしておき、IMSVAで一時的に使用しないようにするには、選択されたリストでキーワードをクリックしてから [<<] をクリックします。
- [保存] をクリックして、[検索条件] 画面を続行します。
キーワードを設定する
ヒントキーワードは、ポリシー作成時にも作成できますが、ポリシー作成を開始する前に作成しておくことをお勧めします。
|
キーワードを作成する場合は、次の点を考慮してください。
-
シンプルなキーワードから開始します。誤ったアラームを引き起こす場合はキーワードを変更します。または、それらを調整して検出精度を向上します。
-
キーワードを作成する際の条件を指定します。キーワードは、IMSVAによるポリシーの適用に関係なく、指定した条件を満たす必要があります。
キーワードを作成する
手順
- の順に選択します。[キーワードおよび式] 画面が表示されます。
- [追加] をクリックします。[キーワードおよび式の追加] 画面が表示されます。
- [リスト名] に、わかりやすい名前を指定します。
- [一致] の横で次のいずれかを選択し、IMSVAが処理を実行するタイミングを指定します。
-
指定した任意のキーワード: メッセージのコンテンツがリスト内の任意のキーワードに一致するとき。
-
指定したすべてのキーワード: メッセージのコンテンツがリスト内のすべてのキーワードに一致するとき。
-
指定した以外のキーワード: メッセージのコンテンツがリスト内のどのキーワードにも一致しないとき。
-
合計スコアがしきい値を超える場合のみ: メッセージのコンテンツがリスト内の1つ以上のキーワードを含むとき。キーワードが1つだけ検出された場合は、そのスコアがしきい値を超えている必要があります。複数のキーワードが検出された場合は、合計スコアがしきい値を超えている必要があります。[処理が実行される総メッセージスコア] の横に、許容されるキーワードの最大スコアの数値を指定します。キーワードを追加するときに、その [スコア] の値を設定することができます。
-
- 新しいキーワード表現を作成するには、次の手順を実行します。
- [追加] をクリックします。[キーワードおよび式の追加] リストが表示されます。
- キーワードを指定します。部分一致の場合は、キーワードを指定してください。完全一致を指定するには、キーワードの前後に「\b」を使用します。以下に例を示します。
-
「keyword」は、「keywords」、「akeyword」と一致します。
-
「\bkeyword\b」は、「keyword」とのみ一致します。
-
- 追加したキーワード表現について、わかりやすい説明を入力します。
- [保存] をクリックします。
- [追加] をクリックします。
- フィルタの使用時に、メッセージコンテンツの大文字/小文字が区別されるようにする場合は、[大文字と小文字の区別] のチェックボックスをオンにします。
- [合計スコアがしきい値を超える場合のみ] を選択した場合:
- [処理が実行される総メッセージスコア] フィールドでしきい値を指定します。
- [スコア] ドロップダウンボックスから値を選択します。
- [保存] をクリックします。[キーワードおよび式] 画面のテーブルに新しいキーワードが表示されています。
ポリシーの作成時や変更時にキーワードを追加または編集する
手順
- ウイルス対策ポリシーでない「その他」のポリシーを作成して変更します。
-
新しいルールの作成手順については、ポリシーの設定を参照してください。
-
既存ルールの変更手順については、既存のポリシーの設定を参照してください。
-
- [検索条件] 画面の [コンテンツ] で、内容の条件を設定するメッセージ部分のリンクをクリックします。次の2つの列が表示されている [キーワードおよび式] 画面が表示されます。
- [キーワードおよび式] 画面で [追加] または [編集] をクリックします。キーワード表現リストの設定画面が表示されます。
- [リスト名] に、わかりやすい名前を指定します。
- [一致] の横で次のいずれかを選択し、IMSVAが処理を実行するタイミングを指定します。
-
指定した任意のキーワード: メッセージのコンテンツがリスト内の任意のキーワードに一致するとき。
-
指定したすべてのキーワード: メッセージのコンテンツがリスト内のすべてのキーワードに一致するとき。
-
指定した以外のキーワード: メッセージのコンテンツがリスト内のどのキーワードにも一致しないとき。
-
合計スコアがしきい値を超える場合のみ: [処理が実行される総メッセージスコア] の横に、許容されるキーワードの最大スコアの数値を指定します。キーワードを追加するときに、その [スコア] の値を設定することができます。
-
- キーワードを作成するには、[追加] をクリックします。[キーワードおよび式の追加] リストが表示されます。
- キーワードを指定します。部分一致の場合は、キーワードを指定してください。完全一致を指定するには、キーワードの前後に「\b」を使用します。以下に例を示します。
-
「keyword」は、「keywords」、「akeyword」と一致します。
-
「\bkeyword\b」は、「keyword」とのみ一致します。
-
- キーワードの説明を指定します。
- [合計スコアがしきい値を超える場合のみ] を選択した場合:
- [処理が実行される総メッセージスコア] フィールドでしきい値を指定します。
- [スコア] ドロップダウンボックスから値を選択します。
- [保存] をクリックします。
- フィルタの使用時に、メッセージコンテンツの大文字/小文字が区別されるようにする場合は、[大文字と小文字の区別] のチェックボックスをオンにします。
- [保存] をクリックして、ポリシーの変更または作成を続行します。
正規表現について
文字
|
正規表現
|
説明
|
|
.(ドット)
|
改行文字以外の任意の文字 (バイト)
|
|
x
|
文字「x」
|
|
\\
|
文字「\」
|
|
\a
|
警告 (ベル) 文字 (ASCII 0x07)
|
|
\b
|
|
|
\f
|
改ページ文字 (ASCII 0x0C)
|
|
\n
|
改行文字 (ASCII 0x0A)
|
|
\r
|
復帰改行文字 (ASCII 0x0D)
|
|
\t
|
通常の (水平) タブ文字 (ASCII 0x09)
|
|
\v
|
垂直タブ文字 (ASCII 0x0B)
|
|
\n
|
8進値0nを持つ文字 (0 <= n <= 7)
|
|
\nn
|
8進値0nnを持つ文字 (0 <= n <= 7)
|
|
\mnn
|
8進値0mnnを持つ文字 (0 <= m <= 3、0 <= n <= 7)
|
|
\xhh
|
16進値0xhhを持つ文字。たとえば、\x20は空白文字を意味します。
|
ブラケット表現と文字クラス
ブラケット表現とは、文字のリストや文字クラスを角カッコ [] で囲んだものです。ブラケット表現を使用することによって、リスト内の文字または文字範囲に対する一致を検索できます。リストの最初の文字が「^」の場合は、そのリスト以外の文字が検索されます。
以下に例を示します。
| 表現 | 一致する文字 |
| [abc] | a、b、またはc |
| [a-z] | a~z |
| [^abc] | a、b、c以外の任意の文字 |
| [[:alpha:]] | 任意の英字 (次の表を参照) |
それぞれの文字クラスは、標準Cの対応するisXXX関数と同等の文字セットを表します。たとえば、[:alpha:] は、isalpha()でtrueが返される文字 (例:
任意の英字) を指定します。文字クラスはブラケット表現で囲む必要があります。
| 文字クラス | 説明 |
| [:alpha:] | 英字 |
| [:digit:] | 数字 |
| [:alnum:] | 英数字 |
| [:cntrl:] | 制御文字 |
| [:blank:] | 空白とタブ |
| [:space:] | すべての空白文字 |
| [:graph:] | 表示可能文字 (空白、制御文字、またはこれらと同種の文字以外のもの) |
| [:print:] | [:graph:] と同様、ただし空白文字を含む |
| [:punct:] | 句読点文字 |
| [:lower:] | アルファベット小文字 |
| [:upper:] | アルファベット大文字 |
| [:xdigit:] | 16進数 (0-9a-fA-F) で使用可能な数字 |
大文字と小文字が区別されない表現では、[:lower:] と [:upper:] は [:alpha:] と同じになります。
境界一致
| 表現 | 説明 |
| ^ | 行の先頭 |
| $ | 行の末尾 |
量指定子
| 表現 | 説明 |
| R? | 1つのR、またはRなしと一致 |
| R* | 0個以上のRと一致 |
| R+ | 1つ以上のRと一致 |
| R{n} | 厳密にn個のRと一致 |
| R{n,} | n個以上のRと一致 |
| R{n,m} | n個以上かつm個以下のRと一致 |
Rは任意の正規表現を表します。
正規表現では、「.*」は使用しないことをお勧めします。「.*」はあらゆる長さの文字と一致するため、一致が大量に検出されることによってメモリの使用率が上がり、パフォーマンスに影響する場合があります。
以下に例を示します。
正規表現「.*abc」を使用して123456abcを検索した場合、一致結果は次のようになります。
-
12345abc
-
23455abc
-
3456abc
-
456abc
-
56abc
-
6abc
-
abc
この例では、「.*abc」の代わりに「abc」を使用することによってリソースの使用量を抑制できます。
論理演算子
| 表現 | 説明 |
| RS | Rと、それに続くS (連結) |
| R|S | RまたはSのいずれか |
| R/S | 後ろにSが続く1つのR |
| (R) | Rのグループ化 |
略記とメタ記号
コンテンツフィルタでは、複雑な正規表現を記述する代わりに次の略記法を使用できます。コンテンツフィルタは表現を前処理して略記を正規表現に変換します。
たとえば、{D}+は[0-9]+に変換されます。略記がブラケット ({} など) または二重引用符で囲まれている場合、IMSVAはその略記表現を正規表現に変換しません。
| 略記 | 説明 |
| {D} | [0-9] |
| {L} | [A-Za-z] |
| {SP} | [(),;\.\\<>@\[\]:] |
| {NUMBER} | [0-9]+ |
| {WORD} | [A-Za-z]+ |
| {CR} | \r |
| {LF} | \n |
| {LWSP} | [ \t] |
| {CRLF} | (\r\n) |
| {WSP} | [ \t\f]+ |
| {ALLC} | . |
コンテンツフィルタは次のメタ記号にも対応しています。略記とメタ記号との違いは、メタ記号はブラケット表現内に挿入できることです。
| メタ記号 | 説明 |
| \s | [[:space:]] |
| \S | [^[:space:]] |
| \d | [[:digit:]] |
| \D | [^[:digit:]] |
| \w | [_[:alnum:]] |
| \W | [^_[:alnum:]] |
正規表現のリテラル文字列とエスケープ文字
正規表現で特別な意味を持つ文字 (+など) を検索文字として使用する場合は、エスケープ文字\ (バックスラッシュ/円記号) を付加する必要があります。たとえば、C/C++という文字列を検索する場合は、C\/C\+\+という表現を使用します。
場合によっては、C\/C\+\+のようにエスケープ文字をいくつも表現に追加しなければならないこともあります。このようなときは文字列C/C++を二重引用符で囲みます。たとえば、.REG
"C/C++" のようにします。この表現は元の表現と等しくなります。二重引用符で囲まれた文字 (エスケープ文字である\を除く) はリテラルとして解釈されます。次にいくつか例を示します。
| 表現 | 説明 |
| C/C++ | 文字列C/C++に一致 (二重引用符は含まない) |
| Regular\x20Expression | 文字列Regular Expressionに一致 (二重引用符は含まない)。\x20は空白文字を意味します。 |
| [xyz]\foo" | リテラル文字列[xyz]"fooに一致 |
正規表現で次の表現を使用する場合は、左右の<空白>を「\x20」に変更します。
-
.AND.
-
.OR.
-
.NOT.
-
.WILD.
キーワードを使用してポリシーを検索する
手順
- [ポリシーの検索] タブを選択します。
- [キーワード] の横に、ポリシーを検索するためのキーワードを指定します。
- [クエリ] をクリックします。指定したキーワードを含むポリシーのリストが表示されます。リストには関連するキーワードリストと式も表示されます。
