JP7231664B2 - 脆弱性特徴の取得方法、装置及び電子機器 - Google Patents

脆弱性特徴の取得方法、装置及び電子機器 Download PDF

Info

Publication number
JP7231664B2
JP7231664B2 JP2021066470A JP2021066470A JP7231664B2 JP 7231664 B2 JP7231664 B2 JP 7231664B2 JP 2021066470 A JP2021066470 A JP 2021066470A JP 2021066470 A JP2021066470 A JP 2021066470A JP 7231664 B2 JP7231664 B2 JP 7231664B2
Authority
JP
Japan
Prior art keywords
vulnerability
feature
code
file
obtaining
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021066470A
Other languages
English (en)
Other versions
JP2021108189A (ja
Inventor
ホンイン チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apollo Intelligent Connectivity Beijing Technology Co Ltd
Original Assignee
Apollo Intelligent Connectivity Beijing Technology Co Ltd
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 Apollo Intelligent Connectivity Beijing Technology Co Ltd filed Critical Apollo Intelligent Connectivity Beijing Technology Co Ltd
Publication of JP2021108189A publication Critical patent/JP2021108189A/ja
Application granted granted Critical
Publication of JP7231664B2 publication Critical patent/JP7231664B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本願は、コンピュータ技術分野に関し、具体的に、情報セキュリティ技術分野に関する。
情報セキュリティ分野において、脆弱性とは、システムに存在する弱点又は欠陥、特定な脅威攻撃又は危険なイベントに対するシステムの感度、又は攻撃する脅威作用の可能性のことである。脆弱性は、アプリケーションソフトウェア又はオペレーティングシステムの設計時の欠陥又はコーディング時の過ちから生み出されたものであるか、また、インタラクション処理プロセスにおけるサービスの設計欠陥又は論理的フローでの合理的ではないところから生み出されたものである可能性もある。これらの欠陥、過ち又は合理的ではないところは、意識的に又は無意識に利用され、組織の資産又は運営に情報システムの攻撃や制御、重要資料の窃取、ユーザデータの改ざん、他のホストコンピュータシステムに侵入するために踏み台として利用されるような不利益な影響を与えるようになる可能性がある。脆弱性特徴は、脆弱性を表徴するための情報であり、脆弱性ごとに脆弱性特徴が複数あり、アンドロイド(Android)(共に登録商標)システムの場合、既知脆弱性の脆弱性特徴をいかにして取得するかは、システムセキュリティ分析にとって非常に需要なことである。
従来の技術において、システム既知の脆弱性に対し、例えば、脆弱性スキャンによってスキャンされた脆弱性は、人によって個々の脆弱性の脆弱性特徴を分析し、個々の脆弱性特徴を検出するとき、脆弱性特徴に基づいて対応する特徴検出コードをコンパイルし、特徴検出コードを検出される対象のマシンで実行させることにより、脆弱性特徴が存在するか否かを検出する。システムに現れた脆弱性が更新された場合、また人によって脆弱性特徴を再分析して後続の検出プロセスを実行するため、脆弱性特徴の取得効率が高くない。
本願は、脆弱性特徴の取得方法、装置及び電子機器を提供し、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができる。
第1の態様によれば、脆弱性特徴の取得方法を提供し、
脆弱性の脆弱性パッチ情報を取得した後に、前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含むステップと、
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するステップと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するステップと、を含む。
本願の技術によれば、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。
第2の態様によれば、脆弱性特徴の取得装置を提供し、
脆弱性の脆弱性パッチ情報を取得し得るために使用される取得モジュールと、
前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含むために使用される確定モジュールと、
前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するために使用される抽出モジュールと、
前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するために使用される送信モジュールと、を含む。
本願の技術によれば、取得モジュールは、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、抽出モジュールは、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、送信モジュールは、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。
第3の態様によれば、電子機器を提供し、
少なくとも1つのプロセッサ、および
前記少なくとも1つのプロセッサと通信するように接続されたメモリを含み、そのうち、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されることで、前記少なくとも1つのプロセッサは、第1の態様に記載の方法を実行することができるようになる。
第4の態様によれば、コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体を提供し、前記コンピュータ命令は、コンピュータに第1の態様に記載の方法を実行させるためのものである。
第5の態様によれば、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータ可読記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、前記コンピュータ可読記憶媒体から前記コンピュータプログラムを読み取ることができ、前記少なくとも1つのプロセッサは、前記コンピュータプログラムを実行することによって、前記電子機器に第1の態様に記載の方法を実行させる。
この部分に記述した内容は、本願の実施例の肝心又は重要な特徴をマークすることを主旨としているわけではなく、本願の範囲を制限するためにも使用されないと理解するべきである。本願の他の特徴は、以下の明細書によって理解しやすくなる。
図面は、本解決手段をよりよく理解するために使用されるものであり、本願に対する限定を構成しない。
本願の一応用シーンの概略図である。 本願に係る脆弱性特徴の取得方法の実施例1のフローチャートである。 本願に係る脆弱性特徴の取得方法の実施例2のフローチャートである。 本願に係る脆弱性特徴の取得方法の実施例3のフローチャートである。 本願に係る脆弱性特徴の取得方法の実施例4のフローチャートである。 本願に係る脆弱性特徴の取得装置の一構造概略図である。 本願に係る脆弱性特徴の取得装置の一構造概略図である。 本願に係る脆弱性特徴の取得装置の一構造概略図である。 本願の実施例の脆弱性特徴の取得方法を実現するための電子機器のブロック図である。
以下、本願の例示的な実施例を図面に合わせて説明する。理解に寄与するための本願の実施例の様々な詳細が含まれるが、これらは、例示的なものにすぎないと考えるべきである。よって、当業者は、ここに記述した実施例に対する様々な変化や修正が可能であり、本願の範囲や趣旨から逸脱されないと認識するべきである。同様に、明確や簡潔のため、以下の記述では、周知の機能や構造に関するものを省略するようにしている。
本願の実施例において、「例示的に」または「例えば」などの用語は、例、例証又は説明として表すためのものであり、本願の実施例において、「例示的に」または「例えば」と記述されたいずれの実施例又は解決手段は、他の実施例又は解決手段よりも好ましく又は利点がより多いように解釈するべきではない。正確にいうと、「例示的に」または「例えば」などの用語の使用は、関連概念を具体的な方式で呈することを主旨としている。
従来の技術において、脆弱性特徴を取得する方式は、脆弱性の脆弱性特徴を人によって分析し、システムに現れた脆弱性が更新された場合、また脆弱性特徴を人によって再分析する必要があるため、脆弱性特徴の取得効率が高くなくて脆弱性データベースのメンテナンスコストが高い。本願は、この問題を解決するために、脆弱性特徴の取得方法、装置及び電子機器を提供し、タイプが異なる脆弱性に基づいて異なる脆弱性分析エンジンを予め組み立てることにより、タイプが異なる脆弱性に対して、異なる脆弱性分析エンジンを使用して脆弱性特徴を分析して抽出し、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出し、前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信し、電子機器で脆弱性検出のために使用される。よって、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることができ、システム脆弱性データベースのメンテナンスコストが軽減される。以下、本願の実施例の脆弱性特徴の取得方法の具体的な実現プロセスについて、図面に合わせながら具体的な実施例をもって詳細に説明する。
まず、以下、本願の実施例における用語の一部について、当業者がよく理解するように、解釈して説明する。
1、脆弱性特徴とは、脆弱性を表徴するための情報であり、コードタイプの脆弱性である場合、脆弱性特徴は、脆弱性のソースコードと脆弱性の修復コードとの間の差異情報であり、非コードタイプの脆弱性である場合、脆弱性特徴は、脆弱性のソースファイルと脆弱性の修復ファイルとの間の変化情報である。
2、実行エンティティとは、コードファイルがアンドロイドシステムで実行されるときに対応するアプリケーションプログラム(APP)又はシステムソフトウェアであり、アプリケーションプログラムは、社交アプリケーションプログラムやショッピングアプリケーションプログラムなどの各種のアプリケーションプログラムである。
3、テストターゲットマシンクラスターとは、複数のテストターゲットマシンであり、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築された脆弱性特徴をテストするためのテストマシンのことであり、テストターゲットマシンごとに、一アンドロイドシステムバージョン、一プロセッサアーキテクチャプラットフォーム及び一セキュリティパッチバージョンに対応する。
図1は、本願の一応用シーンの概略図であり、図1に示すように、本願に係る脆弱性特徴の取得装置は、既知脆弱性の脆弱性特徴、または、既知脆弱性の脆弱性特徴及び脆弱性特徴ごとに対応する実行エンティティを取得するためのものであり、実行エンティティは、アプリケーションプログラム(APP)又はシステムソフトウェアであってもよく、その中のアプリケーションプログラムは、例えば、社交アプリケーションプログラムやショッピングアプリケーションプログラムなどで、既知の脆弱性は、例えば、脆弱性スキャンソフトウェアによってスキャンされたアンドロイドシステムの脆弱性、または、アンドロイド公式ウェブサイトですでに公開された発表における脆弱性である。脆弱性特徴の取得装置によって取得された脆弱性の脆弱性特徴、又は、脆弱性特徴及び対応する実行エンティティは、脆弱性検出のために使用されることができ、全体的に、Javaリフレクションメカニズム、逆コンパイル(oatdump)などを含む可能な脆弱性特徴駆動モードで実現される。具体的に、従来の検出方法を用いて、例えば、個々の脆弱性特徴を検出するとき、脆弱性特徴に基づいて対応する特徴検出コードをコンパイルし、特徴検出コードを検出される電子機器内の対応する実行エンティティで実行(実行エンティティがない場合、電子機器内の実行エンティティに渡って一つずつ次第に実行される)し、脆弱性特徴が存在するか否かを検出し、これにより、脆弱性検出の目的を達成するようになる。その中の検出される電子機器は、アンドロイド(Android)ソフトウェアシステムを使用する電子機器、例えば、携帯電話、ポケットパソコン又は車載機器などであってもよい。本願に係る脆弱性特徴の取得装置は、アンドロイドシステムの既知脆弱性の脆弱性特徴をオンラインで取得することができ、アンドロイドシステムに現れた脆弱性が更新された場合、更新された脆弱性の脆弱性特徴をリアルタイムに取得することができるため、脆弱性特徴の取得効率が向上し、システム脆弱性データベースのメンテナンスコストが軽減される。以下、脆弱性特徴の取得プロセスについて、図面に合わせながら詳細に説明する。
図2は、本願に係る脆弱性特徴の取得方法の実施例1のフローチャートであり、本実施例における実行主体は、図1に示すような脆弱性特徴の取得装置であってもよく、該脆弱性特徴の取得装置は、ハードウェア装置又はソフトウェアモジュールであってもよく、図2に示すように、本実施例の方法は、以下のステップを含むことができる。
S101、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性のタイプを確定し、タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含む。
そのうち、脆弱性の脆弱性パッチ情報の取得は、アンドロイド公式ウェブサイトセキュリティ発表情報から取得することができ、具体的に、アンドロイド公式ウェブサイトセキュリティ発表情報には、脆弱性、例えば、公共脆弱性や暴露(Common Vulnerabilities and Exposures、CVE)の識別子、参照番号、タイプ、重大度および更新されたAndroidオープンソースコードプロジェクト(Android Open-Source Project、AOSP)のバージョンなどの情報が含まれており、下記のような表1は、セキュリティ発表情報の内容の例であり、そのうち、参照番号には、脆弱性パッチ情報のリンクが携帯されており、タイプは、リモート命令又はコード実行脆弱性(remote command/code execute 、RCE)であり、重大度は、高、中及び低を含む。
Figure 0007231664000001
脆弱性の脆弱性パッチ情報を取得するには、まず、脆弱性の識別子に基づいて対応する参照番号を確定し、参照番号に基づいて対応する脆弱性パッチ情報を取得する。脆弱性の脆弱性パッチ情報を取得した後に、脆弱性のタイプがコードタイプであるか、または、非コードタイプであるかを確定することができる。脆弱性の脆弱性パッチ情報が脆弱性のソースコード及び脆弱性の修復コードを含む場合、脆弱性のタイプがコードタイプであると確定することができるが、脆弱性の脆弱性パッチ情報が脆弱性のソースファイル及び脆弱性の修復ファイルを含む場合、脆弱性のタイプが非コードタイプであると確定することができる。
説明する必要があるものとして、セキュリティ発表情報に脆弱性が複数含まれている場合、複数の脆弱性の脆弱性パッチ情報を1回で取得することができ、個々の脆弱性に対し、個々の脆弱性の脆弱性特徴をそれぞれ取得し、一定の期間内に、セキュリティ発表情報に脆弱性が1つ更新された場合、1回に該脆弱性の脆弱性パッチ情報を1つ取得し、そして、後続の工程を実行して該1つの脆弱性の脆弱性特徴を取得する。
選択的に、プリセットの期間にしたがって、セキュリティ発表情報における脆弱性の脆弱性パッチ情報を周期的に取得してもよく、該プリセットの期間は、半月、一ヶ月、三ヶ月又は六ヶ月などであってもよく、脆弱性が更新された場合、セキュリティ発表情報をリアルタイムに追跡して更新された脆弱性の脆弱性パッチ情報を取得し、そして、後続の工程を実行して更新された脆弱性の脆弱性特徴を取得することができる。
S102、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出する。
具体的にいうと、タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、コードタイプの脆弱性がコード分析エンジンに対応し、言語が異なるコードは異なるコード分析エンジン、例えば、C/C++コード分析エンジン、Javaコード分析エンジン及びカーネルコード分析エンジンなどに対応する。非コードタイプの脆弱性がファイル分析エンジン、例えば、構成ファイル分析エンジンなどに対応する。
具体的に、脆弱性のタイプに対応する脆弱性分析エンジンがC/C++コード分析エンジンである場合、C/C++コード分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出するが、脆弱性のタイプに対応する脆弱性分析エンジンがJavaコード分析エンジンである場合、Javaコード分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出するが、脆弱性のタイプに対応する脆弱性分析エンジンがカーネルコード分析エンジンである場合、カーネルコード分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出するが、脆弱性のタイプに対応する脆弱性分析エンジンが構成ファイル分析エンジンである場合、構成ファイル分析エンジンにより、脆弱性の脆弱性パッチ情報を分析し、脆弱性の特徴を抽出する。脆弱性分析エンジンが異なると、脆弱性の脆弱性特徴を分析して抽出するプロセスは異なる。
脆弱性ごとに少なくとも1つの脆弱性特徴があり、脆弱性が複数ある場合、複数の脆弱性の脆弱性特徴によって1つの脆弱性特徴セットを組み合わせる。
そのうち、コードタイプの脆弱性の場合、脆弱性特徴は、例えば、関数シンボル、クラス又はクラスの表示可能なメンバー定義の増減であってもよく、コードファイル内の唯一性がある文字列の増減であってもよく、コード実行フローの変更(例えば、ライブラリ関数XXへのジャンプを追加した)などであってもよい。非コードタイプの脆弱性の場合、脆弱性特徴は、例えば、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つであってもよく、そのうち、ファイルの追加又は削除はライブラリの追加又は削除であってもよい。
S103、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。
具体的に、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信し、電子機器で脆弱性検出のために使用される。
本実施例に係る脆弱性特徴の取得方法により、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。
図3は、本願に係る脆弱性特徴の取得方法の実施例2のフローチャートであり、本実施例における実行主体は、図1に示すような脆弱性特徴の取得装置であってもよく、図3に示すように、本実施例の方法は、図2に示すような方法に基づき、さらに、S103の前に、また、ステップS104を含むことができる。
S104、脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定し、脆弱性の脆弱性特徴及び実行エンティティを得る。
具体的にいうと、実行エンティティは、コードファイルがアンドロイドシステムで実行されるときに対応するアプリケーションプログラム(APP)又はシステムソフトウェアであり、電子機器に送信されるのが脆弱性特徴しかない場合、検出時に、実行エンティティの実行を試す必要があり、検出が遅く、S102によって脆弱性の脆弱性特徴を取得した後、また、個々の脆弱性特徴の実行エンティティを確定し、後続の脆弱性検出のために使用する必要があり、個々の脆弱性に対してその対応する実行エンティティを確定し、このようにして脆弱性検出の効率を向上させる。脆弱性の脆弱性パッチ情報に基づいて脆弱性のソースコード又はソースファイルを取得することができ、ソースコードはコードタイプの脆弱性に対応し、ソースファイルは非コードタイプの脆弱性に対応する。説明する必要があるものとして、1つの脆弱性の脆弱性特徴が複数ある場合、複数の脆弱性特徴の実行エンティティが同じであってもよく、異なってもよい。
相応的に、S103は、具体的に、S103’であってもよく、前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信する。
本実施例に係る脆弱性特徴の取得方法により、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、続いて、抽出された個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定し、最後に、脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信する。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴及び対応する実行エンティティをオンラインで取得することを実現し、脆弱性特徴の取得効率を向上させることができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。
図4は、本願に係る脆弱性特徴の取得方法の実施例3のフローチャートであり、本実施例における実行主体は、図1に示すような脆弱性特徴の取得装置であってもよく、図4に示すように、本実施例の方法は、以下のステップを含むことができる。
S201、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性のタイプを確定し、タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含む。
そのうち、脆弱性の脆弱性パッチ情報の取得は、アンドロイド公式ウェブサイトセキュリティ発表情報から取得することができ、具体的な取得プロセスは、S101の記述を参照することができ、ここで繰り返して説明しないようにする。脆弱性の脆弱性パッチ情報が脆弱性のソースコード及び脆弱性の修復コードを含む場合、脆弱性のタイプがコードタイプであると確定することができ、このとき、S202を実行し、脆弱性の脆弱性パッチ情報が脆弱性のソースファイル及び脆弱性の修復ファイルを含む場合、脆弱性のタイプが非コードタイプであると確定することができ、このとき、S203を実行する。
S202、コードタイプの脆弱性に対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出する。
そのうち、コードタイプの脆弱性がコード分析エンジンに対応し、言語が異なるコードは異なるコード分析エンジン、例えば、C/C++コード分析エンジン、Javaコード分析エンジン及びカーネルコード分析エンジンなどに対応する。
一実施可能な形態として、S202は、コードタイプの脆弱性に対応する脆弱性分析エンジンにより、以下のような操作を実行するステップ(図示せず)であってもよい。
S2021、脆弱性のソースコード及び脆弱性の修復コードに対し、対応するコーディング言語の文法分析を行い、文法分析結果に基づいて脆弱性のソースコードと脆弱性の修復コードとの少なくとも1つの差異情報を確定し、差異情報は、例えば、関数シンボル、クラス又はクラスの表示可能なメンバー定義の増減であってもよく、コードファイル内の唯一性がある文字列の増減であってもよく、コード実行フローの変更(例えば、ライブラリ関数XXへのジャンプを追加した)などであってもよい。
S2022、少なくとも1つの差異情報に基づいて脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応し、即ち、差異情報を確定した後に、1つの差異情報を1つの脆弱性特徴として確定する。
以下の一つの脆弱性の脆弱性パッチ情報を例として挙げる。
―――a/src/android、SkAandroidFrameworkUtils.cpp
+++b src/android、SkAandroidFrameworkUtils.cpp
@@-17,7+17,9@@
#include“effects/GrDisableColorXP.h”
#endif//SK_SUPPORT_GPU
-#ifdef SK_BUILD_FOR_ANDROID
+#ifdef SK_BUILD_FOR_ANDROID_FRAMWORK

+# include<log/log.h>
#if SK_ SUPPORT_GPU
Bool SkAndroidFrameworkUtils::clipWithStencil(skcanvas*canvas){
@@-52,5 +54,9@@

# end if//SK_SUPPORT_GPU
-end if// SK_BUILD_FOR_ANDROID
+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)

+ Android_errorwritelog(0x534e4554、bugNumber);
+}

+#end if// SK_BUILD_FOR_ANDROID_FRAMEWORK
上記の脆弱性の脆弱性パッチ情報では、コードの前が「-」であるコードは、脆弱性のソースコードであり、コードの前が「+」であるコードは、脆弱性の修復コードであり、そのうちの
“-end if// SK_BUILD_FOR_ANDROID
+void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)

+ Android_errorwritelog(0x534e4554、bugNumber)”に基づき、
対応するクラス実現に方法「void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)」が追加されたと分析することができ、該方法「void SKAndroidFrameworkUtils::safet8Netlog(const char*bugNumber)」は、即ち、1つの脆弱性特徴である。
本実施形態において、コードタイプの脆弱性に対応する脆弱性分析エンジンにより、脆弱性のソースコード及び脆弱性の修復コードに対し、対応するコーディング言語の文法分析を行い、文法分析結果に基づいて脆弱性のソースコードと脆弱性の修復コードとの少なくとも1つの差異情報を確定し、1つの差異情報を1つの脆弱性特徴として確定することにより、コードタイプの脆弱性の脆弱性特徴をオンラインで取得することを実現し、脆弱性特徴の取得効率を向上させることができる。
S203、非コードタイプの脆弱性に対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出する。
非コードタイプの脆弱性が、ファイル分析エンジン、例えば、構成ファイル分析エンジンなどに対応する。一実施可能な形態として、S203は、非コードタイプの脆弱性に対応する脆弱性分析エンジンにより、以下のような操作を実行するステップ(図示せず)であってもよい。
S2031、脆弱性のソースファイルと脆弱性の修復ファイルとの間の少なくとも1つの変化情報を確定し、変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、そのうち、ファイルの追加又は削除は、ライブラリの追加又は削除であってもよい。
S2032、脆弱性のソースファイルがあるコードファイルを確定し、脆弱性のソースファイルがあるコードファイルで、少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索する。
S2033、唯一性がある変化情報を脆弱性の脆弱性特徴として確定する。
本実施形態において、非コードタイプの脆弱性に対応する脆弱性分析エンジンにより、脆弱性のソースファイルと脆弱性の修復ファイルとの間の変化情報を確定し、脆弱性のソースファイルがあるコードファイルで、変化情報ごとに唯一性があるか否かを検索し、唯一性がある変化情報を脆弱性の脆弱性特徴として確定する。これにより、非コードタイプの脆弱性の脆弱性特徴をオンラインで取得することを実現し、脆弱性特徴の取得効率を向上させることができる。
S204、前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定し、脆弱性の脆弱性特徴及び実行エンティティを得る。
そのうち、一実施可能な形態として、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するステップは、具体的に、
S2041、脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定するステップと、
S2042、コードファイルのコンパイル構成ファイルから、コードファイルの実行エンティティを探し、コードファイルの実行エンティティに基づいて脆弱性特徴の実行エンティティを確定するステップと、を含んでもよい(共に図示せず)。
そのうち、個々のバージョンのシステムは、1つのコンパイル構成ファイルに対応し、コンパイル構成ファイルは、コードファイルと対応する実行エンティティとのマッピング関係を記憶しているため、コードファイルのコンパイル構成ファイルから、コードファイルの実行エンティティを探し得ることができ、コードファイルの実行エンティティに基づいて脆弱性特徴の実行エンティティを確定することができる。脆弱性特徴の実行エンティティの確定は、後続の脆弱性検出を容易にさせることができる。具体的に、個々の脆弱性特徴を検出するとき、脆弱性特徴に基づいて対応する特徴検出コードをコンパイルし、特徴検出コードを検出される電子機器内の対応する実行エンティティで実行し、脆弱性特徴が存在するか否かを検出することにより、脆弱性検出の目的を達成するようになり、検出の効率を向上させることができる。
図2~図4のいずれか1つに示すような実施例に基づき、さらに、取得された脆弱性特徴を検証し、脆弱性特徴の取得の正確さを向上させることもでき、図5に示すような方法を例とし、図5は、本願に係る脆弱性特徴の取得方法の実施例4のフローチャートであり、図5に示すように、本実施例の方法は、S204の後に、また、以下のステップを含むことができる。
S205、脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得て、テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれている。
そのうち、テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築された複数テストターゲットマシンであり、テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれる必要があり、脆弱性が修復されたテストターゲットマシンでは、脆弱性特徴が検出されず、脆弱性が修復されていないテストターゲットマシンでは、脆弱性特徴が検出され、それにより、取得された脆弱性特徴の正確さを確保することができ、テストターゲットマシンは、仮想マシン(Gen8motion仮想マシン)と実マシンによって共同で構築されてもよく、そのうち、Gen8motion仮想マシンがアンドロイドエミュレーターであり、Android仮想環境を提供する。テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築されるものであるため、テストターゲットマシンごとに1つのアンドロイドシステムバージョン、1つのプロセッサアーキテクチャプラットフォーム及び1つのセキュリティパッチバージョンに対応し、これにより、検証の全面性や正確さを確保することができる。
S206、検証合格の脆弱性特徴を脆弱性の脆弱性特徴として確定する。
取得された脆弱性特徴を予め構築されたテストターゲットマシンクラスターでテスト検証し、検証合格の脆弱性特徴及び実行エンティティは最終の脆弱性の脆弱性特徴であり、これにより、脆弱性取得の正確さを向上させ、脆弱性特徴の誤検出率を低下させることができる。
選択的に、S205で検証不合格の脆弱性特徴を得たときに、本実施例の方法は、さらに、検証不合格の脆弱性特徴を表示するステップS207を含むことができる。
検証不合格の脆弱性特徴は、ユーザに表示し、ユーザ(即ち、開発者)により、検証不合格の脆弱性特徴の発生原因を分析し、検証不合格の脆弱性特徴の発生原因は、実行エンティティの未発見、対応する実行エンティティで脆弱性特徴の未発見、対応する実行エンティティの対照バージョンで脆弱性特徴の差異の未体現及び実行権限不足のうちのいずれか1つを含むことができる。ユーザがその原因を分析した後に、検証不合格の脆弱性特徴の発生原因を入力することができる。さらに、本実施例の方法は、さらに以下のステップを含むことができる。
S208、ユーザによって入力された検証不合格の脆弱性特徴の発生原因を受信し、検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正する。正確な脆弱性特徴の取得を補助し、さらに、脆弱性取得の正確さを向上させ、脆弱性特徴の誤検出率を低下させる。
本実施例に係る脆弱性特徴の取得方法により、取得された脆弱性特徴を予め構築されたテストターゲットマシンクラスターでテスト検証し、検証合格の脆弱性特徴及び実行エンティティが最終の脆弱性の脆弱性特徴及び実行エンティティであり、検証不合格の脆弱性特徴に対し、ユーザによって入力された検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正することにより、正確な脆弱性特徴の取得を補助し、さらに、脆弱性取得の正確さを向上させ、脆弱性特徴の誤検出率を低下させることができる。
図6は、本願に係る脆弱性特徴の取得装置の一構造概略図であり、図6に示すように、本実施例の脆弱性特徴の取得装置100は、取得モジュール11、確定モジュール12、抽出モジュール13及び送信モジュール14を含むことができ、そのうち、取得モジュール11は、脆弱性の脆弱性パッチ情報を取得するために使用されるものであり、確定モジュール12は、脆弱性パッチ情報に基づいて脆弱性のタイプを確定するために使用されるものであり、タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含み、抽出モジュール13は、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出するために使用されるものであり、送信モジュール14は、前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するために使用されるものである。
さらに、確定モジュール12は、また、前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するために使用されるものである。
相応的に、送信モジュール14は、前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信するために使用されるものである。
選択的に、脆弱性の脆弱性パッチ情報は、脆弱性のソースコード及び脆弱性の修復コードを含み、抽出モジュール12は、脆弱性のタイプに対応する脆弱性分析エンジンにより、
脆弱性のソースコード及び脆弱性の修復コードに対し、対応するコーディング言語の文法分析を行い、
文法分析結果に基づいて脆弱性のソースコードと脆弱性の修復コードとの少なくとも1つの差異情報を確定し、少なくとも1つの差異情報に基づいて脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応するような操作を実行するために使用されるものである。
選択的に、脆弱性の脆弱性パッチ情報が脆弱性のソースファイル及び脆弱性の修復ファイルを含み、抽出モジュール12は、
脆弱性のタイプに対応する脆弱性分析エンジンにより、
脆弱性のソースファイルと脆弱性の修復ファイルとの間の少なくとも1つの変化情報を確定し、変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、
脆弱性のソースファイルがあるコードファイルを確定し、脆弱性のソースファイルがあるコードファイルで、少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索し、
唯一性がある変化情報を脆弱性の脆弱性特徴として確定するような操作を実行するために使用されるものである。
さらに、確定モジュール12は、
脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定し、
コードファイルのコンパイル構成ファイルから、コードファイルの実行エンティティを探し、コードファイルの実行エンティティに基づいて脆弱性特徴の実行エンティティを確定するために使用されるものである。
本実施例の装置は、図2又は図3又は図4に示すような方法の実施例の技術的解決手段を実行するために使用することができ、その実現原理や技術的効果が類似しているため、ここで繰り返して説明しないようにする。
図7は、本願に係る脆弱性特徴の取得装置の一構造概略図であり、図7に示すように、本実施例の脆弱性特徴の取得装置200は、図6に示すような装置に基づき、さらに、検証モジュール15を含むことができ、そのうち、
検証モジュール15は、前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得るために使用され、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれており、
確定モジュール14は、また、前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するために使用されるものである。
選択的に、テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築されたものである。
本実施例の装置は、図5に示すような方法の実施例の技術的解決手段を実行するために使用することができ、その実現原理や技術的効果が類似しているため、ここで繰り返して説明しないようにする。
図8は、本願に係る脆弱性特徴の取得装置の一構造概略図であり、図8に示すように、本実施例の脆弱性特徴の取得装置300は、図7に示すような装置に基づき、さらに、表示モジュール16を含むことができ、該表示モジュール16は、検証不合格の脆弱性特徴を得たときに、検証不合格の脆弱性特徴を表示するために使用されるものである。
さらに、受信モジュール17及び処理モジュール18を含むことができ、そのうち、受信モジュール18は、ユーザによって入力された検証不合格の脆弱性特徴の発生原因を受信するために使用されるものであり、処理モジュール19は、検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正するために使用されるものである。
本実施例の装置は、図5に示すような方法の実施例の技術的解決手段を実行するために使用することができ、その実現原理や技術的効果が類似しているため、ここで繰り返して説明しないようにする。
本願の実施例によれば、本願は、さらに、電子機器及び可読記憶媒体を提供する。
図9に示すように、図9は、本願の実施例の脆弱性特徴の取得方法を実現するための電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、作業台、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及びその他の適切なコンピュータなどのような、様々な形のデジタルコンピュータを表すことを主旨とする。電子機器は、また、パーソナルデジタルアシスタント、セルラーテレフォン、スマートフォーン、ウェアラブルデバイス及びその他の類似するコンピューティングデバイスなどのような、様々な形のモバイル装置を表すこともできる。本明細書に示したコンポーネント、それらの連結や関係、及び、それらの機能は、あくまで例示的なものにすぎず、本明細書に記載の及び/又は本文が求める本願の実現を制限することを意図しない。
図9に示すように、該電子機器は、1つ又は複数のプロセッサ801、メモリ802、及び各コンポーネントを連結するためのインタフェースを含み、該インタフェースは、高速インタフェースと低速インタフェースとを含む。個々のコンポーネントは、異なるバスを使用して互いに接続され、パブリックメインボードにインストールされるか、又は、必要に応じて他の方式でインストールされることができる。プロセッサは、電子機器内で実行される命令を処理することができ、外部の入力/出力装置(インタフェースにカップリングされたディスプレイデバイスなど)でGUIのグラフィクス情報がディスプレイされるための、メモリ内又はメモリ上に記憶されている命令まで含まれている。他の実施形態において、必要に応じて、複数のプロセッサ及び/又は複数のバスや複数のメモリと一緒に使用してもよい。同様に、複数の電子機器に接続し、個々の機器により、必要な操作を一部提供(例えば、サーバアレイ、一揃いのブレードサーバ、または、マルチプロセッサシステムとする)してもよい。図9には、1つのプロセッサ801を例としている。
メモリ802は、本願に係る非一時的なコンピュータ可読記憶媒体である。そのうち、前記メモリには、少なくとも1つのプロセッサによって実行可能な命令が記憶され、前記少なくとも1つのプロセッサが本願に係る脆弱性特徴の取得方法を実行するようになる。本願の非一時的なコンピュータ可読記憶媒体は、コンピュータ命令を記憶しており、該コンピュータ命令は、コンピュータが本願に係る脆弱性特徴の取得方法を実行するようにさせるためのものである。
メモリ802は、非一時的なコンピュータ可読記憶媒体として、本願の実施例における脆弱性特徴の取得方法に対応するプログラム命令/モジュール(例えば、図6に示すような取得モジュール11、確定モジュール12、抽出モジュール13及び送信モジュール14)などの非一時的なソフトウェアプログラム、非一時的なコンピュータによる実行可能なプログラムおよびモジュールを記憶するために使用されるものであってもよい。プロセッサ801は、メモリ802に記憶された非一時的なソフトウェアプログラム、命令およびモジュールを実行に移すことにより、サーバの様々な機能アプリケーションおよびデータ処理を実行し、即ち、上記の方法の実施例における脆弱性特徴の取得方法を実現するようになる。
メモリ802は、プログラム記憶エリアとデータ記憶エリアとを含むことができ、そのうち、プログラム記憶エリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは、車内電子制御ユニットのアップデート電子機器の使用によって新規されるデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含むことができ、また、少なくとも1つの磁気ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の非一時的なソリッドステートストレージデバイスなどの非一時的なメモリを含むこともできる。いくつかの実施例において、メモリ802は、プロセッサ801に対して遠隔に設置されているメモリを選択的に含むことができ、それらの遠隔メモリは、ネットワークを介し、脆弱性特徴の取得方法を実現するための電子機器に接続されることができる。上記のネットワークの実例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせを含むが、これらに限定されない。
脆弱性特徴の取得方法の電子機器は、さらに、入力装置803及び出力装置804を含むことができる。プロセッサ801や、メモリ802、入力装置803及び出力装置804は、バス又はその他の方式によって接続されてもよく、図9では、バスによって接続される方式を例としている。
入力装置803は、入力された数字又はキャラクタ情報を受信し、電子機器のユーザ設定、および機能制御に関連する鍵信号の入力を発生することができ、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、インディケータロッド、1つ又は複数のマウスボタン、トラックボール、操縦ハンドルなどの入力装置が挙げられる。出力装置804は、ディスプレイデバイス、補助照明装置(LEDなど)や触感フィードバック装置(振動モータなど)などを含むことができる。該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイやプラズマディスプレイを含むことができるが、それらに限定されない。いくつかの実施形態では、ディスプレイデバイスはタッチスクリーンであってもよい。
ここに記載のシステムや技術的様々な実施形態は、デジタル電子回路、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現されてよい。それらの様々な実施形態は、1つ又は複数のコンピュータプログラムに実施される形態を含むことができ、該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈されることができ、該プログラマブルプロセッサは、特定用途向け、または、汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、や少なくとも1つの出力装置から、データや命令を受信し、そして、データや命令を該記憶システム、該少なくとも1つの入力装置や、該少なくとも1つの出力装置に伝送することができる。
これらコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、または、コードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、これらのコンピュータプログラムをアドバンスプロセス及び/又はオブジェクト指向型プログラミング言語、及び/又はアセンブリ言語/機械言語を利用して実施することができる。例えば、本明細書に使用される用語「機械可読媒体」や「コンピュータ可読媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、デバイス、及び/又は装置(磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置(PLD)など)のことを指し、機械可読信号としての機械命令を受信する機械可読媒体を含む。用語「機械可読信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号のことを指す。
本願の実施例により、コンピュータプログラムをさらに提供し、前記コンピュータプログラムは、コンピュータ可読記憶媒体に記憶され、電子機器の少なくとも1つのプロセッサは、コンピュータ可読記憶媒体からコンピュータプログラムを読み取ることができ、少なくとも1つのプロセッサは、コンピュータプログラムを実行することによって、電子機器に上記実施例に記載の方法を実行させる。
ユーザとのインタラクションを提供するために、ここに記載のシステムや技術をコンピュータで実施することができ、該コンピュータは、ユーザへ情報をディスプレイするためのディスプレイ装置(CRT(陰極線管)またはLCD(液晶ディスプレイ)モニターなど)、及びキーボードやポインティングデバイス(マウス又はトラックボールなど)があり、ユーザは、該キーボードや該ポインティングデバイスを通じ、入力をコンピュータに提供することができる。その他の種類の装置は、ユーザとのインタラクションを提供するために使用されることができ、例えば、ユーザに提供されるフィードバックは、任意の形の感覚フィードバック(視覚フィードバック、聴覚フィードバック、または触感フィードバックなど)であってもよく、ユーザからの入力を任意の形(音入力、音声入力又は触感入力を含む)で受信することができる。
ここに記載のシステムや技術は、バックグランドコンポーネントを含むコンピュータシステム(データサーバとして作用するなど)に、または、ミドルウェアコンポーネントを含むコンピュータシステム(アプリケーションサーバなど)に、または、フロントエンドコンポーネントを含むコンピュータシステム(図形式のユーザインタフェース、またはネットワークブラウザを備えるユーザコンピュータなど、ユーザは、該図形式のユーザインタフェース、または該ネットワークブラウザを通じてここに記載のシステムや技術に係る実施形態とイントラクションをすることができる)に、またはこのようなバックグランドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピュータシステムに実施されてもよい。システムのコンポーネントは、任意の形、または媒体のデジタルデータ通信(通信ネットワークなど)を通じて相互に接続することができる。通信ネットワークは、例示的に、ローカルエリアネットワーク(LAN)や、ワイドエリアネットワーク(WAN)及びインターネットを含む。
コンピュータシステムは、クライアント端末やサーバを含むことができる。クライアント端末やサーバは、一般的に、互いに遠く離れており、通信ネットワークを通じてイントラクションをしている。対応するコンピュータでの実行、および、互いにクライアント端末・サーバという関係を有するコンピュータプログラムにより、クライアント端末とサーバとの関係を築き上げる。
本願の実施例の技術的解決手段によれば、脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて脆弱性がコードタイプであるか、または、非コードタイプであるかを確定し、そして、脆弱性のタイプに対応する脆弱性分析エンジンに基づいて脆弱性の少なくとも1つの脆弱性特徴を抽出し、最後に、抽出された個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定することにより、脆弱性の脆弱性特徴及び実行エンティティを得る。タイプが異なる脆弱性は、異なる脆弱性分析エンジンに対応し、脆弱性分析エンジンは、タイプが異なる脆弱性に基づいて予め組み立てられたものであるため、脆弱性の脆弱性特徴をオンラインで取得し、脆弱性特徴の取得効率を向上させることを実現することができ、脆弱性特徴を人によって分析して取得する必要がなく、システム脆弱性データベースのメンテナンスコストが軽減される。
上記に示した様々な形のフローを使用し、ステップを改めて並べ替えたり、増加したり、又は削除したりすることができると理解するべきである。例えば、本願に記載の各ステップは、本願に開示された技術的解決手段による所期結果さえ実現されれば、並行して実行されてもよく、順に沿って実行されてもよく、又は順番を乱して実行されてもよいから、本文では、ここで限定されない。
上記の具体的な実施形態は、本願の保護範囲に対する制限を構成しない。当業者であれば、設計要件やその他の要素に基づいた様々な修正、組み合わせ、下位組み合わせや代替が可能であると理解するべきである。本願の精神や原則の範囲内に行われるすべての修正、等価置換や改善は、いずれも本願の保護範囲に含まれるべきである。

Claims (20)

  1. 脆弱性の脆弱性パッチ情報を取得した後に、脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定し、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含むステップと、
    前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するステップと、
    前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するステップと、
    前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得て、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれるステップと、
    前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するステップと、
    を含む、脆弱性特徴の取得装置に適用される脆弱性特徴の取得方法。
  2. 前記脆弱性特徴の取得方法は、さらに、
    前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するステップを含み、
    前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信する前記ステップは、
    前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信するステップを含む、
    請求項1に記載の脆弱性特徴の取得方法。
  3. 前記脆弱性の脆弱性パッチ情報は、前記脆弱性のソースコード及び前記脆弱性の修復コードを含み、前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出する前記ステップは、
    前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
    前記脆弱性のソースコード及び前記脆弱性の修復コードに対して対応するコーディング言語の文法分析を行い、
    文法分析結果に基づいて前記脆弱性のソースコードと前記脆弱性の修復コードとの少なくとも1つの差異情報を確定し、前記少なくとも1つの差異情報に基づいて前記脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応するような操作を実行するステップを含む、
    請求項1に記載の脆弱性特徴の取得方法。
  4. 前記脆弱性の脆弱性パッチ情報は、前記脆弱性のソースファイル及び前記脆弱性の修復ファイルを含み、前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出する前記ステップは、
    前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
    前記脆弱性のソースファイル及び前記脆弱性の修復ファイルの少なくとも1つの変化情報を確定し、前記変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、
    前記脆弱性のソースファイルがあるコードファイルを確定し、前記脆弱性のソースファイルがあるコードファイルで前記少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索し、
    唯一性がある変化情報を前記脆弱性の脆弱性特徴として確定するような操作を実行するステップを含む、
    請求項1に記載の脆弱性特徴の取得方法。
  5. 脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定する前記ステップは、
    前記脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定するステップと、
    前記コードファイルのコンパイル構成ファイルから、前記コードファイルの実行エンティティを探し、前記コードファイルの実行エンティティに基づいて前記脆弱性特徴の実行エンティティを確定するステップと、
    を含む、請求項2に記載の脆弱性特徴の取得方法。
  6. 前記テストターゲットマシンクラスターは、異なるアンドロイド(登録商標)システムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築されたものである、
    請求項に記載の脆弱性特徴の取得方法。
  7. 前記脆弱性特徴の取得方法は、さらに、
    検証不合格の脆弱性特徴を得たときに、前記検証不合格の脆弱性特徴を表示するステップを含む、
    請求項に記載の脆弱性特徴の取得方法。
  8. 前記脆弱性特徴の取得方法は、さらに、
    ユーザによって入力された前記検証不合格の脆弱性特徴の発生原因を受信するステップと、
    前記検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正するステップと、
    を含む、請求項に記載の脆弱性特徴の取得方法。
  9. 脆弱性の脆弱性パッチ情報を取得し得るために使用される取得モジュールと、
    前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定するために使用され、前記タイプがコードタイプの脆弱性と非コードタイプの脆弱性を含む確定モジュールと、
    前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するために使用される抽出モジュールと、
    前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するために使用される送信モジュールと、
    前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得るために使用され、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれる検証モジュールと、
    を含
    前記確定モジュールは、また、前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するために使用される、
    脆弱性特徴の取得装置。
  10. 前記確定モジュールは、また、
    前記脆弱性の少なくとも1つの脆弱性特徴における個々の脆弱性特徴に対し、脆弱性特徴のソースコード又はソースファイルがあるコードファイルに基づいて脆弱性特徴の実行エンティティを確定するために使用され、
    前記送信モジュールは、
    前記脆弱性の少なくとも1つの脆弱性特徴及び対応する実行エンティティを電子機器に送信するために使用される、
    請求項に記載の脆弱性特徴の取得装置。
  11. 前記脆弱性の脆弱性パッチ情報は、前記脆弱性のソースコード及び前記脆弱性の修復コードを含み、前記抽出モジュールは、
    前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
    前記脆弱性のソースコード及び前記脆弱性の修復コードに対して対応するコーディング言語の文法分析を行い、
    文法分析結果に基づいて前記脆弱性のソースコードと前記脆弱性の修復コードとの少なくとも1つの差異情報を確定し、前記少なくとも1つの差異情報に基づいて前記脆弱性の脆弱性特徴を確定し、1つの差異情報が1つの脆弱性特徴に対応するような操作を実行するために使用される、
    請求項に記載の脆弱性特徴の取得装置。
  12. 前記脆弱性の脆弱性パッチ情報は、前記脆弱性のソースファイル及び前記脆弱性の修復ファイルを含み、前記抽出モジュールは、
    前記脆弱性のタイプに対応する脆弱性分析エンジンにより、
    前記脆弱性のソースファイル及び前記脆弱性の修復ファイルの少なくとも1つの変化情報を確定し、前記変化情報は、文字列特徴の追加、文字列特徴の削除、文字列特徴の修正、ファイルの追加及びファイルの削除のうちのいずれか1つを含み、
    前記脆弱性のソースファイルがあるコードファイルを確定し、前記脆弱性のソースファイルがあるコードファイルで前記少なくとも1つの変化情報で任意の変化情報に唯一性があるか否かを検索し、
    唯一性がある変化情報を前記脆弱性の脆弱性特徴として確定するような操作を実行するために使用される、
    請求項に記載の脆弱性特徴の取得装置。
  13. 前記確定モジュールは、
    前記脆弱性特徴のソースコード又はソースファイルがあるコードファイルを確定し、
    前記コードファイルのコンパイル構成ファイルから、前記コードファイルの実行エンティティを探し、前記コードファイルの実行エンティティに基づいて前記脆弱性特徴の実行エンティティを確定するために使用される、
    請求項12に記載の脆弱性特徴の取得装置。
  14. 前記テストターゲットマシンクラスターは、異なるアンドロイドシステムバージョン、異なるプロセッサアーキテクチャプラットフォーム及び異なるセキュリティパッチバージョンに基づいて構築されたものである、
    請求項に記載の脆弱性特徴の取得装置。
  15. 前記脆弱性特徴の取得装置は、さらに、
    検証不合格の脆弱性特徴を得たときに、前記検証不合格の脆弱性特徴を表示するために使用される表示モジュールを含む、
    請求項に記載の脆弱性特徴の取得装置。
  16. 前記脆弱性特徴の取得装置は、さらに、
    ユーザによって入力された前記検証不合格の脆弱性特徴の発生原因を受信するために使用される受信モジュールと、
    前記検証不合格の脆弱性特徴の発生原因に基づいて脆弱性分析エンジンを追加するかまたは脆弱性分析エンジンを修正するために使用される処理モジュールと、
    を含む、請求項15に記載の脆弱性特徴の取得装置。
  17. 少なくとも1つのプロセッサ、および
    前記少なくとも1つのプロセッサと通信するように接続されたメモリを含み、そのうち、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行されることで、前記少なくとも1つのプロセッサは、請求項1~のいずれか1項に記載の脆弱性特徴の取得方法を実行することができるようになる、
    電子機器。
  18. コンピュータ命令が記憶された非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ命令は、コンピュータに請求項1~のいずれか1項に記載の脆弱性特徴の取得方法を実行させるためのものである、可読記憶媒体。
  19. 脆弱性特徴の取得装置に適用される脆弱性特徴の取得方法であって、
    脆弱性の脆弱性パッチ情報を取得した後に、前記脆弱性パッチ情報に基づいて前記脆弱性のタイプを確定するステップと、
    前記脆弱性のタイプに対応する脆弱性分析エンジンに基づいて前記脆弱性の少なくとも1つの脆弱性特徴を抽出するステップと、
    前記脆弱性の少なくとも1つの脆弱性特徴を電子機器に送信するステップと、
    前記脆弱性の少なくとも1つの脆弱性特徴を予め構築されたテストターゲットマシンクラスターによってテスト検証し、検証合格の脆弱性特徴を得て、前記テストターゲットマシンクラスターには、脆弱性が修復されたテストターゲットマシン及び脆弱性が修復されていないテストターゲットマシンが含まれるステップと、
    前記検証合格の脆弱性特徴を前記脆弱性の脆弱性特徴として確定するステップと、
    を含む、脆弱性特徴の取得装置に適用される脆弱性特徴の取得方法。
  20. コンピュータプログラムであって、前記コンピュータプログラムがプロセッサで実行されると、コンピュータに請求項1~のいずれか1項に記載の脆弱性特徴の取得方法を実行させる、コンピュータプログラム。
JP2021066470A 2020-05-14 2021-04-09 脆弱性特徴の取得方法、装置及び電子機器 Active JP7231664B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010407734.7A CN113672929A (zh) 2020-05-14 2020-05-14 漏洞特征获取方法、装置及电子设备
CN202010407734.7 2020-05-14

Publications (2)

Publication Number Publication Date
JP2021108189A JP2021108189A (ja) 2021-07-29
JP7231664B2 true JP7231664B2 (ja) 2023-03-01

Family

ID=75718558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021066470A Active JP7231664B2 (ja) 2020-05-14 2021-04-09 脆弱性特徴の取得方法、装置及び電子機器

Country Status (3)

Country Link
JP (1) JP7231664B2 (ja)
KR (1) KR102477150B1 (ja)
CN (1) CN113672929A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224192A1 (ko) * 2022-05-16 2023-11-23 엘에스웨어(주) 소프트웨어 관리 시스템 및 그 방법
CN117610018B (zh) * 2023-12-01 2024-06-25 深圳市马博士网络科技有限公司 漏洞模拟方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318716A (ja) 2001-04-20 2002-10-31 Sony Corp 配信システム、配信方法、サーバコンピュータ、クライアントコンピュータ
US20030126472A1 (en) 2001-12-31 2003-07-03 Banzhof Carl E. Automated computer vulnerability resolution system
JP2005038428A (ja) 2003-07-16 2005-02-10 Microsoft Corp 脆弱性のあるファイルの自動的な検出およびパッチ
JP2006066982A (ja) 2004-08-24 2006-03-09 Hitachi Ltd ネットワーク接続制御システム
JP2006244373A (ja) 2005-03-07 2006-09-14 It Service:Kk 統合セキュリティ監査装置、統合セキュリティ監査方法及び統合セキュリティ監査プログラム
JP2007316686A (ja) 2006-05-23 2007-12-06 Matsushita Electric Ind Co Ltd セキュリティ状態管理サーバ、セキュリティパッチ配信サーバ、ファイルサーバ、持ち出し検知装置及びそのシステム。
JP2009509273A (ja) 2005-09-22 2009-03-05 モカナ・コーポレーション 組み込みパッチの管理
JP2013134573A (ja) 2011-12-26 2013-07-08 Nec Corp ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム
JP2016091402A (ja) 2014-11-07 2016-05-23 株式会社日立製作所 リスク評価システムおよびリスク評価方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5158689B2 (ja) * 2007-12-07 2013-03-06 日本電信電話株式会社 系切替装置および方法
JP2012208863A (ja) * 2011-03-30 2012-10-25 Hitachi Ltd 脆弱性判定システム、脆弱性判定方法、および、脆弱性判定プログラム
US9507933B2 (en) * 2012-08-01 2016-11-29 Mitsubishi Electric Corporation Program execution apparatus and program analysis apparatus
WO2015191746A1 (en) * 2014-06-13 2015-12-17 The Charles Stark Draper Laboratory, Inc. Systems and methods for a database of software artifacts
CN104298923B (zh) * 2014-09-28 2018-01-02 北京奇虎科技有限公司 漏洞类型识别方法以及装置
WO2016068974A1 (en) * 2014-10-31 2016-05-06 Hewlett Packard Enterprise Development Lp System and method for vulnerability remediation verification
CN106548076A (zh) * 2015-09-23 2017-03-29 百度在线网络技术(北京)有限公司 检测应用漏洞代码的方法和装置
CN105893850B (zh) * 2016-03-30 2017-12-15 百度在线网络技术(北京)有限公司 漏洞修复方法和装置
CN107451474B (zh) * 2016-05-31 2020-06-26 百度在线网络技术(北京)有限公司 用于终端的软件漏洞修复方法和装置
CN109117169B (zh) * 2016-12-12 2022-06-07 百度在线网络技术(北京)有限公司 用于修复内核漏洞的方法和装置
CN107506647A (zh) * 2017-07-28 2017-12-22 努比亚技术有限公司 漏洞自动修复方法及移动终端
CN109359468B (zh) * 2018-08-23 2021-12-14 创新先进技术有限公司 漏洞检测方法、装置及设备
CN111008380B (zh) * 2019-11-25 2022-05-31 杭州安恒信息技术股份有限公司 一种检测工控系统漏洞的方法、装置和电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318716A (ja) 2001-04-20 2002-10-31 Sony Corp 配信システム、配信方法、サーバコンピュータ、クライアントコンピュータ
US20030126472A1 (en) 2001-12-31 2003-07-03 Banzhof Carl E. Automated computer vulnerability resolution system
JP2005038428A (ja) 2003-07-16 2005-02-10 Microsoft Corp 脆弱性のあるファイルの自動的な検出およびパッチ
JP2006066982A (ja) 2004-08-24 2006-03-09 Hitachi Ltd ネットワーク接続制御システム
JP2006244373A (ja) 2005-03-07 2006-09-14 It Service:Kk 統合セキュリティ監査装置、統合セキュリティ監査方法及び統合セキュリティ監査プログラム
JP2009509273A (ja) 2005-09-22 2009-03-05 モカナ・コーポレーション 組み込みパッチの管理
JP2007316686A (ja) 2006-05-23 2007-12-06 Matsushita Electric Ind Co Ltd セキュリティ状態管理サーバ、セキュリティパッチ配信サーバ、ファイルサーバ、持ち出し検知装置及びそのシステム。
JP2013134573A (ja) 2011-12-26 2013-07-08 Nec Corp ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム
JP2016091402A (ja) 2014-11-07 2016-05-23 株式会社日立製作所 リスク評価システムおよびリスク評価方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
藤堂 洋介,既存脆弱性データベースを利用するクライアント脆弱性検査システム,映像情報メディア学会技術報告 Vol.33 No.37,日本,(社)映像情報メディア学会,2009年09月24日,第33巻,pp.107-112

Also Published As

Publication number Publication date
JP2021108189A (ja) 2021-07-29
KR102477150B1 (ko) 2022-12-12
KR20210042285A (ko) 2021-04-19
CN113672929A (zh) 2021-11-19

Similar Documents

Publication Publication Date Title
US20210097168A1 (en) Uniform resource locator security analysis using malice patterns
US8850581B2 (en) Identification of malware detection signature candidate code
JP5786513B2 (ja) ソフトウェアモジュールを検査するためのシステム、方法及び記憶媒体
JP5742521B2 (ja) ウェブアプリケーションのフォームの自動テストのための方法及びプログラム
CN111859375A (zh) 漏洞检测方法、装置、电子设备及存储介质
JP7231664B2 (ja) 脆弱性特徴の取得方法、装置及び電子機器
JP5863973B2 (ja) プログラム実行装置及びプログラム解析装置
US20150007330A1 (en) Scoring security risks of web browser extensions
US8572747B2 (en) Policy-driven detection and verification of methods such as sanitizers and validators
KR20180081053A (ko) 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들
US9158923B2 (en) Mitigating security risks via code movement
EP3355229B1 (en) Analysis device, analysis method, and analysis program
US20150143342A1 (en) Functional validation of software
US9569335B1 (en) Exploiting software compiler outputs for release-independent remote code vulnerability analysis
KR20140050323A (ko) 라이선스 검증 방법 및 그 장치
JP5868515B2 (ja) シグニチャ検証装置及びシグニチャ検証方法及びプログラム
Ren et al. Scstudio: a secure and efficient integrated development environment for smart contracts
CN114398673A (zh) 应用程序的合规检测方法、装置、存储介质与电子设备
US20180314683A1 (en) Method and device for processing natural language
CN114626061A (zh) 网页木马检测的方法、装置、电子设备及介质
WO2021055058A1 (en) Locally implemented terminal latency mitigation
US20240037243A1 (en) Artificial intelligence based security requirements identification and testing
US11573887B2 (en) Extracting code patches from binary code for fuzz testing
CN114969759B (zh) 工业机器人系统的资产安全评估方法、装置、终端及介质
Xia et al. AuditGPT: Auditing Smart Contracts with ChatGPT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210409

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20220921

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230216

R150 Certificate of patent or registration of utility model

Ref document number: 7231664

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150