RU2017105792A - Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода - Google Patents
Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода Download PDFInfo
- Publication number
- RU2017105792A RU2017105792A RU2017105792A RU2017105792A RU2017105792A RU 2017105792 A RU2017105792 A RU 2017105792A RU 2017105792 A RU2017105792 A RU 2017105792A RU 2017105792 A RU2017105792 A RU 2017105792A RU 2017105792 A RU2017105792 A RU 2017105792A
- Authority
- RU
- Russia
- Prior art keywords
- execution
- code
- code pages
- failure
- request
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/53—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 executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
Claims (61)
1. По меньшей мере один считываемый компьютером носитель информации, содержащий одну или более инструкций, которые при их исполнении по меньшей мере одним процессором вызывают:
идентификацию областей кода, подлежащих отслеживанию;
зондирование и блокирование кодовых страниц, которые включают в себя идентифицированные области кода, и
повторное отображение упомянутых кодовых страниц как только исполняемых.
2. По меньшей мере один считываемый компьютером носитель информации по п. 1, в котором кодовые страницы повторно отображаются как только исполняемые в альтернативном виде расширенной таблицы страниц.
3. По меньшей мере один считываемый компьютером носитель информации по п. 1, дополнительно содержащий одну или более инструкций, которые при их исполнении по меньшей мере одним процессором вызывают:
захват ответвлений и возвратов непрямой виртуальной адресации для кодовых страниц.
4. По меньшей мере один считываемый компьютером носитель информации по п. 1, дополнительно содержащий одну или более инструкций, которые при их исполнении по меньшей мере одним процессором вызывают:
прием запроса на исполнение прикладного программного интерфейса для кодовых страниц; и
генерирование отказа исполнения в ответ на запрос.
5. По меньшей мере один считываемый компьютером носитель информации по п. 4, дополнительно содержащий одну или более инструкций, которые при их исполнении по меньшей мере одним процессором вызывают:
обработку отказов исполнения на кодовых страницах с помощью виртуализированного обработчика исключений.
6. По меньшей мере один считываемый компьютером носитель информации по п. 4, в котором отказ исполнения представляет собой отказ расширенной таблицы страниц.
7. По меньшей мере один считываемый компьютером носитель информации по п. 4, дополнительно содержащий одну или более инструкций, которые при их исполнении по меньшей мере одним процессором вызывают:
инспектирование контекстной информации, относящейся к отказу исполнения, для определения, является ли действительной точка входа для запроса исполнения прикладного программного интерфейса.
8. По меньшей мере один считываемый компьютером носитель информации по п. 7, дополнительно содержащий одну или более инструкций, которые при их исполнении по меньшей мере одним процессором вызывают:
отображение смещения входа на смещение стека, если точка входа недействительна.
9. Устройство, содержащее:
модуль мониторинга, выполненный с возможностью:
идентификации областей кода, подлежащих отслеживанию;
зондирования и блокирования кодовых страниц, которые включают в себя идентифицированные области кода; и
повторного отображения кодовых страниц как только исполняемых.
10. Устройство по п. 9, в котором модуль мониторинга дополнительно выполнен с возможностью:
повторного отображения кодовых страниц как только исполняемых в альтернативном виде расширенной таблицы страниц.
11. Устройство по п. 9, в котором модуль мониторинга дополнительно выполнен с возможностью:
захвата ответвлений и возвратов непрямой виртуальной адресации для кодовых страниц.
12. Устройство по п. 9, в котором модуль мониторинга дополнительно выполнен с возможностью:
приема запроса на исполнение прикладного программного интерфейса для кодовых страниц; и
генерирования отказа исполнения в ответ на запрос.
13. Устройство по п. 12, в котором модуль мониторинга дополнительно выполнен с возможностью:
обработки отказов исполнения на кодовых страницах с помощью виртуализированного обработчика исключений.
14. Устройство по п. 12, в котором отказ модуля мониторинга представляет собой отказ расширенной таблицы страниц.
15. Устройство по п. 12, в котором модуль мониторинга дополнительно выполнен с возможностью:
инспектирования контекстной информации, относящейся к отказу исполнения, для определения, является ли действительной точка входа для запроса исполнения прикладного программного интерфейса.
16. Устройство по п. 15, в котором модуль мониторинга дополнительно выполнен с возможностью:
отображения смещения входа на смещение стека, если точка входа недействительна.
17. Способ, содержащий этапы, на которых:
идентифицируют области кода, подлежащие отслеживанию;
зондируют и фиксируют кодовые страницы, которые включают в себя идентифицированные области кода; и
повторно отображают кодовые страницы как только исполняемые.
18. Способ по п. 17, в котором кодовые страницы повторно отображают как только исполняемые в альтернативном виде расширенной таблицы страниц.
19. Способ по п. 17, дополнительно содержащий этап, на котором:
захватывают ответвления и возвраты непрямой виртуальной адресации для кодовых страниц.
20. Способ по п. 17, дополнительно содержащий этапы, на которых:
принимают запрос на исполнение прикладного программного интерфейса для кодовых страниц; и
генерируют отказ исполнения в ответ на запрос.
21. Способ по п. 20, дополнительно содержащий этап, на котором:
обрабатывают отказы исполнения на кодовых страницах с помощью виртуализированного обработчика исключений.
22. Способ по п. 20, в котором отказ исполнения представляет собой отказ расширенной таблицы страниц.
23. Способ по п. 20, дополнительно содержащий этапы, на которых:
инспектируют контекстную информацию, относящуюся к отказу исполнения, для определения, является ли действительной точка входа для запроса исполнения прикладного программного интерфейса; и
отображают смещение записи на смещение стека, если точка входа недействительна.
24. Система для обнаружения и смягчения вреда от злоумышленного вызова чувствительного кода, содержащая:
модуль мониторинга, выполненный с возможностью:
идентификации областей кода, подлежащих отслеживанию;
зондирования и фиксации кодовых страниц, которые включают в себя идентифицированные области кода; и
повторного отображения кодовых страниц как только исполняемых, причем кодовые страницы повторно отображаются как только исполняемые в альтернативном виде расширенной таблицы страниц.
25. Система по п. 24, характеризующаяся тем, что выполнена с возможностью:
приема запроса на исполнение прикладного программного интерфейса для кодовых страниц;
генерирования отказа исполнения в ответ на запрос; и
инспекцию контекстной информации, относящейся к отказу исполнения, для определения, является ли действительной точка входа для запроса исполнения прикладного программного интерфейса.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/497,745 US9886577B2 (en) | 2014-09-26 | 2014-09-26 | Detection and mitigation of malicious invocation of sensitive code |
| US14/497,745 | 2014-09-26 | ||
| PCT/US2015/046889 WO2016048550A1 (en) | 2014-09-26 | 2015-08-26 | Detection and mitigation of malicious invocation of sensitive code |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| RU2017105792A3 RU2017105792A3 (ru) | 2018-08-22 |
| RU2017105792A true RU2017105792A (ru) | 2018-08-22 |
| RU2665897C2 RU2665897C2 (ru) | 2018-09-04 |
Family
ID=55581763
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2017105792A RU2665897C2 (ru) | 2014-09-26 | 2015-08-26 | Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US9886577B2 (ru) |
| EP (1) | EP3198503A4 (ru) |
| CN (1) | CN106575336A (ru) |
| RU (1) | RU2665897C2 (ru) |
| WO (1) | WO2016048550A1 (ru) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8856324B2 (en) | 2013-01-28 | 2014-10-07 | TrustPipe LLC | System and method for detecting a compromised computing system |
| US9886577B2 (en) | 2014-09-26 | 2018-02-06 | Mcafee, Llc | Detection and mitigation of malicious invocation of sensitive code |
| US10713146B2 (en) * | 2015-06-26 | 2020-07-14 | AVAST Software s.r.o. | Dynamic binary translation and instrumentation with postponed attachment to running native threads |
| US10289570B2 (en) * | 2015-12-24 | 2019-05-14 | Mcafee, Llc | Detecting data corruption by control flow interceptions |
| US20170279821A1 (en) * | 2016-03-22 | 2017-09-28 | TrustPipe LLC | System and method for detecting instruction sequences of interest |
| US10528746B2 (en) * | 2016-12-27 | 2020-01-07 | Intel Corporation | System, apparatus and method for trusted channel creation using execute-only code |
| CN107797895A (zh) * | 2017-05-08 | 2018-03-13 | 中国人民解放军国防科学技术大学 | 一种虚拟机安全监控方法及系统 |
| US11294653B2 (en) * | 2017-09-27 | 2022-04-05 | Jayant Shukla | Methods and systems of disassembling executable code |
| US20240403413A1 (en) * | 2021-10-03 | 2024-12-05 | Seraphic Algorithms Ltd. | Systems and methods for a runtime virtual barrier for fine grained execution control |
| US12147536B1 (en) * | 2022-07-27 | 2024-11-19 | Specialized Security Services LLC | Exploit detection tools for chipsets |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6073142A (en) | 1997-06-23 | 2000-06-06 | Park City Group | Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments |
| US5987610A (en) | 1998-02-12 | 1999-11-16 | Ameritech Corporation | Computer virus screening methods and systems |
| US6460050B1 (en) | 1999-12-22 | 2002-10-01 | Mark Raymond Pace | Distributed content identification system |
| US6901519B1 (en) | 2000-06-22 | 2005-05-31 | Infobahn, Inc. | E-mail virus protection system and method |
| JP2005523539A (ja) | 2002-04-17 | 2005-08-04 | コンピュータ アソシエイツ シンク,インコーポレイテッド | エンタプライズネットワークにおける悪性コードの検知及び対抗 |
| US7984304B1 (en) | 2004-03-02 | 2011-07-19 | Vmware, Inc. | Dynamic verification of validity of executable code |
| US20060236100A1 (en) | 2005-04-19 | 2006-10-19 | Guruprasad Baskaran | System and method for enhanced layer of security to protect a file system from malicious programs |
| US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
| KR20120072266A (ko) | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 전역 네트워크 보안상황 제어 장치 및 방법 |
| US8479295B2 (en) * | 2011-03-30 | 2013-07-02 | Intel Corporation | Method and apparatus for transparently instrumenting an application program |
| RU2468427C1 (ru) * | 2011-07-21 | 2012-11-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ защиты компьютерной системы от активности вредоносных объектов |
| US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
| US9171146B2 (en) * | 2011-12-14 | 2015-10-27 | Intel Corporation | Method and system for monitoring calls to an application program interface (API) function |
| US9275225B2 (en) * | 2013-03-15 | 2016-03-01 | Intel Corporation | Linear address mapping protection |
| US9961102B2 (en) * | 2014-07-16 | 2018-05-01 | Mcafee, Llc | Detection of stack pivoting |
| US9886577B2 (en) | 2014-09-26 | 2018-02-06 | Mcafee, Llc | Detection and mitigation of malicious invocation of sensitive code |
-
2014
- 2014-09-26 US US14/497,745 patent/US9886577B2/en active Active
-
2015
- 2015-08-26 CN CN201580045226.6A patent/CN106575336A/zh active Pending
- 2015-08-26 RU RU2017105792A patent/RU2665897C2/ru active
- 2015-08-26 WO PCT/US2015/046889 patent/WO2016048550A1/en not_active Ceased
- 2015-08-26 EP EP15843440.7A patent/EP3198503A4/en not_active Withdrawn
-
2018
- 2018-01-31 US US15/885,371 patent/US10366228B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP3198503A1 (en) | 2017-08-02 |
| US10366228B2 (en) | 2019-07-30 |
| RU2017105792A3 (ru) | 2018-08-22 |
| RU2665897C2 (ru) | 2018-09-04 |
| US20160094571A1 (en) | 2016-03-31 |
| WO2016048550A1 (en) | 2016-03-31 |
| EP3198503A4 (en) | 2018-03-14 |
| US9886577B2 (en) | 2018-02-06 |
| CN106575336A (zh) | 2017-04-19 |
| US20180157829A1 (en) | 2018-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2017105792A (ru) | Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода | |
| US8370945B2 (en) | Identifying security breaches caused by web-enabled software applications | |
| US8683596B2 (en) | Detection of DOM-based cross-site scripting vulnerabilities | |
| US9876816B2 (en) | Detecting stored cross-site scripting vulnerabilities in web applications | |
| US9876812B1 (en) | Automatic malware signature extraction from runtime information | |
| US10121004B2 (en) | Apparatus and method for monitoring virtual machine based on hypervisor | |
| US10055590B2 (en) | Rule matching in the presence of languages with no types or as an adjunct to current analyses for security vulnerability analysis | |
| CN103150506B (zh) | 一种恶意程序检测的方法和装置 | |
| US20160224789A1 (en) | System and method for hypervisor-based security | |
| US9678859B2 (en) | Detecting error states when interacting with web applications | |
| US10380349B2 (en) | Security analysis using relational abstraction of data structures | |
| RU2018118828A (ru) | Системы и способы обнаружения вредоносных программ с алгоритмом генерации доменов (dga) | |
| JP2016534479A5 (ru) | ||
| JP2009140485A (ja) | ソフトウェアコンポーネントをホワイトリストに登録する方法およびシステム | |
| JP2015526827A5 (ru) | ||
| US20120311712A1 (en) | Testing web applications for file upload vulnerabilities | |
| US20140201842A1 (en) | Identifying stored security vulnerabilities in computer software applications | |
| WO2016123908A1 (zh) | 一种内存越界的检测方法及装置 | |
| US20170116417A1 (en) | Apparatus and method for detecting malicious code | |
| WO2012037439A3 (en) | Single step processing of memory mapped accesses in a hypervisor | |
| CN104239801B (zh) | 0day漏洞的识别方法以及装置 | |
| US9262274B2 (en) | Persistent data across reboots | |
| KR102292844B1 (ko) | 악성코드 탐지 장치 및 방법 | |
| CN104504339B (zh) | 虚拟化安全检测方法与系统 | |
| Campbell | Volatile memory acquisition tools–A comparison across taint and correctness |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PC43 | Official registration of the transfer of the exclusive right without contract for inventions |
Effective date: 20191105 |