RU2017110787A - Автоматизированная проверка системы программного обеспечения - Google Patents

Автоматизированная проверка системы программного обеспечения Download PDF

Info

Publication number
RU2017110787A
RU2017110787A RU2017110787A RU2017110787A RU2017110787A RU 2017110787 A RU2017110787 A RU 2017110787A RU 2017110787 A RU2017110787 A RU 2017110787A RU 2017110787 A RU2017110787 A RU 2017110787A RU 2017110787 A RU2017110787 A RU 2017110787A
Authority
RU
Russia
Prior art keywords
software
properties
software system
level
implementation option
Prior art date
Application number
RU2017110787A
Other languages
English (en)
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 RU2017110787A publication Critical patent/RU2017110787A/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Claims (33)

1. Способ, содержащий этапы, на которых:
создают спецификацию, которая включает в себя свойства комплекта программного обеспечения, содержащего одно или более приложений, один или более драйверов устройств и операционную систему;
проверяют, что свойства комплекта программного обеспечения согласуются со спецификацией; и
предоставляют указание о том, что комплект программного обеспечения прошел проверку на согласованность со спецификацией.
2. Способ по п.1, дополнительно содержащий этап, на котором доказывают, что свойства комплекта программного обеспечения согласуются со спецификацией.
3. Способ по п.2, в котором этап доказывания, что свойства комплекта программного обеспечения согласуются со спецификацией, содержит этапы, на которых:
доказывают функциональную правильность комплекта программного обеспечения; и
доказывают реляционные свойства комплекта программного обеспечения.
4. Способ по любому из пп.1-3, в котором спецификация содержит высокоуровневую спецификацию, которая выражена машиной с конечным числом состояний.
5. Способ по любому из пп.1-3, дополнительно содержащий этапы, на которых:
компилируют код на высокоуровневом языке, реализующий комплект программного обеспечения, в код на языке ассемблера; и
проверяют, что свойства кода на языке ассемблера согласуются со спецификацией.
6. Способ по любому из пп.1-3, дополнительно содержащий этап, на котором преобразовывают спецификацию в низкоуровневую спецификацию перед проверкой того, что свойства комплекта программного обеспечения согласуются со спецификацией.
7. Система, содержащая:
один или более процессоров; и
один или более машиночитаемых носителей информации, хранящих команды, исполняемые одним или более процессорами для выполнения действий, содержащих:
компиляцию варианта реализации на высокоуровневом языке системы программного обеспечения для создания варианта реализации на языке ассемблера, при этом система программного обеспечения включает в себя операционную систему, один или более драйверов и одно или более приложений;
проверку функциональной правильности системы программного обеспечения; и
доказывание реляционных свойств варианта реализации на языке ассемблера.
8. Система по п.7, в которой проверка функциональной правильности системы программного обеспечения включает в себя проверку свойств информационного потока системы программного обеспечения.
9. Система по п.7, в которой действия дополнительно содержат сертификацию через подтверждение того, что:
открытый ключ соответствует секретному ключу; и
секретный ключ известен только системе программного обеспечения.
10. Система по п.7, в которой действия дополнительно содержат проверку правильности системы программного обеспечения посредством проверки каждого компонента системы программного обеспечения.
11. Система по п.7, в которой действия дополнительно содержат проверку, что первый компонент системы программного обеспечения неспособен к вмешательству во вторую спецификацию второго компонента системы программного обеспечения.
12. Система по любому из пп.7-11, в которой действия дополнительно содержат демонстрацию удаленной эквивалентности системы программного обеспечения.
13. Система по любому из пп.7-11, в которой:
высокоуровневая спецификация соответствует варианту реализации на высокоуровневом языке системы программного обеспечения; и
высокоуровневая спецификация выражена по меньшей мере одной машиной с конечным числом состояний.
14. Система по любому из пп.7-11, дополнительно содержащая определение того, что вариант реализации на языке ассемблера реализует функционально правильную версию низкоуровневой спецификации.
15. Система по любому из пп.7-11, дополнительно содержащая:
создание варианта реализации на машинном коде на основе варианта реализации на языке ассемблера; и
исполнение варианта реализации на машинном коде на доверенной платформе аппаратного обеспечения.
RU2017110787A 2014-10-02 2015-10-01 Автоматизированная проверка системы программного обеспечения RU2017110787A (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/505,204 2014-10-02
US14/505,204 US9536093B2 (en) 2014-10-02 2014-10-02 Automated verification of a software system
PCT/US2015/053408 WO2016054321A1 (en) 2014-10-02 2015-10-01 Automated verification of a software system

Publications (1)

Publication Number Publication Date
RU2017110787A true RU2017110787A (ru) 2018-10-01

Family

ID=54293400

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017110787A RU2017110787A (ru) 2014-10-02 2015-10-01 Автоматизированная проверка системы программного обеспечения

Country Status (7)

Country Link
US (1) US9536093B2 (ru)
EP (1) EP3201819B1 (ru)
KR (1) KR102396071B1 (ru)
CN (1) CN107111713B (ru)
BR (1) BR112017005605A2 (ru)
RU (1) RU2017110787A (ru)
WO (1) WO2016054321A1 (ru)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US10539609B2 (en) * 2014-12-08 2020-01-21 Nxp Usa, Inc. Method of converting high-level test specification language to low-level test implementation language
US9747082B2 (en) 2014-12-18 2017-08-29 International Business Machines Corporation Optimizing program performance with assertion management
US9703552B2 (en) 2014-12-18 2017-07-11 International Business Machines Corporation Assertions based on recently changed code
US9823904B2 (en) 2014-12-18 2017-11-21 International Business Machines Corporation Managed assertions in an integrated development environment
US9678855B2 (en) 2014-12-30 2017-06-13 International Business Machines Corporation Managing assertions while compiling and debugging source code
US10176094B2 (en) 2015-06-30 2019-01-08 Renesas Electronics America Inc. Common MCU self-identification information
US10019572B1 (en) * 2015-08-27 2018-07-10 Amazon Technologies, Inc. Detecting malicious activities by imported software packages
US10032031B1 (en) 2015-08-27 2018-07-24 Amazon Technologies, Inc. Detecting unknown software vulnerabilities and system compromises
US10402584B1 (en) * 2015-10-01 2019-09-03 Hrl Laboratories, Llc System and method for translating security objectives of computer software to properties of software code
WO2017066194A1 (en) 2015-10-11 2017-04-20 Renesas Electronics America Inc. Data driven embedded application building and configuration
TWI590095B (zh) * 2016-05-19 2017-07-01 緯創資通股份有限公司 軟體功能驗證系統及其驗證方法
US9977725B2 (en) * 2016-08-26 2018-05-22 Cisco Technology, Inc. Automatic classification and parallel processing of untested code in a protected runtime environment
US10452459B2 (en) 2016-12-09 2019-10-22 Microsoft Technology Licensing, Llc Device driver telemetry
US10467082B2 (en) * 2016-12-09 2019-11-05 Microsoft Technology Licensing, Llc Device driver verification
US10977384B2 (en) 2017-11-16 2021-04-13 Microsoft Technoogy Licensing, LLC Hardware protection for differential privacy
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11487520B2 (en) * 2017-12-01 2022-11-01 Cotiviti, Inc. Automatically generating reasoning graphs
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10902149B2 (en) 2018-02-01 2021-01-26 Microsoft Technology Licensing, Llc Remote testing analysis for software optimization based on client-side local differential privacy-based data
CN109240907B (zh) * 2018-07-26 2021-07-27 华东师范大学 基于霍尔逻辑的嵌入式实时操作系统的自动化验证方法
US10977375B2 (en) * 2018-08-10 2021-04-13 International Business Machines Corporation Risk assessment of asset leaks in a blockchain
CN109446056B (zh) * 2018-09-11 2023-03-21 平安科技(深圳)有限公司 代码验证方法、装置、电子设备及介质
CN112468473B (zh) * 2018-11-16 2023-10-24 创新先进技术有限公司 可信应用程序的远程证明方法及装置、电子设备
US20200280550A1 (en) * 2019-02-28 2020-09-03 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
CN110347588B (zh) * 2019-06-04 2024-03-15 宁波谦川科技有限公司 软件验证方法、装置、计算机设备和存储介质
SG11202010736YA (en) 2019-11-08 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd System and method for blockchain-based decentralized application development
WO2020035090A2 (en) 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Lightweight decentralized application platform
CN112464174B (zh) * 2020-10-27 2023-09-29 华控清交信息科技(北京)有限公司 验证多方安全计算软件的方法、装置和用于验证的装置
US20230084495A1 (en) * 2021-09-14 2023-03-16 Apple Inc. Verifiable machine code
CN116820419A (zh) * 2022-03-22 2023-09-29 瑞昱半导体股份有限公司 源代码校验方法及非暂态计算机可读存储介质装置
US11921616B1 (en) * 2022-03-29 2024-03-05 Amazon Technologies, Inc. Retaining Dafny specifications
CN114995799B (zh) * 2022-07-18 2022-10-25 新华三半导体技术有限公司 一种汇编代码生成方法、装置及电子设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0410047D0 (en) * 2004-05-05 2004-06-09 Silverdata Ltd An analytical software design system
US20060041873A1 (en) * 2004-08-19 2006-02-23 Cisco Technology, Inc. Computer system and method for verifying functional equivalence
JP2008511934A (ja) * 2004-08-31 2008-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション エンタープライズ・データ統合システムのためのアーキテクチャ
US20060143689A1 (en) * 2004-12-21 2006-06-29 Docomo Communications Laboratories Usa, Inc. Information flow enforcement for RISC-style assembly code
US8104021B2 (en) 2006-06-09 2012-01-24 Microsoft Corporation Verifiable integrity guarantees for machine code programs
US20080271001A1 (en) * 2006-09-11 2008-10-30 Yo Nonomura Method of generating program, information processing device and microcomputer
US8326592B2 (en) * 2007-12-21 2012-12-04 Cadence Design Systems, Inc. Method and system for verifying electronic designs having software components
CN101251823B (zh) * 2008-03-17 2010-08-25 北京天碁科技有限公司 Dsp汇编语言程序验证方法及其装置
WO2010041258A1 (en) 2008-10-10 2010-04-15 Safend Ltd. System and method for validating and controlling applications
CN101446905B (zh) * 2008-12-29 2012-06-27 飞天诚信科技股份有限公司 编译方法
US8201119B2 (en) * 2010-05-06 2012-06-12 Synopsys, Inc. Formal equivalence checking between two models of a circuit design using checkpoints
US9100188B2 (en) 2011-04-18 2015-08-04 Bank Of America Corporation Hardware-based root of trust for cloud environments
US9075996B2 (en) 2012-07-30 2015-07-07 Microsoft Technology Licensing, Llc Evaluating a security stack in response to a request to access a service
US9317682B1 (en) * 2012-12-07 2016-04-19 Hrl Laboratories, Llc Library-based method for information flow integrity enforcement and robust information flow policy development

Also Published As

Publication number Publication date
WO2016054321A1 (en) 2016-04-07
BR112017005605A2 (pt) 2017-12-12
US9536093B2 (en) 2017-01-03
EP3201819B1 (en) 2021-12-01
CN107111713B (zh) 2020-02-07
KR102396071B1 (ko) 2022-05-09
US20160098562A1 (en) 2016-04-07
EP3201819A1 (en) 2017-08-09
KR20170063662A (ko) 2017-06-08
CN107111713A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
RU2017110787A (ru) Автоматизированная проверка системы программного обеспечения
CN102880456B (zh) 插件加载方法及系统
PH12019501503A1 (en) Consensus verification method and device
IN2015DE01395A (ru)
MX369969B (es) Sistemas y metodos para sistemas de manejo de respuesta a demanda mejorados (drms).
RU2017105861A (ru) Проверка данных с использованием аттестации в анклаве
CN103530534B (zh) 一种基于签名验证的Android程序ROOT授权方法
JP2011170847A5 (ru)
MX2018006204A (es) Metodo para verificar la integridad de ejecucion de una aplicacion en dispositivo objetivo.
GB2530928A (en) Automated generation of scripted and manual test cases
AR093834A1 (es) Sistemas y metodos para probar un sistema de comercializacion financiero
JP2015084256A5 (ru)
CN109614107B (zh) 一种软件开发工具包的集成方法和装置
Apvrille et al. Model-driven engineering for designing safe and secure embedded systems
JP2016511484A5 (ru)
WO2016197786A1 (zh) 获取应用信息的方法及装置
IN2015DE00970A (ru)
US9436587B2 (en) Test context generation
TW201612747A (en) Method of module version upgrading and terminal device
Deng et al. Kiasan: a verification and test-case generation framework for Java based on symbolic execution
Dudka et al. Predator: A Tool for Verification of Low-Level List Manipulation: (Competition Contribution)
KR101585926B1 (ko) 운영체제의 자동 테스트 생성 장치 및 방법
Fedyukovich et al. Function summaries in software upgrade checking
Moketar et al. TestMEReq: automated acceptance testing tool for requirements validation
Hwang et al. Architecture of Software Testing Tool for Railway Signalling through Actual Use Interface Channel

Legal Events

Date Code Title Description
FA93 Acknowledgement of application withdrawn (no request for examination)

Effective date: 20181002