• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 H04L
管理番号 1380757
総通号数
発行国 JP 
公報種別 特許審決公報 
発行日 2022-01-28 
種別 拒絶査定不服の審決 
審判請求日 2021-02-22 
確定日 2022-01-05 
事件の表示 特願2017−547003「ネットワークセキュリティのための行動解析ベースのDNSトンネリング検出・分類フレームワーク」拒絶査定不服審判事件〔平成28年10月 6日国際公開、WO2016/160132、平成30年 5月24日国内公表、特表2018−513592、請求項の数(14)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯
本願は、2016年(平成28年)2月9日(パリ条約による優先権主張 外国庁受理 2015年4月3日 米国、2015年8月14日 米国、2015年9月30日 米国)を国際出願日とする出願であって、その手続の経緯は次のとおりである。

平成30年10月22日付け:拒絶理由通知書
平成31年 1月23日 :意見書、手続補正書の提出
令和 元年 6月26日付け:拒絶理由通知書
令和 元年12月19日 :意見書、手続補正書の提出
令和 2年 3月 9日付け:拒絶理由通知書
令和 2年 6月 1日 :意見書、手続補正書の提出、
令和 2年 6月26日付け:拒絶理由(最後の拒絶理由)通知書
令和 2年 9月11日 :意見書、手続補正書の提出
令和 2年10月20日付け:令和2年9月11日付け手続補正書でした
補正の却下の決定、
拒絶査定(原査定)
令和 3年 2月22日 :審判請求書、手続補正書の提出

第2 原査定の概要
原査定(令和2年10月20日付け拒絶査定)の概要は次のとおりである。

本願請求項1、4ないし7、9及び12に係る発明は、以下の引用文献1及び3ないし5に記載された発明に基いて、また、本願請求項2、3、8及び10、11、13及び14に係る発明は、以下の引用文献1ないし5に記載された発明に基いて、その発明の属する技術の分野における通常の知識を有する者(以下、「当業者」という。)が容易に発明をすることができたものであるから、特許法第29条第2項の規定により特許を受けることができない。

[引用文献等一覧]
1 米国特許出願公開第2012/0054860号明細書
2 Tomas Cejka et al.、Stream-wise Detection of Surreptitious Traffic over DNS、Proceeding of 2014 IEEE 19th International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD)、IEEE、2014年12月 1日、p.300-304
3 石橋 圭介、豊野 剛、佐藤 一道、DNSにおける異常トラヒック、電子情報通信学会技術研究報告、社団法人電子情報通信学会、2009年 7月 2日、VOl.109 No.119、p.19-24
4 Cheng Qi et al.、A Bigram Based Real Time DNS Tunnel Detection Approach、Procedia Computer Science Volume 17、2013、P.852-860
5 Dennis Arturo Ludena Romana et al.、Entropy Based Analysis of DNS Query Traffic in the Campus Network、Proc. CTISA2007、2007、P.42-44

第3 本願発明
本願請求項1ないし14に係る発明(以下、それぞれ「本願発明1」ないし「本願発明14」という。)は、令和3年2月22日に提出された手続補正書に係る手続補正(以下、「本件補正」という。)で補正された特許請求の範囲の請求項1ないし14に記載された事項により特定される発明であり、このうち、本願発明1は、以下のとおりの発明である。なお、下線は、本件補正により補正された箇所を示す。

「 ネットワークセキュリティのための行動解析ベースのDNSトンネリング検出・分類フレームワークを実装するためのオンラインプラットフォームのためのシステムであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリと、
を備え、
前記プロセッサは、
DNSデータストリームを受信し、
パッシブDNSトラフィックデータの時系列収集に適用される行動解析モデルに基づいてDNSトンネリング活動を識別するために、前記DNSデータストリーム中のペイロードを解析し、ネットワークドメインは、前記識別されたDNSトンネリング活動との関係付けに基づいて、不良ネットワークドメインであると決定され、前記ペイロードの前記解析は、
テキスト文字列内の文字集合の分布に基づいて、前記DNSデータストリームにおける前記テキスト文字列のエントロピを決定すること、
テキスト文字列内の人が読める文字および人が読めない文字に基づいて語彙特徴を決定することであって、前記人が読める文字は、アルファベット文字を含むこと、および、
前記DNSデータストリームにおけるテキスト文字列からNグラムスコア分布のパーセンタイルにおける値を決定することであって、前記パーセンタイルは、テキスト文字列内の文字集合に基づいて決定され、Nは、2以上の整数であること、
に基づいて、前記DNSデータストリームから1つ以上のDNS特徴を抽出することと、
前記1つ以上のDNS特徴を前記行動解析モデルに適用することと、を含み、
前記識別されたDNSトンネリング活動に基づいて緩和措置を実施し、
ホストから前記不良ネットワークドメインへのDNSクエリリクエストの検出に基づいて、前記ホストが感染していると決定し、
前記決定された感染ホストに基づいて、別の緩和措置を実施する、
ように構成されている、システム。」

なお、本願発明9は、本願発明1を方法の発明として特定したものであり、本願発明12は、本願発明1をコンピュータプログラムの発明として特定したものであり、本願発明2ないし8、本願発明10及び11、本願発明13及び14はそれぞれ、本願発明1、本願発明9及び本願発明12のそれぞれを減縮した発明である。

第4 引用文献、引用発明等
1 引用文献1について
(1)引用文献1記載事項
原査定の拒絶の理由に引用された引用文献1には、図面とともに次の事項が記載されている。

ア 「[0016] To provide an overall understanding of the invention certain illustrative embodiments will now be described, including systems and methods for detecting covert DNS tunnels using n-grams. However, it will be understood by one of ordinary skill in the art that the systems and methods described herein may be adapted and modified as is appropriate for the application being addressed and that the systems and methods described herein may be employed in other suitable applications, and that such other additions and modifications will not depart from the scope hereof.
[当審訳]
「[0016] 本発明の全体的な理解を得るために、nグラムを使用して不正DNSトンネルを検出するシステムおよび方法など、特定の例示的な実施形態をこれから説明する。しかし、本明細書に記載されたシステムおよび方法は、対処されるアプリケーションに適切なように適応および修正されてもよく、また、本明細書に記載されたシステムおよび方法は、他の適切なアプリケーションに採用されてもよく、そのような他の追加および修正が本明細書の範囲から逸脱しないことは、当業者には理解されるであろう。

イ 「[0018] FIG.1 is a block diagram of network 100, which includes secure network 102 and the Internet. Secure network 102 includes users 104, security system 106, and communications network 108. As an illustrative embodiment, the Internet includes DNS server 112 and malicious entity's domain server 114.」
[当審訳]
「[0018] 図1は、ネットワーク100のブロック図であり、セキュアネットワーク102とインターネットを含む。セキュアネットワーク102は、ユーザ104、セキュリティシステム106、および通信ネットワーク108を含む。例示的な実施形態として、インターネットは、DNSサーバ112および悪意のあるエンティティのドメインサーバ114を含む。」

「[0020] Security system 106 is generally responsible for blocking unauthorized messages entering and/or leaving network 102. Security system 106 may be any suitable type of security hardware and/or software, for example, a firewall. In an embodiment, all or most of the network communications entering or leaving network 102 pass through security system 106. For example, security system 106 may examine all incoming network traffic from the Internet. In some embodiments, security system 106 is equipped with software and/or hardware for detecting covert DNS tunnels using n-grams. Such embodiments are discussed below with regard to FIGS.2-4.」
[当審訳]
「[0020] セキュリティシステム106は、一般に、ネットワーク102に受信されるおよび/またはネットワーク102から送信される未承認のメッセージをブロックする責任がある。セキュリティシステム106は、例えばファイアウォールなど、任意の適切なタイプのセキュリティハードウェアおよび/またはソフトウェアであってよい。実施形態では、ネットワーク102に受信される、またはネットワーク102から送信されるネットワーク通信のすべてまたは大部分が、セキュリティシステム106を通過する。例えば、セキュリティシステム106は、インターネットからのすべての受信ネットワークトラフィックを検査してもよい。いくつかの実施形態では、セキュリティシステム106は、nグラムを使用して不正DNSトンネルを検出するためのソフトウェアおよび/またはハードウェアを備える。そのような実施形態については、図2〜4に関して後述する。」

ウ 「[0023] FIG.2 is a block diagram of covert DNS tunnel detector 200 that detects covert DNS tunnels using n-grams. For example, covert DNS tunnel detector 200 may detect the malicious user's covert DNS communications that are described above with regard to FIG.1. Covert DNS tunnel detector 200 includes network scanner 202, n-gram table 204, DNS request inspector 206, comparator 208, and suspicious domain table 210.」
[当審訳]
「[0023] 図2は、nグラムを用いて不正DNSトンネルを検出する不正DNSトンネル検出器200のブロック図である。例えば、不正DNSトンネル検出器200は、図1に関して上述した悪意のあるユーザの不正DNS通信を検出することができる。不正DNSトンネル検出器200は、ネットワークスキャナ202、nグラムテーブル204、DNS要求検査器206、比較器208、および不審ドメインテーブル210を含む。」

エ 「[0024] Network scanner 202 is generally configured to scan at least a portion of incoming network traffic, for example, traffic from the Internet going into secure network 102 of FIG.1. In some embodiments, scanner 202 scans all of the incoming network traffic. Network scanner 202 extracts some or all of the scanned network traffic in the form of n-grams, where n is any suitable integer. The extracted n-gram records may be stored in n-gram table 204. After scanning and/or extracting the suitable information from the incoming network traffic, scanner 202 forwards the incoming network traffic to any suitable device within the network. In some embodiments, network scanner 202 runs in parallel with other network processes and/or devices, such as a network router. In such an embodiment, identical or substantially similar incoming network traffic is received by both network scanner 202 and the network router. In some embodiments, network scanner 202 may include a packet capture software and/or hardware to capture the incoming network traffic. Duplicating incoming network traffic and/or utilizing packet capturing techniques can allow covert DNS tunnel detector 200 to perform its functions without increasing or substantially increasing the network's latency. For example, network scanner 202 can scan the incoming network communications while the network router forwards the identical incoming network communications to the appropriate device in the network.
[0025]…(中略)…
[0026] In some embodiments, network scanner 202 scans and stores incoming network traffic on the basis of syntax. For example, scanner 202 may match the syntax of hostnames in the network traffic and only create and store n-grams based on detected hostnames. In some embodiments, n-grams associated with detected hostnames in the incoming network traffic are given a higher priority in n-gram table 204. In some embodiments, network scanner 202 only creates and stores n-grams based on strings that match legal hostnames and/or based on strings that include characters within a particular range or ranges of ASCII codes. For example, n-gram table 204 may create n-grams based on strings that only include English characters. In some embodiments, scanner 202 formats n-grams according to a canonical form. For example, scanner 202 may convert all the characters in the created n-grams to all lowercase before transmitting the n-grams to n-gram table 204 for storage. In some embodiments, n-gram table 204 returns an indication on whether an n-gram recently created by scanner 202 is already in n-gram table 204. n-gram table 204 may alternatively or additionally disregard duplicate n-grams.
[0027] In some embodiments, network scanner 202 determines that it should not attempt to scan a portion of the incoming network traffic because it would be too computationally intensive to do so or it would create too much irrelevant data in n-gram table 204. For example, scanner 202 may determine that a portion of the incoming network traffic is encrypted by parsing enough of the traffic to determine that the encrypted portion of the traffic is not plaintext. It would generally not be possible for scanner 202 to decrypt the encrypted data without an encryption key or computationally intensive decrypting algorithms. Scanner 202 could scan the encrypted data, but doing so would create a number of irrelevant n-grams for storage in n-gram table 204. As such, upon determining that a portion of the incoming network traffic includes encrypted data, scanner 202 may ignore the encrypted portion of the incoming network traffic and allow that traffic to pass through covert DNS tunnel detector 200 without being scanned. In some embodiments, scanner 202 will not scan particular data types that are included in the incoming network traffic because those particular data types generally do not include hostname information. For example, image data in a JPEG or GIF format generally does not include hostname information. As such, scanner 202 can ignore JPEG or GIF data that is included in incoming network traffic and allow the JPEG or GIF data to pass through covert DNS tunnel detector 200 without being scanned.」
[当審訳]
「[0024] ネットワークスキャナ202は、一般に、受信ネットワークトラフィックの少なくとも一部(例えば、図1のセキュアネットワーク102に受信されるインターネットからのトラフィック)をスキャンするように構成される。いくつかの実施形態では、スキャナ202は、受信ネットワークトラフィックのすべてをスキャンする。ネットワークスキャナ202は、スキャンされたネットワークトラフィックの一部または全部をnグラムの形式で抽出し、ここでnは任意の適切な整数である。抽出されたnグラムレコードは、nグラムテーブル204に格納されてもよい。受信ネットワークトラフィックから適切な情報をスキャンおよび/または抽出した後、スキャナ202は、受信ネットワークトラフィックをネットワーク内の任意の適切なデバイスに転送する。いくつかの実施形態では、ネットワークスキャナ202は、ネットワークルータなどの他のネットワークプロセスおよび/またはデバイスと並行して実行される。そのような実施形態では、同一のまたは実質的に類似した受信ネットワークトラフィックは、ネットワークスキャナ202およびネットワークルータの両方によって受信される。いくつかの実施形態では、ネットワークスキャナ202は、受信ネットワークトラフィックを捕捉するためのパケットキャプチャソフトウェアおよび/またはハードウェアを含んでもよい。受信ネットワークトラフィックを複製し、および/またはパケットキャプチャ技術を利用することにより、不正DNSトンネル検出器200が、ネットワークのレイテンシーを増加させることなく、または実質的に増加させることなく、その機能を実行することができる。例えば、ネットワークスキャナ202は、ネットワークルータが同一の受信ネットワーク通信をネットワーク内の適切なデバイスに転送している間に、受信ネットワーク通信をスキャンすることができる。
[0025] …(中略)…
[0026] いくつかの実施形態では、ネットワークスキャナ202は、シンタックスに基づいて、受信ネットワークトラフィックをスキャンし、保存する。例えば、スキャナ202は、ネットワークトラフィック内のホスト名のシンタックスを照合し、検出されたホスト名に基づくnグラムのみを作成して保存してもよい。いくつかの実施形態では、受信ネットワークトラフィック内の検出されたホスト名に関連するnグラムは、nグラムテーブル204においてより高い優先順位が与えられる。いくつかの実施形態では、ネットワークスキャナ202は、合法的なホスト名に一致する文字列に基づいて、および/またはASCIIコードの特定の範囲または範囲内の文字を含む文字列に基づいて、nグラムを作成および保存するだけである。例えば、nグラムテーブル204は、英語の文字のみを含む文字列に基づいてnグラムを作成してもよい。いくつかの実施形態では、スキャナ202は、正準形式に従ってnグラムをフォーマットする。例えば、スキャナ202は、記憶のためにnグラムテーブル204にnグラムを送信する前に、作成されたnグラムのすべての文字をすべて小文字に変換してもよい。いくつかの実施形態では、nグラムテーブル204は、スキャナ202によって最近作成されたnグラムがnグラムテーブル204に既にあるかどうかに関する表示を返す。nグラムテーブル204は、代替的または追加的に、重複するnグラムを無視してもよい。
[0027] いくつかの実施形態では、ネットワークスキャナ202は、受信ネットワークトラフィックの一部のスキャンを試みるべきではないと判断するが、その理由は、それを行うには計算集約的すぎるため、またはnグラムテーブル204にあまりにも多くの無関係なデータを作成するためである。例えば、スキャナ202は、トラフィックの暗号化された部分が平文ではないと判断するのに十分なトラフィックを解析することによって、受信ネットワークトラフィックの一部が暗号化されていると判断することができる。暗号化キーまたは計算集約的な復号化アルゴリズムなしに、スキャナ202が暗号化されたデータを復号化することは、一般に不可能であろう。スキャナ202は、暗号化されたデータをスキャンすることができるが、そうすると、nグラムテーブル204に格納するための多数の無関係なnグラムを作成することになる。このように、受信ネットワークトラフィックの一部が暗号化されたデータを含むと判断すると、スキャナ202は、受信ネットワークトラフィックの暗号化された部分を無視し、そのトラフィックがスキャンされることなく不正DNSトンネル検出器200を通過することを許可することができる。いくつかの実施形態では、スキャナ202は、受信ネットワークトラフィックに含まれる特定のデータタイプをスキャンしないが、それは、それらの特定のデータタイプが一般にホスト名情報を含まないからである。例えば、JPEGまたはGIFフォーマットの画像データは、一般にホスト名情報を含まない。このように、スキャナ202は、受信ネットワークトラフィックに含まれるJPEGまたはGIFデータを無視し、JPEGまたはGIFデータがスキャンされずに不正DNSトンネル検出器200を通過することを可能にすることができる。」

オ 「[0028] n-gram table 204 may be of any suitable memory structure that stores and/or organizes the n-grams received from network scanner 202. For example, table 204 entries may be organized according to any suitable indexing and/or hash function. In some embodiments, table 204 may be any suitable hash table, Bloom filter, trie, search tree, ordered tree, or any other structure that is capable of returning an indication of whether new n-grams have been seen before. For example, a suitable hash function implemented in table 204 may convert the n-grams received from scanner 202 to m number of entry numbers, where m is a number between O and B, and where B is the size of the memory in table 204. The entries of table 204 may be indexed in a manner such that the entries are spread uniformly over the range of numbers from O to B for different n-grams received from scanner 202. When table 204 receives an n-gram from comparator 208, as is described in greater detail below, n-gram table 204 will return an indication of whether the n-gram is stored in table 204 to comparator 204.
[0029] In some embodiments, n-gram table 204 is entirely or partially predetermined. For example, n-gram table 204 may add new entries received from network scanner 202 to a partial table of predetermined entries. In a first embodiment, the predetermined entries are based on n-grams gathered during a trial and/or experimental period, such as, n-grams gathered during experimental periods of operation run by the developers of covert DNS tunnel detector 200. As a further example, n-grams can be gathered by network scanner 202 during a trial period shortly after tunnel detector 200 is installed in a particular network. In a second embodiment, the predetermined entries are based on popular and/or most accessed hostnames. For example, the predetermined entries may be based on information regarding popular websites provided by an Internet activity monitoring organization, such as Alexa Internet, Inc. In a third embodiment, the predetermined entries are based on the location of the network that implements covert DNS tunnel detector 200. For example, the predetermined entries may be based on popular Chinese websites when covert DNS tunnel detector 200 is implemented in a network that primarily includes Chinese users. In a fourth embodiment, the predetermined entries are based on a category or categories of websites. For example, the predetermined entries may be based on visual arts websites when covert DNS tunnel detector 200 is implemented in an organization primarily focused on the visual arts. It should be noted that the predetermined entries of n-gram table 204 may include any suitable combination of the predetermined entries noted above or any other suitable predetermined entry without departing from the scope of this disclosure. n-gram table 204 may be implemented using any suitable form of memory, for example, random-access memory, read-only memory, flash memory, or any other suitable form of memory.
[0030]…(中略)…
[0031] In some embodiments, n-gram table 204 stores n-gram entries indefinitely. For example, n-gram table 204 may be ever expanding as more n-grams are continually extracted from incoming network communications. In such an example, n-gram table 204 can dynamically allocate memory for the n-gram entries as needed. In some embodiments, n-gram table 204 is periodically refreshed. For example, after some period of time or after a particular amount of information is stored in n-gram table 204, some or all of table 204 may be deleted. In some embodiments, older entries are replaced with new entries. For example, n-gram table 204 may be maintained at a fixed size. In such an embodiment, when a new entry is extracted from the incoming network communications, n-gram table 204 may replace the oldest entry and/or least commonly seen entry with the new entry. For example, n-gram table 204 may examine the existing entries to determine which entry is the oldest and/or least commonly seen. Once the oldest and/or least common entry is found, it may be replaced by the new entry. In some embodiments, entries in n-gram table 204 are associated with timestamps to aid determining the age of the entries and/or determining when the entries were last seen and/or updated by network scanner 202. In some embodiments, entries in n-gram table 204 are associated with counters in addition to or alternative to the timestamps, which may be used to determine the rarity of the entries. In some embodiments, the counters decay over time so that, for example, entries that originated from large, but short lived bursts are not incorrectly determined to be common. In some embodiments, the determined rarity of an entry is based on the frequency of the entry. For example, entries that are seen with a higher frequency may be determined to be common, while entries that are seen with a lesser frequency may be determined to be rare. In some embodiments, entries are deleted from n-gram table 204 randomly to make room for new entries.」
[当審訳]
「[0028] nグラムテーブル204は、ネットワークスキャナ202から受信したnグラムを格納および/または整理する任意の適切なメモリ構造であってよい。例えば、テーブル204のエントリは、任意の適切な索引付けおよび/またはハッシュ関数に従って編成されてもよい。いくつかの実施形態では、テーブル204は、新しいnグラムが以前に抽出されたかどうかの表示を返すことが可能な、任意の適切なハッシュテーブル、ブルームフィルタ、トリエツリー、検索ツリー、順序付きツリー、または他の構造であってもよい。例えば、テーブル204に実装された適切なハッシュ関数は、スキャナ202から受け取ったnグラムをm個のエントリ番号に変換してもよく、ここでmは0とBの間の数であり、Bはテーブル204のメモリのサイズである。テーブル204のエントリは、スキャナ202から受信した異なるnグラムに対して、0からBまでの数字の範囲に一様に広がるような方法でインデックスを付けてもよい。テーブル204が比較器208からnグラムを受信すると、以下でより詳細に説明するように、nグラムテーブル204は、nグラムがテーブル204に記憶されているかどうかの表示を比較器204に返す。
[0029] いくつかの実施形態では、nグラムテーブル204は、全体的または部分的に予め決められている。例えば、nグラムテーブル204は、ネットワークスキャナ202から受信した新しいエントリを、所定のエントリの部分的なテーブルに追加してもよい。第1の実施形態では、所定のエントリは、試験および/または実験期間中に収集されたnグラム、例えば、不正DNSトンネル検出器200の開発者によって実行された動作の実験期間中に収集されたnグラムに基づいている。さらなる例として、トンネル検出器200が特定のネットワークに設置された直後の試行期間中に、ネットワークスキャナ202によってnグラムを収集することができる。第2の実施形態では、所定のエントリは、人気のあるおよび/または最もアクセスされるホスト名に基づいている。例えば、所定のエントリは、Alexa Internet, Inc.などのインターネット活動監視組織が提供する人気のあるウェブサイトに関する情報に基づいていてもよい。第3の実施形態では、所定のエントリは、不正DNSトンネル検出器200を実装するネットワークの位置に基づいている。例えば、所定のエントリは、不正DNSトンネル検出器200が主に中国のユーザを含むネットワークに実装されている場合、人気のある中国のウェブサイトに基づいていてもよい。第4の実施形態では、所定のエントリは、ウェブサイトの1つ又は複数のカテゴリーに基づいている。例えば、所定のエントリは、不正DNSトンネル検出器200が、主に視覚芸術に焦点を当てた組織に実装されている場合、視覚芸術のウェブサイトに基づいていてもよい。nグラムテーブル204の所定のエントリは、本開示の範囲から逸脱することなく、上述した所定のエントリの任意の適切な組み合わせ、または他の任意の適切な所定のエントリを含んでもよいことに留意すべきである。nグラムテーブル204は、例えば、ランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリ、または他の任意の適切な形式のメモリを使用して実装してもよい。
[0030]…(中略)…
[0031] いくつかの実施形態では、nグラムテーブル204は、nグラムエントリを無期限に格納する。例えば、nグラムテーブル204は、より多くのnグラムが受信ネットワーク通信から継続的に抽出されるため、常に拡張されてもよい。このような例では、nグラムテーブル204は、必要に応じてnグラムエントリ用のメモリを動的に割り当てることができる。いくつかの実施形態では、nグラムテーブル204は、定期的にリフレッシュされる。例えば、ある程度の期間が経過した後、または特定の量の情報がnグラムテーブル204に格納された後、テーブル204の一部または全部が削除されてもよい。いくつかの実施形態では、古いエントリが新しいエントリと置き換えられる。例えば、nグラムテーブル204は、固定サイズで維持されてもよい。このような実施形態では、受信ネットワーク通信から新しいエントリが抽出されると、nグラムテーブル204は、最も古いエントリおよび/または最も抽出されていないエントリを新しいエントリで置き換えてもよい。例えば、nグラムテーブル204は、既存のエントリを調べて、どのエントリが最も古いおよび/または最も抽出されていないエントリであるかを判断してもよい。最も古いおよび/または最も一般的でないエントリが見つかると、それは新しいエントリで置き換えられてもよい。いくつかの実施形態では、nグラムテーブル204のエントリは、エントリの年齢を決定すること、および/またはエントリがネットワークスキャナ202によって最後に抽出されたおよび/または更新された時期を決定することを支援するために、タイムスタンプと関連付けられる。いくつかの実施形態では、nグラムテーブル204内のエントリは、タイムスタンプに加えて、またはタイムスタンプの代わりに、カウンタと関連付けられており、エントリの希少性を判断するために使用されてもよい。いくつかの実施形態では、カウンタは時間とともに減衰するので、例えば、大きくても短命のバーストに由来するエントリが誤って一般的であると判断されることはない。いくつかの実施形態では、エントリの決定された希少性は、エントリの頻度に基づいている。例えば、より高い頻度で抽出されるエントリは一般的であると判断され、より低い頻度で抽出されるエントリは稀であると判断される場合がある。いくつかの実施形態では、エントリは、新しいエントリのための空間を作るために、nグラムテーブル204からランダムに削除される。」

カ 「[0032] DNS request inspector 206 is generally configured to scan at least a portion of the outgoing DNS requests. For example, inspector 206 inspects hostnames within DNS request that originate from users 104 of FIG.1. In a preferred embodiment, inspector 206 extracts the hostnames from the DNS requests in the form of n-grams. In some embodiments, inspector 206 scans the DNS requests in substantially the same manner as network 202([当審注]「network scanner 202」)の誤記と認められる。) scans incoming network traffic. For example, inspector 206 may create n-grams based on DNS request syntax such that only the hostnames are extracted. After creating n-grams based on the scanned DNS requests, inspector 206 passes the n-grams to comparator 208. In some embodiments, DNS request inspector 206 duplicates and forwards the DNS requests to the appropriate destination before performing the scanning operations to avoid increasing the latency of the network. In some embodiments, DNS request inspector 206 receives duplicate versions of the DNS requests, wherein the original DNS requests are forwarded to the appropriate destinations before or during the analysis DNS request inspector 206 performs on the duplicate DNS requests. This may also prevent increased latency in the network.」
[当審訳]
「[0032] DNS要求検査器206は、一般に、送信されるDNS要求の少なくとも一部を検査するように構成されている。例えば、検査器206は、図1のユーザ104から送信されるDNS要求内のホスト名を検査する。好ましい実施形態では、検査器206は、DNS要求からホスト名をnグラムの形式で抽出する。いくつかの実施形態では、検査器206は、ネットワークスキャナ202が受信ネットワークトラフィックをスキャンするのと実質的に同じ方法でDNS要求をスキャンする。例えば、検査器206は、ホスト名のみが抽出されるように、DNS要求構文に基づいてnグラムを作成してもよい。スキャンされたDNS要求に基づいてnグラムを作成した後、検査器206は、nグラムを比較器208に渡す。いくつかの実施形態では、DNS要求検査器206は、ネットワークの待ち時間の増加を避けるために、スキャン動作を実行する前に、DNS要求を複製し、適切な宛先に転送する。いくつかの実施形態では、DNS要求検査器206は、DNS要求の重複バージョンを受信し、元のDNS要求は、DNS要求検査器206が重複したDNS要求に対して実行する分析の前または途中に、適切な宛先に転送される。これにより、ネットワークの待ち時間の増加を防ぐこともできる。」

キ 「[0033] Comparator 208 is generally configured to compare n-grams created by DNS request inspector 206 to n-grams in n-gram table 204. For example, comparator 208 may send an inquiry to n-gram table 204 regarding n-grams created by DNS request inspector 206. In response, n-gram table 204 will send an indication to comparator 208 that indicates whether the n-gram is included in n-gram table 204. If the n-grams derived from the DNS requests are in n-gram table 204 (e.g., seen by network scanner 202 in the incoming network traffic), comparator 208 will determine that the DNS request is a legitimate request. In such situations, comparator 208 may allow the DNS request to exit the network and contact the appropriate DNS server, such as DNS server 112.
[0034] If n-grams extracted from the DNS requests are not in n-gram table 204, comparator 208 may determine that the DNS request is suspicious (e.g., possibly associated with a covert DNS tunnel). In some embodiments, a DNS request is determined to be a legitimate request if a particular percentage or number of the n-grams extracted from the DNS request is in n-gram table 204. For example, if more than 50% of the n-grams extracted from a DNS request are not found in n-gram table 204, the DNS request may be determined to be a suspicious DNS request.
[0035] In some embodiments, comparator 208 adds n-grams from a DNS request that were not found in n-gram table 204 to suspicious domain table 210. Additionally, or alternatively, comparator 208 may add any other suitable information to suspicious domain table 210, such as, hostnames or domain names in the suspicious DNS request. For example, comparator 208 may add the entire hostname included in the suspicious DNS request, the parent domain name, or any suitable portion of the hostname to suspicious domain table 210. Suspicious domain table 210 may store and/or organize the information received from comparator 208 in any suitable manner, for example, in the same manner that n-gram table 204 indexes n-grams. Suspicious domain table 210 may be implemented using any suitable form of memory, for example, random-access memory, read-only memory, flash memory, or any other suitable form of memory.
[0036] If a suspicious hostname, domain name, and/or n-gram already exists in suspicious domain table 210, suspicious domain table 210 may increment a counter to indicate that the suspicious domain name, hostname, and/or n-gram has been seen more than once. If a counter is being used, comparator 208 may determine whether the counter has reached a detected covert DNS tunnel threshold. The detected covert DNS tunnel threshold may be any suitable number, for example, 1 or 100. If the counter has reached the threshold, covert DNS tunnel detector 200 may issue an alarm indicating that a suspected covert DNS tunnel has been detected and action may need to be taken. In some embodiments, when the counter has reached the threshold, comparator 208 blocks some or all DNS requests associated with the suspicious hostname and/or domain name from exiting the network. In some embodiments, none or only some DNS requests are blocked to avoid inconveniencing users when the domain name or hostname suspected of being associated with a covert DNS tunnel is based on false-positive suspicious DNS requests (e.g., DNS requests were incorrectly determined to be suspicious).」
[当審訳]
[0033] 比較器208は、一般に、DNS要求検査器206によって作成されたnグラムをnグラムテーブル204内のnグラムと比較するように構成される。例えば、比較器208は、DNS要求検査器206が作成したnグラムに関する問い合わせをnグラムテーブル204に送信してもよい。これに応答して、nグラムテーブル204は、nグラムテーブル204にnグラムが含まれているかどうかを示す表示を比較器208に送る。DNS要求に由来するnグラムがnグラムテーブル204にある場合(例えば、ネットワークスキャナ202が受信ネットワークトラフィックで見た場合)、比較器208は、DNS要求が正当な要求であると判断する。そのような状況では、コンパレータ208は、DNS要求がネットワークを出ることを許可し、DNSサーバ112などの適切なDNSサーバに連絡することができる。
[0034] DNS要求から抽出されたnグラムがnグラムテーブル204にない場合、比較器208は、DNS要求が疑わしい(例えば、不正DNSトンネルに関連する可能性がある)と判断してもよい。いくつかの実施形態では、DNS要求から抽出されたnグラムの特定の割合または数がnグラムテーブル204内にある場合、DNS要求は正当な要求であると判断される。例えば、DNS要求から抽出されたnグラムの50%以上がnグラムテーブル204に存在しない場合、そのDNS要求は疑わしいDNS要求であると判定されてもよい。
[0035] いくつかの実施形態では、比較器208は、nグラムテーブル204で見つからなかったDNS要求からのnグラムを、不審ドメインテーブル210に追加する。さらに、または代わりに、比較器208は、不審ドメインテーブル210に、不審なDNS要求に含まれるホスト名またはドメイン名などの他の適切な情報を追加してもよい。例えば、比較器208は、不審なDNS要求に含まれるホスト名全体、親ドメイン名、またはホスト名の任意の適切な部分を不審ドメインテーブル210に追加してもよい。不審ドメインテーブル210は、例えば、nグラムテーブル204がnグラムを索引するのと同じ方法で、任意の適切な方法で、比較器208から受け取った情報を格納および/または整理してもよい。不審ドメインテーブル210は、任意の適切な形式のメモリ、例えば、ランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリ、または他の適切な形式のメモリを使用して実装されてもよい。
[0036] 不審なホスト名、ドメイン名、および/またはnグラムが既に不審ドメインテーブル210に存在する場合、不審ドメインテーブル210は、不審なドメイン名、ホスト名、および/またはnグラムが1回以上検出されたことを示すために、カウンタをインクリメントしてもよい。カウンタが使用されている場合、比較器208は、カウンタが検出不正DNSトンネル閾値に達したかどうかを判定してもよい。検出不正DNSトンネル閾値は、任意の適切な数、例えば、1または100であってもよい。カウンタが閾値に達した場合、不正DNSトンネル検出器200は、不正DNSトンネルの疑いが検出され、行動を起こす必要があるかもしれないことを示す警告を発行する。いくつかの実施形態では、カウンタが閾値に達した場合、比較器208は、不審ホスト名および/またはドメイン名に関連する一部またはすべてのDNS要求がネットワークから送信されるのをブロックする。いくつかの実施形態では、不正DNSトンネルに関連していると疑われるドメイン名またはホスト名が、不審なDNS要求が偽陽性に基づいている(例えば、DNS要求が不審なものと誤って判断された)場合に、ユーザに不便をかけないように、いずれのDNS要求もブロックされないか、または一部のDNS要求のみがブロックされる。」

ク 「[0039] In some embodiments, information regarding sources that generate suspicious DNS requests is stored in suspicious domain table 210. For example, source identifiers may be stored in suspicious domain table 210 and associated with the respective suspicious DNS requests the source generated. As a further example, covert DNS tunnel detector may include a table of suspicious sources that is independent of suspicious domain table 210. A source identifier may be an IP address, MAC address, user identification, or any other suitable identifier that identifies a source, such as, devices used by users 104 of FIG.1. In this manner, covert DNS tunnel detector 200 may monitor from where suspicious DNS requests originate. If a particular source generates a number of suspicious DNS requests, covert DNS tunnel detector 200 may take suitable action, such as, issue an alert about the possible compromised source, block some or all outgoing and/or incoming communications related to the suspicious source, and/or incapacitate the suspicious source. A source may be deemed suspicious or compromised when the number of suspicious DNS requests that originate from the source meet or exceed a threshold or when the source attempts any communication with a domain that suspected of being associated with a covert DNS tunnel. For example, if a source transmits a single DNS request to a domain name determined to be suspicious by comparator 208, the source will be determined to be compromised. In some embodiments, a source may be deemed suspicious when a particular proportion of DNS requests that originate from a particular source are deemed suspicious. For example, when 5% of the total DNS requests that originate from a particular device are suspicious, then that particular device may be deemed a suspicious source. In some embodiments, all sources associated with suspicious DNS requests are deemed to be a suspicious source. For example, all sources that originated DNS requests associated with a suspected covert DNS tunnel may be deemed suspicious sources. In some embodiments, the user of a suspicious source may be alerted that the user's source has originated suspicious DNS requests and/or originated DNS requests associated with a suspected covert DNS tunnel.」
[当審訳]
「[0039] いくつかの実施形態では、不審なDNS要求を生成するソースに関する情報が、不審ドメインテーブル210に格納される。例えば、ソースの識別子は、不審ドメインテーブル210に格納され、ソースが生成したそれぞれの不審なDNS要求に関連付けられてもよい。さらなる例として、不正DNSトンネル検出器は、不審ドメインテーブル210とは独立した不審なソースのテーブルを含んでもよい。ソース識別子は、IPアドレス、MACアドレス、ユーザ識別、またはソースを識別する任意の他の適切な識別子であってもよく、例えば、図1のユーザ104が使用するデバイスなどである。このようにして、不正DNSトンネル検出器200は、不審なDNS要求がどこから発生するかを監視することができる。特定のソースが多数の疑わしいDNS要求を生成した場合、不正DNSトンネル検出器200は、危殆化した可能性のあるソースに関する警告を発行する、不審なソースに関連する一部またはすべての送信および/または受信通信をブロックする、および/または不審なソースを無力化するなど、適切な行動をとることができる。ソースから送信された不審なDNS要求の数が閾値を満たしたか超えた場合、またはソースが不正DNSトンネルに関連している不審ドメインとの通信を試みた場合、ソースは不審であるか危険であるとみなされることがある。例えば、ソースが、比較器208によって疑わしいと判断されたドメイン名に1つのDNS要求を送信した場合、ソースは危険にさらされていると判断される。いくつかの実施形態では、特定のソースから送信されたDNS要求の特定の割合が疑わしいと判断された場合に、ソースが疑わしいと判断されることがある。例えば、特定のデバイスから送信されるDNS要求の合計の5%が疑わしい場合、その特定のデバイスは、疑わしいソースとみなされてもよい。いくつかの実施形態では、不審なDNS要求に関連するすべてのソースが、不審なソースとみなされる。例えば、疑わしい不正DNSトンネルに関連するDNS要求を送信したすべてのソースを、不審なソースとみなしてもよい。いくつかの実施形態では、不審なソースのユーザは、ユーザのソースが不審なDNS要求を送信したこと、および/または疑わしい不正DNSトンネルに関連するDNS要求を送信したことを警告されてもよい。」

ケ 「[0048] FIG.4 shows illustrative process 400 for determining whether a domain is associated with a covert DNS tunnel.…(以下省略)」
[当審訳]
「[0048] 図4は、ドメインが不正DNSトンネルに関連するか否かを決定するための例示的なプロセス400を示す。…(以下省略)」

コ 「What is claimed is:
…(省略)…
27. A computer readable medium storing computer executable instructions, which, when executed by a processor, cause the processor to carryout a method for detecting covert DNS tunnels, the computer readable medium comprising:
scanning incoming network traffic using a network scanner;
extracting a first plurality of n-grams from the scanned incoming network traffic;
extracting a second plurality of n-grams from an outgoing DNS request;
comparing the first plurality of n-grams to the second plurality of n-grams; and
adding at least a portion of a domain name associated with the outgoing DNS request to a table of a suspicious domain names when at least a portion of the second plurality of n-grams does not match the first plurality of n-grams.」
[当審訳]
「請求の範囲:
…(省略)…
27. コンピュータ実行可能な命令を格納したコンピュータ可読媒体であって、この命令は、プロセッサによって実行されると、プロセッサに、不正DNSトンネルを検出するための方法を実行させるものであり、このコンピュータ可読媒体は、以下を含む。
ネットワークスキャナを使用して、受信するネットワークトラフィックをスキャンするステップと
前記スキャンされた受信ネットワークトラフィックから第1の複数のnグラムを抽出するステップと
送信DNSリクエストから第2の複数のnグラムを抽出するステップと
前記第1の複数のnグラムを前記第2の複数のnグラムと比較するステップと
前記第2の複数のnグラムの少なくとも一部が前記第1の複数のnグラムと一致しない場合に、前記送信DNSリクエストに関連するドメイン名の少なくとも一部を不審ドメイン名テーブルに追加するステップ。

サ 「FIG.1


[当審訳]省略

シ 「FIG.2


[当審訳]省略

ス 「FIG.4


[当審訳](402〜414が付された枠内の訳)
「402:DNS要求を受信する
404:DNS要求からホスト名をnグラムとして抽出する
406:DNS要求のnグラムはnグラムテーブルのエントリと一致するか?
408:そのDNS要求を処理する
410:不審ドメインテーブル内の前記ホスト名に対応するカウンタを増加する
412:前記ホスト名に対応するカウンタは、閾値を超えたか?
414:そのDNS要求に関連するドメイン名が疑わしい不正DNSチャネルに関連していることを表示する」

(2)引用発明
前記(1)より、上記引用文献1には次の発明(以下、「引用発明」という。)が記載されていると認められる。

「 nグラムを使用して不正DNSトンネルを検出するシステムであって、
ネットワーク100は、セキュアネットワーク102とインターネットを含み、セキュアネットワーク102は、ユーザ104、セキュリティシステム106、および通信ネットワーク108を含み、インターネットは、DNSサーバ112および悪意のあるエンティティのドメインサーバ114を含み、
ネットワーク102に受信される、またはネットワーク102から送信されるネットワーク通信のすべてまたは大部分が、セキュリティシステム106を通過し、
セキュリティシステム106は、nグラムを使用して不正DNSトンネルを検出するためのソフトウェアおよび/またはハードウェアを備え、
nグラムを用いて不正DNSトンネルを検出する不正DNSトンネル検出器200は、ネットワークスキャナ202、nグラムテーブル204、DNS要求検査器206、比較器208、および不審ドメインテーブル210を含み、
ネットワークスキャナ202は、受信ネットワークトラフィックの少なくとも一部をスキャンするように構成され、スキャンされたネットワークトラフィックの一部または全部をnグラムの形式で抽出し、ここでnは任意の適切な整数であり、抽出されたnグラムレコードは、nグラムテーブル204に格納され、
ネットワークスキャナ202は、ネットワークトラフィック内のホスト名のシンタックスを照合し、合法的なホスト名に一致する文字列に基づいて、および/またはASCIIコードの特定の範囲または範囲内の文字を含む文字列に基づいて、nグラムを作成および保存し、
より多くのnグラムが受信ネットワーク通信から継続的に抽出されるが、nグラムテーブル204は、固定サイズで維持され、受信ネットワーク通信から新しいエントリが抽出されると、最も古いおよび/または最も一般的でないエントリは新しいエントリで置き換えられ、
nグラムテーブル204のエントリは、エントリの年齢を決定すること、および/またはエントリがネットワークスキャナ202によって最後に抽出されたおよび/または更新された時期を決定することを支援するために、タイムスタンプと関連付けられ、タイムスタンプに加えて、またはタイムスタンプの代わりに、カウンタと関連付けられており、エントリの希少性を判断するために使用され、エントリの決定された希少性は、エントリの頻度に基づいており、より高い頻度で抽出されるエントリは一般的であると判断され、
DNS要求検査器206は、ネットワークスキャナ202が受信ネットワークトラフィックをスキャンするのと実質的に同じ方法でDNS要求をスキャンし、例えば、ホスト名のみが抽出されるように、DNS要求構文に基づいてnグラムを作成し、
比較器208は、DNS要求検査器206によって作成されたnグラムをnグラムテーブル204内のnグラムと比較するように構成され、DNS要求から抽出されたnグラムがnグラムテーブル204にない場合、比較器208は、DNS要求が疑わしい(例えば、不正DNSトンネルに関連する可能性がある)と判断し、例えば、DNS要求から抽出されたnグラムの50%以上がnグラムテーブル204に存在しない場合、そのDNS要求は疑わしいDNS要求であると判定されてもよく、
比較器208は、nグラムテーブル204で見つからなかったDNS要求からのnグラムを、不審ドメインテーブル210に追加し、さらに、不審ドメインテーブル210に、不審なDNS要求に含まれるホスト名またはドメイン名などの他の適切な情報を追加し、
不審なホスト名、ドメイン名、および/またはnグラムが既に不審ドメインテーブル210に存在する場合、不審ドメインテーブル210は、カウンタをインクリメントし、比較器208は、カウンタが検出不正DNSトンネル閾値に達したかどうかを判定し、カウンタが閾値に達した場合、不審ホスト名および/またはドメイン名に関連する一部またはすべてのDNS要求がネットワークから送信されるのをブロックし、
不審なDNS要求を生成するソースに関する情報が、不審ドメインテーブル210に格納され、不正DNSトンネル検出器200は、不審なDNS要求がどこから発生するかを監視することができ、特定のソースが多数の疑わしいDNS要求を生成した場合、不正DNSトンネル検出器200は、不審なソースに関連する一部またはすべての送信および/または受信通信をブロックする、および/または不審なソースを無力化するなど、適切な行動をとることができる、
システム。」

2 引用文献2について
原査定の拒絶の理由に引用された引用文献2には、図面とともに次の事項が記載されている。

(第301頁右欄第1〜7行)
「 The detection module contains 4 types of detection mechanisms based on the set of features that is used: 1) tunnel in DNS requests, 2) tunnel in DNS responses, 3) other anomalies in DNS requests, and 4) other anomalies in DNS responses. The four detection mechanisms perform analysis of domain names, and fields of DNS messages (CNAME, TXT, MX and NS) that are potential places for encoded data of a tunnel.」
[当審訳]
「 検知モジュールには、使用する機能のセットに基づいて、4種類の検知メカニズムが含まれている。1)DNSリクエストのトンネル、2)DNSレスポンスのトンネル、3)DNSリクエストのその他の異常、4)DNSレスポンスのその他の異常である。4つの検知メカニズムは、トンネルのコード化されたデータが存在する可能性のあるドメイン名、およびDNSメッセージのフィールド(CNAME、TXT、MX、NS)の分析を行う。」

(第302頁右欄下から12行目〜4行目)
「 Some of the default thresholds of a legitimate traffic are: the interval of the mean values of the size of DNS requests in bytes ? (70, 100), the interval of the variance of the size of DNS requests in bytes ? (30, 150), the interval of the mean values of the size of DNS responses in bytes ? (70, 600), the interval of the variance of the size of DNS responses in bytes ? (200, 5000), the maximal count of unique letters in request ? 24 and response ? 30, the maximal number of digits in domain names ? 12, and the default size of the time window is 60s. The size of the time window is the most important parameter that influences the resources consumption. The size of time windows also controls the duration of the module cycle and a detection delay. The increase of the time window size causes the increased size of stored data in memory.」
[当審訳]
「正当なトラフィックのデフォルトのしきい値の一部を以下に示す。DNSリクエストのサイズ(バイト)の平均値の区間 - (70, 100)、DNSリクエストのサイズ(バイト)の分散の区間 - (30, 150)、DNSレスポンスのサイズ(バイト)の平均値の区間 - (70, 600)、バイト単位のDNSレスポンスのサイズの分散の間隔は(200, 5000)、リクエストに含まれる一意の文字の最大数は24、レスポンスに含まれる一意の文字の最大数は30、ドメイン名の最大桁数は12であり、タイムウィンドウのデフォルトサイズは60秒である。タイムウィンドウのサイズは、リソースの消費量に影響を与える最も重要なパラメータである。タイムウィンドウのサイズは、モジュール・サイクルの持続時間と検出遅延も制御する。タイムウィンドウのサイズが大きくなると、メモリに保存されるデータのサイズが大きくなる。」

3 引用文献3について
原査定の拒絶の理由に引用された引用文献3には、図面とともに次の事項が記載されている。

(第23頁右欄第3〜10行)
「4.1 ボットネット
ボットネット対策の第一歩として、ボットネット感染ホスト検出があり、その位置手法として悪性ドメイン名リストに基づくDNSクエリ監視方法が挙げられる[34]、[35]。この手法ではボットネット検体解析、ボットネット挙動分析などによって得られる。ボットネット感染ホストがアクセスする悪性ドメイン名リストを用いて、そのリスト中のドメイン名の名前解決を行っているユーザをボットネット感染ホストとして特定する。」

4 引用文献4について
原査定の拒絶の理由に引用された引用文献4には、図面とともに次の事項が記載されている。

(第852頁)
「Abstract
DNS (Domain Name System) tunnels can provide high-bandwidth covert channels that pose a significant risk to sensitive information inside the company networks. Sensitive data are embedded in DNS query and response packets to exfiltrate and infiltrate the network boundaries. However, traditional Intrusion Detection Systems (IDS) and Firewalls let DNS packets pass without any checking. This paper explores a novel approach to detect in real time whether a DNS packet is in a tunnel by scoring the query domain based on bigram. Experiment shows that the bigrams of domains follow Zipf's law whereas tunnelled traffic is obedient to random distribution. The score mechanism in detecting DNS tunnels is proved to be usable theoretically and is confirmed in the experiment. Our approach can get a high accuracy of 98.74% and low false positive of 1.24%.」
[当審訳]
「概要
DNS(Domain Name System)トンネルは、企業ネットワーク内の機密情報に大きなリスクをもたらす高帯域の秘密チャネルを提供する可能性がある。機密データは、DNSのクエリとレスポンスのパケットに埋め込まれ、ネットワークの境界を越えて流出・侵入する。しかし、従来の侵入検知システム(IDS)やファイアウォールは、DNSパケットを何のチェックもせずに通過させてしまう。本論文では、DNSパケットがトンネル内にあるかどうかを、問い合わせドメインをバイグラムに基づいてスコアリングすることでリアルタイムに検出する新しいアプローチを検討している。実験の結果、ドメインのバイグラムはZipfの法則に従うのに対し、トンネルトラフィックはランダムな分布に従うことがわかった。DNSトンネルを検出するためのスコアメカニズムは、理論的に使用可能であることが証明され、実験でも確認された。我々のアプローチは、98.74%という高い精度と、1.24%という低い偽陽性を得ることができる。」

(第853頁2段落目)
「Some features can distinguish DNS tunnels from conventional packets. Those include DNS traffic volume, the length of domain in DNS queries and the randomness of the domain name. However, DNS traffic volume is a statistic feature so it cannot detect DNS tunnels in real time; DNS tunnels such as DNScat can set the length of domain names to escape detection based on domain's length; Existing method uses Shannon Entropy [5] to identify the randomness of a domain name for detecting DNS tunnel, but it maybe treat normal domains such as baidu.com as an abnormal case as it could get a high entropy.」
[当審訳]
「DNSトンネルを従来のパケットと区別できる特徴がある。それは、DNSトラフィック量、DNSクエリにおけるドメインの長さ、ドメイン名のランダム性などである。しかしながら、DNSトラフィック量は、統計的な特徴であるため、DNSトンネルをリアルタイムで検出することはできない。また、DNScatのようなDNSトンネルでは、ドメイン名の長さを設定することで、ドメイン名の長さによる検出を逃れることができる。既存の手法では、シャノンエントロピ[5](当審注:引用文献4が参照する[5]は、引用文献5である。)を用いてドメイン名のランダム性を識別し、DNSトンネルの検出を行っているが、baidu.comのような正常なドメインでも高いエントロピを得ることができるため、異常なケースとして扱われる可能性がある。」

(854頁〜855頁)
「3. Score Mechanism
The score mechanism is the key idea of our approach and its performance determine the result of our approach. In this section we will introduce the score mechanism, and then prove the effectiveness under certain assumption.

3.1. Character Frequency Analysis
The character frequency analysis is the foundation of our approach and the method has successfully been used in cipher text detection [10]. Normal domain names are strings carefully selected by humans and should be recognizable and memorable by humans. Therefore domain names closely follow the natural language characteristics or at least follow Zip's law which means most normal domain names character frequency will concentrate on a small part of high frequency characters. While DNS tunnel domain names are embedded in data and the embedded data are encoded with Base32 or Base64 to present as a normal DNS packet, they are obedient to random distribution the same as cipher text.
The bigram character frequency distributions of normal domain names and DNS tunnel domain names are shown in Figure 2. The dataset of normal domain names is collected from Alexa [11] that publish one million most popular website and we use the top 100,000 websites domain names. The dataset of DNS tunnel are produced by DNScat. Bigram character frequency of normal domain names approximate the curve of function f(x)=1/x and they absolutely follow Zipf's law. The character frequency of DNS tunnel domain names contains three stages. The first one is a small part of sharp declining with high frequency stage for the domain names produced by DNScat having tags of 'dnscat' and 'tep-over-dns'. The second and last stages are uniform distributed but the last one has a much lower frequency because of DNScat encoding schema using less numbers. Therefore DNS tunnels domain names closely follow random distribution.」
[当審訳]
「3. スコアメカニズム
スコアメカニズムは我々のアプローチの重要なアイデアであり、その性能が我々のアプローチの結果を決定する。このセクションでは、スコアメカニズムを紹介し、ある仮定の下でその有効性を証明する。

3.1 文字頻度分析
文字頻度分析は、このアプローチの基礎であり、この手法は暗号文の検出に成功している[10]。通常のドメイン名は、人間によって慎重に選択された文字列であり、人間に認識可能で記憶に残るものでなければならない。そのため、ドメイン名は自然言語の特性に密接に従っており、少なくともZipfの法則に従っている。つまり、通常のドメイン名の文字数は、高頻度の文字のごく一部に集中している。DNSトンネルのドメイン名はデータに埋め込まれており、埋め込まれたデータはBase32またはBase64でエンコードされて通常のDNSパケットとして表示されるが、暗号文と同様にランダムな分布に従うことになる。
通常のドメイン名とDNSトンネルドメイン名のバイグラム文字頻度分布を図2に示す。通常のドメイン名のデータセットは、100万の人気ウェブサイトを公開しているAlexa[11]から収集し、上位10万のウェブサイトのドメイン名を使用している。DNSトンネルのデータセットはDNScatによって作成されている。通常のドメイン名のバイグラム文字数は、関数f(x)=1/xの曲線に近似しており、Zipfの法則に完全に従っている。DNSトンネルドメイン名の文字頻度は、3つの段階を含んでいる。最初の段階は、DNScatで生成されたドメイン名のうち、’dnscat’と’tep-over-dns’のタグを持つドメイン名について、高頻度で急激に減少するごく一部の段階である。第二段階と最後の段階は一様に分布しているが、最後の段階はDNScatの符号化スキーマが少ない数字を使っているため、頻度がかなり低くなっている。したがって、DNSトンネルのドメイン名はランダムな分布に近いと言える。」

5 引用文献5について
原査定の拒絶の理由に引用された引用文献5には、図面とともに次の事項が記載されている。

「ABSTRACT
We carried out the entropy based study on the DNS query traffic from the campus network in a university through January 1st, 2006 to March 31st, 2007. The results are summarized, as follows: (1) The source IP addresses- and query keyword-based entropies change symmetrically in the DNS query traffic from the outside of the campus network when detecting the spam bot activity on the campus network. On the other hand (2), the source IP addresses- and query keyword-based entropies change similarly each other when detecting big DNS query traffic caused by prescanning or distributed denial of service (DDoS) attack from the campus network. Therefore, we can detect the spam bot and/or DDoS attack bot by only watching DNS query access traffic.」
[当審訳]
「2006年1月1日から2007年3月31日まで、ある大学のキャンパスネットワークからのDNSクエリトラフィックを対象に、エントロピに基づく調査を行いました。その結果、以下のような結論が得られた。(1) キャンパスネットワーク上でのスパムボットの活動を検出した場合、キャンパスネットワーク外からのDNSクエリトラフィックでは、送信元IPアドレスベースとクエリキーワードベースのエントロピが対称的に変化する。一方(2)では、キャンパスネットワークからのプレスキャンや分散型サービス拒否(DDoS)攻撃による大規模なDNSクエリトラフィックを検出した場合、送信元IPアドレスベースのエントロピとクエリキーワードベースのエントロピは互いに似たような変化を示す。そのため、DNSクエリのアクセストラフィックを監視するだけで、スパムボットやDDoS攻撃ボットを検知することができる。」

第5 対比・判断
1 本願発明1について
(1)対比
本願発明1と引用発明とを対比する。

ア 引用発明は「不正DNSトンネルを検出する」ことを目的としたものであり、「不正DNSトンネル」はネットワーク上のセキュリティを脅かすものであるから、引用発明の「システム」は、「ネットワークセキュリティのための」システムといえる。
また、引用発明の「不正DNSトンネルを検出する」ことは、通信ネットワーク上で行われるDNSトンネリングの中から、正当なものと区別(分類)して不正なものをオンラインで検出することといえるから、引用発明の「不正DNSトンネルを検出するシステム」は、「DNSトンネリング検出・分類フレームワーク」を実装する「オンラインプラットフォーム」を実現したシステムといえる。
また、引用発明は、「DNS要求検査器206によって作成されたnグラムをnグラムテーブル204内のnグラムと比較する」ことにより前記「不正DNSトンネル」に関連する「DNS要求」を検出するものであって、「nグラムテーブル204」は、「ネットワークスキャナ202」がネットワークから受信した「受信ネットワークトラフィック」を継続的に受信し、これを解析することによって、「合法的なホスト名」から抽出した「nグラム」を格納したものであって、「合法的なホスト名」を使用した通信に係る行動を解析したものである。よって、そのような「nグラムテーブル204」を使用する「不正DNSトンネル」の検出は、「行動解析ベース」のものといえる。
以上より、引用発明の「システム」は、本願発明1の「ネットワークセキュリティのための行動解析ベースのDNSトンネリング検出・分類フレームワークを実装するためのオンラインプラットフォームのためのシステム」に相当する。

イ 引用発明は、「不正DNSトンネル検出器200」は、「nグラムを用いて不正DNSトンネルを検出する」ものであり、また、「セキュリティシステム106は、nグラムを使用して不正DNSトンネルを検出するためのソフトウェアおよび/またはハードウェアを備え」ていることからすれば、「不正DNSトンネル検出器200」も、適切なソフトウェア及びハードウェアにより実現されていると理解することができる。そして、通信を制御する装置を、メモリに格納された命令(プログラム)を、メモリに結合されたプロセッサが実行するように構成されたコンピュータにより実現することは、本願優先日前の技術常識といえ、また、実際、引用文献1(上記「第4」の1(1)コ参照。)には、「不正DNSトンネル検出器200」の機能を、記憶媒体に格納された命令をプロセッサが実行することにより実現することが記載されている。
よって、引用発明は、実質的に、本願発明1の「プロセッサ」と「前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリ」とを備えるとともに、「プロセッサ」により各処理を行う構成を含むものといえる。

ウ 引用発明において、「DNS要求検査器206」が「DNS要求」をスキャンする場合には、「DNS要求」を受信することを前提としている。
また、「DNS要求」は、本願発明1の「DNSデータストリーム」に含まれる。
よって、前記イを参酌すれば、引用発明は、本願発明1の「前記プロセッサは、」「DNSデータストリームを受信し、」との構成を備えているといえる。

エ 引用発明において、「ネットワークスキャナ202」がスキャンする「受信ネットワークトラフィック」と、本願発明1の「パッシブDNSトラフィックデータ」とは、「トラフィックデータ」である点において共通する。
引用発明において、「ネットワークスキャナ202」が「受信ネットワークトラフィック」をスキャンすることによって抽出される「nグラム」は、「nグラムテーブル204」の各「エントリ」に格納され、各「エントリ」は、「タイムスタンプ」及び「カウンタ」と関連付けられており、当該「タイムスタンプ」及び「カウンタ」に基づいて、より新しいもの及びより一般的な「nグラム」が優先的に格納されることとなるから、「nグラムテーブル204」は、「時系列収集」に適用されたものといえる。
また、前記アを参酌すれば、「nグラムテーブル204」は、より新しくより一般的な「合法的なホスト名」の特徴を「nグラム」により示す「行動解析モデル」といい得るものである。
よって、引用発明の「nグラムテーブル204」と、本願発明1の「パッシブDNSトラフィックデータの時系列収集に適用される行動解析モデル」とは、「トラフィックデータの時系列収集に適用される行動解析モデル」である点において共通する。

オ 前記ア及びエを参酌すれば、引用発明において、「DNS要求検査器206」が「DNS要求」をスキャンし、「ホスト名のみが抽出されるように、DNS要求構文に基づいてnグラムを作成」し、「比較器208」が「DNS要求検査器206によって作成されたnグラム」を「nグラムテーブル204内のnグラムと比較する」ことは、本願発明1の「DNSトンネリング活動を識別するために」なされる処理といえる。
また、「DNS要求」において「ホスト名」は、そのペイロードに含まれることは本願優先日前の技術常識であることに鑑みれば、引用発明において、「DNS要求検査器206」が「DNS要求」をスキャンし、「ホスト名のみが抽出されるように、DNS要求構文に基づいてnグラムを作成」することは、本願発明1の「前記DNSデータストリーム中のペイロードを解析」することに相当する。

カ 引用発明において、「nグラムテーブル204で見つからなかったDNS要求からのnグラム」が追加(記憶)される「不審ドメインテーブル210」において、前記「nグラム」に、「不審なDNS要求に含まれるホスト名またはドメイン名などの他の適切な情報」と「nグラム」が見つかった数をカウントする「カウンタ」が関連付けられ、「比較器208」は、「カウンタ」が「検出不正DNSトンネル閾値」に達したと判定すると、「不審ホスト名および/またはドメイン名に関連する一部またはすべてのDNS要求がネットワークから送信されるのをブロック」するのであるから、「カウンタ」が「検出不正DNSトンネル閾値」に達した「nグラム」を含む「DNS要求」は、「不正DNSトンネル」に関するものと識別され、当該「nグラム」に関連付けられた「ドメイン名」に係る「ドメイン」は、不審な「ドメイン」と決定されているといえる。そして、不審な「ドメイン」は、「不良ネットワークドメイン」といい得るものである。
よって、引用発明において、「不審ドメインテーブル210」に基づいて不審な「ドメイン」が決定されることは、本願発明1の「ネットワークドメインは、前記識別されたDNSトンネリング活動との関係付けに基づいて、不良ネットワークドメインであると決定され」ることに相当する。

キ 前記エないしカより、引用発明と、本願発明1の「パッシブDNSトラフィックデータの時系列収集に適用される行動解析モデルに基づいてDNSトンネリング活動を識別するために、前記DNSデータストリーム中のペイロードを解析し、ネットワークドメインは、前記識別されたDNSトンネリング活動との関係付けに基づいて、不良ネットワークドメインであると決定され」ることとは、「トラフィックデータの時系列収集に適用される行動解析モデルに基づいてDNSトンネリング活動を識別するために、前記DNSデータストリーム中のペイロードを解析し、ネットワークドメインは、前記識別されたDNSトンネリング活動との関係付けに基づいて、不良ネットワークドメインであると決定され」ることとの共通の構成を備えるといえる。

ク 前記オを参酌すると、引用発明において、「DNS要求検査器206」が「DNS要求」をスキャンし、「ホスト名のみが抽出されるように、DNS要求構文に基づいてnグラムを作成」すること、「ここでnは任意の適切な整数」であること、及び、「ASCIIコードの特定の範囲または範囲内の文字を含む文字列に基づいて、nグラムを作成」することと、本願発明1における「前記ペイロードの前記解析」に含まれる「前記DNSデータストリームにおけるテキスト文字列からNグラムスコア分布のパーセンタイルにおける値を決定することであって、前記パーセンタイルは、テキスト文字列内の文字集合に基づいて決定され、Nは、2以上の整数であること」とは、「前記DNSデータストリームにおけるテキスト文字列からNグラムを決定することであって、テキスト文字列内の文字集合に基づいて決定され、Nは、整数であること」の点において共通する。

ケ 引用発明において、「DNS要求」から作成された「nグラム」は、当該「DNS要求」の特徴を示すものであるから、「DNS特徴」といい得るものである。そうすると、引用発明は、「nグラム」を作成することにより「1つ以上のDNS特徴」を抽出しているといえる。
そして、前記エを参酌すれば、引用発明において、「比較器208」が、「DNS要求」から作成された「nグラム」を、「nグラムテーブル204」と比較することは、本願発明1の「1つ以上のDNS特徴を前記行動解析モデルに適用すること」に相当する。

コ 前記ク及びケを参酌すれば、引用発明と、本願発明1の
「前記ペイロードの前記解析は、
テキスト文字列内の文字集合の分布に基づいて、前記DNSデータストリームにおける前記テキスト文字列のエントロピを決定すること、
テキスト文字列内の人が読める文字および人が読めない文字に基づいて語彙特徴を決定することであって、前記人が読める文字は、アルファベット文字を含むこと、および、
前記DNSデータストリームにおけるテキスト文字列からNグラムスコア分布のパーセンタイルにおける値を決定することであって、前記パーセンタイルは、テキスト文字列内の文字集合に基づいて決定され、Nは、2以上の整数であること、
に基づいて、前記DNSデータストリームから1つ以上のDNS特徴を抽出することと、
前記1つ以上のDNS特徴を前記行動解析モデルに適用することと、を含み、」とは、
「前記ペイロードの前記解析は、
前記DNSデータストリームにおけるテキスト文字列からNグラムスコア分布を決定することであって、テキスト文字列内の文字集合に基づいて決定され、Nは、整数であること、
に基づいて、前記DNSデータストリームから1つ以上のDNS特徴を抽出することと、
前記1つ以上のDNS特徴を前記行動解析モデルに適用することと、を含み、」
との共通の構成を備えるといえる。

サ 引用発明において、「不審ホスト名および/またはドメイン名に関連する一部またはすべてのDNS要求がネットワークから送信されるのをブロック」することは、本願発明1の「前記識別されたDNSトンネリング活動に基づいて緩和措置を実施」することに相当する。

シ 引用発明の「DNS要求」は、本願発明1の「DNSクエリリクエスト」に相当する。
不正なプログラムに感染したホストが不正DNSトンネルに関連する不正なDNS要求を送信することは本願優先日前の技術常識であるから、引用発明において、「特定のソースが多数の疑わしいDNS要求を生成した場合、不正DNSトンネル検出器200は、不審なソースに関連する一部またはすべての送信および/または受信通信をブロックする、および/または不審なソースを無力化するなど、適切な行動をとること」は、本願発明1の
「ホストから前記不良ネットワークドメインへのDNSクエリリクエストの検出に基づいて、前記ホストが感染していると決定し、
前記決定された感染ホストに基づいて、別の緩和措置を実施する」ことに相当する。

(2)一致点、相違点
前記(1)より、本願発明1と引用発明とは、次の点において一致ないし相違する。

[一致点]
「 ネットワークセキュリティのための行動解析ベースのDNSトンネリング検出・分類フレームワークを実装するためのオンラインプラットフォームのためのシステムであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリと、
を備え、
前記プロセッサは、
DNSデータストリームを受信し、
トラフィックデータの時系列収集に適用される行動解析モデルに基づいてDNSトンネリング活動を識別するために、前記DNSデータストリーム中のペイロードを解析し、ネットワークドメインは、前記識別されたDNSトンネリング活動との関係付けに基づいて、不良ネットワークドメインであると決定され、前記ペイロードの前記解析は、
前記DNSデータストリームにおけるテキスト文字列からNグラムを決定することであって、テキスト文字列内の文字集合に基づいて決定され、Nは、整数であること、
に基づいて、前記DNSデータストリームから1つ以上のDNS特徴を抽出することと、
前記1つ以上のDNS特徴を前記行動解析モデルに適用することと、を含み、
前記識別されたDNSトンネリング活動に基づいて緩和措置を実施し、
ホストから前記不良ネットワークドメインへのDNSクエリリクエストの検出に基づいて、前記ホストが感染していると決定し、
前記決定された感染ホストに基づいて、別の緩和措置を実施する、
ように構成されている、システム。」

[相違点]
<相違点1>
「行動解析モデル」に適用される「トラフィックデータ」が、本願発明1では、「パッシブDNSトラフィックデータ」であるのに対し、引用発明の「受信ネットワークトラフィック」は、「パッシブDNSトラフィックデータ」に限定されていない点。

<相違点2>
「1つ以上のDNS特徴」が、本願発明1は、
「テキスト文字列内の文字集合の分布に基づいて、前記DNSデータストリームにおける前記テキスト文字列のエントロピを決定すること」と、
「テキスト文字列内の人が読める文字および人が読めない文字に基づいて語彙特徴を決定することであって、前記人が読める文字は、アルファベット文字を含むこと」と、
「前記DNSデータストリームにおけるテキスト文字列からNグラムスコア分布のパーセンタイルにおける値を決定することであって、前記パーセンタイルは、テキスト文字列内の文字集合に基づいて決定され、Nは、2以上の整数であること」という3つの事項に基づいているのに対し、
引用発明は、「DNS要求」からの「nグラム」(「スコア分布のパーセンタイルにおける値」ではなく、また、nは整数であるが2以上に限定されていない。)を決定することという1つの事項のみに基づいている点。

(3)相違点についての判断
事案に鑑みて、先に相違点2について検討する。
まず、引用発明は、「DNS要求」を複数の観点について解析するものではなく、また、引用文献1には、そのことを示唆する記載もない。
引用文献4には、通常のドメイン名の文字数は、高頻度の文字のごく一部に集中し、DNSトンネルのドメイン名は、暗号文と同様にランダムな分布に従うという性質に基づいて、バイグラム(N=2であるNグラム)の文字頻度分布を使用してDNSトンネルを検出する手法が記載されており、Nグラムを使用した解析である点において、引用発明と同様である。
また、引用文献4(特に、第853頁2段落目)には、従来の技術として、引用文献5を引用して、エントロピを使用してDNSトンネルを検出する手法が記載されているものの、正常なドメインでも異常なケースとして検出されるという問題が挙げられている以上、引用発明(Nグラム)に、引用文献4及び5に記載されたエントロピを使用した手法を組み合わせることには技術上の阻害要因がある。
また、引用文献4は、上述したように、通常のドメイン名の文字数は、高頻度の文字のごく一部に集中し、DNSトンネルのドメイン名は、暗号文と同様にランダムな分布に従うという性質に基づいているものの、バイグラムの文字頻度分布を使用した解析手法を採用しており、本願発明1の「語彙特徴」(例えば、本願明細書の段落【0073】の【数2】に定義されたようなものを含む。)を解析するものとはいえない。
加えて、本願発明1の「Nグラムスコア分布のパーセンタイルにおける値」をDNSトンネル検出に使用することが本願優先日前に周知技術であったとはいえないから、仮に、DNSトンネル検出にあたり「エントロピ」及び「語彙特徴」を解析することが本願優先日前における周知技術であり、かつ、当該周知技術を引用発明(「nグラム」)に組み合わせることが当業者にとって容易であるとしても、その構成に引用文献4に記載された技術事項を適用して、解析される「nグラム」を「nグラムスコア分布」に変更して、さらに、その「パーセンタイルにおける値」とすることを想起することが当業者にとって容易であるとはいえない。
また、引用文献2には、DNSトンネルを、DNSリクエストとDNSレスポンスのドメイン名、およびDNSメッセージのフィールドの分析等に基づいて、検出することが記載され、引用文献3には、悪性ドメイン名の名前解決を行っているユーザをボットネット感染ホストとして検出することが記載されているものの、相違点2に係る本願発明1の構成は、引用文献2及び3にも記載されておらず、本願優先日前の周知技術であるともいえない。
したがって、上記相違点1について判断するまでもなく、本願発明1は、当業者であっても引用文献1ないし5に記載された発明に基いて容易に発明をすることができたものであるとはいえない。

2 本願発明2ないし8について
本願発明2ないし8は、上記相違点2に係る本願発明1の構成を備えるものであるから、本願発明1と同じ理由により、当業者であっても、引用文献1ないし5に記載された発明に基いて容易に発明をすることができたものであるとはいえない。

3 本願発明9ないし11について
本願発明9は、本願発明1を方法の発明として特定したものであり、本願発明10および11は、本願発明9を減縮したものであり、いずれも上記相違点2に係る本願発明1の構成に相当する技術事項を備えているから、本願発明9ないし11は、本願発明1と同じ理由により、当業者であっても、引用文献1ないし5に記載された発明に基いて容易に発明をすることができたものであるとはいえない。

4 本願発明12ないし14について
本願発明12は、本願発明1をコンピュータプログラムの発明として特定したものであり、本願発明13および14は、本願発明12を減縮したものであり、いずれも上記相違点2に係る本願発明1の構成に相当する技術事項を備えているから、本願発明12ないし14は、本願発明1と同じ理由により、当業者であっても、引用文献1ないし5に記載された発明に基いて容易に発明をすることができたものであるとはいえない。

第6 原査定について
本件補正により、本願発明1ないし14は上記相違点2に係る本願発明1の構成を有するものとなっており、当業者であっても、拒絶査定において引用された引用文献1ないし5に記載された発明に基いて、容易に発明をすることができたものとはいえない。
したがって、原査定の理由を維持することはできない。

第7 むすび
以上のとおり、原査定の理由によっては、本願を拒絶することはできない。
また、他に本願を拒絶すべき理由を発見しない。
よって、結論のとおり審決する。
 
審決日 2021-12-07 
出願番号 P2017-547003
審決分類 P 1 8・ 121- WY (H04L)
最終処分 01   成立
特許庁審判長 稲葉 和生
特許庁審判官 林 毅
野崎 大進
発明の名称 ネットワークセキュリティのための行動解析ベースのDNSトンネリング検出・分類フレームワーク  
代理人 特許業務法人明成国際特許事務所  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ