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; 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/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; 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; 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/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
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 (8)
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 |
DE102017106016A1 (de) * | 2016-03-22 | 2017-09-28 | TrustPipe LLC | System und Verfahren zur Erkennung von Befehlssequenzen von Interesse |
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 |
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 |
CN1647483A (zh) | 2002-04-17 | 2005-07-27 | 计算机联合思想公司 | 检测和反击企业网络中的恶意代码 |
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 |
WO2013089695A1 (en) * | 2011-12-14 | 2013-06-20 | 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 WO PCT/US2015/046889 patent/WO2016048550A1/en active Application Filing
- 2015-08-26 RU RU2017105792A patent/RU2665897C2/ru active
- 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 |
---|---|
RU2017105792A3 (ru) | 2018-08-22 |
US20160094571A1 (en) | 2016-03-31 |
EP3198503A4 (en) | 2018-03-14 |
RU2665897C2 (ru) | 2018-09-04 |
CN106575336A (zh) | 2017-04-19 |
US9886577B2 (en) | 2018-02-06 |
WO2016048550A1 (en) | 2016-03-31 |
US10366228B2 (en) | 2019-07-30 |
EP3198503A1 (en) | 2017-08-02 |
US20180157829A1 (en) | 2018-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2017105792A (ru) | Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода | |
US8370945B2 (en) | Identifying security breaches caused by web-enabled software applications | |
US10380343B1 (en) | System and method for programmatic runtime de-obfuscation of obfuscated software utilizing virtual machine introspection and manipulation of virtual machine guest memory permissions | |
US9876812B1 (en) | Automatic malware signature extraction from runtime information | |
US8683596B2 (en) | Detection of DOM-based cross-site scripting vulnerabilities | |
US9779240B2 (en) | System and method for hypervisor-based security | |
JP4901842B2 (ja) | ソフトウェアコンポーネントをホワイトリストに登録する方法およびシステム | |
JP6494744B2 (ja) | リターン指向プログラミング攻撃の透過的な検出及び抽出 | |
CA2856268C (en) | Methods of detection of software exploitation | |
US20170024567A1 (en) | Detecting stored cross-site scripting vulnerabilities in web applications | |
US9678859B2 (en) | Detecting error states when interacting with web applications | |
US9384354B2 (en) | Rule matching in the presence of languages with no types or as an adjunct to current analyses for security vulnerability analysis | |
JP2016534479A5 (ru) | ||
US20170286693A1 (en) | Security analysis using relational abstraction of data structures | |
JP2015507310A5 (ru) | ||
JP2015526827A5 (ru) | ||
US20120311712A1 (en) | Testing web applications for file upload vulnerabilities | |
RU2018118828A (ru) | Системы и способы обнаружения вредоносных программ с алгоритмом генерации доменов (dga) | |
US20140201840A1 (en) | Identifying stored security vulnerabilities in computer software applications | |
JP2009093615A (ja) | 仮想環境を利用した非実行ファイル内のエクスプロイトコード分析方法及び装置 | |
US20160171104A1 (en) | Detecting multistep operations when interacting with web applications | |
WO2016123908A1 (zh) | 一种内存越界的检测方法及装置 | |
US20150178168A1 (en) | Persistent Data Across Reboots | |
RU2016107749A (ru) | Верификация, что конкретная информация переносится приложением | |
WO2017054731A1 (zh) | 处理被劫持浏览器的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC43 | Official registration of the transfer of the exclusive right without contract for inventions |
Effective date: 20191105 |