RU2011111535A - Эвристический способ анализа кода - Google Patents

Эвристический способ анализа кода Download PDF

Info

Publication number
RU2011111535A
RU2011111535A RU2011111535/08A RU2011111535A RU2011111535A RU 2011111535 A RU2011111535 A RU 2011111535A RU 2011111535/08 A RU2011111535/08 A RU 2011111535/08A RU 2011111535 A RU2011111535 A RU 2011111535A RU 2011111535 A RU2011111535 A RU 2011111535A
Authority
RU
Russia
Prior art keywords
instruction
processor
criteria
instructions
suspicion
Prior art date
Application number
RU2011111535/08A
Other languages
English (en)
Other versions
RU2526716C2 (ru
Inventor
Зденек БРИЭТЕНБАХЕР (CZ)
Зденек БРИЭТЕНБАХЕР
Original Assignee
Авг Текнолоджиз Сз, С.Р.О. (Cz)
Авг Текнолоджиз Сз, С.Р.О.
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 Авг Текнолоджиз Сз, С.Р.О. (Cz), Авг Текнолоджиз Сз, С.Р.О. filed Critical Авг Текнолоджиз Сз, С.Р.О. (Cz)
Publication of RU2011111535A publication Critical patent/RU2011111535A/ru
Application granted granted Critical
Publication of RU2526716C2 publication Critical patent/RU2526716C2/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

1. Способ обнаружения вредоносных программ в вычислительном устройстве, содержащий этапы, на которых: ! - анализируют, посредством процессора вычислительного устройства, программу, содержащую последовательность программных инструкций, сохраненных на машиночитаемом носителе, функционально соединенном с процессором; ! - определяют, посредством процессора, то, удовлетворяет или нет каждая инструкция в последовательности любому критерию из группы критериев подозрительности; ! - назначают, посредством процессора, количественный показатель на уровне инструкций для каждой инструкции, которая удовлетворяет любому из критериев подозрительности; !- суммируют, посредством процессора, количественные показатели на уровне инструкций для каждой инструкции, для получения в результате количественного показателя на уровне программы; ! - определяют, посредством процессора, то, превышает или нет количественный показатель на уровне программы пороговое значение; и ! - если количественный показатель на уровне программы превышает пороговое значение, создают, посредством процессора, сообщение, указывающее результат обнаружения вредоносных программ. ! 2. Способ по п.1, в котором анализ дополнительно содержит этап, на котором загружают каждую инструкцию в последовательности инструкций из машиночитаемого запоминающего устройства. ! 3. Способ по п.1, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к преобразованию данных. ! 4. Способ по п.1, в котором критерии подозрительности содержат определение того, принадлежит или нет инструкция группе инструкций, которые, совместно, не приводят к

Claims (17)

1. Способ обнаружения вредоносных программ в вычислительном устройстве, содержащий этапы, на которых:
- анализируют, посредством процессора вычислительного устройства, программу, содержащую последовательность программных инструкций, сохраненных на машиночитаемом носителе, функционально соединенном с процессором;
- определяют, посредством процессора, то, удовлетворяет или нет каждая инструкция в последовательности любому критерию из группы критериев подозрительности;
- назначают, посредством процессора, количественный показатель на уровне инструкций для каждой инструкции, которая удовлетворяет любому из критериев подозрительности;
- суммируют, посредством процессора, количественные показатели на уровне инструкций для каждой инструкции, для получения в результате количественного показателя на уровне программы;
- определяют, посредством процессора, то, превышает или нет количественный показатель на уровне программы пороговое значение; и
- если количественный показатель на уровне программы превышает пороговое значение, создают, посредством процессора, сообщение, указывающее результат обнаружения вредоносных программ.
2. Способ по п.1, в котором анализ дополнительно содержит этап, на котором загружают каждую инструкцию в последовательности инструкций из машиночитаемого запоминающего устройства.
3. Способ по п.1, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к преобразованию данных.
4. Способ по п.1, в котором критерии подозрительности содержат определение того, принадлежит или нет инструкция группе инструкций, которые, совместно, не приводят к преобразованию данных, после того как группа инструкций выполняет операцию.
5. Способ по п.1, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к переходу к другой инструкции.
6. Способ по п.1, в котором критерии подозрительности содержат определение того, имеют или нет, по меньшей мере, две последовательные инструкции идентичный смысл.
7. Способ по п.1, в котором критерии подозрительности содержат определение того, устанавливает или нет инструкция флаг, который не используется какой-либо другой инструкцией.
8. Способ по п.1, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к значимому циклическому сдвигу данных.
9. Способ обнаружения вредоносных программ в вычислительном устройстве, содержащий этапы, на которых:
- исполняют, посредством процессора вычислительного устройства, программу анализа программного обеспечения, причем исполнение содержит этапы, на которых:
- загружают, посредством процессора, последовательность программных инструкций, сохраненных на машиночитаемом носителе, функционально соединенном с процессором,
- анализируют, посредством процессора, каждую программную инструкцию в упомянутой последовательности, когда она выполняется,
- определяют, посредством процессора, то, удовлетворяет или нет каждая инструкция в последовательности любому критерию из группы критериев подозрительности во время выполнения,
- назначают, посредством процессора, количественный показатель на уровне инструкций для каждой инструкции, которая удовлетворяет любому из критериев подозрительности,
- суммируют, посредством процессора, количественные показатели на уровне инструкций для каждой инструкции, для получения в результате количественного показателя на уровне программы,
- определяют, посредством процессора, то, превышает или нет количественный показатель на уровне программы пороговое значение, и
- если количественный показатель на уровне программы превышает пороговое значение, создают, посредством процессора, сообщение, указывающее результат обнаружения вредоносных программ.
10. Способ по п.9, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к преобразованию данных.
11. Способ по п.9, в котором критерии подозрительности содержат определение того, принадлежит или нет инструкция группе инструкций, которые, совместно, не приводят к преобразованию данных после того, как группа инструкций выполняет операцию.
12. Способ по п.9, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к переходу к другой инструкции.
13. Способ по п.9, в котором критерии подозрительности содержат определение того, имеют или нет, по меньшей мере, две последовательные инструкции идентичный смысл.
14. Способ по п.9, в котором критерии подозрительности содержат определение того, устанавливает или нет инструкция флаг, который не используется какой-либо другой инструкцией.
15. Способ по п.9, в котором критерии подозрительности содержат определение того, приводит или нет инструкция к значимому циклическому сдвигу данных.
16. Способ обнаружения вредоносных программ в вычислительном устройстве, содержащий этапы, на которых:
- анализируют, посредством процессора вычислительного устройства, программу, содержащую последовательность программных инструкций, сохраненных на машиночитаемом носителе, функционально соединенном с процессором;
- определяют, посредством процессора, то, удовлетворяет или нет каждая инструкция в последовательности любому критерию из группы критериев подозрительности, причем группа критериев подозрительности содержит следующее:
- определение того, приводит или нет инструкция к преобразованию данных,
- определение того, приводит или нет инструкция к переходу к другой инструкции, и
- определение того, имеют или нет, по меньшей мере, две последовательные инструкции идентичный смысл;
- назначают, посредством процессора, количественный показатель на уровне инструкций для каждой инструкции, которая удовлетворяет любому из критериев подозрительности;
- суммируют, посредством процессора, количественные показатели на уровне инструкций для каждой инструкции, для получения в результате количественного показателя на уровне программы;
- определяют, посредством процессора, то, превышает или нет количественный показатель на уровне программы пороговое значение; и
- если количественный показатель на уровне программы превышает пороговое значение, создают, посредством процессора, сообщение, указывающее результат обнаружения вредоносных программ.
17. Способ по п.16, в котором анализ дополнительно содержит этап, на котором загружают каждую инструкцию в последовательности инструкций из машиночитаемого запоминающего устройства.
RU2011111535/08A 2008-08-28 2009-08-28 Эвристический способ анализа кода RU2526716C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US9260208P 2008-08-28 2008-08-28
US61/092,602 2008-08-28
US12/548,747 US8904536B2 (en) 2008-08-28 2009-08-27 Heuristic method of code analysis
US12/548,747 2009-08-27
PCT/IB2009/006957 WO2010023557A2 (en) 2008-08-28 2009-08-28 Heuristic method of code analysis

Publications (2)

Publication Number Publication Date
RU2011111535A true RU2011111535A (ru) 2012-10-10
RU2526716C2 RU2526716C2 (ru) 2014-08-27

Family

ID=41572506

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011111535/08A RU2526716C2 (ru) 2008-08-28 2009-08-28 Эвристический способ анализа кода

Country Status (13)

Country Link
US (1) US8904536B2 (ru)
EP (1) EP2350903B1 (ru)
JP (1) JP2012501028A (ru)
CN (1) CN102203792B (ru)
AU (1) AU2009286432B2 (ru)
BR (1) BRPI0913165A2 (ru)
CA (1) CA2735545C (ru)
HK (1) HK1162709A1 (ru)
MY (1) MY153801A (ru)
RU (1) RU2526716C2 (ru)
SG (1) SG193809A1 (ru)
WO (1) WO2010023557A2 (ru)
ZA (1) ZA201101746B (ru)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402541B2 (en) * 2009-03-12 2013-03-19 Microsoft Corporation Proactive exploit detection
KR101051641B1 (ko) * 2010-03-30 2011-07-26 주식회사 안철수연구소 이동통신 단말 및 이를 이용한 행위기반 악성 코드 진단 방법
US9009819B1 (en) 2011-01-20 2015-04-14 Symantec Corporation Method and system for detecting rogue security software that displays frequent misleading warnings
CN102955912B (zh) * 2011-08-23 2013-11-20 腾讯科技(深圳)有限公司 一种程序恶意属性判别方法和服务器
US20130239214A1 (en) * 2012-03-06 2013-09-12 Trusteer Ltd. Method for detecting and removing malware
RU2510075C2 (ru) 2012-04-11 2014-03-20 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ обнаружения вредоносного программного обеспечения в ядре операционной системы
US9235493B2 (en) * 2012-11-30 2016-01-12 Oracle International Corporation System and method for peer-based code quality analysis reporting
US10152591B2 (en) 2013-02-10 2018-12-11 Paypal, Inc. Protecting against malware variants using reconstructed code of malware
JP6176868B2 (ja) 2013-02-10 2017-08-09 ペイパル・インク 予測的なセキュリティ製品を提供し、既存のセキュリティ製品を評価する方法と製品
CN103150511B (zh) * 2013-03-18 2016-12-28 珠海市君天电子科技有限公司 一种安全防护系统
KR101461051B1 (ko) * 2013-06-11 2014-11-13 (주) 에스에스알 웹 기능 분석을 통한 악성 코드 탐지방법 및 그 기록매체
US9280369B1 (en) 2013-07-12 2016-03-08 The Boeing Company Systems and methods of analyzing a software component
US9852290B1 (en) 2013-07-12 2017-12-26 The Boeing Company Systems and methods of analyzing a software component
US9336025B2 (en) 2013-07-12 2016-05-10 The Boeing Company Systems and methods of analyzing a software component
US9396082B2 (en) 2013-07-12 2016-07-19 The Boeing Company Systems and methods of analyzing a software component
US9479521B2 (en) * 2013-09-30 2016-10-25 The Boeing Company Software network behavior analysis and identification system
US9323931B2 (en) 2013-10-04 2016-04-26 Bitdefender IPR Management Ltd. Complex scoring for malware detection
CN105204825B (zh) * 2014-06-05 2020-07-14 腾讯科技(深圳)有限公司 终端系统安全监控的方法和装置
US20170185785A1 (en) * 2014-07-14 2017-06-29 Iota Security Inc. System, method and apparatus for detecting vulnerabilities in electronic devices
US9659176B1 (en) * 2014-07-17 2017-05-23 Symantec Corporation Systems and methods for generating repair scripts that facilitate remediation of malware side-effects
KR101537088B1 (ko) * 2014-09-02 2015-07-15 인포섹(주) Api 호출 흐름 기반의 악성코드 탐지 시스템 및 방법
US10050993B2 (en) 2014-09-24 2018-08-14 Mcafee, Llc Non-invasive whitelisting
US10089465B2 (en) 2015-07-24 2018-10-02 Bitdefender IPR Management Ltd. Systems and methods for tracking malicious behavior across multiple software entities
US9390268B1 (en) * 2015-08-04 2016-07-12 Iboss, Inc. Software program identification based on program behavior
RU2613535C1 (ru) * 2015-11-20 2017-03-16 Илья Самуилович Рабинович Способ обнаружения вредоносных программ и элементов
JP5982597B1 (ja) * 2016-03-10 2016-08-31 株式会社Ffri 情報処理装置、情報処理方法、プログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
CA3054842A1 (en) 2017-03-01 2018-09-07 Cujo LLC Detecting malicious behavior within local networks
US11307975B2 (en) 2020-02-20 2022-04-19 International Business Machines Corporation Machine code analysis for identifying software defects
US11176026B2 (en) 2020-02-20 2021-11-16 International Business Machines Corporation Assignment of test case priorities based on combinatorial test design model analysis
US11663113B2 (en) 2020-02-20 2023-05-30 International Business Machines Corporation Real time fault localization using combinatorial test design techniques and test case priority selection
US11086768B1 (en) * 2020-02-20 2021-08-10 International Business Machines Corporation Identifying false positives in test case failures using combinatorics

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6357008B1 (en) * 1997-09-23 2002-03-12 Symantec Corporation Dynamic heuristic method for detecting computer viruses using decryption exploration and evaluation phases
US7089591B1 (en) * 1999-07-30 2006-08-08 Symantec Corporation Generic detection and elimination of marco viruses
US7069589B2 (en) * 2000-07-14 2006-06-27 Computer Associates Think, Inc.. Detection of a class of viral code
US7065789B1 (en) * 2001-05-22 2006-06-20 Computer Associates Think, Inc. System and method for increasing heuristics suspicion levels in analyzed computer code
US7266844B2 (en) * 2001-09-27 2007-09-04 Mcafee, Inc. Heuristic detection of polymorphic computer viruses based on redundancy in viral code
JP3992136B2 (ja) * 2001-12-17 2007-10-17 学校法人金沢工業大学 ウイルス検出方法および装置
US7832011B2 (en) 2002-08-30 2010-11-09 Symantec Corporation Method and apparatus for detecting malicious code in an information handling system
US7376732B2 (en) * 2002-11-08 2008-05-20 Federal Network Systems, Llc Systems and methods for preventing intrusion at a web host
GB2396227B (en) * 2002-12-12 2006-02-08 Messagelabs Ltd Method of and system for heuristically detecting viruses in executable code
GB2400197B (en) * 2003-04-03 2006-04-12 Messagelabs Ltd System for and method of detecting malware in macros and executable scripts
US7644441B2 (en) * 2003-09-26 2010-01-05 Cigital, Inc. Methods for identifying malicious software
US7624449B1 (en) * 2004-01-22 2009-11-24 Symantec Corporation Countering polymorphic malicious computer code through code optimization
US20060211490A1 (en) * 2005-03-17 2006-09-21 Falvey Grahame M Security for gaming devices
US20070079375A1 (en) * 2005-10-04 2007-04-05 Drew Copley Computer Behavioral Management Using Heuristic Analysis
US7712132B1 (en) * 2005-10-06 2010-05-04 Ogilvie John W Detecting surreptitious spyware
US8443442B2 (en) * 2006-01-31 2013-05-14 The Penn State Research Foundation Signature-free buffer overflow attack blocker
US7890612B2 (en) * 2006-05-08 2011-02-15 Electro Guard Corp. Method and apparatus for regulating data flow between a communications device and a network
US20080005797A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Identifying malware in a boot environment
US8769674B2 (en) * 2006-09-07 2014-07-01 Symantec Corporation Instant message scanning
US20110047618A1 (en) * 2006-10-18 2011-02-24 University Of Virginia Patent Foundation Method, System, and Computer Program Product for Malware Detection, Analysis, and Response
JP2008158686A (ja) 2006-12-21 2008-07-10 Toshiba Corp プログラム検証装置及び方法、プログラム検証に基づく署名システム
US20090064337A1 (en) * 2007-09-05 2009-03-05 Shih-Wei Chien Method and apparatus for preventing web page attacks
US8171554B2 (en) * 2008-02-04 2012-05-01 Yuval Elovici System that provides early detection, alert, and response to electronic threats

Also Published As

Publication number Publication date
CA2735545A1 (en) 2010-03-04
WO2010023557A2 (en) 2010-03-04
CN102203792A (zh) 2011-09-28
SG193809A1 (en) 2013-10-30
RU2526716C2 (ru) 2014-08-27
MY153801A (en) 2015-03-31
BRPI0913165A2 (pt) 2016-01-12
WO2010023557A3 (en) 2010-06-10
ZA201101746B (en) 2012-01-25
AU2009286432B2 (en) 2014-05-15
HK1162709A1 (en) 2012-08-31
EP2350903B1 (en) 2016-11-30
JP2012501028A (ja) 2012-01-12
CA2735545C (en) 2015-12-15
AU2009286432A1 (en) 2010-03-04
US20100058473A1 (en) 2010-03-04
EP2350903A2 (en) 2011-08-03
US8904536B2 (en) 2014-12-02
CN102203792B (zh) 2014-05-07

Similar Documents

Publication Publication Date Title
RU2011111535A (ru) Эвристический способ анализа кода
US10127379B2 (en) Profiling code execution
KR100974886B1 (ko) 파일에 삽입된 악성 코드 제거 장치 및 방법
RU2015136264A (ru) Способ ведения базы данных и соответствующий сервер
US20160283714A1 (en) Technologies for control flow exploit mitigation using processor trace
RU2014121249A (ru) Системы и способы защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга
US9389986B2 (en) Identifying impacted tests from statically collected data
US7519997B2 (en) Method of and system for heuristically detecting viruses in executable code
RU2013154735A (ru) Способ упреждающего сканирования на наличие вредоносного программного обеспечения
WO2011084614A3 (en) Obfuscated malware detection
RU2016115859A (ru) Система и способ для применения индикатора репутации для облегчения сканирования на наличие вредоносных программ
EP2669807A3 (en) Processor resource and execution protection methods and apparatus
WO2012135192A3 (en) System and method for virtual machine monitor based anti-malware security
RU2012144648A (ru) Приоритизация критериев выбора посредством интеллектуального автоматизированного помощника
US10623438B2 (en) Detecting execution of modified executable code
US9558091B2 (en) Information processing device, fault avoidance method, and program storage medium
RU2015111150A (ru) Способ и устройство для обнаружения голосовой активности
RU2011135738A (ru) Механизм против мошенничества на основе доверенного объекта
GB2505844A (en) Moving blocks of data between main memory and storage class memory
JP2014500564A5 (ru)
US10846228B2 (en) Instruction cache management based on temporal locality
US10395033B2 (en) System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks
RU2016101218A (ru) Способ и аппарат обеспечения речевых подсказок
EP2405357A3 (en) Methods systems and apparatus for determining whether built-in-test fault codes are indicative of an actual fault condition or a false alarm
CN116167058A (zh) 一种基于代码疫苗的运行时漏洞分析方法及装置

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
PC43 Official registration of the transfer of the exclusive right without contract for inventions

Effective date: 20200127