RU2017105792A - Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода - Google Patents

Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода Download PDF

Info

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
Application number
RU2017105792A
Other languages
English (en)
Other versions
RU2017105792A3 (ru
RU2665897C2 (ru
Inventor
Рави САХИТА
Лу ДЭН
Ведвиас ШАНБХОГУЭ
Лисинь ЛУ
Александер ШЕПСЕН
Игорь ТАТОУРИАН
Original Assignee
Макафи, Инк.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Макафи, Инк. filed Critical Макафи, Инк.
Publication of RU2017105792A3 publication Critical patent/RU2017105792A3/ru
Publication of RU2017105792A publication Critical patent/RU2017105792A/ru
Application granted granted Critical
Publication of RU2665897C2 publication Critical patent/RU2665897C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/145Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event 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, характеризующаяся тем, что выполнена с возможностью:
приема запроса на исполнение прикладного программного интерфейса для кодовых страниц;
генерирования отказа исполнения в ответ на запрос; и
инспекцию контекстной информации, относящейся к отказу исполнения, для определения, является ли действительной точка входа для запроса исполнения прикладного программного интерфейса.
RU2017105792A 2014-09-26 2015-08-26 Обнаружение и смягчение вреда от злоумышленного вызова чувствительного кода RU2665897C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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