JP6513716B2 - ダイバーシティベースのソフトウェアセキュリティのための動的パッチング - Google Patents
ダイバーシティベースのソフトウェアセキュリティのための動的パッチング Download PDFInfo
- Publication number
- JP6513716B2 JP6513716B2 JP2016574381A JP2016574381A JP6513716B2 JP 6513716 B2 JP6513716 B2 JP 6513716B2 JP 2016574381 A JP2016574381 A JP 2016574381A JP 2016574381 A JP2016574381 A JP 2016574381A JP 6513716 B2 JP6513716 B2 JP 6513716B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- software
- runtime
- mobile device
- variants
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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/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
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- 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/55—Detecting local intrusion or implementing counter-measures
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Description
102 モバイルデバイス
103 ワイヤードまたはワイヤレス接続
104 モバイルデバイス
105 ワイヤードまたはワイヤレス接続
106 モバイルデバイス
107 ワイヤードまたはワイヤレス接続
110 サーバ
111 ワイヤードまたはワイヤレス接続
120 サードパーティサーバ
121 ワイヤードまたはワイヤレス接続
130 インターネット
200 モバイルデバイス
202 モジュール変形形態、第1のモジュール変形形態
203 モジュール変形形態、第2のモジュール変形形態
203' 第2のモジュール変形形態
204 モジュール変形形態、最後のモジュール変形形態
205 グループ
210 ランタイム選択論理
220 ソフトウェア
222 第1のモジュール
224 第2のモジュール
226 第3のモジュール
250 実施形態方法
280 実施形態方法
302 通知
352 第2のモジュール
400 実施形態方法
500 方法
500 実施形態方法
600 モバイルコンピューティングデバイス
601 プロセッサ
602 内部メモリ
604 タッチスクリーンコントローラ
608 トランシーバ
610 アンテナ
612 タッチスクリーンパネル
614 スピーカー
616 セルラーネットワークワイヤレスモデムチップ
618 周辺デバイス接続インターフェース
620 筐体
622 電源
700 サーバコンピューティングデバイス
701 プロセッサ
702 揮発性メモリ、内部メモリ
703 ディスクドライブ
704 ネットワークアクセスポート
705 ネットワーク
706 フロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ
Claims (15)
- モバイルデバイス上で実行されるダイバーシティベースのソフトウェアの動的パッチングのための方法であって、
前記モバイルデバイスのトランシーバによって、モジュール変形形態を識別する1つまたは複数の識別子を含む通知を取得するステップであって、前記識別されたモジュール変形形態のうちの1つまたは複数が、前記モバイルデバイス上で実行される前記ソフトウェアのための前記モバイルデバイス上に記憶される、ステップと、
前記モバイルデバイスのプロセッサによって、前記通知を取得したことに応答して、モジュールについての利用可能なモジュール変形形態のリストから前記1つまたは複数の識別子によって識別されるモジュール変形形態を削除するステップであって、前記利用可能なモジュール変形形態のリストのうちの1つが、前記ソフトウェアのランタイム時に前記プロセッサによって前記モジュールとしてランダム選択によりアクティブ化される、ステップと、
前記モバイルデバイスの前記プロセッサによって、前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したかどうかを判断するステップと、
前記モバイルデバイスのトランシーバによって、前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したと判断したことに応答して、前記アクティブ化されたモジュール変形形態の識別子を含む報告をリモートサーバに送信するステップと
を含む方法。 - 前記通知が、前記リモートサーバから前記モバイルデバイスによって受信される、請求項1に記載の方法。
- 前記モジュール変形形態が、欠陥がある、古い、およびマルウェアによってエクスプロイトされるものとして識別される、のうちの1つである、請求項1に記載の方法。
- 前記プロセッサによって、前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから第1の識別子を選択するステップと、
前記プロセッサによって、前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた利用可能なモジュール変形形態をアクティブ化するステップと
をさらに含む、請求項1に記載の方法。 - 前記プロセッサによって、前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するステップが、
前記プロセッサによって、ランダム選択アルゴリズムを使用して、前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するステップ
を含む、請求項4に記載の方法。 - 前記プロセッサによって、前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた前記利用可能なモジュール変形形態をアクティブ化するステップが、
前記プロセッサによって、前記ソフトウェアのランタイム時に前記利用可能なモジュール変形形態を生成するステップであって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、ステップ、および
前記プロセッサによって、前記ソフトウェアのランタイム時に、以前に生成され、前記モバイルデバイス上に記憶された利用可能なモジュール変形形態をロードするステップであって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、ステップ
のうちの1つを含む、請求項4に記載の方法。 - 前記モジュールが、ランタイム時に前記ソフトウェアによって利用される複数のモジュールのうちの1つであり、前記方法が、
前記プロセッサによって、前記ソフトウェアのランタイム時に前記複数のモジュール中の他のモジュールに関連付けられた利用可能なモジュール変形形態のリストから識別子を選択するステップと、
前記プロセッサによって、前記ソフトウェアのランタイム中に前記他のモジュールとして使用されるべき、前記選択された識別子に関連付けられた前記複数のモジュール中の前記他のモジュールについての利用可能なモジュール変形形態をアクティブ化するステップと
をさらに含む、請求項4に記載の方法。 - 前記通知が、前記ソフトウェアのランタイム中に前記モバイルデバイスによって受信される、請求項1に記載の方法。
- コンピューティングデバイスであって、
モジュール変形形態を識別する1つまたは複数の識別子を含む通知を取得するための手段であって、前記識別されたモジュール変形形態のうちの1つまたは複数が、前記コンピューティングデバイス上で実行されるソフトウェアのためのモバイルデバイス上に記憶される、手段と、
前記通知を取得したことに応答して、モジュールについての利用可能なモジュール変形形態のリストから前記1つまたは複数の識別子によって識別されるモジュール変形形態を削除するための手段であって、前記利用可能なモジュール変形形態のリストのうちの1つが、前記ソフトウェアのランタイム時にプロセッサによって前記モジュールとしてランダム選択によりアクティブ化される、手段と、
前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したかどうかを判断するための手段と、
前記アクティブ化されたモジュール変形形態がランタイム時にエラーに遭遇したと判断したことに応答して、前記アクティブ化されたモジュール変形形態の識別子を含む報告をリモートサーバに送信するための手段と
を備えるコンピューティングデバイス。 - 前記通知が、前記リモートサーバから前記コンピューティングデバイスによって受信される、請求項9に記載のコンピューティングデバイス。
- 前記モジュール変形形態が、欠陥がある、古い、およびマルウェアによってエクスプロイトされるものとして識別される、のうちの1つである、請求項9に記載のコンピューティングデバイス。
- 前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから第1の識別子を選択するための手段と、
前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた利用可能なモジュール変形形態をアクティブ化するための手段と
をさらに備える、請求項9に記載のコンピューティングデバイス。 - 前記ソフトウェアのランタイム時に前記モジュールについての前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するための手段が、ランダム選択アルゴリズムを使用して、前記利用可能なモジュール変形形態のリストから前記第1の識別子を選択するための手段を備える、請求項12に記載のコンピューティングデバイス。
- 前記ソフトウェアのランタイム中に前記モジュールとして使用されるべき、前記選択された第1の識別子に関連付けられた前記利用可能なモジュール変形形態をアクティブ化するための手段が、
前記ソフトウェアのランタイム時に前記利用可能なモジュール変形形態を生成するための手段であって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、手段、および
前記ソフトウェアのランタイム時に、以前に生成され、前記コンピューティングデバイス上に記憶された利用可能なモジュール変形形態をロードするための手段であって、前記モジュール変形形態が、前記取得された1つまたは複数の識別子によって識別される、手段
のうちの1つを備える、請求項12に記載のコンピューティングデバイス。 - コンピューティングデバイスのプロセッサに請求項1から8のいずれか一項に記載の方法に従う動作を実施させるように構成されたプロセッサ実行可能命令を記憶したプロセッサ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/316,961 | 2014-06-27 | ||
US14/316,961 US10019569B2 (en) | 2014-06-27 | 2014-06-27 | Dynamic patching for diversity-based software security |
PCT/US2015/036014 WO2015200046A1 (en) | 2014-06-27 | 2015-06-16 | Dynamic patching of multiple, functionally equivalent variations of various software modules for security reasons |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017523511A JP2017523511A (ja) | 2017-08-17 |
JP2017523511A5 JP2017523511A5 (ja) | 2018-07-12 |
JP6513716B2 true JP6513716B2 (ja) | 2019-05-15 |
Family
ID=53496961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016574381A Expired - Fee Related JP6513716B2 (ja) | 2014-06-27 | 2015-06-16 | ダイバーシティベースのソフトウェアセキュリティのための動的パッチング |
Country Status (5)
Country | Link |
---|---|
US (1) | US10019569B2 (ja) |
EP (1) | EP3161624A1 (ja) |
JP (1) | JP6513716B2 (ja) |
CN (1) | CN106462429A (ja) |
WO (1) | WO2015200046A1 (ja) |
Families Citing this family (14)
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 |
KR102368170B1 (ko) | 2013-09-12 | 2022-02-25 | 버섹 시스템즈, 인코포레이션 | 멀웨어의 자동화된 런타임 검출 |
CA2953793C (en) | 2014-06-24 | 2021-10-19 | Virsec Systems, Inc. | System and methods for automated detection of input and output validation and resource management vulnerability |
EP2963891A1 (en) * | 2014-07-04 | 2016-01-06 | Doro AB | Improved remote assistance for a mobile communications terminal |
US9772837B2 (en) * | 2015-06-29 | 2017-09-26 | Verizon Patent And Licensing Inc. | Dynamic delivery of code and fixes |
CA3027728A1 (en) * | 2016-06-16 | 2017-12-21 | Virsec Systems, Inc. | Systems and methods for remediating memory corruption in a computer application |
JP6668505B2 (ja) * | 2016-07-28 | 2020-03-18 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | コードパッケージバリアント |
GB2563618B (en) * | 2017-06-20 | 2020-09-16 | Arm Ip Ltd | Electronic system vulnerability assessment |
JP6759169B2 (ja) * | 2017-09-11 | 2020-09-23 | 株式会社東芝 | 情報処理装置、情報処理方法、および情報処理プログラム |
US10671513B2 (en) * | 2018-06-11 | 2020-06-02 | Walgreen Co. | System and method of capturing system configuration data to resolve an application malfunction |
US11520900B2 (en) | 2018-08-22 | 2022-12-06 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems and methods for a text mining approach for predicting exploitation of vulnerabilities |
EP3722981A1 (en) | 2019-04-12 | 2020-10-14 | Nxp B.V. | System and method for applying patches to executable codes |
CN111338942B (zh) * | 2020-02-21 | 2022-09-09 | 郑州昂视信息科技有限公司 | 一种软件多样性的评估方法及系统 |
US20230367883A1 (en) * | 2022-05-16 | 2023-11-16 | Microsoft Technology Licensing, Llc | Systems and processes for tailoring risk mitigation of threat events associated with software bill of materials |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060185018A1 (en) * | 2005-02-17 | 2006-08-17 | Microsoft Corporation | Systems and methods for shielding an identified vulnerability |
US20080016314A1 (en) | 2006-07-12 | 2008-01-17 | Lixin Li | Diversity-based security system and method |
US9128741B2 (en) * | 2007-10-05 | 2015-09-08 | Mcafee, Inc. | System, method, and computer program product for conditionally preventing use of hardware virtualization |
US9058483B2 (en) * | 2008-05-08 | 2015-06-16 | Google Inc. | Method for validating an untrusted native code module |
US8706745B1 (en) * | 2008-05-30 | 2014-04-22 | Symantec Corporation | Systems and methods for determining a file set |
US8321949B1 (en) * | 2008-08-29 | 2012-11-27 | Adobe Systems Incorporated | Managing software run in a computing system |
CN102939587B (zh) * | 2010-03-31 | 2016-08-03 | 爱迪德技术有限公司 | 用以保护应用程序的链接和加载的方法 |
KR20130094522A (ko) * | 2012-02-16 | 2013-08-26 | 한국전자통신연구원 | 보안 진단을 위한 휴대 단말기 및 보안 진단 방법 |
EP3660673A1 (en) * | 2012-03-22 | 2020-06-03 | Irdeto B.V. | Updating software components |
US9210044B2 (en) | 2012-07-27 | 2015-12-08 | Dell Products L.P. | Automated remediation with an appliance |
US20150220734A1 (en) * | 2012-10-19 | 2015-08-06 | Mcafee, Inc. | Mobile application management |
US20140129686A1 (en) * | 2012-11-08 | 2014-05-08 | Nvidia Corporation | Mobile computing device configured to filter and detect application profiles, a method of manufacturing the same and an external source for delivering hierarchical filtered application profiles to mobile computing devices |
US9189619B2 (en) * | 2012-11-13 | 2015-11-17 | International Business Machines Corporation | Runtime based application security and regulatory compliance in cloud environment |
US20140259168A1 (en) * | 2013-03-11 | 2014-09-11 | Alcatel-Lucent Usa Inc. | Malware identification using a hybrid host and network based approach |
-
2014
- 2014-06-27 US US14/316,961 patent/US10019569B2/en not_active Expired - Fee Related
-
2015
- 2015-06-16 JP JP2016574381A patent/JP6513716B2/ja not_active Expired - Fee Related
- 2015-06-16 WO PCT/US2015/036014 patent/WO2015200046A1/en active Application Filing
- 2015-06-16 CN CN201580033978.0A patent/CN106462429A/zh active Pending
- 2015-06-16 EP EP15733035.8A patent/EP3161624A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2017523511A (ja) | 2017-08-17 |
EP3161624A1 (en) | 2017-05-03 |
CN106462429A (zh) | 2017-02-22 |
US10019569B2 (en) | 2018-07-10 |
WO2015200046A1 (en) | 2015-12-30 |
US20150379262A1 (en) | 2015-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6513716B2 (ja) | ダイバーシティベースのソフトウェアセキュリティのための動的パッチング | |
EP2839406B1 (en) | Detection and prevention of installation of malicious mobile applications | |
US11086983B2 (en) | System and method for authenticating safe software | |
EP2696282B1 (en) | System and method for updating authorized software | |
US20150180908A1 (en) | System and method for whitelisting applications in a mobile network environment | |
JP2018536932A (ja) | 動的ハニーポットシステム | |
US20200092374A1 (en) | On-device, application-specific compliance enforcement | |
US20130097659A1 (en) | System and method for whitelisting applications in a mobile network environment | |
US10867049B2 (en) | Dynamic security module terminal device and method of operating same | |
CN112534432A (zh) | 不熟悉威胁场景的实时缓解 | |
WO2014168954A1 (en) | Security policies for loading, linking, and executing native code by mobile applications running inside of virtual machines | |
TW200536327A (en) | System and method for securing a computer system connected to a network from attacks | |
US10277631B1 (en) | Self-preserving policy engine and policy-based content transmission | |
US10826756B2 (en) | Automatic generation of threat remediation steps by crowd sourcing security solutions | |
WO2021121382A1 (en) | Security management of an autonomous vehicle | |
KR20160039234A (ko) | 영역 지향 프로그래밍을 통한 모바일 보안 향상 시스템 및 방법 | |
WO2015138931A1 (en) | Systems and methods for enforcing security in mobile computing | |
Choi et al. | Large‐Scale Analysis of Remote Code Injection Attacks in Android Apps | |
EP3831031B1 (en) | Listen mode for application operation whitelisting mechanisms | |
US20140090063A1 (en) | System and method for inhibiting the processing of new code modules by an outdated runtime environment | |
US20220318393A1 (en) | Trusted Boot-Loader Authentication | |
US20200244461A1 (en) | Data Processing Method and Apparatus | |
US10554629B2 (en) | Push based encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180601 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190228 |
|
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: 20190318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190410 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6513716 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |