JP6949951B2 - コンピュータアプリケーション内のメモリ破損を修復するためのシステム及び方法 - Google Patents
コンピュータアプリケーション内のメモリ破損を修復するためのシステム及び方法 Download PDFInfo
- Publication number
- JP6949951B2 JP6949951B2 JP2019518173A JP2019518173A JP6949951B2 JP 6949951 B2 JP6949951 B2 JP 6949951B2 JP 2019518173 A JP2019518173 A JP 2019518173A JP 2019518173 A JP2019518173 A JP 2019518173A JP 6949951 B2 JP6949951 B2 JP 6949951B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- code
- computer application
- application
- routine
- 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.)
- Active
Links
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Description
本願は2016年6月16日に出願された米国仮特許出願第62/350,917号の利益を主張する。上記の出願の全教示を参照により全て本明細書に援用する。
ネットワークにアクセス可能なアプリケーションは、悪意ある攻撃者によって遠隔的に引き起こされるメモリ破損攻撃に対して脆弱であることが多い。リモートユーザのコンピュータネットワークへの新たなアクセスを多くの場合高い特権と共に得ることができるので、悪意ある攻撃者はそのような脆弱性を懸命に利用しようとしている。制御を奪うと、攻撃者はあたかもリモートユーザが危険にさらされたマシンを所有するかのように攻撃者の選択の任意のコードを実行することができる。通常、悪意ある攻撃者の目的は利用者から個人情報及び/又は機密情報を抽出することだが、目的は生産性の喪失を負わせるために利用者の個人活動又は事業活動を混乱させることも含み得る。
本開示の実施形態は、1つ又は複数の実行中プロセス内のメモリ破損によって促進される悪意ある攻撃を防ぐためのシステム及び方法の例を対象とする。一部の実施形態では、システムが悪意ある攻撃を防ぐ操作を実行するための1つ又は複数のインストルメンテーションエンジンと1つ又は複数の分析エンジンとを含む。1つ又は複数のインストルメンテーションエンジンは、1つ又は複数の分析エンジンと同じ又は異なるハードウェア又はコンピュータシステム上に位置し得る。一部の実施形態では、このシステム及び方法は、アプリケーションコードがメモリ内に最初にロードするときコンピュータアプリケーションのモデルを抽出することができる。モデルは、これだけに限定されないが、正当な出所メモリアドレス及び宛先メモリアドレスの対の構築、遷移、基本ブロック境界情報、コードセグメント境界、インポート及びエクスポートアドレステーブル境界、ジャンプテーブル境界、又は当業者に知られている他の任意の種類のコンピュータルーチン関連情報を含み得る。一部の実施形態では、システム及び方法がコンピュータアプリケーションのモデルを記憶し得る。
添付図面に示す本発明の実施形態例についての以下のより具体的な説明から上記の内容が明らかになり、図中、同様の参照文字は異なる図面を通して同じパーツを指す。図面は必ずしも縮尺通りではなく、本発明の実施形態を示すことを重視している。
本発明の実施形態例の説明を以下に示す。図1に示すような企業用のデータセンタのアプリケーション基盤では、ウェブサーバが利用者から(又はウェブサービス経由で他のマシンから)入力ウェブ要求(例えばHTTP要求)を受信する。但し、図1に示す実施形態はウェブアプリケーション基盤又はデータセンタに限定されず、これだけに限定されないが個人向け、企業向け、クラウドベース、及び工業用の制御アプリケーションを含み得る。ウェブ要求に応答してウェブサーバがウェブサービスを認証し、認証に成功した場合は更なるウェブ要求に応答してリモートユーザが企業システムからの情報に(ウェブサーバ、ポータル、及びアプリケーションサーバを介して)アクセスするためのセッションを確立する。ウェブサービスは、企業システムのコンピュータ上で実行されるアカウントサービス、貿易金融、財務会計、文書管理、制限なしに他の任意のアプリケーション等の様々なアプリケーションからの情報にアクセスすることができる。
NVD(National Vulnerability Database)は2011年に約4100件のアプリケーションの脆弱性を、2012年には約5300件のアプリケーションの脆弱性を数え上げた(これらの脆弱性は23個の攻撃のカテゴリに分けられる)。それらの攻撃のカテゴリの幾つかは不注意又は間違い設定に起因するが、最多数の攻撃のカテゴリは悪意ある行為者が組織の実行中のプロセス内に悪意あるコンテンツを故意に注入し、後でそれを実行させることを含む。そのような悪意あるコンテンツを注入するプロセスは、不十分な入力検証を行う一部の上手く設計されていないコードを識別し、かかるコードを利用することを含む。例えばコードがユーザ入力サイズに関係する検証を欠く場合、そのコードはバッファ誤り(Buffer Error)の攻撃カテゴリに含まれるバッファ誤り型の攻撃を可能にし得る。それらの攻撃では、悪意ある行為者が侵入し、値のコンテンツを突き止め、そのコンテンツを抜きだすために悪意あるコンテンツを注入する。悪意ある行為者は利益を得るためにかかるコンテンツを毀損する場合もある。コンテンツはクレジットカードのデータ、知的財産、社会保障番号等の機密情報を含む場合がある。悪意ある行為者は最高入札者にその情報を売ることによってその機密情報を使用して利益を得ることができる。
図2は、図1のウェブアプリケーション基盤内の対話の一例を示す。(図2に示す)ウェブアプリケーション基盤では、保護されたウェブサーバが(ウェブサービスクライアント経由で)利用者からウェブ要求(例えばHTTP要求)を受信する。ウェブ要求内に含まれる情報(例えばURL)を使用し、ウェブサーバはウェブサービスの利用者を認証し、認証に成功した場合はウェブサービスの利用者がウェブアプリケーション基盤内のデータにアクセスするための接続(又はセッション)を確立する。
図3Bは、本開示の実施形態における、メモリ破損によって促進される悪意ある攻撃を防ぐための方法(及びシステム)300の一例の流れ図を示す。一部の実施形態では、システム及び方法がロード時間中にコンピュータアプリケーションのモデルを抽出することができる(382)。モデルは、これだけに限定されないが発信元情報(例えば発信元メモリアドレス)、宛先情報(例えば宛先メモリアドレス)、遷移、分岐境界情報、基本ブロック境界情報、コードセグメント境界、インポート及びエクスポートテーブル境界、ジャンプテーブル境界、又は当業者に知られている他の任意の種類のコンピュータルーチン関連情報を含み得る。システム及び方法はコンピュータアプリケーションのモデルを記憶することができる(384)。システム及び方法は、実行時にデータを収集するためにコンピュータアプリケーション内に命令を挿入することができる(386)。システム及び方法は、コンピュータアプリケーションの記憶済みのモデルに対して実行時に収集したデータを分析して1つ又は複数のセキュリティイベントの検出を行うことができる(388)。システム及び方法は1つ又は複数のセキュリティイベントの検出に基づいて、コンピュータアプリケーションに関連する少なくとも1つのアクティブプロセスに関連する少なくとも1つのコンピュータルーチンを修正する(即ちパッチを挿入する)ことができる(389)。
悪意ある敵がアプリケーションの制御を奪う一例を図4Aに示す。関数Foo()のコード(命令のブロック)405は、攻撃者によって利用される可能性がある脆弱性を含み得る。図4Aに示すように、敵は脆弱な関数Foo()のスタックメモリ415を溢れさせることができる。図示のように、Foo()のスタックメモリ415はローカル変数、保存済みベースポインタ、保存済みリターンポインタ418、及びパラメータを含む。Foo()のスタックメモリ415の保存済みリターンポインタのメモリ位置が攻撃者によって突き止められオーバランされる場合、Foo()が終了する(スタックから戻る)とき、次の命令のアドレスが攻撃者によって保存済みリターンポインタ418から取得される場合があり、アプリケーションが攻撃の的になる可能性がある。アプリケーションコードから自らの悪意あるコード(敵のトランポリンコード410)内へのトランポリン(ジャンプ)等、攻撃者はかかる技法を使用して別のコードパスへの悪意ある移動を行うことができる。
move rax, rsp
ret
等、Foo()のコード405内の命令を標的とするROP(リターン指向プログラミング)ガジェットを探すことによってレジスタEAX(累算器レジスタ)を標的とすることができる。
bvpProbeは、スタックベース及び/又はヒープベース攻撃トランポリンを防ぐことができる。図4Bは、一部の実施形態によるbvpProbeに関連するスタック破損検出機能の第1の段階のブロック図である。図4Cは、一部の実施形態によるbvpProbeに関連するヒープ破損検出機能の第1の段階のブロック図である。
bvpProbeは脆弱性に関する深い見識を収集し、非常に実用的な情報を開発チームに提供することができる。開発チームが脆弱な関数の非脆弱バージョンを開発し試験すると、その関数のための新たなコードをライブラリ内にパッケージ化し、個々のパッチ(「ライト」パッチ)としてリリースすることができる。「ライト」パッチの検査可能且つ符号付きバージョン(signed version)がARMASダッシュボードにおいて提供されると、bvpProbeが実行するようにプロビジョンされ得る1つ又は複数の影響を受けたサーバにそのバージョンをプッシュすることができる。「ライト」パッチは影響を受けたサーバのメモリ内に記憶することができ、それにより(ARMASダッシュボード上のファイルから繰返しアクセスしたり開発者サイトからネットワーク上で繰返しアクセスしたりするのではなく)「ライト」パッチをメモリからコンピュータアプリケーション内に必要に応じて注入することができる。
その後の或る時点において、複数の脆弱性に対する修正で構成されるフルパッチ(即ち1つ又は複数の個々の又は「ライト」パッチを含み得る集約パッチ)を1人又は複数の利用者(ソフトウェア開発チーム等)がリリースし得る。フルパッチは1つ又は複数のライトパッチを含み得る。図5Cに示すように、その時点において1つ又は複数のメモリ内の「ライト」パッチを明確に除去することができる。図5Cは、一部の実施形態による、1つ又は複数の個々のパッチをパージする(又は除去する)ことに関連するサイクルを示す。
図6は、一部の実施形態によるパッチングのタイムライン、並びに(本明細書に記載の)bvpProbe機能の概要のブロック図である。図6のタイムラインに示すように、アプリケーションの導入後、図4Aのメモリベースの攻撃(又は悪意あるトランポリン)によって説明したように関数Foo405のスタック415等の関数のスタック内でメモリベースの攻撃(即ちゼロデイ攻撃)が生じ得る。図6に示すように、一部の実施形態によれば、(段階1の)bvpProbeは、さもなければゼロデイ攻撃を実行している悪意あるトランポリン(敵のトランポリンコード410)を阻止することができる。図6に示すように、一部の実施形態によれば、段階2でbvpProbeは「ライト」パッチ580をロードすることができ、段階3でbvpProbeはリリースされたフルアップグレード582(リブートを必要とし得る)の代わりにロードされた「ライト」パッチ580を戻す(又は除去し若しくはパージする)ことができる。
他の実施形態では、コードの脆弱性のアクセスをメモリ破損前に検出することができる仮想パッチングアプリケーションをARMAS機器が実行する。これらの実施形態では、開発チーム(例えばアプリケーションベンダ)がARMASアプリケーションの使用によって又は動的コード分析若しくは静的コード分析の他の手段(例えばコードアナライザ)によってアプリケーションの脆弱性を突き止めると、アプリケーションのコードの脆弱性がポリシとして構成される。構成される各ポリシは、突き止められたコードの脆弱性とシステムコールバックルーチンとして構成される対応するシステム応答とを含む。突き止めたコードの脆弱性に対するポリシを開発チームが構成するとき、チームは、突き止めたコードの脆弱性に対する推奨されるシステム応答を実行するための対応するシステムコールバックルーチンもプログラムする。推奨されるシステム応答(コールバックルーチンとしてプログラムされる)は、システムログ内に誤りとしてコードの脆弱性のアクセスのログをとること、アクセスされたコードの脆弱性を含むコンピュータアプリケーションスレッド又はプロセスのイメージをダンプすること、コンピュータアプリケーションのスタックの保存済みのコピーを復元すること、ウェブサービス基盤内のメモリから1つ又は複数の修復パッチを動的にロードしてコードの脆弱性を含むコンピュータルーチンを修正すること、メモリ違反によってクラッシュするまでコンピュータアプリケーションを実行し続けること、コンピュータアプリケーションを直ちに終了すること、又はコードの脆弱性に関連する他の任意のシステム応答を制限なしに含む。チームは、推奨される上記のシステム応答の1つを実行するようにプログラムされるコールバックルーチンと共にコンピュータアプリケーションのための既定ポリシを構成することもできる。構成されるポリシは、ARMAS機器にとってアクセス可能なネットワーク位置に記憶されるセキュリティポリシデータベースのテーブル内に記憶される。
catch (Exception e)
{
仮想パッチ=ハンドルされないメモリ違反に関連するコードについてセキュリティポリシデータベースルーチンからプログラム可能なコールバックを取得する;
仮想パッチの実行;
//仮想パッチを実行することは以下の例の1つを含み得る:
//選択肢1:Console.WriteLine(“エラーが発生しました:‘{0}’”, e);
//選択肢2:プロセスのイメージをディスクに保存する(コアダンプ);
//選択肢3:スタックを復元して進む;
//選択肢4:プロセスを続行させクラッシュさせる;
//選択肢5:プロセスを再開することなしにプロセスにパッチを当てる
//.
//.
//.
//選択肢x(制限なし)
}
図7Aは、アプリケーション実行時モニタリング及び分析(ARMAS)基盤の一例の高レベルブロック図を示す。この基盤はスマートフォン、タブレット、ラップトップ、デスクトップからハイエンドサーバに及ぶ計算装置を含む様々なハードウェア上で構成され得る。図示のように、アプリケーションの性能を改善するために、モニタリングエージェント702によって行われるデータ収集を分析エンジン737によって行われる分析から分離することができる。この基盤は、マルウェア攻撃に対するこの基盤の保護をハッカーが覆すのを防ぐための高可用性を提供する。モニタリングエージェント702はアプリケーションと対話してロード時間及び実行時データを収集する。アプリケーション701の基盤は、プロセスメモリ703、サードパーティライブラリ704、カーネルサービス706、及び命令パイプライン707を含む。モニタリングエージェント702の基盤は、インストルメンテーション及び分析エンジン(インストルメンテーションエンジン)705、グラフィカルユーザインタフェース(GUI)711、クライアントデーモン708、構成データベース709、ストリーミング及び圧縮エンジン710、並びに中央処理装置(CPU)736を含む。アプリケーション701のローカルユーザ又はリモートユーザ750は、キーボード、マウス、若しくは同様のI/O装置等の装置によって、又はパイプ、共用メモリ、若しくはソケットによって確立され得る通信チャネルによってネットワーク上でアプリケーションと対話する。それに応答して、アプリケーションプロセス703が命令の適切な組を実行のために命令パイプライン707内に送付する。アプリケーションは自らのライブラリ、又はlibc.so(Linux)やmsvcrtxx.dll(Windows)等のサードパーティライブラリ704を利用することもできる。これらのライブラリからの機能が呼び出されると、これらのライブラリからの適切な命令も実行のために命令パイプライン707内に挿入される。加えてアプリケーションは、メモリやカーネル706からのファイルI/O等のシステム資源を利用することができる。時間順にまとめられたアプリケーション、ライブラリ、及びカーネルからのこれらの命令のシーケンスは所与の利用者によって望まれるアプリケーション機能を届ける。
図7Bは、図7Aのモニタリングエージェント702と分析エンジン737との間でデータを伝送するために使用されるプロトコルデータ単位(PDU)の一例を示す。モニタリングエージェント702及び分析エンジン737が互いに効果的に機能するために、モニタリングエージェント702及び分析エンジン737はこのPDUを使用して互いに通信する。分析エンジン737に伝送するためにアプリケーションの抽出済みモデル及び/又は収集済みの実行時データをパッケージ化するために、このPDUはとりわけモニタリングエージェント702によって使用され得る。PDUは、モニタリングエージェント702と分析エンジン737との間で伝送される情報の種類ごとにフィールドを含む。PDUは、アプリケーション提供データセクション、HW/CVE生成セクション、及びコンテンツ分析エンジン又は生データセクションに分割される。
1.GUI
2.インストルメンテーション及び分析エンジン
3.クライアントメッセージルータ
4.ストリーミングエンジン
5.クライアント側デーモン
6.CLIエンジン
7.クライアント監視
8.クライアント圧縮ブロック
9.クライアントiWarpイーサネットドライバ(100Mb/1Gb/10Gb)
PCIカードごとのエンティティ(開始アドレス=20+n*20)
20.セキュラライザTOEブロック
21.セキュラライザPCIブリッジ
22.解凍ブロック
23.メッセージ検査ブロック
24.パケットハッシングブロック
25.タイムスタンプブロック
26.メッセージタイムアウトタイマブロック
27.統計カウンタブロック
28.セキュラライザ照会ルータエンジン
29.セキュラライザアシスト
セキュラライザホストエンティティ
200.セキュラライザPCIeドライバ
201.ホストルーティングエンジン
202.コンテンツ分析エンジン
203.ログマネージャ
204.デーモン
205.ウェブエンジン
206.監視
207.IPCメッセージングバス
208.構成データベース
209.ログデータベース
SIEMコネクタ
220.SIEMコネクタ1−Virsec Dashboard
221.SIEMコネクタ2−HP ArcSight
222.SIEMコネクタ3−IBM QRadar
223.SIEMコネクタ4−Alien Vault USM
セキュラライザ基盤エンティティ
230.Virsec dashboard
231.SMTPサーバ
232.LDAPサーバ
233.SMSサーバ
234.資格サーバ
235.データベースバックアップサーバ
236.OTPクライアント
237.OTPサーバ
238.チェックサムサーバ
239.チケッティングサーバ
240.Virsec規則サーバ
241.Virsec更新サーバ
オールユーザアプリケーション
255.ユーザアプリケーション−照会を発行するアプリケーションを識別するためにアプリケーションPIDが使用される。
図8は、本開示の実施形態を実装することができるコンピュータネットワーク又は同様のデジタル処理環境を示す。
Claims (38)
- コンピュータによって実装される方法であって、
ロード時間中にコンピュータアプリケーションのモデルを抽出すること、
前記コンピュータアプリケーションの前記モデルを記憶すること、
実行時にデータを収集するために前記コンピュータアプリケーション内に命令を挿入すること、
前記コンピュータアプリケーションの前記記憶済みのモデルに対して実行時に収集した前記データを分析して1つ又は複数のセキュリティイベントの検出を行うこと、
前記1つ又は複数のセキュリティイベントを前記検出することに基づいて、
前記コンピュータアプリケーションに関連する少なくとも1つのアクティブプロセス又はスレッドの実行を一時停止すること、及び
前記コンピュータアプリケーションの継続的実行を保つやり方で前記コンピュータアプリケーションに関連する前記少なくとも1つのアクティブプロセス又はスレッドに関連する少なくとも1つのコンピュータルーチンを修正すること、
を含む、方法。 - 前記少なくとも1つのコンピュータルーチンが前記少なくとも1つのプロセスに関連して実行される、請求項1に記載の方法。
- 前記1つ又は複数の検出されるセキュリティイベントが、前記コンピュータアプリケーション内の別のコードパスへの悪意ある移動に関連する、請求項1に記載の方法。
- 修正することが、前記コンピュータアプリケーションに関連するパッチ又は構成を検査することを含む、請求項1に記載の方法。
- 1つ又は複数の集約パッチが利用者によって受信されることに応答して、
前記コンピュータアプリケーションに関連する前記少なくとも1つのコンピュータルーチンを修正又は除去すること、及び
前記コンピュータアプリケーションに関連する1つ又は複数の個々のパッチを修正又は除去すること
の少なくとも1つを実行すること
を更に含む、請求項1に記載の方法。 - 前記少なくとも1つのコンピュータルーチンに関連する1つ又は複数のスタックを修正すること
を更に含む、請求項1に記載の方法。 - 前記少なくとも1つのコンピュータルーチンに関連する1つ又は複数のヒープを修正すること
を更に含む、請求項1に記載の方法。 - 前記少なくとも1つのアクティブプロセスが前記少なくとも1つのコンピュータルーチンを実行している間、前記少なくとも1つのアクティブプロセスに関連する前記少なくとも1つのコンピュータルーチンを修正すること
を更に含む、請求項1に記載の方法。 - 前記少なくとも1つのコンピュータルーチンを修正した後、前記少なくとも1つのアクティブプロセス又はスレッドの実行を再開すること、
を更に含む、請求項1に記載の方法。 - コンピュータシステムであって、
ロード時間中にコンピュータアプリケーションのモデルを抽出し、
前記コンピュータアプリケーションの前記モデルを記憶し、
実行時にデータを収集するために前記コンピュータアプリケーション内に命令を挿入する
ように構成されるインストルメンテーションエンジンと、
前記コンピュータアプリケーションの前記記憶済みのモデルに対して実行時に収集した前記データを分析して1つ又は複数のセキュリティイベントの検出を行い、
前記1つ又は複数のセキュリティイベントを前記検出することに基づいて、
前記コンピュータアプリケーションに関連する少なくとも1つのアクティブプロセス又はスレッドの実行を一時停止し、
前記コンピュータアプリケーションの継続的実行を保つやり方で前記コンピュータアプリケーションに関連する前記少なくとも1つのアクティブプロセス又はスレッドに関連する少なくとも1つのコンピュータルーチンを修正する
ように構成される分析エンジンと
を含む、コンピュータシステム。 - 前記少なくとも1つのコンピュータルーチンが前記少なくとも1つのアクティブプロセスに関連して実行される、請求項10に記載のシステム。
- 前記1つ又は複数の検出されるセキュリティイベントが、前記コンピュータアプリケーション内の別のコードパスへの悪意ある移動に関連する、請求項10に記載のシステム。
- 前記分析エンジンが、前記コンピュータアプリケーションに関連するパッチ又は構成を検査するように更に構成される、請求項10に記載のシステム。
- 前記分析エンジンが
1つ又は複数の集約パッチが利用者によって受信されることに応答して、
前記コンピュータアプリケーションに関連する前記少なくとも1つのコンピュータルーチンを修正又は除去すること、及び
前記コンピュータアプリケーションに関連する1つ又は複数の個々のパッチを修正又は除去すること
の少なくとも1つを実行するように更に構成される、請求項10に記載のシステム。 - 前記分析エンジンが
前記少なくとも1つのコンピュータルーチンに関連する1つ又は複数のスタックを修正する
ように更に構成される、請求項10に記載のシステム。 - 前記分析エンジンが
前記少なくとも1つのコンピュータルーチンに関連する1つ又は複数のヒープを修正する
ように更に構成される、請求項10に記載のシステム。 - 前記分析エンジンが
前記少なくとも1つのアクティブプロセスが前記少なくとも1つのコンピュータルーチンを実行している間、前記少なくとも1つのアクティブプロセスに関連する前記少なくとも1つのコンピュータルーチンを修正する
ように更に構成される、請求項10に記載のシステム。 - 前記分析エンジンが
前記少なくとも1つのコンピュータルーチンを修正した後、前記少なくとも1つのアクティブプロセス又はスレッドの実行を再開する
ように更に構成される、請求項10に記載のシステム。 - コンピュータによって実装される方法であって、
ロード時間中にコンピュータアプリケーションのモデルを抽出すること、
前記コンピュータアプリケーションの前記モデルを記憶すること、
実行時にデータを収集するために前記コンピュータアプリケーション内に命令を挿入すること、
前記コンピュータアプリケーションの前記記憶済みのモデルに対して実行時に収集した前記データを分析して1つ又は複数のセキュリティイベントの検出を行うこと、
前記1つ又は複数のセキュリティイベントを前記検出すると、1つ又は複数のリターン命令を実行する前に前記コンピュータアプリケーションに関連するメモリ破損を一時的に修復すること、
前記1つ又は複数の検出済みのセキュリティイベントに基づいて実用的な情報を報告すること、及び
前記1つ又は複数のセキュリティイベントを前記検出することに基づいて、
前記コンピュータアプリケーションに関連する少なくとも1つのアクティブプロセス又はスレッドの実行を一時停止すること、及び
前記コンピュータアプリケーションの継続的実行を保つやり方で前記コンピュータアプリケーションに関連する前記少なくとも1つのアクティブプロセス又はスレッドに関連する少なくとも1つのコンピュータルーチンを修正すること
を含む、方法。 - 少なくとも1つのプロセスが実行している間に前記少なくとも1つのプロセスに関連する少なくとも1つのコンピュータ命令を修正すること
を更に含む、請求項19に記載の方法。 - 前記少なくとも1つのコンピュータルーチンを修正した後、前記少なくとも1つのアクティブプロセス又はスレッドの実行を再開すること
を更に含む、請求項19に記載の方法。 - コンピュータシステムであって、
ロード時間中にコンピュータアプリケーションのモデルを抽出し、
前記コンピュータアプリケーションの前記モデルを記憶し、
実行時にデータを収集するために前記コンピュータアプリケーション内に命令を挿入する
ように構成されるインストルメンテーションエンジンと、
前記コンピュータアプリケーションの前記記憶済みのモデルに対して実行時に収集した前記データを分析して1つ又は複数のセキュリティイベントの検出を行い、
前記1つ又は複数のセキュリティイベントを前記検出すると、1つ又は複数のリターン命令を実行する前に前記コンピュータアプリケーションに関連するメモリ破損を一時的に修復し、
前記1つ又は複数の検出済みのセキュリティイベントに基づいて実用的な情報を報告し、
前記1つ又は複数のセキュリティイベントを前記検出することに基づいて、
前記コンピュータアプリケーションに関連する少なくとも1つのアクティブプロセス又はスレッドの実行を一時停止し、
前記コンピュータアプリケーションの継続的実行を保つやり方で前記コンピュータアプリケーションに関連する前記少なくとも1つのアクティブプロセス又はスレッドに関連する少なくとも1つのコンピュータルーチンを修正する
ように構成される分析エンジンと
を含む、コンピュータシステム。 - 前記分析エンジンが
少なくとも1つのプロセスが実行している間に前記少なくとも1つのプロセスに関連する少なくとも1つのコンピュータ命令を修正する
ように更に構成される、請求項22に記載のシステム。 - 前記分析エンジンが
前記少なくとも1つのコンピュータルーチンを修正した後、前記少なくとも1つのアクティブプロセス又はスレッドの実行を再開する
ように更に構成される、請求項22に記載のシステム。 - コンピュータアプリケーションの1つ又は複数のコードの脆弱性について、それぞれのコードの脆弱性をメモリ内のテーブル内の個々のシステム応答にマップすること、
前記コンピュータアプリケーションのコードの脆弱性にアクセスするイベントを検出すること、
前記イベントを前記検出することに応答して、前記アクセスされるコードの脆弱性に前記メモリ内のテーブル内でマップされるシステム応答を動的に決定すること、及び
前記決定したシステム応答を実行することであって、前記実行することは前記アクセスされるコードの脆弱性を前記イベントが利用するのを防ぐ、実行すること
を含む、コンピュータによって実装される方法。 - 少なくとも1つのコードの脆弱性及びマップされたシステム応答が前記コンピュータアプリケーションの開発者から提供される、請求項25に記載の方法。
- 少なくとも1つのコードの脆弱性及びマップされたシステム応答が前記コンピュータアプリケーションのロード時に又は実行時にコードアナライザによって自動で決定される、請求項25に記載の方法。
- 前記システム応答が、システム又は利用者によってプログラム可能なシステムコールバックルーチンを含む、請求項25に記載の方法。
- カーネルモード例外ハンドラを上書きするために例外ハンドラを計装すること、
前記コードの脆弱性の前記アクセスに応答して例外をトリガすること、
前記計装された例外ハンドラにおいて前記トリガされる例外を傍受し、前記コードの脆弱性を関連付けること、
前記メモリ内のテーブル内の前記関連するコードの脆弱性を前記計装された例外ハンドラによって照会することであって、前記照会することは前記コードの脆弱性にマップされる前記システムコールバックルーチンを返す、照会すること、及び
前記コードの脆弱性を前記イベントが利用するのを防ぐための命令を開始するために、前記システムコールバックルーチンを前記計装された例外ハンドラによって実行すること
を更に含む、請求項28に記載の方法。 - 前記システム応答が、
システムログ内に誤りとして前記コードの脆弱性の前記アクセスのログをとること、
前記アクセスされたコードの脆弱性を含むアプリケーションプロセスのイメージをダンプすること、
前記コードの脆弱性の前記アクセス前の前記コンピュータアプリケーションのコピーを復元すること、
メモリから1つ又は複数の修復パッチを動的にロードすることであって、前記ロードすることは前記コードの脆弱性を含む少なくとも1つのコンピュータルーチンを修正するために前記修復パッチを使用し、前記コンピュータアプリケーションを再開することなしに前記少なくとも1つのコンピュータルーチンを修正する、動的にロードすること、
前記アクセスされたコードの脆弱性に基づいて終了が生じるまで前記コンピュータアプリケーションを実行し続けること、及び
前記コンピュータアプリケーションを先回りして終了すること
のうちの1つ又は複数を含む、請求項25に記載の方法。 - 動的にロードすることが、前記コンピュータアプリケーションを実行しているサーバのメモリから前記修復パッチを直接注入することを含む、請求項30に記載の方法。
- コンピュータシステムであって、
コンピュータアプリケーションの1つ又は複数のコードの脆弱性について、それぞれのコードの脆弱性をメモリ内のテーブル内の個々のシステム応答にマップする
ように構成されるインストルメンテーションエンジンと、
前記コンピュータアプリケーションのコードの脆弱性にアクセスするイベントを検出すること、
前記イベントを前記検出することに応答して、前記アクセスされるコードの脆弱性に前記メモリ内のテーブル内でマップされるシステム応答を動的に決定すること、及び
前記決定したシステム応答を実行することであって、前記実行することは前記アクセスされるコードの脆弱性を前記イベントが利用するのを防ぐ、実行すること
を行うように構成される分析エンジンと
を含む、コンピュータシステム。 - 少なくとも1つのコードの脆弱性及びマップされたシステム応答が前記コンピュータアプリケーションの開発者から提供される、請求項32に記載のシステム。
- 少なくとも1つのコードの脆弱性及びマップされたシステム応答が前記コンピュータアプリケーションのロード時に又は実行時にコードアナライザによって自動で決定される、請求項32に記載のシステム。
- 前記システム応答が、システム又は利用者によってプログラム可能なシステムコールバックルーチンを含む、請求項32に記載のシステム。
- 前記分析エンジンが、
カーネルモード例外ハンドラを上書きするために例外ハンドラを計装すること、
前記コードの脆弱性の前記アクセスに応答して例外をトリガすること、
前記計装された例外ハンドラにおいて前記トリガされる例外を傍受し、前記コードの脆弱性を関連付けること、
前記テーブル内の前記関連するコードの脆弱性を前記計装された例外ハンドラによって照会することであって、前記照会することは前記コードの脆弱性にマップされる前記システムコールバックルーチンを返す、照会すること、及び
前記コードの脆弱性を前記イベントが利用するのを防ぐための命令を開始するために、前記システムコールバックルーチンを前記計装された例外ハンドラによって実行すること
を行うように更に構成される、請求項35に記載のシステム。 - 前記システム応答が、
システムログ内に誤りとして前記コードの脆弱性の前記アクセスのログをとること、
前記アクセスされたコードの脆弱性を含むアプリケーションプロセスのイメージをダンプすること、
前記コードの脆弱性の前記アクセス前の前記コンピュータアプリケーションのコピーを復元すること、
メモリから1つ又は複数の修復パッチを動的にロードすることであって、前記ロードすることは前記コードの脆弱性を含む少なくとも1つのコンピュータルーチンを修正するために前記修復パッチを使用し、前記コンピュータアプリケーションを再開することなしに前記少なくとも1つのコンピュータルーチンを修正する、動的にロードすること、
前記アクセスされたコードの脆弱性に基づいて終了が生じるまで前記コンピュータアプリケーションを実行し続けること、及び
前記コンピュータアプリケーションを先回りして終了すること
のうちの1つ又は複数を含む、請求項32に記載のシステム。 - 前記動的にロードすることが、前記コンピュータアプリケーションを実行しているサーバのメモリから、前記修復パッチを直接注入することを含む、請求項37に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662350917P | 2016-06-16 | 2016-06-16 | |
US62/350,917 | 2016-06-16 | ||
PCT/US2017/037841 WO2017218872A1 (en) | 2016-06-16 | 2017-06-16 | Systems and methods for remediating memory corruption in a computer application |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019519056A JP2019519056A (ja) | 2019-07-04 |
JP2019519056A5 JP2019519056A5 (ja) | 2021-09-24 |
JP6949951B2 true JP6949951B2 (ja) | 2021-10-13 |
Family
ID=59276839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019518173A Active JP6949951B2 (ja) | 2016-06-16 | 2017-06-16 | コンピュータアプリケーション内のメモリ破損を修復するためのシステム及び方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11409870B2 (ja) |
EP (1) | EP3472746B1 (ja) |
JP (1) | JP6949951B2 (ja) |
KR (1) | KR102419574B1 (ja) |
AU (1) | AU2017285429B2 (ja) |
CA (1) | CA3027728A1 (ja) |
WO (1) | WO2017218872A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8510596B1 (en) | 2006-02-09 | 2013-08-13 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
CA2923231C (en) | 2013-09-12 | 2020-06-02 | Virsec Systems, Inc. | Automated runtime detection of malware |
CN106687981B (zh) | 2014-06-24 | 2020-09-01 | 弗塞克系统公司 | 用于自动化检测输入和输出验证和资源管理漏洞的系统和方法 |
JP6949951B2 (ja) | 2016-06-16 | 2021-10-13 | ヴァーセック システムズ,インコーポレイテッド | コンピュータアプリケーション内のメモリ破損を修復するためのシステム及び方法 |
US10193762B2 (en) * | 2016-08-11 | 2019-01-29 | Rescale, Inc. | Dynamic optimization of simulation resources |
US10387198B2 (en) | 2016-08-11 | 2019-08-20 | Rescale, Inc. | Integrated multi-provider compute platform |
KR101904911B1 (ko) * | 2017-10-13 | 2018-10-08 | 한국인터넷진흥원 | 하이브리드 퍼징 기반 보안 취약점 자동 탐색 방법 및 그 장치 |
US10296302B1 (en) * | 2017-11-06 | 2019-05-21 | General Electric Company | One-click deployment of industrial software |
WO2019140274A1 (en) | 2018-01-12 | 2019-07-18 | Virsec Systems, Inc. | Defending against speculative execution exploits |
US10902130B2 (en) * | 2018-02-18 | 2021-01-26 | Fujitsu Limited | Guiding automated testing of binary programs |
US10735262B1 (en) * | 2018-04-26 | 2020-08-04 | Intuit Inc. | System and method for self-orchestrated canary release deployment within an API gateway architecture |
EP3864545A4 (en) | 2018-10-29 | 2022-06-15 | Sternum Ltd. | DYNAMIC MEMORY PROTECTION |
EP3973427A4 (en) * | 2019-05-20 | 2023-06-21 | Sentinel Labs Israel Ltd. | SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION |
CN110275722B (zh) | 2019-06-21 | 2023-08-08 | 北京百度网讯科技有限公司 | 用于升级应用的方法、装置、设备和存储介质 |
US11403092B2 (en) * | 2020-07-09 | 2022-08-02 | Microsoft Technology Licensing, Llc | System compliance based on a mix of hotpatches and coldpatches |
US11816211B2 (en) | 2020-07-31 | 2023-11-14 | RunSafe Security, Inc. | Active signaling in response to attacks on a transformed binary |
CA3190145A1 (en) | 2020-08-27 | 2022-03-03 | Satya V. Gupta | Automated application vulnerability and risk assessment |
US20230141142A1 (en) * | 2021-11-05 | 2023-05-11 | Blackberry Limited | Identifying application program interface use in a binary code |
US20230142345A1 (en) * | 2021-11-05 | 2023-05-11 | Blackberry Limited | Detecting software vulnerabilities in a binary code |
CN114244620B (zh) * | 2021-12-24 | 2023-06-09 | 湖南云箭智能科技有限公司 | 一种板卡入网验证方法、装置及板卡控制中心 |
Family Cites Families (230)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4215406A (en) | 1972-08-22 | 1980-07-29 | Westinghouse Electric Corp. | Digital computer monitored and/or operated system or process which is structured for operation with an improved automatic programming process and system |
US4080650A (en) | 1976-07-28 | 1978-03-21 | Bell Telephone Laboratories, Incorporated | Facilitating return from an on-line debugging program to a target program breakpoint |
US4466077A (en) | 1981-09-25 | 1984-08-14 | International Business Machines Corporation | Method and apparatus for division employing associative memory |
JPS59216249A (ja) | 1983-05-23 | 1984-12-06 | Toshiba Corp | 集積回路装置 |
GB8511995D0 (en) | 1985-05-11 | 1985-06-19 | Ross S R | Software protection |
US4803720A (en) | 1986-09-22 | 1989-02-07 | International Business Machines Corporation | Dual plane cross point switch architecture for a micro-PBX |
US5224160A (en) | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
US4910663A (en) | 1987-07-10 | 1990-03-20 | Tandem Computers Incorporated | System for measuring program execution by replacing an executable instruction with interrupt causing instruction |
US5222220A (en) | 1989-11-16 | 1993-06-22 | Mehta Hemang S | Microprocessor stack built-in guards |
US5179702A (en) | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
US5161193A (en) | 1990-06-29 | 1992-11-03 | Digital Equipment Corporation | Pipelined cryptography processor and method for its use in communication networks |
JP2839201B2 (ja) | 1990-07-30 | 1998-12-16 | 株式会社日立製作所 | 仮想計算機システム |
US5235551A (en) | 1991-01-08 | 1993-08-10 | Pacific Data Products, Inc. | Memory addressing scheme |
US5297274A (en) | 1991-04-15 | 1994-03-22 | International Business Machines Corporation | Performance analysis of program in multithread OS by creating concurrently running thread generating breakpoint interrupts to active tracing monitor |
US5321828A (en) | 1991-06-07 | 1994-06-14 | Step Engineering | High speed microcomputer in-circuit emulator |
US5359659A (en) | 1992-06-19 | 1994-10-25 | Doren Rosenthal | Method for securing software against corruption by computer viruses |
US5440723A (en) | 1993-01-19 | 1995-08-08 | International Business Machines Corporation | Automatic immune system for computers and computer networks |
US5784552A (en) | 1993-07-28 | 1998-07-21 | Digital Equipment Corporation | Debugging a computer program by simulating execution forwards and backwards in a main history log and alternative history logs |
US5611043A (en) | 1994-03-18 | 1997-03-11 | Borland International, Inc. | Debugger system and method for controlling child processes |
US5533192A (en) | 1994-04-21 | 1996-07-02 | Apple Computer, Inc. | Computer program debugging system and method |
US5630048A (en) | 1994-05-19 | 1997-05-13 | La Joie; Leslie T. | Diagnostic system for run-time monitoring of computer operations |
JP3360933B2 (ja) | 1994-06-01 | 2003-01-07 | 富士通株式会社 | 情報処理システムにおける記憶制御方法および記憶制御装置 |
US5826012A (en) | 1995-04-21 | 1998-10-20 | Lettvin; Jonathan D. | Boot-time anti-virus and maintenance facility |
US5680542A (en) | 1995-06-07 | 1997-10-21 | Motorola, Inc. | Method and apparatus for synchronizing data in a host memory with data in target MCU memory |
US5684948A (en) | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US6151618A (en) | 1995-12-04 | 2000-11-21 | Microsoft Corporation | Safe general purpose virtual machine computing system |
US5909580A (en) | 1996-02-08 | 1999-06-01 | Inprise Corporation | Development system and methods with direct compiler support for detecting invalid use and management of resources and memory at runtime |
US6119206A (en) | 1996-02-12 | 2000-09-12 | Sun Microsystems, Inc. | Design of tags for lookup of non-volatile registers |
JPH09282180A (ja) * | 1996-04-11 | 1997-10-31 | Sony Corp | データ処理装置 |
DE69704004T2 (de) | 1996-06-19 | 2001-06-07 | Matsushita Electric Ind Co Ltd | Vorrichtung zur Programmfehlerbeseitigung |
US5850559A (en) | 1996-08-07 | 1998-12-15 | Compaq Computer Corporation | Method and apparatus for secure execution of software prior to a computer system being powered down or entering a low energy consumption mode |
US6314558B1 (en) | 1996-08-27 | 2001-11-06 | Compuware Corporation | Byte code instrumentation |
GB9626401D0 (en) | 1996-12-19 | 1997-02-05 | Sgs Thomson Microelectronics | Diagnostic procedures in an integrated circuit device |
US5873124A (en) | 1997-02-06 | 1999-02-16 | Microsoft Corporation | Virtual memory scratch pages |
US5890005A (en) | 1997-06-02 | 1999-03-30 | Nokia Mobile Phones Limited | Low power, low interconnect complexity microprocessor and memory interface |
US6351795B1 (en) | 1997-09-05 | 2002-02-26 | Sun Microsystems, Inc. | Selective address translation in coherent memory replication |
US5983348A (en) | 1997-09-10 | 1999-11-09 | Trend Micro Incorporated | Computer network malicious code scanner |
US6237137B1 (en) | 1997-10-15 | 2001-05-22 | Dell Usa, L.P. | Method and system for preventing unauthorized access to a computer program |
US6263489B1 (en) | 1998-04-30 | 2001-07-17 | Hewlett-Packard Company | Method and apparatus for debugging of optimized code |
US6077312A (en) | 1998-05-06 | 2000-06-20 | International Business Machines Corporation | Apparatus, program product and method of debugging utilizing a context sensitive breakpoint |
US6178522B1 (en) | 1998-06-02 | 2001-01-23 | Alliedsignal Inc. | Method and apparatus for managing redundant computer-based systems for fault tolerant computing |
US6553429B1 (en) | 1998-06-05 | 2003-04-22 | Microsoft Corporation | Fast conditional thunk utility |
US6275893B1 (en) | 1998-09-14 | 2001-08-14 | Compaq Computer Corporation | Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system |
US6665316B1 (en) | 1998-09-29 | 2003-12-16 | Agilent Technologies, Inc. | Organization of time synchronization in a distributed system |
EP0992906B1 (en) | 1998-10-06 | 2005-08-03 | Texas Instruments Inc. | Apparatus and method for software breakpoint in a delay slot |
US7380245B1 (en) | 1998-11-23 | 2008-05-27 | Samsung Electronics Co., Ltd. | Technique for detecting corruption associated with a stack in a storage device |
US6782478B1 (en) | 1999-04-28 | 2004-08-24 | Thomas Probert | Techniques for encoding information in computer code |
US6981176B2 (en) | 1999-05-10 | 2005-12-27 | Delphi Technologies, Inc. | Secured microcontroller architecture |
US7430670B1 (en) | 1999-07-29 | 2008-09-30 | Intertrust Technologies Corp. | Software self-defense systems and methods |
WO2001022228A1 (en) | 1999-09-17 | 2001-03-29 | Nortel Networks Limited | System and method for producing a verification system for verifying procedure interfaces |
US6745160B1 (en) | 1999-10-08 | 2004-06-01 | Nec Corporation | Verification of scheduling in the presence of loops using uninterpreted symbolic simulation |
US20020009198A1 (en) | 2000-01-18 | 2002-01-24 | Lipton Richard J. | Method and systems for data security |
JP3552627B2 (ja) | 2000-02-04 | 2004-08-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | スタック保護システム、コンピュータシステム、コンパイラ、スタック保護方法および記憶媒体 |
US7376820B2 (en) | 2000-03-16 | 2008-05-20 | Fujitsu Limited | Information processing unit, and exception processing method for specific application-purpose operation instruction |
US6775780B1 (en) | 2000-03-16 | 2004-08-10 | Networks Associates Technology, Inc. | Detecting malicious software by analyzing patterns of system calls generated during emulation |
US6973577B1 (en) | 2000-05-26 | 2005-12-06 | Mcafee, Inc. | System and method for dynamically detecting computer viruses through associative behavioral analysis of runtime state |
US7539875B1 (en) | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US6895508B1 (en) | 2000-09-07 | 2005-05-17 | International Business Machines Corporation | Stack memory protection |
US6832373B2 (en) | 2000-11-17 | 2004-12-14 | Bitfone Corporation | System and method for updating and distributing information |
US7260845B2 (en) | 2001-01-09 | 2007-08-21 | Gabriel Kedma | Sensor for detecting and eliminating inter-process memory breaches in multitasking operating systems |
US6848044B2 (en) | 2001-03-08 | 2005-01-25 | International Business Machines Corporation | Circuits and methods for recovering link stack data upon branch instruction mis-speculation |
US20020138554A1 (en) | 2001-03-26 | 2002-09-26 | Motorola, Inc. | Method for remotely verifying software integrity |
US6993751B2 (en) | 2001-05-14 | 2006-01-31 | Microsoft Corporation | Placing exception throwing instructions in compiled code |
JP3702815B2 (ja) | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | プロセッサ間レジスタ継承方法及びその装置 |
US20030014667A1 (en) | 2001-07-16 | 2003-01-16 | Andrei Kolichtchak | Buffer overflow attack detection and suppression |
US7421587B2 (en) | 2001-07-26 | 2008-09-02 | Mcafee, Inc. | Detecting computer programs within packed computer files |
US20030188160A1 (en) | 2001-08-02 | 2003-10-02 | Singam Sunder | Method and system to securely update files via a network |
US7257763B1 (en) | 2001-08-03 | 2007-08-14 | Netlogic Microsystems, Inc. | Content addressable memory with error signaling |
GB2378778B (en) | 2001-08-13 | 2005-03-23 | Ibm | Computer system with heap and card table |
EP1246033A1 (de) | 2001-08-23 | 2002-10-02 | Siemens Aktiengesellschaft | Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen |
US7853803B2 (en) | 2001-09-28 | 2010-12-14 | Verizon Corporate Services Group Inc. | System and method for thwarting buffer overflow attacks using encrypted process pointers |
US7526654B2 (en) | 2001-10-16 | 2009-04-28 | Marc Charbonneau | Method and system for detecting a secure state of a computer system |
US20030079158A1 (en) | 2001-10-23 | 2003-04-24 | Tower James Brian | Secured digital systems and a method and software for operating the same |
US6832302B1 (en) | 2001-10-24 | 2004-12-14 | At&T Corp. | Methods and apparatus for detecting heap smashing |
US6668313B2 (en) | 2001-12-21 | 2003-12-23 | Agere Systems, Inc. | Memory system for increased bandwidth |
US7076629B2 (en) | 2001-12-26 | 2006-07-11 | Bonola Thomas J | Method for providing concurrent non-blocking heap memory management for fixed sized blocks |
US7168008B2 (en) | 2002-01-18 | 2007-01-23 | Mobitv, Inc. | Method and system for isolating and protecting software components |
DE60200323T2 (de) | 2002-03-26 | 2005-02-24 | Soteres Gmbh | Verfahren zum Schutz der Integrität von Programmen |
US7228426B2 (en) | 2002-04-03 | 2007-06-05 | Microsoft Corporation | Integrity ordainment and ascertainment of computer-executable instructions with consideration for execution context |
US6948091B2 (en) | 2002-05-02 | 2005-09-20 | Honeywell International Inc. | High integrity recovery from multi-bit data failures |
JP2003330736A (ja) | 2002-05-08 | 2003-11-21 | Nippon Telegr & Teleph Corp <Ntt> | 不正リソース利用防止システム及びその方法並びにプログラム |
GB2383444B (en) | 2002-05-08 | 2003-12-03 | Gfi Software Ltd | System and method for detecting a potentially malicious executable file |
US7007159B2 (en) | 2002-05-10 | 2006-02-28 | Intel Corporation | System and method for loading and integrating a firmware extension onto executable base system firmware during initialization |
US7086088B2 (en) | 2002-05-15 | 2006-08-01 | Nokia, Inc. | Preventing stack buffer overflow attacks |
US7000095B2 (en) | 2002-09-06 | 2006-02-14 | Mips Technologies, Inc. | Method and apparatus for clearing hazards using jump instructions |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US7353501B2 (en) | 2002-11-18 | 2008-04-01 | Microsoft Corporation | Generic wrapper scheme |
US6996677B2 (en) | 2002-11-25 | 2006-02-07 | Nortel Networks Limited | Method and apparatus for protecting memory stacks |
US20040157639A1 (en) | 2002-11-27 | 2004-08-12 | Morris Roy D. | Systems and methods of mobile restore |
US20040168078A1 (en) | 2002-12-04 | 2004-08-26 | Brodley Carla E. | Apparatus, system and method for protecting function return address |
US7058838B2 (en) | 2002-12-17 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | System and method for synchronizing a plurality of processors in a multiprocessor computer platform employing a global clock counter |
US7594111B2 (en) | 2002-12-19 | 2009-09-22 | Massachusetts Institute Of Technology | Secure execution of a computer program |
US7603704B2 (en) | 2002-12-19 | 2009-10-13 | Massachusetts Institute Of Technology | Secure execution of a computer program using a code cache |
US7237172B2 (en) | 2002-12-24 | 2007-06-26 | Micron Technology, Inc. | Error detection and correction in a CAM |
US9503470B2 (en) | 2002-12-24 | 2016-11-22 | Fred Herz Patents, LLC | Distributed agent based model for security monitoring and response |
US7043509B2 (en) | 2003-02-19 | 2006-05-09 | Sun Microsystems, Inc. | Parallel non-contiguous allocation and card parsing |
JP4547861B2 (ja) | 2003-03-20 | 2010-09-22 | 日本電気株式会社 | 不正アクセス防止システム、不正アクセス防止方法、および不正アクセス防止プログラム |
CA2426619A1 (en) | 2003-04-25 | 2004-10-25 | Ibm Canada Limited - Ibm Canada Limitee | Defensive heap memory management |
US20050108562A1 (en) | 2003-06-18 | 2005-05-19 | Khazan Roger I. | Technique for detecting executable malicious code using a combination of static and dynamic analyses |
US7480919B2 (en) | 2003-06-24 | 2009-01-20 | Microsoft Corporation | Safe exceptions |
WO2005001665A2 (en) | 2003-06-27 | 2005-01-06 | Bitfone Corporation | System and method for downloading update packages into a mobile handset in a carrier network |
US7322027B2 (en) | 2003-06-27 | 2008-01-22 | Microsoft Corporation | Detecting termination and providing information related to termination of a computer system process |
US20040268095A1 (en) | 2003-06-30 | 2004-12-30 | Tatiana Shpeisman | Efficient implementation of null reference check |
US7707548B2 (en) | 2003-07-22 | 2010-04-27 | Verizon Business Global Llc | Integration of information distribution systems |
US7137038B2 (en) | 2003-07-29 | 2006-11-14 | Hitachi Global Storage Technologies Netherlands, B.V. | System and method for autonomous data scrubbing in a hard disk drive |
US7530103B2 (en) | 2003-08-07 | 2009-05-05 | Microsoft Corporation | Projection of trustworthiness from a trusted environment to an untrusted environment |
EP1654608B1 (en) | 2003-08-11 | 2008-07-02 | Telecom Italia S.p.A. | Method and system for detecting unauthorised use of a communication network |
CA2537910C (en) | 2003-09-05 | 2012-11-06 | Itron, Inc. | Synchronizing and controlling software downloads, such as for utility meter-reading data collection and processing |
US7467202B2 (en) | 2003-09-10 | 2008-12-16 | Fidelis Security Systems | High-performance network content analysis platform |
US7644441B2 (en) | 2003-09-26 | 2010-01-05 | Cigital, Inc. | Methods for identifying malicious software |
US7360097B2 (en) | 2003-09-30 | 2008-04-15 | Check Point Software Technologies, Inc. | System providing methodology for securing interfaces of executable files |
US7290253B1 (en) | 2003-09-30 | 2007-10-30 | Vmware, Inc. | Prediction mechanism for subroutine returns in binary translation sub-systems of computers |
WO2005036831A1 (ja) | 2003-10-07 | 2005-04-21 | Fujitsu Limited | フレーム中継装置 |
US7526755B2 (en) | 2003-10-08 | 2009-04-28 | Microsoft Corporation | Plug-in pre- and postconditions for static program analysis |
US7500245B2 (en) * | 2005-07-08 | 2009-03-03 | Microsoft Corporation | Changing code execution path using kernel mode redirection |
US7853442B2 (en) | 2003-10-15 | 2010-12-14 | Zuken Inc. | Printed circuit board design instruction support method and device |
US7237267B2 (en) | 2003-10-16 | 2007-06-26 | Cisco Technology, Inc. | Policy-based network security management |
CN100391180C (zh) | 2003-10-30 | 2008-05-28 | 华为技术有限公司 | 一种以太网二层交换设备绑定硬件地址和端口的方法 |
WO2005052767A1 (en) | 2003-11-05 | 2005-06-09 | Qinetiq Limited | Detection of items stored in a computer system |
JP4485330B2 (ja) | 2003-11-20 | 2010-06-23 | 富士通株式会社 | 回路の有向ファルシフィケーション |
US7529979B2 (en) | 2003-12-12 | 2009-05-05 | International Business Machines Corporation | Hardware/software based indirect time stamping methodology for proactive hardware/software event detection and control |
US7549042B2 (en) | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US20050138409A1 (en) | 2003-12-22 | 2005-06-23 | Tayib Sheriff | Securing an electronic device |
US7716495B2 (en) | 2003-12-31 | 2010-05-11 | Microsoft Corporation | Protection against runtime function attacks |
US20100005531A1 (en) | 2004-12-23 | 2010-01-07 | Kenneth Largman | Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features |
US7284276B2 (en) | 2004-01-22 | 2007-10-16 | Symantec Corporation | Return-to-LIBC attack detection using branch trace records system and method |
US7730530B2 (en) | 2004-01-30 | 2010-06-01 | Microsoft Corporation | System and method for gathering exhibited behaviors on a .NET executable module in a secure manner |
US7694022B2 (en) | 2004-02-24 | 2010-04-06 | Microsoft Corporation | Method and system for filtering communications to prevent exploitation of a software vulnerability |
US7693975B2 (en) | 2004-03-02 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Network device applying kalman filter |
US7328323B1 (en) | 2004-03-08 | 2008-02-05 | Symantec Corporation | Heap buffer overflow exploitation prevention system and method |
JP2005258498A (ja) | 2004-03-09 | 2005-09-22 | Hitachi Ltd | サーバ回復方法 |
US7272748B1 (en) | 2004-03-17 | 2007-09-18 | Symantec Corporation | Method and apparatus to detect and recover from a stack frame corruption |
US7530093B2 (en) * | 2004-04-30 | 2009-05-05 | Microsoft Corporation | Securing applications and operating systems |
US8042180B2 (en) | 2004-05-21 | 2011-10-18 | Computer Associates Think, Inc. | Intrusion detection based on amount of network traffic |
US7490268B2 (en) | 2004-06-01 | 2009-02-10 | The Trustees Of Columbia University In The City Of New York | Methods and systems for repairing applications |
US7207065B2 (en) | 2004-06-04 | 2007-04-17 | Fortify Software, Inc. | Apparatus and method for developing secure software |
US20050289265A1 (en) | 2004-06-08 | 2005-12-29 | Daniel Illowsky | System method and model for social synchronization interoperability among intermittently connected interoperating devices |
US7860096B2 (en) | 2004-06-08 | 2010-12-28 | Oracle America, Inc. | Switching method and apparatus for use in a communications network |
US7526810B2 (en) | 2004-06-21 | 2009-04-28 | Ebay Inc. | Method and system to verify data received, at a server system, for access and/or publication via the server system |
US20050283601A1 (en) | 2004-06-22 | 2005-12-22 | Sun Microsystems, Inc. | Systems and methods for securing a computer boot |
US8955104B2 (en) | 2004-07-07 | 2015-02-10 | University Of Maryland College Park | Method and system for monitoring system memory integrity |
US7971255B1 (en) | 2004-07-15 | 2011-06-28 | The Trustees Of Columbia University In The City Of New York | Detecting and preventing malcode execution |
US7634812B2 (en) | 2004-07-21 | 2009-12-15 | Microsoft Corporation | Filter generation |
US7603715B2 (en) | 2004-07-21 | 2009-10-13 | Microsoft Corporation | Containment of worms |
FR2873466A1 (fr) | 2004-07-21 | 2006-01-27 | St Microelectronics Sa | Procede de programmation d'un controleur de dma dans un systeme sur puce et systeme sur puce associe |
EP1619572A1 (en) | 2004-07-23 | 2006-01-25 | Texas Instruments Incorporated | System and method of identifying and preventing security violations within a computing system |
JP4643201B2 (ja) | 2004-08-12 | 2011-03-02 | 日本電信電話株式会社 | バッファオーバーフロー脆弱性分析方法、データ処理装置、分析情報提供装置、分析情報抽出処理用プログラムおよび分析情報提供処理用プログラム |
GB2417579A (en) | 2004-08-26 | 2006-03-01 | Hewlett Packard Development Co | Method for dynamically inserting code into a process by enabling taken branch traps to intercept a branch during the execution of the process |
US7430683B2 (en) | 2004-09-23 | 2008-09-30 | Intel Corporation | Method and apparatus for enabling run-time recovery of a failed platform |
CN101065716A (zh) | 2004-11-22 | 2007-10-31 | 诺基亚公司 | 用于验证电子设备的平台软件的完整性的方法和设备 |
US7484239B1 (en) | 2004-11-30 | 2009-01-27 | Symantec Corporation | Detecting heap and stack execution in the operating system using regions |
JP3768516B1 (ja) | 2004-12-03 | 2006-04-19 | 株式会社ソニー・コンピュータエンタテインメント | マルチプロセッサシステムとそのシステムにおけるプログラム実行方法 |
KR100675836B1 (ko) | 2004-12-10 | 2007-01-29 | 한국전자통신연구원 | Epon 구간내에서의 링크 보안을 위한 인증 방법 |
US20060126799A1 (en) | 2004-12-15 | 2006-06-15 | Microsoft Corporation | Fault injection |
US7613954B2 (en) | 2004-12-21 | 2009-11-03 | National Instruments Corporation | Test executive with stack corruption detection |
TWI252976B (en) | 2004-12-27 | 2006-04-11 | Ind Tech Res Inst | Detecting method and architecture thereof for malicious codes |
US7774787B2 (en) | 2005-01-11 | 2010-08-10 | Microsoft Corporation | Method for specifying and verifying multi-threaded object-oriented programs with invariants |
US7315871B2 (en) | 2005-01-19 | 2008-01-01 | International Business Machines Inc. Corporation | Method, system and program product for interning invariant data objects in dynamic space constrained systems |
JP4549303B2 (ja) | 2005-02-07 | 2010-09-22 | 株式会社ソニー・コンピュータエンタテインメント | パイプラインを用いてメッセージ認証コードを提供する方法および装置 |
JP2006259869A (ja) | 2005-03-15 | 2006-09-28 | Fujitsu Ltd | マルチプロセッサシステム |
US7290230B2 (en) | 2005-03-17 | 2007-10-30 | Fujitsu Limited | System and method for verifying a digital design using dynamic abstraction |
ES2745045T3 (es) | 2005-04-22 | 2020-02-27 | Audinate Pty Ltd | Red, dispositivo y método para transportar medios digitales |
US7493602B2 (en) | 2005-05-02 | 2009-02-17 | International Business Machines Corporation | Methods and arrangements for unified program analysis |
US7912877B2 (en) | 2005-05-20 | 2011-03-22 | Microsoft Corporation | Leveraging garbage collection to dynamically infer heap invariants |
US7752381B2 (en) | 2005-05-24 | 2010-07-06 | Micron Technology, Inc. | Version based non-volatile memory translation layer |
US7730536B2 (en) | 2005-06-08 | 2010-06-01 | Verizon Business Global Llc | Security perimeters |
GB0513375D0 (en) | 2005-06-30 | 2005-08-03 | Retento Ltd | Computer security |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US20070027815A1 (en) | 2005-07-29 | 2007-02-01 | Symantec Corporation | Systems and methods for centralized subscription and license management in a small networking environment |
EP1758021A2 (en) | 2005-08-25 | 2007-02-28 | International Business Machines Corporation | Method or apparatus for managing a server process in a computer system |
CN1921474A (zh) * | 2005-08-25 | 2007-02-28 | 国际商业机器公司 | 用于在计算机系统中管理服务器处理的方法和设备 |
US20070050848A1 (en) | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Preventing malware from accessing operating system services |
US20070067359A1 (en) | 2005-09-21 | 2007-03-22 | Lenovo (Singapore) Pte. Ltd. | Centralized system for versioned data synchronization |
US20070118646A1 (en) | 2005-10-04 | 2007-05-24 | Computer Associates Think, Inc. | Preventing the installation of rootkits on a standalone computer |
US7809670B2 (en) | 2005-12-09 | 2010-10-05 | Microsoft Corporation | Classification of malware using clustering that orders events in accordance with the time of occurance |
US8528060B2 (en) * | 2005-12-22 | 2013-09-03 | Telcordia Technologies, Inc. | Method and system for password protocols in the bounded retrieval mode with security dictionary attacks and intrusions |
US9390031B2 (en) | 2005-12-30 | 2016-07-12 | Intel Corporation | Page coloring to associate memory pages with programs |
US8108840B2 (en) | 2006-01-12 | 2012-01-31 | International Business Machines Corporation | Method for enhancing debugger performance of hardware assisted breakpoints |
US20070174549A1 (en) | 2006-01-24 | 2007-07-26 | Yevgen Gyl | Method for utilizing a memory interface to control partitioning of a memory module |
US7845005B2 (en) | 2006-02-07 | 2010-11-30 | International Business Machines Corporation | Method for preventing malicious software installation on an internet-connected computer |
US8510596B1 (en) | 2006-02-09 | 2013-08-13 | Virsec Systems, Inc. | System and methods for run time detection and correction of memory corruption |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
US8286238B2 (en) * | 2006-09-29 | 2012-10-09 | Intel Corporation | Method and apparatus for run-time in-memory patching of code from a service processor |
US8135994B2 (en) | 2006-10-30 | 2012-03-13 | The Trustees Of Columbia University In The City Of New York | Methods, media, and systems for detecting an anomalous sequence of function calls |
JP2008129714A (ja) | 2006-11-17 | 2008-06-05 | Univ Of Tsukuba | 異常検知方法、異常検知装置及び異常検知用プログラム並びに学習モデル生成方法 |
IL181426A (en) | 2007-02-19 | 2011-06-30 | Deutsche Telekom Ag | Automatic removal of signatures for malware |
US20080215925A1 (en) | 2007-03-02 | 2008-09-04 | International Business Machines Corporation | Distributed fault injection mechanism |
EP2145252A4 (en) | 2007-04-03 | 2011-12-21 | Ldra Technology Inc | AUTOMATED MANAGEMENT OF SOFTWARE REQUEST VERIFICATION |
US8336102B2 (en) | 2007-06-01 | 2012-12-18 | Microsoft Corporation | Delivering malformed data for fuzz testing to software applications |
JP4938576B2 (ja) | 2007-07-24 | 2012-05-23 | 日本電信電話株式会社 | 情報収集システムおよび情報収集方法 |
CN101154258A (zh) | 2007-08-14 | 2008-04-02 | 电子科技大学 | 恶意程序动态行为自动化分析系统与方法 |
US7971044B2 (en) | 2007-10-05 | 2011-06-28 | Qualcomm Incorporated | Link stack repair of erroneous speculative update |
US8627287B2 (en) | 2007-11-29 | 2014-01-07 | Microsoft Corporation | Prioritizing quality improvements to source code |
US7453910B1 (en) | 2007-12-18 | 2008-11-18 | International Business Machines Corporation | Synchronization of independent clocks |
US8434151B1 (en) | 2008-01-04 | 2013-04-30 | International Business Machines Corporation | Detecting malicious software |
US8261326B2 (en) | 2008-04-25 | 2012-09-04 | International Business Machines Corporation | Network intrusion blocking security overlay |
US8307191B1 (en) | 2008-05-09 | 2012-11-06 | Vmware, Inc. | Page fault handling in a virtualized computer system |
JP2009282180A (ja) | 2008-05-21 | 2009-12-03 | Olympus Imaging Corp | 観察光学系及びそれを用いた撮像装置 |
US8407523B2 (en) | 2008-06-06 | 2013-03-26 | Iti Scotland Limited | Method for protecting software programs |
CN101673245B (zh) | 2008-09-09 | 2016-02-03 | 株式会社东芝 | 包括存储器管理装置的信息处理装置和存储器管理方法 |
US9027123B2 (en) | 2008-12-08 | 2015-05-05 | Nec Corporation | Data dependence analyzer, information processor, data dependence analysis method and program |
JP2010257150A (ja) | 2009-04-23 | 2010-11-11 | Ntt Docomo Inc | 不正処理検知装置、不正処理検知方法及びプログラム |
KR101269549B1 (ko) | 2009-05-08 | 2013-06-04 | 한국전자통신연구원 | 오류 주입을 이용한 소프트웨어 신뢰성 테스트 시스템 및 방법 |
JP2011059930A (ja) | 2009-09-09 | 2011-03-24 | Nec Computertechno Ltd | 電源ユニット |
US9230455B2 (en) | 2009-12-11 | 2016-01-05 | Digital Immunity Llc | Steganographic embedding of executable code |
WO2011139302A2 (en) | 2009-12-11 | 2011-11-10 | Probert Thomas H | Steganographic messaging system using code invariants |
JP5499805B2 (ja) | 2010-03-19 | 2014-05-21 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法並びに情報処理プログラム |
CN102012987B (zh) | 2010-12-02 | 2013-03-13 | 李清宝 | 自动二进制恶意代码行为分析系统 |
US8464102B2 (en) | 2010-12-23 | 2013-06-11 | GM Global Technology Operations LLC | Methods and systems for diagnosing hardware and software faults using time-stamped events |
US8595610B2 (en) | 2011-01-25 | 2013-11-26 | Infineon Technologies Ag | Method, software and computer system for manipulating aggregated data |
US8615640B2 (en) | 2011-03-17 | 2013-12-24 | Lsi Corporation | System and method to efficiently schedule and/or commit write data to flash based SSDs attached to an array controller |
US8495581B2 (en) | 2011-05-05 | 2013-07-23 | International Business Machines Corporation | Code evaluation based on failure prediction |
WO2013036269A1 (en) | 2011-09-09 | 2013-03-14 | Hewlett-Packard Development Company, L.P. | Systems and methods for evaluation of events based on a reference baseline according to temporal position in a sequence of events |
US8788627B2 (en) | 2011-09-30 | 2014-07-22 | Apple Inc. | Interactive web application framework |
US8984478B2 (en) | 2011-10-03 | 2015-03-17 | Cisco Technology, Inc. | Reorganization of virtualized computer programs |
WO2013063474A1 (en) | 2011-10-28 | 2013-05-02 | Scargo, Inc. | Security policy deployment and enforcement system for the detection and control of polymorphic and targeted malware |
SG11201402290VA (en) | 2011-11-15 | 2014-07-30 | Japan Science & Tech Agency | Program analysis/verification service provision system, control method for same, control program, control program for directing computer to function, program analysis/verification device, program analysis/verification tool management device |
US9372991B2 (en) | 2012-03-06 | 2016-06-21 | International Business Machines Corporation | Detecting malicious computer code in an executing program module |
US8792498B2 (en) | 2012-03-23 | 2014-07-29 | Wind River Systems, Inc. | System and method for enhanced updating layer-2 bridge address table on asymmetric multiprocessing systems |
US9043903B2 (en) * | 2012-06-08 | 2015-05-26 | Crowdstrike, Inc. | Kernel-level security agent |
EP2881877A4 (en) | 2012-08-01 | 2016-08-03 | Mitsubishi Electric Corp | PROGRAM EXECUTION DEVICE AND PROGRAM ANALYSIS DEVICE |
US9201720B2 (en) | 2012-08-13 | 2015-12-01 | Nxp B.V. | FlexRay network runtime error detection and containment |
US9882984B2 (en) | 2013-08-02 | 2018-01-30 | International Business Machines Corporation | Cache migration management in a virtualized distributed computing system |
CA2923231C (en) * | 2013-09-12 | 2020-06-02 | Virsec Systems, Inc. | Automated runtime detection of malware |
GB2520987B (en) * | 2013-12-06 | 2016-06-01 | Cyberlytic Ltd | Using fuzzy logic to assign a risk level profile to a potential cyber threat |
CA2953787C (en) | 2014-06-24 | 2021-07-20 | Virsec Systems, Inc. | Automated root cause analysis of single or n-tiered applications |
CN106687981B (zh) | 2014-06-24 | 2020-09-01 | 弗塞克系统公司 | 用于自动化检测输入和输出验证和资源管理漏洞的系统和方法 |
US10019569B2 (en) | 2014-06-27 | 2018-07-10 | Qualcomm Incorporated | Dynamic patching for diversity-based software security |
US9699205B2 (en) * | 2015-08-31 | 2017-07-04 | Splunk Inc. | Network security system |
JP6949951B2 (ja) | 2016-06-16 | 2021-10-13 | ヴァーセック システムズ,インコーポレイテッド | コンピュータアプリケーション内のメモリ破損を修復するためのシステム及び方法 |
-
2017
- 2017-06-16 JP JP2019518173A patent/JP6949951B2/ja active Active
- 2017-06-16 KR KR1020197001449A patent/KR102419574B1/ko active IP Right Grant
- 2017-06-16 US US16/307,281 patent/US11409870B2/en active Active
- 2017-06-16 CA CA3027728A patent/CA3027728A1/en active Pending
- 2017-06-16 AU AU2017285429A patent/AU2017285429B2/en active Active
- 2017-06-16 WO PCT/US2017/037841 patent/WO2017218872A1/en unknown
- 2017-06-16 EP EP17735276.2A patent/EP3472746B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR102419574B1 (ko) | 2022-07-11 |
KR20190035686A (ko) | 2019-04-03 |
AU2017285429B2 (en) | 2022-03-31 |
US20190138725A1 (en) | 2019-05-09 |
EP3472746B1 (en) | 2020-05-13 |
JP2019519056A (ja) | 2019-07-04 |
CA3027728A1 (en) | 2017-12-21 |
US11409870B2 (en) | 2022-08-09 |
WO2017218872A1 (en) | 2017-12-21 |
EP3472746A1 (en) | 2019-04-24 |
AU2017285429A1 (en) | 2019-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6949951B2 (ja) | コンピュータアプリケーション内のメモリ破損を修復するためのシステム及び方法 | |
AU2018204262B2 (en) | Automated code lockdown to reduce attack surface for software | |
JP7046111B2 (ja) | マルウェアのランタイム中の自動検出 | |
US11599634B1 (en) | System and methods for run time detection and correction of memory corruption | |
US11232201B2 (en) | Cloud based just in time memory analysis for malware detection | |
WO2016186975A1 (en) | Detection of sql injection attacks | |
Oyama et al. | Process recovery by rollback and input modification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200521 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210511 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20210811 |
|
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: 20210824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210922 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6949951 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |