JP4597973B2 - 移動通信フレームワークにおいてコンテンツ/セキュリティ分析機能にアクセスするためのapiシステム、方法、及びコンピュータプログラム製品 - Google Patents
移動通信フレームワークにおいてコンテンツ/セキュリティ分析機能にアクセスするためのapiシステム、方法、及びコンピュータプログラム製品 Download PDFInfo
- Publication number
- JP4597973B2 JP4597973B2 JP2006509718A JP2006509718A JP4597973B2 JP 4597973 B2 JP4597973 B2 JP 4597973B2 JP 2006509718 A JP2006509718 A JP 2006509718A JP 2006509718 A JP2006509718 A JP 2006509718A JP 4597973 B2 JP4597973 B2 JP 4597973B2
- Authority
- JP
- Japan
- Prior art keywords
- application program
- program
- data
- scanning
- 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 - Lifetime
Links
- 230000006870 function Effects 0.000 title claims description 126
- 238000010295 mobile communication Methods 0.000 title claims description 75
- 238000000034 method Methods 0.000 title claims description 22
- 238000004590 computer program Methods 0.000 title claims description 5
- 241000700605 Viruses Species 0.000 claims description 19
- 230000009471 action Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000001413 cellular effect Effects 0.000 claims description 4
- 239000011800 void material Substances 0.000 description 27
- 238000010586 diagram Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 10
- 230000008569 process 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
- 238000007726 management method Methods 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (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
charconst* 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ビットの非符号化値を使用して内的に表される。
プロトタイプ
AlErrorCode AlGetLastError(void);
パラメータ
なし
リターン値
AlSetLastError()ファンクションを使用してセットされたコーリングスレッド/タスクの最新のエラー値。
説明
コーリングスレッド/タスクに対する最新のエラーコードをセットする。
プロトタイプ
voidAlSetLastError(AlErrorCode errorCode);
パラメータ
errorCode
[入力] 32ビットのエラーコード値。
リターン値
なし
抽象レイヤーは、必要なメモリを動的に割り当てるために、コールしたアプリケーションプログラム(即ち「呼出元」)に対するヒープメモリ割り当てを提供する。割り当てられたメモリは、グローバルに共有可能で、多数のアプリケーション/タスクによりアクセスできるものと仮定されている。AlMemAlloc()及びAlMemFree()APIファンクションは、ヒープメモリの割り当て及び割り当て解除を提供する。
説明
指定量の動的メモリを割り当て、そのメモリに対するポインタを返す。割り当てられたメモリブロックは、特殊なオペレーション(即ちメモリのロック)を必要とせず、呼出元(即ちコールしたアプリケーションプログラム)による直接のアクセスが可能である。
プロトタイプ
void*AlMemAlloc(unsigned int 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 int AlFileWrite(AL_FILE_HANDLEhFile,
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
{
char szSignerName[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()も参照のこと。
説明
データ認証を行う。
プロトタイプ
intAlDaVerify(AL_DA_HANDLE hDa,
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だけ増加する。
プロトタイプ
int AlSemRelease(AL_SEM_HANDLEhSem);
パラメータ
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,
unsigned int uSize);
unsigned int (* pRead) (void* pPrivate.
Void* pData,
unsignedint 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 (12)
- プロセッサと、
メモリと、
前記メモリにインストールされたオペレーティングシステムと、
前記メモリにインストールされたアプリケーションプログラムであって、前記プロセッサに、前記アプリケーションプログラムに従ったタスクを実行させる、該アプリケーションプログラムと、
前記メモリに格納されたスキャニングプログラムであって、前記プロセッサに、前記タスクで使用されるアプリケーションデータをスキャニングさせ、該スキャニングは、前記アプリケーションデータが前記メモリに記憶されたウイルスシグネチャデータベースに含まれるウイルスシグネチャを含むか否かをチェックすることを含む、該スキャニングプログラムと、
を備え、
前記アプリケーションプログラムは、メールアプリケーションプログラム、ブラウザアプリケーションプログラム、電話帳アプリケーションプログラム、メッセージアプリケーションプログラム、及び、Java(登録商標)アプリケーションプログラムの何れかを含み、前記タスクは、電子メールの管理、ネットワークのブラウジング、複数の電話番号の管理、及び、メッセージの伝送の何れかを含み、
前記アプリケーションプログラムが、前記スキャニングプログラムのアプリケーションプログラムインターフェイスを介して、前記アプリケーションデータの情報を該アプリケーションプログラムから前記スキャニングブプログラムへ伝送しつつ、前記スキャニングプログラムを呼び出し、
前記情報は、不当なコードが検出された場合の前記スキャニングプログラムのアクションを規定するアクション形式、前記アプリケーションデータのデータ形式、前記アプリケーションデータへのデータポインタ、前記アプリケーションプログラムから前記アプリケーションデータのバイトでのデータサイズを取得するための第1の関数、前記アプリケーションプログラムに前記アプリケーションデータのリサイズを要求するための第2の関数、及び、前記スキャニングプログラムによって使用される第3の関数であって前記アプリケーションプログラムから指定量の前記アプリケーションデータを取得するための該第3の関数、を含む、
移動通信装置。 - 前記移動通信装置はセルラー電話を含む、請求項1に記載の移動通信装置。
- 前記スキャニングプログラムは再入可能ライブラリーを含む、請求項1に記載の移動通信装置。
- 前記スキャニングプログラムは、実行時に前記アプリケーションプログラムにリンクされる、請求項3に記載の移動通信装置。
- 前記アプリケーションプログラムインターフェイスは、前記スキャニングプログラム及び前記シグネチャデータベースのバージョン状態情報を検索することが可能である、請求項1に記載の移動通信装置。
- 前記アプリケーションプログラムインターフェイスは、前記スキャニングプログラム及び前記シグネチャデータベースを更新することが可能である、請求項1に記載の移動通信装置。
- 前記アプリケーションプログラムインターフェイスは、オープンコールを含む、請求項1に記載の移動通信装置。
- 前記アプリケーションプログラムインターフェイスは、データコールを含む、請求項1に記載の移動通信装置。
- 前記アプリケーションプログラムインターフェイスは、クローズコールを含む、請求項1に記載の移動通信装置。
- 前記アプリケーションプログラムインターフェイスは、複数のアプリケーションプログラムのそれぞれに設けられる、請求項1に記載の移動通信装置。
- 該移動通信装置のメモリにインストールされたアプリケーションプログラムを実行する移動通信装置のプロセッサが、該アプリケーションプログラムに従ったタスクを実行するステップと、
前記メモリにインストールされたスキャニングプログラムを実行する前記プロセッサが、前記タスクで使用されるアプリケーションデータをスキャニングするステップであって、該スキャニングは、前記アプリケーションデータが前記メモリに記憶されたウイルスシグネチャデータベースに含まれるウイルスシグネチャを含むか否かをチェックすることを含む、該ステップと、
を備え、
前記アプリケーションプログラムは、メールアプリケーションプログラム、ブラウザアプリケーションプログラム、電話帳アプリケーションプログラム、メッセージアプリケーションプログラム、及び、Java(登録商標)アプリケーションプログラムの何れかを含み、前記タスクは、電子メールの管理、ネットワークのブラウジング、複数の電話番号の管理、及び、メッセージの伝送の何れかを含み、
前記アプリケーションプログラムが、前記スキャニングプログラムのアプリケーションプログラムインターフェイスを介して、前記アプリケーションデータの情報を該アプリケーションプログラムから前記スキャニングブプログラムへ伝送しつつ、前記スキャニングプログラムを呼び出し、
前記情報は、不当なコードが検出された場合の前記スキャニングプログラムのアクションを規定するアクション形式、前記アプリケーションデータのデータ形式、前記アプリケーションデータへのデータポインタ、前記アプリケーションプログラムから前記アプリケーションデータのバイトでのデータサイズを取得するための第1の関数、前記アプリケーションプログラムに前記アプリケーションデータのリサイズを要求するための第2の関数、及び、前記スキャニングプログラムによって使用される第3の関数であって前記アプリケーションプログラムから指定量の前記アプリケーションデータを取得するための該第3の関数、を含む、
方法。 - 移動通信装置で使用されるコンピュータプログラムであって、
前記移動通信装置のメモリにインストールされたオペレーティングシステムと、
前記メモリにインストールされたアプリケーションプログラムであって、前記プロセッサに、前記アプリケーションプログラムに従ったタスクを実行させる、アプリケーションプログラムと、
前記メモリに格納されたスキャニングプログラムであって、前記プロセッサに、前記タスクで使用されるアプリケーションデータをスキャニングさせ、該スキャニングは、前記アプリケーションデータが前記メモリに記憶されたウイルスシグネチャデータベースに含まれるウイルスシグネチャを含むか否かをチェックすることを含む、該スキャニングプログラムと、
を備え、
前記アプリケーションプログラムは、メールアプリケーションプログラム、ブラウザアプリケーションプログラム、電話帳アプリケーションプログラム、メッセージアプリケーションプログラム、及び、Java(登録商標)アプリケーションプログラムの何れかを含み、前記タスクは、電子メールの管理、ネットワークのブラウジング、複数の電話番号の管理、及び、メッセージの伝送の何れかを含み、
前記コンピュータプログラムは、
前記アプリケーションプログラムに従ったタスクを実行するステップと、
前記スキャニングプログラムのアプリケーションプログラムインターフェイスを介して、前記アプリケーションデータの情報を前記アプリケーションプログラムから前記スキャニングブプログラムへ伝送しつつ、前記アプリケーションプログラムから前記スキャニングプログラムを呼び出すステップと、
を前記移動通信装置に実行させ、
前記情報は、不当なコードが検出された場合の前記スキャニングプログラムのアクションを規定するアクション形式、前記アプリケーションデータのデータ形式、前記アプリケーションデータへのデータポインタ、前記アプリケーションプログラムから前記アプリケーションデータのバイトでのデータサイズを取得するための第1の関数、前記アプリケーションプログラムに前記アプリケーションデータのリサイズを要求するための第2の関数、及び、前記スキャニングプログラムによって使用される第3の関数であって前記アプリケーションプログラムから指定量の前記アプリケーションデータを取得するための該第3の関数、を含む、
コンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US46388603P | 2003-04-17 | 2003-04-17 | |
US10/639,088 US7392043B2 (en) | 2003-04-17 | 2003-08-11 | API system, method and computer program product for accessing content/security analysis functionality in a mobile communication framework |
PCT/US2004/010482 WO2004095166A2 (en) | 2003-04-17 | 2004-04-05 | Api system, method and computer program product for accessing content/security analysis functionality in a mobile communication framework |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006526222A JP2006526222A (ja) | 2006-11-16 |
JP4597973B2 true JP4597973B2 (ja) | 2010-12-15 |
Family
ID=33162398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006509718A Expired - Lifetime JP4597973B2 (ja) | 2003-04-17 | 2004-04-05 | 移動通信フレームワークにおいてコンテンツ/セキュリティ分析機能にアクセスするためのapiシステム、方法、及びコンピュータプログラム製品 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7392043B2 (ja) |
EP (1) | EP1623297B1 (ja) |
JP (1) | JP4597973B2 (ja) |
KR (1) | KR101046549B1 (ja) |
CA (1) | CA2517485C (ja) |
NO (1) | NO20055428L (ja) |
WO (1) | WO2004095166A2 (ja) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6970697B2 (en) * | 2003-04-17 | 2005-11-29 | Ntt Docomo, Inc. | Platform-independent scanning subsystem API for use in a mobile communication framework |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
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 |
US20070113272A2 (en) | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US8839417B1 (en) | 2003-11-17 | 2014-09-16 | Mcafee, Inc. | Device, system and method for defending a computer network |
US7400878B2 (en) | 2004-02-26 | 2008-07-15 | Research In Motion Limited | Computing device with environment aware features |
BRPI0510378B1 (pt) * | 2004-04-30 | 2018-12-11 | Blackberry Ltd | Método de manusear transferências de dados em um dispositivo móvel , mídia lida porcomputador e aparelho de transferência de dados |
US7614082B2 (en) | 2005-06-29 | 2009-11-03 | Research In Motion Limited | System and method for privilege management and revocation |
US7634262B1 (en) * | 2006-03-07 | 2009-12-15 | Trend Micro, Inc. | Virus pattern update for mobile device |
US7814544B1 (en) * | 2006-06-22 | 2010-10-12 | Symantec Corporation | API-profile guided unpacking |
US7953984B1 (en) * | 2006-06-29 | 2011-05-31 | Trend Micro Incorporated | Enhanced malware detection utilizing transparently integrated searching |
US20080170525A1 (en) * | 2007-01-12 | 2008-07-17 | Microsoft Corporation | Adaptive optimizations for connecting to a wireless network |
KR101437837B1 (ko) | 2007-08-20 | 2014-09-15 | 에스케이플래닛 주식회사 | 이동통신 시스템에서 동적 플랫폼과 연동된 콘텐츠의다운로드 방법 및 장치 |
US8533844B2 (en) | 2008-10-21 | 2013-09-10 | Lookout, Inc. | System and method for security data collection and analysis |
US8347386B2 (en) | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US8984628B2 (en) * | 2008-10-21 | 2015-03-17 | Lookout, Inc. | System and method for adverse mobile application identification |
US9367680B2 (en) | 2008-10-21 | 2016-06-14 | Lookout, Inc. | System and method for mobile communication device application advisement |
US9781148B2 (en) | 2008-10-21 | 2017-10-03 | Lookout, Inc. | Methods and systems for sharing risk responses between collections of mobile communications devices |
US8108933B2 (en) | 2008-10-21 | 2012-01-31 | Lookout, Inc. | System and method for attack and malware prevention |
US8051480B2 (en) | 2008-10-21 | 2011-11-01 | Lookout, Inc. | System and method for monitoring and analyzing multiple interfaces and multiple protocols |
US9235704B2 (en) | 2008-10-21 | 2016-01-12 | Lookout, Inc. | System and method for a scanning API |
US8099472B2 (en) | 2008-10-21 | 2012-01-17 | Lookout, Inc. | System and method for a mobile cross-platform software system |
US8060936B2 (en) | 2008-10-21 | 2011-11-15 | Lookout, Inc. | Security status and information display system |
US8087067B2 (en) | 2008-10-21 | 2011-12-27 | Lookout, Inc. | Secure mobile platform system |
US9043919B2 (en) | 2008-10-21 | 2015-05-26 | Lookout, Inc. | Crawling multiple markets and correlating |
US8402544B1 (en) * | 2008-12-22 | 2013-03-19 | Trend Micro Incorporated | Incremental scanning of computer files for malicious codes |
US20100179980A1 (en) * | 2009-01-14 | 2010-07-15 | Movidilo S.L. | Cache system for mobile communications devices |
US9042876B2 (en) | 2009-02-17 | 2015-05-26 | Lookout, Inc. | System and method for uploading location information based on device movement |
US9955352B2 (en) | 2009-02-17 | 2018-04-24 | Lookout, Inc. | Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such |
US8467768B2 (en) | 2009-02-17 | 2013-06-18 | Lookout, Inc. | System and method for remotely securing or recovering a mobile device |
US8538815B2 (en) | 2009-02-17 | 2013-09-17 | Lookout, Inc. | System and method for mobile device replacement |
US8855601B2 (en) | 2009-02-17 | 2014-10-07 | Lookout, Inc. | System and method for remotely-initiated audio communication |
US8397301B2 (en) | 2009-11-18 | 2013-03-12 | Lookout, Inc. | System and method for identifying and assessing vulnerabilities on a mobile communication device |
US9047451B2 (en) | 2010-09-24 | 2015-06-02 | Blackberry Limited | Method and apparatus for differentiated access control |
CA2811659C (en) | 2010-09-24 | 2018-02-13 | Research In Motion Limited | Method and apparatus for differentiated access control |
US8738765B2 (en) | 2011-06-14 | 2014-05-27 | Lookout, Inc. | Mobile device DNS optimization |
US8788881B2 (en) | 2011-08-17 | 2014-07-22 | Lookout, Inc. | System and method for mobile device push communications |
US20130067578A1 (en) * | 2011-09-08 | 2013-03-14 | Mcafee, Inc. | Malware Risk Scanner |
US9161226B2 (en) | 2011-10-17 | 2015-10-13 | Blackberry Limited | Associating services to perimeters |
US9497220B2 (en) | 2011-10-17 | 2016-11-15 | Blackberry Limited | Dynamically generating perimeters |
US9613219B2 (en) | 2011-11-10 | 2017-04-04 | Blackberry Limited | Managing cross perimeter access |
US8799227B2 (en) | 2011-11-11 | 2014-08-05 | Blackberry Limited | Presenting metadata from multiple perimeters |
KR101143999B1 (ko) * | 2011-11-22 | 2012-05-09 | 주식회사 안철수연구소 | Api 기반 어플리케이션 분석 장치 및 방법 |
US9262604B2 (en) | 2012-02-01 | 2016-02-16 | Blackberry Limited | Method and system for locking an electronic device |
US9698975B2 (en) | 2012-02-15 | 2017-07-04 | Blackberry Limited | Key management on device for perimeters |
EP2629570B1 (en) | 2012-02-16 | 2015-11-25 | BlackBerry Limited | Method and apparatus for automatic vpn login and interface selection |
CA2805960C (en) | 2012-02-16 | 2016-07-26 | Research In Motion Limited | Method and apparatus for management of multiple grouped resources on device |
US9306948B2 (en) | 2012-02-16 | 2016-04-05 | Blackberry Limited | Method and apparatus for separation of connection data by perimeter type |
TWI566566B (zh) * | 2012-03-27 | 2017-01-11 | 群邁通訊股份有限公司 | 電話薄管理方法 |
US9407443B2 (en) | 2012-06-05 | 2016-08-02 | Lookout, Inc. | Component analysis of software applications on computing devices |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
US9369466B2 (en) | 2012-06-21 | 2016-06-14 | Blackberry Limited | Managing use of network resources |
US8972762B2 (en) | 2012-07-11 | 2015-03-03 | Blackberry Limited | Computing devices and methods for resetting inactivity timers on computing devices |
US9075955B2 (en) | 2012-10-24 | 2015-07-07 | Blackberry Limited | Managing permission settings applied to applications |
US8656016B1 (en) | 2012-10-24 | 2014-02-18 | Blackberry Limited | Managing application execution and data access on a device |
US8655307B1 (en) | 2012-10-26 | 2014-02-18 | Lookout, Inc. | System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security |
US9208215B2 (en) | 2012-12-27 | 2015-12-08 | Lookout, Inc. | User classification based on data gathered from a computing device |
US9374369B2 (en) | 2012-12-28 | 2016-06-21 | Lookout, Inc. | Multi-factor authentication and comprehensive login system for client-server networks |
US8855599B2 (en) | 2012-12-31 | 2014-10-07 | Lookout, Inc. | Method and apparatus for auxiliary communications with mobile communications device |
US9424409B2 (en) | 2013-01-10 | 2016-08-23 | Lookout, Inc. | Method and system for protecting privacy and enhancing security on an electronic device |
US9852416B2 (en) | 2013-03-14 | 2017-12-26 | Lookout, Inc. | System and method for authorizing a payment transaction |
US10699273B2 (en) | 2013-03-14 | 2020-06-30 | Lookout, Inc. | System and method for authorizing payment transaction based on device locations |
US9307412B2 (en) | 2013-04-24 | 2016-04-05 | Lookout, Inc. | Method and system for evaluating security for an interactive service operation by a mobile device |
US9642008B2 (en) | 2013-10-25 | 2017-05-02 | Lookout, Inc. | System and method for creating and assigning a policy for a mobile communications device based on personal data |
CN103619014B (zh) * | 2013-11-13 | 2017-06-30 | 广东欧珀移动通信有限公司 | 防止应用数据泄露的方法和系统 |
US10122747B2 (en) | 2013-12-06 | 2018-11-06 | Lookout, Inc. | Response generation after distributed monitoring and evaluation of multiple devices |
US9753796B2 (en) | 2013-12-06 | 2017-09-05 | Lookout, Inc. | Distributed monitoring, evaluation, and response for multiple devices |
CN103619015A (zh) * | 2013-12-06 | 2014-03-05 | 孙江宁 | 一种利用移动终端进行信息验证的方法、装置和系统 |
EP3289510B1 (en) | 2015-05-01 | 2020-06-17 | Lookout Inc. | Determining source of side-loaded software |
US10440053B2 (en) | 2016-05-31 | 2019-10-08 | Lookout, Inc. | Methods and systems for detecting and preventing network connection compromise |
US10218697B2 (en) | 2017-06-09 | 2019-02-26 | Lookout, Inc. | Use of device risk evaluation to manage access to services |
US11232205B2 (en) * | 2019-04-23 | 2022-01-25 | Microsoft Technology Licensing, Llc | File storage service initiation of antivirus software locally installed on a user device |
US11232206B2 (en) | 2019-04-23 | 2022-01-25 | Microsoft Technology Licensing, Llc | Automated malware remediation and file restoration management |
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 |
JPH11167533A (ja) * | 1997-12-03 | 1999-06-22 | Toshiba Information Systems Corp | 電子メールファイアウォール装置 |
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 | コナミ株式会社 | ゲーム機 |
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 |
GB2366692B (en) * | 2000-08-31 | 2002-08-14 | F Secure Oyj | Virus protection in an internet environment |
US6934857B1 (en) * | 2000-11-27 | 2005-08-23 | Networks Associates Technology, Inc. | Security system and method for handheld computers |
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 |
US7171690B2 (en) * | 2001-08-01 | 2007-01-30 | Mcafee, Inc. | Wireless malware scanning back-end system and method |
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 |
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 |
US6970697B2 (en) * | 2003-04-17 | 2005-11-29 | Ntt Docomo, Inc. | Platform-independent scanning subsystem API for use in a mobile communication framework |
US6987963B2 (en) * | 2003-04-17 | 2006-01-17 | Ntt Docomo, Inc. | System, method and computer program product for content/context sensitive scanning utilizing a mobile communication device |
-
2003
- 2003-08-11 US US10/639,088 patent/US7392043B2/en not_active Expired - Fee Related
-
2004
- 2004-04-05 EP EP04749775.5A patent/EP1623297B1/en not_active Expired - Lifetime
- 2004-04-05 WO PCT/US2004/010482 patent/WO2004095166A2/en active Application Filing
- 2004-04-05 CA CA2517485A patent/CA2517485C/en not_active Expired - Lifetime
- 2004-04-05 JP JP2006509718A patent/JP4597973B2/ja not_active Expired - Lifetime
- 2004-04-05 KR KR1020057019710A patent/KR101046549B1/ko active IP Right Grant
-
2005
- 2005-11-16 NO NO20055428A patent/NO20055428L/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP1623297B1 (en) | 2020-03-11 |
WO2004095166A3 (en) | 2005-06-02 |
CA2517485A1 (en) | 2004-11-04 |
KR20060016752A (ko) | 2006-02-22 |
EP1623297A2 (en) | 2006-02-08 |
EP1623297A4 (en) | 2009-11-04 |
JP2006526222A (ja) | 2006-11-16 |
KR101046549B1 (ko) | 2011-07-05 |
US20040209608A1 (en) | 2004-10-21 |
CA2517485C (en) | 2013-12-24 |
WO2004095166A2 (en) | 2004-11-04 |
US7392043B2 (en) | 2008-06-24 |
NO20055428L (no) | 2006-01-10 |
NO20055428D0 (no) | 2005-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4597973B2 (ja) | 移動通信フレームワークにおいてコンテンツ/セキュリティ分析機能にアクセスするためのapiシステム、方法、及びコンピュータプログラム製品 | |
JP4597974B2 (ja) | 移動通信装置を使用してコンテンツ/コンテクストの高感度スキャニングを行うシステム、方法及びコンピュータプログラム製品 | |
JP4448849B2 (ja) | 移動通信フレームワークにおいてスキャニングサブシステムを更新するための更新システム及び方法 | |
JP4597975B2 (ja) | 移動通信フレームワークに使用するためのプラットホーム独立のスキャニングサブシステム | |
JP3950010B2 (ja) | データ処理装置、プログラムおよび記録媒体 | |
CN1981263A (zh) | 在移动通信框架内用于更新扫描子系统的更新系统与方法 | |
JP4680485B2 (ja) | 端末装置、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070126 |
|
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: 20100715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100812 |
|
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 |
Ref document number: 4597973 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |