[go: up one dir, main page]

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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

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, характеризующаяся тем, что выполнена с возможностью:
приема запроса на исполнение прикладного программного интерфейса для кодовых страниц;
генерирования отказа исполнения в ответ на запрос; и
инспекцию контекстной информации, относящейся к отказу исполнения, для определения, является ли действительной точка входа для запроса исполнения прикладного программного интерфейса.
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 (10)

* 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
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)

* 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
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

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