JP4597974B2 - 移動通信装置を使用してコンテンツ/コンテクストの高感度スキャニングを行うシステム、方法及びコンピュータプログラム製品 - Google Patents
移動通信装置を使用してコンテンツ/コンテクストの高感度スキャニングを行うシステム、方法及びコンピュータプログラム製品 Download PDFInfo
- Publication number
- JP4597974B2 JP4597974B2 JP2006509741A JP2006509741A JP4597974B2 JP 4597974 B2 JP4597974 B2 JP 4597974B2 JP 2006509741 A JP2006509741 A JP 2006509741A JP 2006509741 A JP2006509741 A JP 2006509741A JP 4597974 B2 JP4597974 B2 JP 4597974B2
- Authority
- JP
- Japan
- Prior art keywords
- application program
- scanning
- data
- program
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000010295 mobile communication Methods 0.000 title claims description 69
- 238000000034 method Methods 0.000 title claims description 24
- 238000004590 computer program Methods 0.000 title claims description 4
- 230000035945 sensitivity Effects 0.000 title 1
- 230000006870 function Effects 0.000 claims description 112
- 241000700605 Viruses Species 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000001413 cellular effect Effects 0.000 claims description 4
- 239000011800 void material Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 101001039113 Homo sapiens Leucine-rich repeat-containing protein 15 Proteins 0.000 description 5
- 102100040645 Leucine-rich repeat-containing protein 15 Human genes 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000002155 anti-virotic effect Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Description
MDoSystemInit()825は、特定の持続記憶位置に保持されるデータに対する検証及び環境初期化を実行する。不当なコード/コンテンツのシグネチャーパターンデータベース(即ち、mdo.sdb)、検出ロジック(即ち、mdo.pd)、コンフィギュレーション設定、及び同期オブジェクトは、これらの位置に記憶することができる。MDoSystemInit()825は、いずれかのAPIファンクションが実行される前に一度コールすることができる(即ち、ブート時に)。
テーブル#1
MDoSystemInit
説明
システム環境情報を検証し、初期化する。
プロトタイプ
Int MDoSystemInit(void);
パラメータ
なし
リターン値
成功の場合は0、他の場合は非ゼロのエラーコード。
アプリケーションプログラムインターフェイス800は、複数のライブラリーインターフェイスコンポーネントを含む。APIインターフェイスのインスタンス化は、MDoLibraryOpen()830を使用して行うことができる。このファンクションを使用して得られるインスタンス化されたライブラリーインターフェイスハンドルは、その後のAPIコールに使用することができる。アプリケーションプログラムが終了する前に、ハンドルをリリースするためにMDoLibraryClose()840をコールすることができる。図9は、MDoLibraryOpen()830及びMDoLibraryClose()840を使用する例示的ライブラリーインターフェイス初期化900を示す。
テーブル#2
MDoLibraryOpen
説明
APIライブラリーインターフェイスハンドルを初期化して、返す。
プロトタイプ
MDOLIB_HANDLEMDoLibraryOpen(void);
パラメータ
なし
リターン値
成功の場合はライブラリーインターフェイスハンドル、他の場合はINVALID_MDOLIB_HANDLE。
MDoLibraryClose()も参照のこと
テーブル#3
MDoLibraryClose
説明
MDoLibraryClose()ファンクションにより返されたAPIライブラリーハンドルに関連したシステムリソースをリリースする。
プロトタイプ
Void MDoLibraryClose(MDOLIB_HANDLEhLib);
パラメータ
hLib
[入力] MDoLibraryOpenによって返されるハンドル化されたライブラリー
リターン値
なし
MDoLibraryOpen()も参照のこと
MDoLibraryOpen()830によるライブラリーの初期化及びインスタンス化が成功すると、MDoGetLastError()820は、発生した最新のエラーに関する情報をアプリケーションプログラムに提供する。
テーブル#4
MDoGetLastError
説明
指定のライブラリーインスタンスの最新のエラー値を返す。
プロトタイプ
MDoErroeCode MDoGetLastError(MDOLIB_HANDLEhLib);
パラメータ
hLib
[入力] MDoLibraryOpenによって返されるハンドル化されたライブラリー
MDoErrorCodeのデータ形式は、コンポーネント及びエラーコードの両方を含む32ビット非符号化整数として定義することができる。多くの場合、検索されたエラー情報は、プラットホームの抽象APIレイヤーにおいてセットされている。そのため、ここで与えられるMDoErrorCodeフォーマットは、抽象レイヤーAPI(添付資料Aを参照)により定義されたAlErrorCodeフォーマットと同様である。図10は、一実施形態に基づくMDoErrorCodeの例示的フォーマット1000を示す。
テーブル#5
MDoErrorCodeは、次のように定義される。
Typedef unsigned long MDoErrorCode;
MDoLibraryOpen()、MDoScanOpen()、MDoScanData()、MDoScanUpdate()も参照のこと。
MDoGetLastError()820によりレポートされるエラーコードは、2つの部分、即ちコンポーネントコード及びエラーコードを含んでいる。更なる情報については、添付資料Aを参照されたい。テーブル#6は、例示的エラーコード及びそれに対応するコンポーネントコードをリストしたものである。また、MDoGetLastError()820は、抽象ライブラリーレイヤーにおいてセットされたエラーコードも返す。次のリストは、例示のためのものに過ぎず、何らこれに限定するものではないことに注意されたい。
テーブル#6
アプリケーションプログラムインターフェイス800は、複数のスキャニングサブシステムコンポーネントを含んでいる。スキャニングサブシステムAPIコンポーネントは、データ/コンテンツスキャニング及びシグネチャー更新サービスを提供する。MDoScanOpen()802、MDoScanClose()804、MDoScanVersion()806、MDoScanUpdate()810、及びMDoScanData()808が含まれている。MDoScanOpen()802は、スキャニングサブシステムオブジェクトのインスタンス化に使用される。MDoScanVersion()806は、スキャニングサブシステム及びシグネチャーデータベースのバージョン情報を提供する。MDoScanUpdate()810は、シグネチャーデータベースの更新を実行する。MDoScanData()808は、不当なコード/コンテンツデータのスキャニングを実行する。図11は、一実施形態に係るスキャニングサブシステムAPIコールシーケンス1100を示す。
テーブル#7は、MDoScanOpen()802に関する例示的情報を示す。
テーブル#7
説明
スキャニングサブシステムのインスタンスのハンドルを返す。
プロトタイプ
MDOSCAN_HANDLEMDoScanOpen(MDOLIB_HANDLE hLib);
パラメータ
[入力] MDoLibraryOpen()ファンクションを使用して得たライブラリーのハンドル。
リターン値
成功の場合にはスキャニングサブシステムインスタンスハンドル。
エラーの場合にはINVALID_MDOSCAN_HANDLEが返される。
MDoScanClose()、MDoScanData()、MDoScanUpdate()、MDoLibraryOpen()も参照のこと。
テーブル#8は、MDoScanClose()804に関する例示的情報を示す。
テーブル#8
説明
スキャニングサブシステムのインスタンス及びそれに関連したシステムリソースをリリースする。
プロトタイプ
VoidMDoScanClose(MDOSCAN_HANDLE hScan);
パラメータ
hScan
[入力] MDoScanOpen()ファンクションを使用して得られたスキャニングサブシステムのハンドル。
リターン値
なし
MDoScanOpen()、MDoScanData()、MDoScanUpdate()も参照のこと。
テーブル#9は、MDoScanVersion()806に関する例示的情報を示す。
テーブル#9
説明
MDoScanOpen()ファンクションにより返されたスキャナハンドルからスキャニングサブシステム及びシグネチャーのバージョン情報を得る。
プロトタイプ
Int MDoScanVersion(MDOSCAN_HANDLEhScan,
SVerInfo* pVersion);
パラメータ
hScan
[入力] MDoScanOpen()ファンクションを使用して得たスキャニングサブシステムのハンドル。
pVersion
[出力] バージョン情報を含む構造体へのポインタ。
リターン値
成功の場合には0、他の場合には−1。
MDoScanOpen()、MDoScanClose()、MDoScanData()、MDoScanUpdate()も参照のこと
テーブル#10は、MDoScanData()808に関する例示的情報を示す。
テーブル#10
説明
MDoScanDataは、特定のデータ形式をスキャンするためにアプリケーションプログラムからコールされる。コールするアプリケーションプログラムは、スキャナアクション、スキャンターゲット、データ形式、データにアクセスするためのI/Oファンクションのセット、及び任意のコールバックファンクションを指定する。データスキャニングの結果は、データ構造体を提供した呼出元に返される。MDoScanDataは、再入可能である。
プロトタイプ
Int MDoScanData(MDOSCAN_HANDLEhScan,
SScanParam* pParam,
SScanResult* pResult);
パラメータ
hScan
[入力] MDoScanOpen()ファンクションへのコールで得られたスキャニングサブシステムのハンドル。
pParam
[入力] データスキャンパラメータを含む構造体へのポインタ。
pResult
[出力] データスキャン結果を含む構造体へのポインタ。
リターン値
成功の場合は0、他の場合には−1、エラーコードがセットされる。
MDoScanOpen()、MDoScanClose()、MDoScanVersion()、MDoScanUpdate()も参照のこと。
テーブル#11は、MDoScanUpdate()810に関する例示的情報を示す。
テーブル#11
説明
不当なコード/コンテンツシグネチャーパターンデータベース(mdo.sdb)及び検出ロジック(mdo.pd)の更新を実行する。
プロトタイプ
Int MDoScanUpdate(MDOSCAN_HANDLEhScan,
SUpdateParam* pParam);
パラメータ
hScan
[入力] MDoScanOpen()ファンクションを用いて得たスキャンハンドル。
pParam.
[入力] 更新のキャンセル/中止及び進捗状態更新用のコールバックファンクションのポインタを含む更新パラメータの構造体へのポインタ。
テーブル#12
アプリケーションプログラムインターフェイス800は、複数のコンフィギュレーションコンポーネントを含む。スキャニングサブシステムの設定を検索し指定するのに使用されるファンクションのセットが含まれている。これらファンクションの1つの目標は、アプリケーションプログラム及びスキャニングサブシステムに集中化ランタイムコンフィギュレーションアクセスを提供することである。コンフィギュレーションデータは、不揮発性持続データ記憶装置(即ち、フラッシュメモリ、等)に記憶される。
テーブル#13
テーブル#14は、MDoConfigOpen()812に関する例示的情報を示す。
テーブル#14
説明
その後のコールに渡すべきコンフィギュレーション設定に対するハンドルをMDoConfigGet()及びMDoConfigSet()へ返す。
プロトタイプ
MDOCONFIG_HANDLEMDoConfigOpen(MDOLIB_HANDLE hLib);
パラメータ
hLib
[入力] MDoLibraryOpen()ファンクションを用いて得たライブラリーのハンドル。
リターン値
成功の場合はコンフィギュレーションハンドル。エラーの場合はINVALID_MDOCONFIG_HANDLEが返される。
MDoConfigClose()、MDoConfigSet()、MDoCongigGet()も参照のこと。
テーブル#15は、MDoConfigClose()814に関する例示的情報を示す。
テーブル#15
説明
システムリソースをリリースし、コンフィギュレーションハンドルをクローズする。
プロトタイプ
VoidMDoConfigClose(MDOCONFIG_HANDLE hConfig);
パラメータ
hConfig
[入力] MDoConfigOpen()ファンクションによって返されたコンフィギュレーションハンドル。
リターン値
なし
MDoConfigOpen()、MDoConfigSet()、MDoConfigGet()も参照のこと
テーブル#16は、MDoConfigGet()816に関する例示的情報を示す。
テーブル#16
説明
指定のコンフィギュレーション変数に対するコンフィギュレーション値を得る。
プロトタイプ
Int MDoConfigGet(MDCONFIG_HANDLEhConfig
charconst* pszName,
char* pBuffer,
unsignedint uSize);
パラメータ
hConfig
[入力] MDoConfigOpen()ファンクションによって返されたコンフィギュレーションハンドル。
pszName
[入力] NULL終端のコンフィギュレーション変数の名前。
pBuffer
[出力] 指定された変数に対するNULL終端のコンフィギュレーション設定/値。
uSize
[入力] pBufferのバイトでの長さ.
リターン値
成功の場合は0、他の場合は−1
MDoConfigOpen()、MDoConfigClose()、MDoConfigSet()も参照のこと。
テーブル#17は、MDoConfigSet()818に関する例示的情報を示す。
テーブル#17
説明
指定のコンフィギュレーション変数の値をセットする。
プロトタイプ
Int MDoConfigGet(MDOCONFIG_HANDLEhConfig
charconst* pszName
char const* pszValue);
パラメータ
hConfig
[入力] MDoConfigOpen()ファンクションによって返されるコンフィギュレーションハンドル。
pszName
[入力] NULL終端のコンフィギュレーション変数の名前。
pszValue
[入力] 指定された変数に対するNULL終端の新たなコンフィギュレーション設定/値
リターン値
成功の場合は0、他の場合は−1。
MDoConfigOpen()、MDoConfigClose()、MDoConfigGet()も参照のこと。
先に述べたように、アプリケーションプログラムは、スキャニングサブシステムによるスキャニングを容易にするためにスキャニングサブシステムへ情報を伝送することができる。この伝送は、上述したAPIを介することによって容易にされている。上述の情報は、スキャニングされるべきデータの形式と、このようなスキャニングに関連したタイミングとに関係しうるものである。上述のAPIがこれを達成する方法に関する説明を次に行う。
コールするアプリケーションプログラムは、SScanParam構造体を使用してスキャニングパラメータをスキャニングサブシステムに供給することができる。スキャンパラメータに含まれる情報は、スキャニングサブシステムに、1)スキャニングサブシステムアクション形式(即ち、iAction)、2)スキャンデータ形式(即ち、スキャニングされるべきアプリケーションデータの形式、iDataType)、3)スキャンターゲットに対するデータポインタ(即ち、pPrivate)、4)バイトでのデータサイズを検索するためのファンクション(即ち、pfGetSize)、5)スキャンデータをリサイズするためのファンクション(即ち、pfSetSize)、6)スキャンデータのブロックを検索するためにスキャニングサブシステムにより使用されるファンクション(即ち、pfRead)、6)スキャンデータを書き込むのに使用されるファンクション(即ち、pfWrite)、及び7)スキャニングサブシステム状態/進行レポートのためのコールバックファンクション(即ち、pfCallBack)を提供する。
スキャンアクションは、供給されたアプリケーションデータに関して実行されるべきスキャニングの形式を指定する。テーブル#18は、種々の例示的スキャンアクションを示す。
テーブル#18
コールするアプリケーションプログラムは、この変数を使用してアプリケーションデータ形式及びフォーマットをスキャニングサブシステムに通知してもよい。
アプリケーションスキャンオブジェクトに対するポインタ(又はハンドル)が更に提供される。スキャニングサブシステムは、必ずしも、このデータポインタ/ハンドルを使用して直接メモリI/Oを実行しない。このデータポインタ/ハンドルは、呼出元指定のI/Oファンクションを使用して読み取り/書き込みを実行するために呼出元へ返送される。
このファンクションは、コールしたアプリケーションプログラムからスキャンターゲットデータサイズ(バイト数)を得るためにスキャニングサブシステムにより使用される。
このファンクションは、修復/清浄化されているアプリケーションデータを所与のサイズ(バイト数)にリサイズすることを、コールしたアプリケーションプログラムに要求するためにスキャニングサブシステムにより使用される。このファンクションは、スキャン及び修復/削除オプションにと共に使用されてもよい。
このファンクションは、コールしたアプリケーションプログラムから指定量のアプリケーションデータを読み取るためにスキャニングサブシステムによって使用されうるものである。
これは、オプションのパラメータであって、当該パラメータは、修復プロセスの一部分としてスキャンオブジェクトに指定量のアプリケーションデータを書き込むためにスキャニングサブシステムにより使用される。このファンクションポインタは、修復又は削除用にスキャンアクションがセットされた場合にセットされてもよい。
指定された場合に、スキャニングサブシステムは、以下のテーブルに示す情報で指定のファンクションをコールする。コールバックファンクションは、負のリターン値が返された場合には、スキャニングプロセスを中止する。テーブル#19は、例示的コールバックコードリストを示す。
テーブル#19
オブジェクトスキャニングの結果、即ち検出されたマルウェア情報は、コールしたアプリケーションプログラムにより提供されたSScanResult構造体で、コールしたアプリケーションプログラムへ返される。このSScanResult構造体は、スキャン結果情報を含む構造体に対するポインタと、スキャン結果リソースを削除するのに使用されるファンクションへのポインタとを含む。スキャン結果を保持するのに使用されるメモリは、スキャニングサブシステムにより割り当てられ、そしてpfDeleteResultポインタが指すファンクションをコールすることにより解放される。
図14は、一実施形態に係るものであり、SDetect構造体に含まれるマルウェアの重大度及びアプリケーションプログラムのビヘイビアレベルを含むビットフィールド変数1400を示す。
テーブル#21
先に述べたように、更新プロセスは、移動通信フレームワークに固有の限定帯域巾に適応するようにストリームライン化されてもよい。これを達成する種々の方法に関するより多くの情報を以下に示す。
MDoScanUpdateファンクションは、2つのコンポーネント[即ち、不正コード検出ロジック(mdo.pd)及びシグネチャーデータベース(mdo.sdb)]に更新サービスを提供する。一つのコンポーネント(即ち、mdo.pd)は、検出ロジックを含んでいて、新たなバージョンが使用できるときに完全に更新されてもよい。別のコンポーネント(即ち、mdo.sdb)は、n個の以前のバージョンまで増分的に更新されてもよい。第2のコンポーネントに対する完全な更新は、nより古いバージョンをもつ移動通信装置において実行することができる。例えば、nが5にセットされ、最新バージョンが20である場合には、15より古いバージョンをもつ移動通信装置において完全な更新が実行される。
図16は、一実施形態に係るものであり、ユーザインターフェイスにより更新がどのように開始されるかを示す例示的フロー1600を示す。図示されたように、ウイルスパターンの更新は、移動通信装置のユーザがユーザインターフェイス1602を介してメニューエントリーを選択することにより開始できる。ユーザが更新メニューを選択すると、更新アプリケーション1604がアクチベートされ、適切な更新インターフェイスファンクション1606を介してバックエンドサーバーに接続する。
更新ライブラリーは、HTTPプロトコルを介してバックエンドサーバーと通信することができる。
図17は、一実施形態に係るものであり、移動通信装置のスキャニングサブシステムを効率的に更新するための方法1700を示す。一実施形態において、この方法1700は、図3のアーキテクチャー300のアプリケーションプログラム、スキャニングサブシステム及びオペレーティングシステム、並びに図1及び2のシステムの状況で実施することができる。しかしながら、この方法1700は、所望のいかなる状況において実施されてもよいことに注意されたい。
テーブル#22
<BASE-URL>?dev=<DEV-ID>&mdo=<MDO-VER>&eng=<ENG-VER>&sdb=<SDB-VER>&chk=<CHUNK>
上述のURL変数を説明するテーブルは、次の通りである。
テーブル#23
http://update.mcafeeacsa.com/504i?dev=X504i05&mdo=2&eng=3&sdb=56&chk=1
テーブル#24
http://update.mcafeeacsa.com/504i?dev=X504i05&mdo=2&eng=3&sdb=56&chk=3
テーブル#27
先に述べたように、移動通信装置に使用するためのプラットホーム独立システム及びそれに関連した方法が提供される。スキャニングの目的で移動通信装置のオペレーティングシステムと通信するプラットホーム独立のスキャニングサブシステムが含まれる。更に、オペレーティングシステム及びスキャニングサブシステムに接続するためのプラットホーム独立のアプリケーションプログラムインターフェイスも設けられる。このプラットホーム独立のアプリケーションプログラムインターフェイスは、プラットホーム独立のスキャニングサブシステムを、移動通信装置及びそれに関連したオペレーティングシステムにポーティングするための抽象ライブラリーを含む。
・システム初期化
・ライブラリー初期化
・エラーファンクション
・ヒープメモリ割り当て
・持続的メモリ/記憶装置I/O
・データ認証
・同期オブジェクト(セマフォ)
・HTTP API
・共有メモリ
・システム時間
・装置情報
・デバッグ
また、この添付資料には、APIライブラリーに使用するための抽象ライブラリー(AL)レイヤーで定義ざれたC言語定義(1つ又は複数)のセットも説明されている。
プラットホーム/システムに依存するブート初期化は、AlLibrarySysInit()により実行される。このファンクションは、先に述べたMDoSystemInit()ファンクションからコールされるように設計されている。
説明
システムに依存する初期化を実行する。
プロトタイプ
intAlLibrarySysInit(void);
パラメータ
なし
リターン値
成功の場合0、他の場合は−1。
このプラットホームの抽象APIライブラリーは、AlInitLibrary()ファンクションを使用して初期化される。この抽象ライブラリーは、抽象APIファンクションがコールされる前に一度初期化されるべきである。AlInitLibrary()により得られて初期化されるシステムリソースは、AlCleanupLibrary()ファンクションがコールされるときにリリースされる。
説明
ライブラリー初期化を実行する。このファクションは、MDoLibraryOpen()ファンクションによりコールされる。
プロトタイプ
intAlInitLibrary(void);
パラメータ
なし
リターン値
成功の場合0、他の場合は−1。
説明
AlInitLibrary()ファンクションにより得られたシステムリソースをリリースする。このファンクションは、先に述べたMDoLibraryClose()ファンクションによりコールされる。
プロトタイプ
voidAlCleanupLibrary(void);
パラメータ
なし
リターン値
なし
ALライブラリーは、タスク/スレッド特有のエラーコードをセット及び検索するのに使用されるエラーファンクションのセットが含まれている。これは、適当なエラーコード及びコンポーネントコードをセットするのは、抽象レイヤーインプリメンターの役割である。
説明
コーリングタスク/スレッドの最新のエラーコード値を返す。これらファンクションは、AlSetLastError()ファンクションを使用して、返された値をセットする。
AlErrorCodeデータ形式は、32ビットの非符号化値を使用して内的に表される。
プロトタイプ
AlErrorCodeAlGetLastError(void);
パラメータ
なし
リターン値
AlSetLastError()ファンクションを使用してセットされたコーリングスレッド/タスクの最新のエラー値。
説明
コーリングスレッド/タスクに対する最新のエラーコードをセットする。
プロトタイプ
voidAlSetLastError(AlErrorCode errorCode);
パラメータ
errorCode
[入力] 32ビットのエラーコード値。
リターン値
なし
抽象レイヤーは、必要なメモリを動的に割り当てるために、コールしたアプリケーションプログラム(即ち「呼出元」)に対するヒープメモリ割り当てを提供する。割り当てられたメモリは、グローバルに共有可能で、多数のアプリケーション/タスクによりアクセスできるものと仮定されている。AlMemAlloc()及びAlMemFree()APIファンクションは、ヒープメモリの割り当て及び割り当て解除を提供する。
説明
指定量の動的メモリを割り当て、そのメモリに対するポインタを返す。割り当てられたメモリブロックは、特殊なオペレーション(即ちメモリのロック)を必要とせず、呼出元(即ちコールしたアプリケーションプログラム)による直接のアクセスが可能である。
プロトタイプ
void* AlMemAlloc(unsignedint uSize);
パラメータ
uSize
[入力] 割り当てるメモリのバイトでの量。
リターン値
割り当てられたメモリに対するポインタ。要求が失敗に終わるか又は要求のサイズが0である場合には、NULL。
AlMemFree()も参照のこと。
説明
AlMemAlloc()ファンクションによってリターンされた動的メモリブロックを解放する。
プロトタイプ
void AlMemFree(void*pData);
パラメータ
pData
[入力] 開放すべきメモリブロックへのポインタ。
リターン値
なし
AlMemAlloc()も参照のこと。
typedef struct AL_FILE_HANDLE_struct
{
} *AL_FILE_HANDLE;
#define INVALID_AL_FILE_HANDLE((AL_FILE_HANDLE)0)
typedef struct AlStatBuf_struct
{
unsigned long ulSize;
unsigned long ulTime;
} AlStatBuf;
説明
指定のファイルをオープンし、そのハンドルを返す。
プロトタイプ
AL_FILE_HANDLEAlFileOpen(const char* pszFilename,
Int iMode);
パラメータ
pszFilename
[入力] ファイル名/パスのストリング.
iMode
[入力] ファイルのアクセスモード.
AL_OPEN_READ 読み取りのためのファイルオープン
AL_OPEN_WRITE 読み取り及び書き込みの両方のためのファイルオープン
リターン値
成功の場合はファイルハンドル、他の場合はINVALID_AL_FILE_HANDLE
AlFileClose()、AlFileRead()、AlFileWrite()も参照のこと。
説明
指定のファイルハンドルに関連したシステムリソースをクローズし、リリースする。
プロトタイプ
VoidAlFileClose(AL_FILE_HANDLE hFile);
パラメータ
hFile
[入力] AlFileOpen()によって返されたファイルハンドル。
リターン値
なし
AlFileOpen()、AlFileRead()、AlFileWrite()も参照のこと。
説明
リード/ライトファイルオフセットを再配置する。
プロトタイプ
longAlFileSeek(AL_FILE_HANDLE hFile,
Long lOffset,
Int iWhence);
パラメータ
hFile
[入力] オープンファイルのハンドル。
lOffset
[入力] iWhence directiveに関連するファイルオフセット。
iWhence
[入力] 初期位置。とり得る値は次の通りである。
AL_SEEK_SET オフセットパラメータは絶対的ファイルオフセットを指定する。
換言すれば、ファイルの開始からのオフセット。
AL_SEEK_CUR 相対的オフセットを指定し、即ちオフセットパラメータは現在ファ イルからのファイルオフセットを指定する。
AL_SEEK_END ファイルの終わりからのファイルオフセットを指定する。
リターン値
成功の場合は得られたファイルオフセット、他の場合は−1L。
AlFileOpen()、AlFileClose()、AlFileRead()、AlFileWrite()も参照のこと。
説明
ファイルからデータのブロックを読み取る。
プロトタイプ
Unsigned intAlFileRead(AL_FILE_HANDLE hFile,
void* pBuffer,
Unsigned int uSize);
パラメータ
hFile
[入力] オープンファイルのハンドル。
pBuffer
[出力] データバッファ
uSize
[出力] 読み込むデータ量。
リターン値
成功の場合は読み取ったバイト数、他の場合は−1。
AlFileOpen()、AlFileClose()、AlFileSeek()、AlFileWrite()も参照のこと。
説明
データのブロックをファイルに書き込む。
プロトタイプ
unsigned intAlFileWrite(AL_FILE_HANDLE hFile,
void const* pBuffer,
unsigned int uSize );
パラメータ
hFile
[入力] オープンファイルのハンドル
pBuffer
[int] 書き込むデータを保持しているバッファ。
uSize
[出力] 書き込むデータの量。
リターン値
成功の場合は書き込まれたデータの量、他の場合は−1。
AlFileOpen()、AlFileClose()、AlFileSeek()、AlFileRead()も参照のこと。
説明
オープンファイルをリサイズする。
ネイティブのファイルリサイズのサポートをもたないプラットホームについては、抽象ライブラリーは、AlFileClose()ファンクションがコールされたときに各ファイルの始めに記憶されたサイズ情報を変更することにより、このファンクションを実施する。
プロトタイプ
unsigned intAlFileSetSize(AL_FILE_HANDLE hFile,
unsigned int uSize );
パラメータ
hFile
[入力] ライトモードでオープンファイルを指すハンドル。
uSize
[出力] バイトでの新たなファイル長。
リターン値
成功の場合は0、他の場合は−1。
AlFileStat()も参照のこと。
説明
ファイルサイズの検索及びタイムスタンプの生成。
ネイティブのファイルサイズ及び/又はタイムスタンプ情報の検索方法を備えていないプラットホームについては、抽象ライブラリーは、各ファイルの始めに情報を記憶することによりこのファンクションを実施する。
プロトタイプ
int AlFileStat(charconst* pszFilenames,
AlStatBuf* pStat );
パラメータ
pszFilename
[入力] 情報を検索するファイルの名称。
pStat
[出力] サイズ及びタイムスタンプを返すのに使用される構造体へのポインタ。この構造体は、次のフィールドを含む。
typedef structureAlStatBuf_struct
{
unsigned long ulSize; /* size in bytes */
unsigned long ulTime; /* creation time */
} AlStatBuf;
リターン値
成功の場合0、他の場合は−1。
プラットホーム抽象APIには、データを認証するためのファンクションのセットが含まれている。データ認証APIは、ダウンロードされたマルウェアシグネチャーデータベースを検証するのに使用される。
AlDaGetSignerInfo()は、署名者情報を検索するのに使用される。AlDaClose()は、データ認証ハンドル及びそれに関連したシステムリソースをクローズ及びリリースするのに使用される。
例示的なデータ認証APIを以下に示す。
ALHANDLE(AL_DA_HANDLE);
#defineINVALID_AL_DA_HANDLE ((AL_DA_HANDLE) 0)
#defineMAX_DA_SIGNER_NAME 128
typedef structDaSignerInfo_struct
{
charszSignerName[MAX_DA_SIGNER_NAME];
} DaSignerInfo;
説明
データ認証ハンドルを生成し、返す。
プロトタイプ
AL_DA_HANDLEAlDaOpen(const void* pSig,
unsigned int uSize );
パラメータ
pSig
[入力] シグネチャーデータへのポインタ。
uSigSize
[入力] バイトでのシグネチャーサイズ。
リターン値
成功の場合はデータ認証ハンドル、他の場合はNVALID_AL_DA_HANDLE。
AlDaClose()、AlDaUpdata()、AlDaVerify()、AlDaGetSignerInfo()も参照のこと。
説明
データ認証ハンドルに対して使用されるシステムリソースをリリースする。
プロトタイプ
voidAlDaClose(AL_DA_HANDLE hDa );
パラメータ
hDa
[入力] AlDaOpenによって返されるデータ認証ハンドル。
リターン値
なし
AlDaOpen()、AlDaUpdata()、AlDaVerify()、AlDaGetSignerInfo()も参照のこと。
説明
データ認証を行う。
プロトタイプ
int AlDaVerify(AL_DA_HANDLEhDa,
int (*pfRead)(void*,void*,int),
int iTotalSize,
void *pPrivate);
パラメータ
hDa
[入力] データ認証ハンドル。
pfRead
[入力] データの読み取り(参照)に使用する呼出元のコールバックファンクション。エラーの場合は、−1とし、読み取るべきデータがそれ以上ない場合は0とし、他の場合は、読み取られてAlDaVerifyファンクションへ返されたデータの量とする。ファンクションは何回もコールされることが予想される。
iTotalSize
[入力] 検証されるべき全データサイズ。
pPrivate
[入力] pfReadのコールバックによって渡されるべき呼出元のプライベートデータ。
リターン値
アプリケーションデータが認証された場合は0、他の場合は−1。
AlDaOpen()、AlDaClose()、AlDaGetSignerInfo()も参照のこと。
説明
データ認証署名者情報を検索する。
プロトタイプ
intAlDaGetSignerInfo(AL_DA_HANDLE hDA,
DaSignerInfo *pDSI);
パラメータ
hDa
[入力] データ認証ハンドル。
pDSI
[出力] 署名者情報を含む構造体へのポインタ。
リターン値
署名者情報の取得が成功した場合には0、他の場合には−1。
AlDaOpen()、AlDaClose()、AlDaVerify()も参照のこと。
リソースの同期及び制御は、セマフォを使用して行われる。抽象ライブラリーには、セマフォオブジェクトを生成し、オープンし、クローズし、そして変更するためのファンクションのセットが含まれている。例示的なセマフォAPIは次の通りである。
説明
命名されたセマフォを生成し、内部カウンターを0にセットしそのハンドルを返す。
プロトタイプ
AL_SEM_HANDLEAlSemCreate(char const* pszName );
パラメータ
pszName
[入力] セマフォ名のストリング。
リターン値
成功の場合はセマフォハンドル、他の場合はINVALID_AL_SEM_HANDLE。
AlSemOpen()、AlSemClose()、AlSemGet()、AlSemRelease()も参照のこと。
説明
既存のセマフォへのハンドルを返す。
プロトタイプ
AL_SEM_HANDLEAlSemOpen(char const* pszName );
パラメータ
pszName
[入力] セマフォ名。
リターン値
成功の場合はセマフォハンドル、他の場合はINVALID_AL_SEM_HANDLE。
AlSemCreate()、AlSemClose()、AlSemGet()、AlSemRelease()も参照のこと。
説明
システムリソース関連の指定のセマフォハンドルをクローズし、リリースする。
セマフォ使用/参照カウントも減少され、参照されたセマフォオブジェクトはカウントが0になった場合に破棄される。
プロトタイプ
voidAlSemClose(AL_SEM_HANDLE hSem);
パラメータ
hSem
[入力] AlSemCreate() 又は AlSemOpen()を用いて得たセマフォハンドル。
リターン値
なし
AlSemCreate()、AlSemOpen()、AlSemGet()、AlSemRelease()も参照のこと。
説明
指定のセマフォを取得する。内部カウンターがエントリーにおいて0より大きい場合には、それを1だけ減少して直ちに返す。内部カウンターがエントリーにおいて0である場合には、他のタスク/スレッドがAlSemRelease()をコールして0より大きくするまで、コールが阻止される。
プロトタイプ
intAlSemGet(AL_SEM_HANDLE hSem);
パラメータ
hSem
[入力] セマフォハンドル。
リターン値
成功の場合は0、他の場合は−1。
AlSemCreate()、AlSemOpen()、AlSemClose()、AlSemRelease()も参照のこと。
説明
セマフォをリリースし、内部カウンターを1だけ増加する。
プロトタイプ
intAlSemRelease(AL_SEM_HANDLE hSem);
パラメータ
hSem
[入力] セマフォハンドル。
リターン値
成功の場合は0、他の場合は−1。
AlSemCreate()、AlSemOpen()、AlSemClose()、AlSemGet()も参照のこと。
typedef structAL_HTTP_HANDLE_struct
{
} *AL_HTTP_HANDLE;
#defineINVALID_AL_HTTP_HANDLE ((AL_HTTP_HANDLE)0)
typedef structAlHttpCallbacks_struct
{
unsigned int (* pWrite) (void* pPrivate,
void const* pData,
unsignedint uSize);
unsigned int (* pRead) (void* pPrivate.
Void* pData,
unsigned int uSize);
unsigned int (* pGetSize) (void* pPrivate);
unsigned int (* pSetSize) (void* pPrivate,
unsigned int uSize);
} AlHttpCallbacks;
pWrite 到来するHTTP要求データを記憶するためにシステムHTTPライブラ
リーによりコールされる。
pRead HTTP要求の一部として送信されるべきアプリケーションデータを検索
するのに使用される。
pGetSize アプリケーションのコンテンツデータサイズ「Content-Length」をHTT
Pライブラリーに提供する。
pSetSize 到来するコンテンツデータ長さが得られるときにそれをコーリングアプリ
ケーションに知らせるためにHTTPライブラリーによりコールされる
説明
ハンドルを生成して、HTTPライブラリーへ返す。
プロトタイプ
AL_HTTP_HANDLE_AlHttpOpen(void);
パラメータ
なし
リターン値
HTTPのインスタンス生成に失敗した場合には、INVALID_AL_HTTP_HANDLEが返される。
AlHttpClose()も参照のこと。
説明
HTTPハンドルに関連したシステムリソースをクローズし、リリースする。
プロトタイプ
voidAlHttpClose(AL_HTTP_HANDLE hHTTP);
パラメータ
hHTTP
[入力] AlHttpOpen()ファンクションによって返されるHTTPライブラリのハンドル。
リターン値
なし
AlHttpClose()も参照のこと。
説明
指定のURLにおいて任意のヘッダ情報を用いてHTTPメソッド(「GET」又は「POST」)を実行する。
プロトタイプ
intAlHttpExec(AL_HTTP_HANDLE hHTTP,
char const* pszMethod,
char const* pszURL,
AlHttpCallbacks* pHttpCb,
void* pPrivate );
パラメータ
hHTTP
[入力] AlHttpOpen()関数によって返されるHTTPライブラリのハンドル。
pszMethod
[入力] HTTPメソッドの指定。HTTP “GET” または “POST”。
pszURL
[入力] HTTPリクエストがなされるULR。
pHttpCb
[入力] 呼出元指定のHTTP I/Oファンクションのセットへのポインタ。
HTTPライブラリーは、データI/Oに対してAlHttpCallbacksで指定された
ファンクションを使用する
pPrivate
[入力/出力] AlHttpCallbacksにおいて指定されたコールバックファンクションへ返却されるべき呼出元データへのポインタ。
リターン値
成功の場合は0、他の場合は−1。
ALHttpOpen()、AlHttpClose()も参照のこと。
ライブラリーの共有オブジェクトが記憶されるシステムメモリの位置は、AlShmAddress()ファンクションを使用して取得される。この共有情報エリアは、装置のブート時に割り当てられ/準備され、ライブラリーの異なるインスタンスにより参照される。
説明
共有メモリアドレスを返す。
プロトタイプ
void*AlSemAddress(void);
パラメータ
なし
リターン値
成功の場合は共有メモリアドレス、他の場合はNULL。
AlTmGetCurrent()は、呼出元に現在システム時間を秒で与える。
説明
現在システム時間を得る。
プロトタイプ
unsigned longAlTmGetCurrent(void);
パラメータ
なし
リターン値
成功のときは、エポック(1970年1月1日の00:00:00)以来の時間(秒で)。エラーのときは、((unsigned long) -1L)を返す。
AlDevGetInfo
説明
装置の特定情報を検索する。このファンクションにより返される装置識別ストリングは、APIにより使用される。
プロトタイプ
intAlDevGetInfo(AlDeviceInfo* pDeviceInfo );
パラメータ
pDeviceInfo
[出力] デバイス情報へのポインタ。
AlDeviceInfoは、次のように定義される。
#defineAL_MAX_DEVICE_ID 32
typedef structAlDeviceInfo_struct
{
charszDeviceID[AL_MAX_DEVICE_ID];
} AlDeviceInfo;
識別ストリングszDeviceIDは、特定の移動通信装置を全ての他のものからユニークに特定するのに使用されるユニークなターミナル/装置識別子である。この情報は、移動通信装置に対してマルウェアシグネチャーダウンロードURLを構成するのに使用される。これは、URLで許されないキャラクタ(即ち、ホワイトスペース)を含んではならない。
リターン値
成功の場合は0、失敗の場合は−1。
AlDbgOutput
説明
デバッグストリングをデバッグコンソールへ出力する。このファンクションは、リリースビルドに対するナルファンクションである。
プロトタイプ
int AlDbgOutput(charconst* pszOutput);
パラメータ
pszOutput
[入力] デバッグコンソールに出力するストリング。
リターン値
成功の場合は0、失敗の場合は−1。
Claims (5)
- プロセッサと、
メモリと、
前記メモリにインストールされたアプリケーションプログラムであって、前記プロセッサに、該アプリケーションプログラムに従ってタスクを実行させる、アプリケーションプログラムと、
前記メモリにインストールされ、前記プロセッサに、前記タスクで使用されるアプリケーションデータをスキャニングさせるスキャニングプログラムであって、該スキャニングは、前記アプリケーションデータが前記メモリに記憶されたウイルスシグネチャデータベースに含まれるウイルスシグネチャを含むか否かをチェックすることを含む、該スキャニングプログラムと、
を備え、
前記アプリケーションプログラムが、前記スキャニングプログラムのアプリケーションプログラムインターフェイスを介して、前記アプリケーションデータ及び該アプリケーションデータの情報を該アプリケーションプログラムから前記スキャニングプログラムへ伝送しつつ、前記スキャニングプログラムを呼び出し、
前記アプリケーションプログラムは、メールアプリケーションプログラム、ブラウザアプリケーションプログラム、電話帳アプリケーションプログラム、及び、メッセージアプリケーションプログラムの何れかを含み、前記タスクは、電子メールの管理、ネットワークのブラウジング、複数の電話番号の管理、及び、メッセージの伝送の何れかを含み、
前記情報は、前記アプリケーションデータの形式を特定する変数、及び、前記アプリケーションプログラムに前記アプリケーションデータのリサイズを要求するための関数を含み、
前記アプリケーションプログラムがメールアプリケーションプログラムである場合に、前記タスクは電子メールの管理を含み、
前記アプリケーションプログラムがブラウザアプリケーションプログラムである場合に、前記タスクはネットワークのブラウジングを含み、
前記アプリケーションプログラムが電話帳アプリケーションプログラムである場合に、前記タスクは複数の電話番号の管理を含み、
前記アプリケーションプログラムがメッセージアプリケーションプログラムである場合に、前記タスクはメッセージの伝送を含む、
移動通信装置。 - 前記移動通信装置はセルラー電話を含む、請求項1に記載の移動通信装置。
- 前記形式は、ハイパーテキストマークアップ言語(HTML)形式、ユニホームリソースロケータ(URL)形式、電子メール形式、電話番号形式、Java(登録商標)形式、及び、テキスト形式を含む、請求項1に記載の移動通信装置。
- 移動通信装置におけるアプリケーションプログラムデータをスキャニングするための方法であって、
前記移動通信装置のメモリにインストールされたアプリケーションプログラムを実行する該移動通信装置のプロセッサが、該アプリケーションプログラムに従ってタスクを実行するステップと、
前記メモリに記憶されたスキャニングプログラムを実行する前記プロセッサが、前記タスクで使用されるアプリケーションデータをスキャニングするステップであって、該スキャニングは、前記アプリケーションデータが前記メモリに記憶されたウイルスシグネチャデータベースに含まれるウイルスシグネチャを含むか否かをチェックすることを含む、該ステップと、
を含み、
前記アプリケーションプログラムが、前記スキャニングプログラムのアプリケーションプログラムインターフェイスを介して、前記アプリケーションデータ及び該アプリケーションデータの情報を該アプリケーションプログラムから前記スキャニングプログラムへ伝送しつつ、前記スキャニングプログラムを呼び出し、
前記アプリケーションプログラムは、メールアプリケーションプログラム、ブラウザアプリケーションプログラム、電話帳アプリケーションプログラム、及び、メッセージアプリケーションプログラムの何れかを含み、前記タスクは、電子メールの管理、ネットワークのブラウジング、複数の電話番号の管理、及び、メッセージの伝送の何れかを含み、
前記情報は、前記アプリケーションデータの形式を特定する変数、及び、前記アプリケーションプログラムに前記アプリケーションデータのリサイズを要求するための関数を含み、
前記アプリケーションプログラムがメールアプリケーションプログラムである場合に、前記タスクは電子メールの管理を含み、
前記アプリケーションプログラムがブラウザアプリケーションプログラムである場合に、前記タスクはネットワークのブラウジングを含み、
前記アプリケーションプログラムが電話帳アプリケーションプログラムである場合に、前記タスクは複数の電話番号の管理を含み、
前記アプリケーションプログラムがメッセージアプリケーションプログラムである場合に、前記タスクはメッセージの伝送を含む、
方法。 - 移動通信装置におけるアプリケーションプログラムデータをスキャニングするためのコンピュータプログラムであって、
前記移動通信装置のメモリに格納されたアプリケーションプログラムであって、該移動通信装置のプロセッサに、該アプリケーションプログラムに従ってタスクを実行させる、該アプリケーションプログラムと、
前記メモリに格納されたスキャニングプログラムであって、前記プロセッサに、前記タスクで使用されるアプリケーションデータをスキャニングさせ、該スキャニングは、前記アプリケーションデータが前記メモリに記憶されたウイルスシグネチャデータベースに含まれるウイルスシグネチャを含むか否かをチェックすることを含む、該スキャニングプログラムと、
を備え、
前記アプリケーションプログラムは、前記スキャニングプログラムのアプリケーションプログラムインターフェイスを介して、前記アプリケーションデータ及び該アプリケーションデータの情報を該アプリケーションプログラムから前記スキャニングプログラムへ伝送しつつ、前記スキャニングプログラムを呼び出し、
前記アプリケーションプログラムは、メールアプリケーションプログラム、ブラウザアプリケーションプログラム、電話帳アプリケーションプログラム、及び、メッセージアプリケーションプログラムの何れかを含み、前記タスクは、電子メールの管理、ネットワークのブラウジング、複数の電話番号の管理、及び、メッセージの伝送の何れかを含み、
前記情報は、前記アプリケーションデータの形式を特定する変数、及び、前記アプリケーションプログラムに前記アプリケーションデータのリサイズを要求するための関数を含み、
前記アプリケーションプログラムがメールアプリケーションプログラムである場合に、前記タスクは電子メールの管理を含み、
前記アプリケーションプログラムがブラウザアプリケーションプログラムである場合に、前記タスクはネットワークのブラウジングを含み、
前記アプリケーションプログラムが電話帳アプリケーションプログラムである場合に、前記タスクは複数の電話番号の管理を含み、
前記アプリケーションプログラムがメッセージアプリケーションプログラムである場合に、前記タスクはメッセージの伝送を含む、
コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US46385303P | 2003-04-17 | 2003-04-17 | |
US10/639,009 US6987963B2 (en) | 2003-04-17 | 2003-08-11 | System, method and computer program product for content/context sensitive scanning utilizing a mobile communication device |
PCT/US2004/010570 WO2004095847A2 (en) | 2003-04-17 | 2004-04-05 | System, method and computer program product for content/context sensitive scanning utilizing a mobile communication device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007524902A JP2007524902A (ja) | 2007-08-30 |
JP4597974B2 true JP4597974B2 (ja) | 2010-12-15 |
Family
ID=33162388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006509741A Expired - Fee Related JP4597974B2 (ja) | 2003-04-17 | 2004-04-05 | 移動通信装置を使用してコンテンツ/コンテクストの高感度スキャニングを行うシステム、方法及びコンピュータプログラム製品 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6987963B2 (ja) |
EP (2) | EP3062234B1 (ja) |
JP (1) | JP4597974B2 (ja) |
KR (1) | KR101120447B1 (ja) |
CN (1) | CN101248427B (ja) |
CA (1) | CA2517534C (ja) |
NO (1) | NO20055429L (ja) |
WO (1) | WO2004095847A2 (ja) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US6908058B2 (en) * | 2003-03-28 | 2005-06-21 | Suncast Corporation | Hose reel cart with elevated crank handle |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7392043B2 (en) * | 2003-04-17 | 2008-06-24 | Ntt Docomo, Inc. | API system, method and computer program product for accessing content/security analysis functionality in a mobile communication framework |
US6970697B2 (en) * | 2003-04-17 | 2005-11-29 | Ntt Docomo, Inc. | Platform-independent scanning subsystem API for use in a mobile communication framework |
US7254811B2 (en) * | 2003-04-17 | 2007-08-07 | Ntt Docomo, Inc. | Update system and method for updating a scanning subsystem in a mobile communication framework |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
US20070113272A2 (en) | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9100431B2 (en) | 2003-07-01 | 2015-08-04 | Securityprofiling, Llc | Computer program product and apparatus for multi-path remediation |
US9118709B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US8839417B1 (en) | 2003-11-17 | 2014-09-16 | Mcafee, Inc. | Device, system and method for defending a computer network |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7774620B1 (en) * | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US20060015940A1 (en) * | 2004-07-14 | 2006-01-19 | Shay Zamir | Method for detecting unwanted executables |
US7591018B1 (en) * | 2004-09-14 | 2009-09-15 | Trend Micro Incorporated | Portable antivirus device with solid state memory |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
DE102004063688A1 (de) * | 2004-12-28 | 2006-07-13 | Vodafone Holding Gmbh | System und Verfahren zur Vermittlung von Daten zwischen einem Datenanbieter und einem Mobilfunkteilnehmer |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
KR100599084B1 (ko) * | 2005-02-24 | 2006-07-12 | 삼성전자주식회사 | 이동 통신 네트워크에서의 바이러스 치료 방법 |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US20070094654A1 (en) * | 2005-10-20 | 2007-04-26 | Microsoft Corporation | Updating rescue software |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7634262B1 (en) * | 2006-03-07 | 2009-12-15 | Trend Micro, Inc. | Virus pattern update for mobile device |
US9104871B2 (en) * | 2006-04-06 | 2015-08-11 | Juniper Networks, Inc. | Malware detection system and method for mobile platforms |
US7975304B2 (en) * | 2006-04-28 | 2011-07-05 | Trend Micro Incorporated | Portable storage device with stand-alone antivirus capability |
US8990929B2 (en) * | 2006-08-21 | 2015-03-24 | Blackberry Limited | Auditing application activities |
US7934197B2 (en) * | 2006-12-19 | 2011-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Maintaining code integrity in a central software development system |
US20080287100A1 (en) * | 2007-05-18 | 2008-11-20 | Aol Llc | Mobile account access through a data processing system |
US7984455B2 (en) * | 2007-05-30 | 2011-07-19 | Sony Ericsson Mobile Communications Ab | Enhanced native contact book application |
US8607344B1 (en) | 2008-07-24 | 2013-12-10 | Mcafee, Inc. | System, method, and computer program product for initiating a security action at an intermediate layer coupled between a library and an application |
US9202049B1 (en) | 2010-06-21 | 2015-12-01 | Pulse Secure, Llc | Detecting malware on mobile devices |
CN101917476B (zh) * | 2010-08-11 | 2014-06-25 | 开曼群岛威睿电通股份有限公司 | 超文本传输协议消息处理方法及其客户端*** |
US8726338B2 (en) | 2012-02-02 | 2014-05-13 | Juniper Networks, Inc. | Dynamic threat protection in mobile networks |
TWI566566B (zh) * | 2012-03-27 | 2017-01-11 | 群邁通訊股份有限公司 | 電話薄管理方法 |
CN103425928B (zh) * | 2012-05-17 | 2017-11-24 | 富泰华工业(深圳)有限公司 | 电子装置的杀毒***及方法 |
US9225739B2 (en) * | 2013-06-26 | 2015-12-29 | Microsoft Technology Licensing, Llc | Providing user-specific malware assessment based on social interactions |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5951698A (en) * | 1996-10-02 | 1999-09-14 | Trend Micro, Incorporated | System, apparatus and method for the detection and removal of viruses in macros |
US6269254B1 (en) * | 1998-09-28 | 2001-07-31 | Motorola, Inc. | Radio communications device and method with API between user application program and telephony program and method |
JP3256187B2 (ja) * | 1998-11-11 | 2002-02-12 | コナミ株式会社 | ゲーム機 |
US6769120B1 (en) * | 1999-06-30 | 2004-07-27 | International Business Machines Corporation | Calendar-induced program execution |
US6351776B1 (en) * | 1999-11-04 | 2002-02-26 | Xdrive, Inc. | Shared internet storage resource, user interface system, and method |
EP1118949A1 (en) * | 2000-01-21 | 2001-07-25 | Hewlett-Packard Company, A Delaware Corporation | Process and apparatus for allowing transaction between a user and a remote server |
US6842861B1 (en) * | 2000-03-24 | 2005-01-11 | Networks Associates Technology, Inc. | Method and system for detecting viruses on handheld computers |
GB2366692B (en) * | 2000-08-31 | 2002-08-14 | F Secure Oyj | Virus protection in an internet environment |
US6650890B1 (en) * | 2000-09-29 | 2003-11-18 | Postini, Inc. | Value-added electronic messaging services and transparent implementation thereof using intermediate server |
US20020072347A1 (en) * | 2000-12-07 | 2002-06-13 | Dunko Greg A. | System and method of receiving specific information at a mobile terminal |
JP2002202939A (ja) * | 2000-12-28 | 2002-07-19 | Casio Comput Co Ltd | 電子メール受信制御装置、電子メール受信制御方法及び電子メール受信制御プログラムを記録した記録媒体 |
US6907423B2 (en) * | 2001-01-04 | 2005-06-14 | Sun Microsystems, Inc. | Search engine interface and method of controlling client searches |
JP2002351686A (ja) * | 2001-05-23 | 2002-12-06 | Sony Corp | データ処理方法及びデータ処理方法のプログラム |
US7123933B2 (en) * | 2001-05-31 | 2006-10-17 | Orative Corporation | System and method for remote application management of a wireless device |
US20040010703A1 (en) * | 2001-08-01 | 2004-01-15 | Networks Associates Technology, Inc. | Persistent storage access system and method for a wireless malware scan engine |
US6792543B2 (en) * | 2001-08-01 | 2004-09-14 | Networks Associates Technology, Inc. | Virus scanning on thin client devices using programmable assembly language |
GB2378783B (en) * | 2001-08-17 | 2004-12-29 | F Secure Oyj | Preventing virus infection in a computer system |
US7210168B2 (en) * | 2001-10-15 | 2007-04-24 | Mcafee, Inc. | Updating malware definition data for mobile data processing devices |
US7216367B2 (en) * | 2003-02-21 | 2007-05-08 | Symantec Corporation | Safe memory scanning |
-
2003
- 2003-08-11 US US10/639,009 patent/US6987963B2/en not_active Expired - Lifetime
-
2004
- 2004-04-05 CA CA2517534A patent/CA2517534C/en not_active Expired - Lifetime
- 2004-04-05 CN CN2004800169847A patent/CN101248427B/zh not_active Expired - Fee Related
- 2004-04-05 JP JP2006509741A patent/JP4597974B2/ja not_active Expired - Fee Related
- 2004-04-05 EP EP16166120.2A patent/EP3062234B1/en not_active Expired - Lifetime
- 2004-04-05 EP EP04759801.6A patent/EP1639493B1/en not_active Expired - Lifetime
- 2004-04-05 KR KR1020057019711A patent/KR101120447B1/ko active IP Right Grant
- 2004-04-05 WO PCT/US2004/010570 patent/WO2004095847A2/en active Application Filing
-
2005
- 2005-11-16 NO NO20055429A patent/NO20055429L/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR20060009257A (ko) | 2006-01-31 |
WO2004095847A3 (en) | 2005-05-19 |
KR101120447B1 (ko) | 2012-02-29 |
CA2517534A1 (en) | 2004-11-04 |
NO20055429D0 (no) | 2005-11-16 |
NO20055429L (no) | 2006-01-10 |
EP1639493B1 (en) | 2016-06-01 |
CA2517534C (en) | 2012-06-05 |
JP2007524902A (ja) | 2007-08-30 |
WO2004095847A2 (en) | 2004-11-04 |
EP1639493A2 (en) | 2006-03-29 |
EP3062234B1 (en) | 2017-05-17 |
US6987963B2 (en) | 2006-01-17 |
US20040210645A1 (en) | 2004-10-21 |
EP1639493A4 (en) | 2009-09-09 |
CN101248427A (zh) | 2008-08-20 |
CN101248427B (zh) | 2012-08-29 |
EP3062234A1 (en) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4597974B2 (ja) | 移動通信装置を使用してコンテンツ/コンテクストの高感度スキャニングを行うシステム、方法及びコンピュータプログラム製品 | |
JP4597973B2 (ja) | 移動通信フレームワークにおいてコンテンツ/セキュリティ分析機能にアクセスするためのapiシステム、方法、及びコンピュータプログラム製品 | |
JP4448849B2 (ja) | 移動通信フレームワークにおいてスキャニングサブシステムを更新するための更新システム及び方法 | |
JP4597975B2 (ja) | 移動通信フレームワークに使用するためのプラットホーム独立のスキャニングサブシステム | |
CN1981263A (zh) | 在移动通信框架内用于更新扫描子***的更新***与方法 | |
JP4680485B2 (ja) | 端末装置、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100907 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100922 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |