Method of operation of an electronic device that performs analysis and inference based on a large-scale language model for malicious scripting behavior.
By converting static and dynamic analysis results into text and training a large-scale language model, the time and environment dependency issues of malicious script behavior detection in existing technologies are resolved, achieving efficient and stable malicious script analysis.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-07-28
- Publication Date
- 2026-04-08
AI Technical Summary
Existing technologies struggle to effectively detect malicious script behavior, especially when scripts are packaged or obfuscated. Dynamic analysis methods require actual script execution, leading to high time and environment dependence and unstable analysis results.
By using a large-scale language model (LLM), static and dynamic analysis results are converted into text format, and the LLM is trained to infer the analysis results, avoiding the actual execution of the script. The preprocessing module is used to extract the execution order, variable information, and function call information to achieve script analysis.
It enables efficient analysis of malicious script behavior without relying on time and environment, reducing the time requirements of dynamic analysis and improving the stability and efficiency of analysis.
Smart Images

Figure 0007842929000003 
Figure 0007842929000004 
Figure 0007842929000005
Abstract
Description
Technical Field
[0001] The present disclosure relates to an electronic device or system that provides static / dynamic analysis results, and more specifically, to an operation method of an electronic device that infers the results without actually performing static / dynamic analysis.
Background Art
[0002] Existing script malicious acts are not carried out by a single script, and circumvention acts such as packing, obfuscation, or downloading additional scripts through downloading occupy a large range, and it is difficult to easily detect them only by source-level static analysis. For this reason, mainly based on operations, the threat caused by script malicious acts is sensed, and more accurate detection of malicious acts is carried out in parallel with dynamic analysis that can flexibly respond to packing and code obfuscation.
[0003] However, such a script dynamic analysis method also has two limitations.
[0004] First, in order to perform dynamic analysis, it is necessary to actually execute the script and check the results, and it takes a lot of time to directly execute and check the results for analyzing malicious acts. In particular, for in-depth analysis, more time is required if various dynamic analysis tools and static analysis tools are used.
[0005] Secondly, the fact that a script should actually be executed creates dependencies on the execution environment and time. Even if a script is capable of performing malicious acts, the analysis results may change and it may not be recognized as malicious because the network is down or the server is closed, preventing the download of additional scripts, depending on the environment and time of the analysis. Conversely, a collected portion or a single script may not perform malicious acts and therefore may not be recognized as malicious. Such dependencies can introduce subjectivity into the analysis expert's judgment of whether a script is malicious or not, leading to confusion in the determination of maliciousness (e.g., one expert might determine that the script is not malicious code because it does not perform malicious acts, while another expert might determine that it does perform malicious acts when considered as a whole). [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Korean Patent Application No. 10-2010-0027703 [Overview of the project] [Problems that the invention aims to solve]
[0007] This disclosure provides a system that can infer analytical results without using various static / dynamic analytical tools, minimizing the environment / time dependency required for dynamic analysis, thereby resolving limitations that delay or hinder execution, and also addressing the time requirements that arise when using other analytical tools by inferring static question patterns together.
[0008] The purposes of this disclosure are not limited to those mentioned above, and other purposes and advantages of this disclosure not mentioned can be understood from the description below and will be more clearly understood from embodiments of this disclosure. It will also be readily apparent that the purposes and advantages of this disclosure can be achieved by the means and combinations thereof expressed in the claims. [Means for solving the problem]
[0009] A method of operation for at least one electronic device according to one embodiment of the present disclosure includes the steps of: obtaining static analysis results and dynamic analysis results corresponding to the results of static analysis and dynamic analysis performed on a plurality of scripts, each corresponding to normal or malicious; converting the static analysis results and dynamic analysis results for each of the plurality of scripts into text in a format that matches the output of at least one LLM (Large Language Model); training the LLM based on the converted text so that the LLM infers static analysis results and dynamic analysis results from input scripts; and predicting static analysis results and dynamic analysis results for at least one target script based on the trained LLM.
[0010] The steps for obtaining the static and dynamic analysis results may include: a step of debugging each of the multiple scripts to extract first data including execution lines, variable values, and variable types; a step of performing symbolic execution on each of the multiple scripts to extract second data including execution lines and symbolic statements for conditional statements; and a step of performing function call tracing on each of the multiple scripts to extract third data including execution lines, called function names, and parameters of the called functions.
[0011] The step of converting the data into text in a format for input to the aforementioned LLM allows for the classification of data extracted by execution order along lines in the results of dynamic analysis, which includes at least one of the following: debugging, dynamic symbolic execution, and function call tracing.
[0012] The step of training the LLM based on the converted text allows the LLM to be trained to infer the results of dynamic analysis separately for each of several dynamic analysis items, including at least one of debugging, dynamic symbolic execution, and function call tracing.
[0013] The steps for predicting the static and dynamic analysis results involve dividing the target script into multiple lines and inputting them into the trained LLM; identifying at least one line corresponding to the question pattern from among the multiple lines based on the output of the trained LLM; and predicting the results of the dynamic analysis for at least one of the following for each of the multiple lines based on the output of the trained LLM: debugging, dynamic symbolic execution, and function call tracing.
[0014] On the other hand, the operation method of the at least one electronic device may include, if the data size of scripts collected in real time per unit time within a system linked to the electronic device is greater than or equal to a critical capacity that matches the computation speed of the dynamic analysis module of the system performing the dynamic analysis, the steps of dividing the scripts collected in real time into a plurality of groups, including a first group with a data size of less than or equal to the critical capacity and a second group excluding the first group, and predicting the dynamic analysis results for each script included in the second group based on the trained LLM. [Effects of the Invention]
[0015] The core effect of the operating method of the electronic device described herein is that it infers dynamic analysis results regardless of time and environment, providing an environment in which analysts can perform analyses more effectively. In other words, it is possible to infer static / dynamic analysis actions even based on partial scripts that cannot actually be executed, and in particular, in the case of dynamic analysis, actions can be inferred without executing the script, significantly reducing the time required for dynamic analysis. [Brief explanation of the drawing]
[0016] [Figure 1] This is a block diagram illustrating the configuration of an electronic device according to one embodiment of the present disclosure. [Figure 2] This is a flowchart illustrating the operation of an electronic device used to train an LLM according to one embodiment of the present disclosure. [Figure 3] This is a flowchart illustrating the operation of an electronic device that infers static and dynamic analysis results according to one embodiment of the present disclosure. [Figure 4a] This is a block diagram illustrating the configuration of an electronic device equipped with an LLM according to one embodiment of the present disclosure. [Figure 4b] A block diagram illustrating the configuration of an electronic device that utilizes an external electronic device's LLM according to one embodiment of this disclosure. [Modes for carrying out the invention]
[0017] Before providing a detailed description of this disclosure, we will first explain the method of describing this specification and the drawings.
[0018] First, the terms used in this specification and the claims are selected as general terms in consideration of the functions in various embodiments of the present disclosure. However, such terms and the like can change depending on the intentions of those skilled in the art, legal or technical interpretations, and the emergence of new technologies. Also, some terms are those arbitrarily selected by the applicant. For such terms, they can be defined and interpreted as the meanings defined in this specification, and if there is no specific term definition, they can also be interpreted based on the overall content of this specification and the ordinary technical common sense in the relevant technical field.
[0019] Also, the same reference numerals or symbols described in each drawing attached to this specification represent components or elements that perform substantially the same functions. For convenience of explanation and understanding, the same reference numerals or symbols are used to explain even in different embodiments. That is, even if all components having the same reference numeral in multiple drawings are illustrated, the multiple drawings do not mean one embodiment.
[0020] Also, in this specification and the claims, for the purpose of distinguishing components, terms including ordinal numbers such as "first", "second", etc. may be used. Such ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the terms should not be limitedly interpreted by the use of such ordinal numbers. As an example, the components combined with such ordinal numbers should not be restricted by the numbers in terms of the order of use, arrangement order, etc. If necessary, each ordinal number can also be used crosswise with each other.
[0021] In this specification, singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as "including" or "composed of" are intended to specify the presence of the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and it should be understood that the presence or addition possibility of one or more other features, numbers, steps, operations, components, parts, or combinations thereof is not precluded in advance.
[0022] In embodiments of the present disclosure, terms such as "module", "unit", "part", etc. are terms for referring to a component that performs at least one function or operation, and such a component can be implemented by hardware or software, or can be implemented by a combination of hardware and software. Also, unless each of a plurality of "modules", "units", "parts", etc. needs to be implemented by individual specific hardware, they can be integrated into at least one module or chip and implemented by at least one processor.
[0023] Also, in embodiments of the present disclosure, when it is stated that a certain part is connected to another part, this includes not only direct connection but also indirect connection via other media. Also, when it is said that a certain part includes a certain component, it means that, unless otherwise stated to the contrary, it does not exclude other components and can further include other components.
[0024] FIG. 1 is a block diagram for explaining the configuration of an electronic device according to an embodiment of the present disclosure.
[0025] The electronic device 100 can be realized by at least one computer configured device or system provided to perform at least one of script collection, monitoring, and threat detection within a network related to various targets / groups such as individuals, enterprises, institutions, etc.
[0026] For example, the electronic device 100 can be realized by a server, gateway, firewall device, routing device, etc., or can be realized by a POS (Point of Sale) system, payment device, vehicle terminal, smart home appliance, desktop PC, notebook PC, smartphone, tablet PC, console, etc., and can also be realized by various other devices.
[0027] As shown in Figure 1, the electronic device 100 can communicate with the analysis system 10 for performing static and dynamic analysis. The analysis system 10 may include a static analysis module 11 for performing static analysis on at least one script, and a dynamic analysis module 12 for performing dynamic analysis.
[0028] The electronic device 100 can communicate with the analysis system 10 and receive the results of both static and dynamic analysis performed by the analysis system 10. However, unlike in Figure 1, it is also possible for the static analysis module 11 and the dynamic analysis module 12 to be provided on the electronic device 100.
[0029] As shown in Figure 1, the electronic device 100 may include a preprocessing module 101, a learning module 102, an inference module 103, and so on.
[0030] The preprocessing module 101 is configured to preprocess static and dynamic analysis results so that they can be matched to a Large Language Model (LLM).
[0031] LLM is a model for inferring static and dynamic analysis results without actually performing static and dynamic analysis.
[0032] The preprocessing module 101 can be configured to match the output of the LLM by converting the static and dynamic analysis results into text.
[0033] The learning module 102 is configured to train the LLM to infer static and dynamic analysis results.
[0034] The learning module 102 can train the LLM using the static analysis results and dynamic analysis results preprocessed by the preprocessing module 101 as training data. In this case, the script that is the target of the analysis is the training data corresponding to the input, and the preprocessed static analysis results and dynamic analysis results may be the training data corresponding to the output.
[0035] The inference module 103 is a module for inferring static analysis results and dynamic analysis results, respectively. By inputting at least one target script into the trained LLM, the inference module 103 can predict the results without actually performing static or dynamic analysis on the target script. In this case, one or more target scripts may be input.
[0036] The operation of the electronic device 100, including the above configuration, will be described in more detail below with reference to the drawings.
[0037] Figure 2 is a flowchart illustrating the operation of an electronic device used to train an LLM according to one embodiment of the present disclosure.
[0038] As shown in Figure 2, the electronic device 100 can acquire static and dynamic analysis results (S210).
[0039] Specifically, the electronic device 100 can obtain the results of static and dynamic analyses performed on multiple scripts, each of which is either normal or malicious.
[0040] At this time, static analysis and dynamic analysis are performed on the analysis system 10 described above, and data for the static analysis results and dynamic analysis results can be transmitted to the electronic device 100.
[0041] Alternatively, static analysis and dynamic analysis results can be obtained by performing static analysis or dynamic analysis via static analysis modules and dynamic analysis modules that are themselves provided on the electronic device 100.
[0042] For example, in static analysis, the electronic device 100 can analyze the script and identify whether or not suspicious patterns exist. To this end, at least one pre-configured rule for threat detection may be utilized, or at least one artificial intelligence model trained to detect patterns in malicious scripts may be utilized.
[0043] For example, in dynamic analysis, the electronic device 100 can perform debugging, symbolic execution, function call tracing, and more.
[0044] As a specific example, the electronic device 100 can perform debugging on each of the multiple scripts to extract first data including execution lines, variable values, and variable types; perform symbolic execution on each of the multiple scripts to extract second data including execution lines and symbolic statements for conditional statements; and perform function call tracing on each of the multiple scripts to extract third data including execution lines, called function names, and parameters of the called functions.
[0045] If static analysis results and dynamic analysis results are obtained by at least one of the embodiments described above, the electronic device 100 can convert the static analysis results and dynamic analysis results of each of the multiple scripts into text in a format that matches the output of the LLM (Large Language Model) via the preprocessing module 101 (S220). At this time, the preprocessing module 101 can also perform preprocessing on each of the multiple scripts that correspond to the input.
[0046] For LLM to infer static / dynamic analysis results from a script, a preprocessing step is crucial to transform the data into a form that the model can learn from. This led to the design of a task that infers static / dynamic analysis results from script input.
[0047] Specifically, LLM takes text such as sentences, syntax, and paragraphs as input and processes it, including the tokenizing process that converts text into tokens.
[0048] To provide appropriate input to such an LLM model, the preprocessing module 101 can perform basic preprocessing steps such as removing annotations and realigning lines, and additionally, to enable the LLM model to recognize line information. <line>A preprocessing step can be performed to add special tokens such as the following.
[0049] First, in the preprocessing process for each script corresponding to the input of the LLM, the preprocessing module 101 performs reformatting on each script, and then uses line-by-line information. <line>and <script>に基づいて分類することができる。
[0050] <スクリプト例示>
[0051]
表1
[0052] <再フォーマットされたスクリプト例示>
[0053]
表2
[0054] <前処理が完了したスクリプト例示>
[0055] <line>1<script>var a="bWFsaWNpb3VzIGNvZGU=”
[0056] <line>2<script>if button.click():
[0057] <line>3<script>var result=atob(a);
[0058] <line>4<script>document.write(result)
[0059] LLMの出力に該当する結果データ(静的分析結果、動的分析結果)の前処理において、前処理モジュール101は、結果データの実行順序に対するデータと抽出しようとするデータ(状態またはタイプデータ)とを定義して、LLMが出力できる形態に加工することができる。
[0060] 具体的に、前処理モジュール101は、デバッグ(Debugging)、Dynamic Symbolic Execution、及び関数呼び出し追跡(Function Calling Tracing)のうち、少なくとも1つに該当する動的分析の結果において、実行順序別に抽出されるデータをラインに沿って分類することができる。
[0061] 以下、それぞれの動的分析結果に対する前処理例示に該当する。
[0062] <Debugging結果前処理例示>
[0063] <debugging>
[0064] <line>1<value>a:"bWFsaWNpb3VzIGNvZGU=”<type>a:string
[0065] <line>2<value>a:"bWFsaWNpb3VzIGNvZGU=”<type>a:string
[0066] <line>3<value>a:"bWFsaWNpb3VzIGNvZGU=”、result:"malicious code”<type>a:string,b:string
[0067] <line>4<value>a:"bWFsaWNpb3VzIGNvZGU=”,result:"malicious code”<type>a:string,b:string
[0068] < / debugging>
[0069] 各スクリプトのDebuggerを介して実行した順序に対して実行順序データ(line)及び変数の値(value)、typeなどを抽出できる。
[0070] <Dynamic Symbolic xecution結果前処理例示>
[0071] <Dynamic Symbolic Execution>
[0072] <line>2<condition>Any button.click()==True→line3-4実行
[0073] < / Dynamic Symbolic Execution>
[0074] 分岐文(e.g.if-else、while)の条件文関連symbolを抽出できる。
[0075] <Function Calling Tracing結果前処理例示>
[0076] <function calling>
[0077] <line>2<functioncall>click()<parameter>None
[0078] <line>2<function call>execute click Internal function...
[0079] <line>2<function call>functional Exit
[0080] ···
[0081] <line>3<function call>atob()<parameter>a
[0082] <line>3<function call>base64 decoding process..
[0083] <line>3<function call>functional Exit
[0084] ···
[0085] <line>4<function call>document.write()<parameter>result
[0086] <line>4<function call>write operation<parameter>result
[0087] <line>4<function call>functional Exit
[0088] < / function calling>
[0089] Call stackに基づいてfunction callingに対する順序データ(line)と呼び出された関数を抽出できる。このとき、call stackは、内部関数呼び出しと定義されることができる。
[0090] 具体的に、実行ライン、呼び出し関数名、パラメータが各々抽出される。
[0091] 上述したように、静的分析結果及び動的分析結果に対する前処理が行われて、変換されたテキストが取得されれば、学習モジュール102は、変換されたテキストに基づいてLLMを訓練させることができる(S230)。
[0092] 具体的に、学習モジュール102は、前処理された入力スクリプトをLLMに入力したとき、指定した静的 / 動的分析結果を出力するように教師あり学習を行うことができる。学習の際には、それぞれの静的分析または動的分析の項目(疑問パターン抽出、デバッグ、Dynamic Symbolic Execution、関数呼び出し追跡等)に該当するスペシャルトークンをおいて、いくつかの分析結果に対して各々別に学習させることができる。
[0093] 一方、図3は、本開示の一実施形態によって静的分析結果及び動的分析結果を推論する電子装置の動作を説明するためのフローチャートである。図3は、上述した図2によってLLMが推論のために学習された状況を仮定する。
[0094] 図3に示すように、前処理モジュール101は、推論の対象になる対象スクリプトをLLMにマッチングされる形式のテキストに変換することができる(S310)。
[0095] このとき、前処理モジュール101は、対象スクリプトをライン別スクリプトによって複数のラインに区分してテキストを取得できる。
[0096] そして、推論モジュール103は、前処理された対象スクリプトに基づいて静的分析結果及び動的分析結果に対するLLMの推論を行うことができる(S320)。
[0097] 例えば、推論モジュール103は、対象スクリプトを複数のラインに区分して前記訓練されたLLMに入力し、訓練されたLLMの出力によって複数のラインのうち、疑問パターンに該当する少なくとも1つのラインを識別できる(静的分析結果に対する推論)。このために、LLMは、スクリプト内のテキストないしパターンを分析して疑問パターンを識別するように訓練されることができる。
[0098] また、推論モジュール103は、訓練されたLLMの出力によって複数のラインの各々に対してデバッグ(Debugging)、Dynamic Symbolic Execution、及び関数呼び出し追跡(Function Calling Tracing)のうち、少なくとも1つに対する動的分析の結果を予測できる。
[0099] 一方、本開示の一実施形態に係る電子装置100は、分析の対象になる対象スクリプトの容量ないしは単位時間当りの収集量によって一部に該当する対象スクリプトに対してのみ分析結果を推論することもできる。
[0100] 具体的に、電子装置100と連動されたシステム内で単位時間毎にリアルタイムに収集される対象スクリプトのデータサイズが、動的分析を行うシステム(ex.分析システム10または電子装置100)の動的分析モジュールの演算速度にマッチングされる臨界容量以上である場合を仮定する。この場合、電子装置100は、リアルタイムに収集される対象スクリプトを臨界容量以下の第1のグループと、第1のグループを除いた第2のグループとを含む複数のグループに区分することができる。
[0101] ここで、電子装置100は、訓練されたLLMに基づいて第2のグループに含まれた各スクリプトに対する動的分析結果を予測できる。すなわち、第1のグループに対しては、実際動的分析が行われて動的分析結果が導出され、第2のグループに対しては、LLMの推論によって動的分析結果が予測され得る。
[0102] このとき、電子装置100は、動的分析モジュールを介して第1のグループに対して動的分析が行われた第1の時間、第2のグループに対してLLMの推論によって動的分析結果が予測されるのにかかった第2の時間を各々記録することができる。そして、電子装置100は、単位時間毎に記録された第1の時間及び第2の時間のそれぞれの平均値を比較し、上述した臨界容量をアップデートすることもできる。このとき、単位時間の間に収集された対象スクリプトのデータサイズが臨界容量未満であって、LLMの推論が初めから行われない場合は除いて平均値が算出され得る。
[0103] 例えば、第1の時間の平均値が第2の時間の平均値より大きい場合、その差に比例して臨界容量は減少設定されることができる。例えば、第2の時間の平均値が第1の時間の平均値より大きい場合、その差に比例して臨界容量は増加設定されることができる。
[0104] このように、分析の対象である対象スクリプトの容量によって推論の適用範囲が自動調整されることで、電子装置100ないし電子装置100が含まれたシステムの負荷がバランスよく管理されることができる。
[0105] 一方、図4aは、本開示の一実施形態によってLLMを自体具備した電子装置の構成を説明するためのブロック図である。
[0106] 図4aに示すように、電子装置100は、少なくとも1つのメモリ110及び少なくとも1つのプロセッサ120を備えることができる。
[0107] メモリ110は、電子装置100の構成要素の全般的な動作を制御するための運営体制(OS:Operating System)及び電子装置100の構成要素と関連した少なくとも1つのインストラクションまたはデータを格納するための構成である。
[0108] メモリ110は、ROM、フラッシュメモリなどの不揮発性メモリを備えることができ、DRAMなどで構成された揮発性メモリを備えることができる。また、メモリ110は、ハードディスク、SSD(Solid state drive)などの補助格納装置を含むこともできる。
[0109] 図4aに示すように、メモリ110上には、推論のための少なくとも1つのLLM(111)が含まれ得る。
[0110] プロセッサ120は、電子装置100の全般的な構成及び動作を制御するための構成である。
[0111] プロセッサ120は、メモリ110と連結されて、メモリ110に格納された少なくとも1つのインストラクションを実行することによって電子装置100を制御できる。
[0112] このために、プロセッサ120は、CPU(Central Processing Unit)、AP(Application Processor)などのような汎用プロセッサ、GPU(Graphic Processing Unit)、VPU(Vision Processing Unit)などのようなグラフィック専用プロセッサまたはNPU(Neural Processing Unit)のような人工知能専用プロセッサなどで実現されることができる。プロセッサ120は、SRAMなどの揮発性メモリを備えることができる。
[0113] プロセッサ120は、前処理モジュール101、学習モジュール102、推論モジュール103など、機能単位のモジュールを制御できる。各モジュールは、ソフトウェア及び / 又はハードウェアで実現された構成に該当する。
[0114] メモリ110及びプロセッサ120の他に、電子装置100は、通信インターフェース130、ディスプレイ140などをさらに備えることもできる。
[0115] 通信インターフェース130は、1つ以上のネットワークを介して外部電子装置と連結されることができ、このとき、様々な有無線通信方式を介してデータをやりとりすることができる。
[0116] ネットワークは、領域または規模によって個人通信網(PAN;Personal Area Network)、近距離通信網(LAN;Local Area Network)、広域通信網(WAN;Wide Area Network)などであってもよく、ネットワークの開放性によってイントラネット(Intranet)、エクストラネット(Extranet)、またはインターネット(Internet)などであってもよい。
[0117] 無線通信は、LTE(long-term evolution)、LTE-A(LTE Advance)、5G(5th Generation)移動通信、CDMA(code division multiple access)、WCDMA(登録商標)(wideband CDMA)、UMTS(universal mobile telecommunications system)、WiBro(Wireless Broadband)、GSM(Global System for Mobile Communications)、DMA(Time Division Multiple Access)、WiFi(Wi-Fi)、WiFi Direct、Bluetooth(登録商標)、NFC(near field communication)、Zigbee(登録商標)などの通信方式のうち、少なくとも1つを含むことができる。
[0118] 有線通信は、イーサネット(Ethernet)、光ネットワーク(optical network)、USB(Universal Serial Bus)、サンダーボルト(ThunderBolt)などの通信方式のうち、少なくとも1つを含むことができる。
[0119] 一方、通信方式は、上述した例に限定されず、技術の発展につれて新しく登場する通信方式を含むことができる。
[0120] 例えば、電子装置100は、通信インターフェース130を介してシステム / ネットワーク内のスクリプトを収集できる。このとき、電子装置100は、システム / ネットワークの管理者またはユーザの端末にLLM(111)により推論された静的分析結果及び動的分析結果を提供することができる。
[0121] ディスプレイ140は、様々な情報を視覚的に出力するための構成であって、少なくとも1つのディスプレイパネル、駆動回路などを備えることができる。
[0122] 電子装置100は、ディスプレイ140を介して、推論された静的分析結果及び動的分析結果を視覚的に出力することもできる。
[0123] 一方、図4bは、本開示の一実施形態によって外部電子装置のLLMを活用する電子装置の構成を説明するためのブロック図である。
[0124] 図4bに示すように、電子装置100は、メモリ110、プロセッサ120、及び通信インターフェース130を備えることができる。
[0125] 図4bに示すように、電子装置100は、通信インターフェース130を介して外部電子装置200と通信を行って外部電子装置200に含まれたLLM(201)を活用できる。
[0126] また、電子装置100は、通信インターフェース130を介してシステム / ネットワーク内のスクリプトを収集でき、システム / ネットワークの管理者またはユーザの端末にLLM(201)により推論された静的分析結果及び動的分析結果を提供することもできる。
[0127] また、電子装置100は、推論された静的分析結果及び動的分析結果をディスプレイ140を介して出力することもできる。
[0128] 一方、例え、図4a~図4bを介して図示されてはいないが、前処理モジュール101、学習モジュール102、推論モジュール103などは、互いに連結された2つ以上の電子装置上に分けられて含まれることもできる。例えば、第1の電子装置は、学習用データのための第1の前処理モジュール及び学習モジュール102を備え、第2の電子装置は、推論の対象になるデータのための第2の前処理モジュール及び推論モジュール103を備えることも可能である。
[0129] 一方、以上で説明された様々な実施形態は、互いに抵触されるか、矛盾しない限り、2つ以上の実施形態が互いに組み合わせられて実現されることができる。
[0130] 一方、以上で説明された様々な実施形態は、ソフトウェア(software)、ハードウェア(hardware)、またはこれらの組み合わせられたものを利用してコンピュータ(computer)またはこれと類似した装置で読み取ることができる記録媒体内で実現されることができる。
[0131] ハードウェア的な実現によれば、本開示において説明される実施形態等は、ASICs(Application Specific Integrated Circuits)、DSPs(digital signal processors)、DSPDs(digital signal processing devices)、PLDs(programmable logic devices)、FPGAs(field programmable gate arrays)、プロセッサ(processors)、制御機(controllers)、マイクロコントローラ(micro-controllers)、マイクロプロセッサ(microprocessors)、その他、機能実行のための電気的なユニット(unit)のうち、少なくとも1つを利用して実現されることができる。
[0132] 一部の場合に、本明細書において説明される実施形態等がプロセッサ自体で実現されることができる。ソフトウェア的な実現によれば、本明細書において説明される手順及び機能のような実施形態等は、別のソフトウェアモジュールで実現されることができる。上述したソフトウェアモジュールの各々は、本明細書において説明される1つ以上の機能及び作動を行うことができる。
[0133] 一方、上述した本開示の様々な実施形態に係る電子装置100などでの処理動作を行うためのコンピュータ命令語(computer instructions)またはコンピュータプログラムは、非一時的コンピュータ読み取り可能媒体(non-transitory computer-readable medium)に格納されることができる。このような非一時的コンピュータ読み取り可能媒体に格納されたコンピュータ命令語またはコンピュータプログラムは、特定機器のプロセッサにより実行されたとき、上述した様々な実施形態に係る電子装置100などでの処理動作を上述した特定機器が行うようにする。
[0134] 非一時的コンピュータ読み取り可能媒体とは、レジスタ、キャッシュ、メモリなどのように、短い瞬間の間データを格納する媒体ではなく、半永久的にデータを格納し、機器により読み取り(reading)が可能な媒体を意味する。非一時的コンピュータ読み取り可能媒体の具体的な例では、CD、DVD、ハードディスク、ブルーレイディスク、USB、メモリカード、ROMなどがありうる。
[0135] 以上では、本開示の望ましい実施形態について図示し、説明したが、本開示は、上述した特定の実施形態に限定されず、請求の範囲で請求する本開示の要旨を逸脱することなく、当該開示に属する技術分野における通常の知識を有する者により様々な変形実施が可能であることはもちろんであり、このような変形実施等は、本開示の技術的思想や展望から個別的に理解されてはならないであろう。
符号の説明
[0136] 10 静的 / 動的分析システム100 電子装置101 前処理モジュール102 学習モジュール103 推論モジュール110 メモリ120 プロセッサ130 通信インターフェース140 ディスプレイ< / script> < / line> < / line>
Claims
1. In a method for operating an electronic device Steps include obtaining static analysis results and dynamic analysis results corresponding to the results of static and dynamic analysis performed on multiple scripts, each of which is classified as either normal or malicious, and The steps include converting the static analysis results and dynamic analysis results of each of the aforementioned multiple scripts into text in a format that matches the output of at least one LLM (Large Language Model), The steps include: training the LLM based on the converted text so that the LLM infers static analysis results and dynamic analysis results from the input script; The steps include predicting static and dynamic analysis results for at least one target script based on the trained LLM, Includes, The step of obtaining the static analysis results and dynamic analysis results is: The steps include: debugging each of the aforementioned multiple scripts to extract first data including the execution line, variable values, and variable types; The steps include performing a Symbolic Execution on each of the aforementioned multiple scripts to extract second data including the execution line and the symbolic text for the conditional statement, The steps include performing function call tracing on each of the aforementioned scripts to extract third data including the execution line, the name of the called function, and the parameters of the called function, Includes, The step of training the LLM based on the converted text is: A method for operating an electronic device, comprising training the LLM to infer the results of a dynamic analysis separately for each of several dynamic analysis items, including at least one of debugging, dynamic symbolic execution, and function call tracing.
2. The step of converting the output of the LLM into text in a format that matches is: A method for operating an electronic device according to claim 1, wherein data extracted in order of execution is classified along lines in the results of a dynamic analysis that corresponds to at least one of debugging, dynamic symbolic execution, and function call tracing.
3. The step of predicting the static analysis results and dynamic analysis results is: The target script is divided into multiple lines and input into the trained LLM, The output of the trained LLM identifies at least one line among the multiple lines that corresponds to the question pattern. A method for operating an electronic device according to claim 1, wherein the output of the trained LLM predicts the result of dynamic analysis for at least one of the following for each of the plurality of lines: debugging, dynamic symbolic execution, and function calling tracing.
4. The operating method of the aforementioned electronic device is: If the data size of the scripts collected in real time at each unit time within the system linked to the electronic device is greater than or equal to a critical capacity that matches the calculation speed of the dynamic analysis module of the system that performs dynamic analysis, the steps include dividing the scripts collected in real time into a plurality of groups, including a first group with a data size less than or equal to the critical capacity and a second group excluding the first group, The steps include predicting the dynamic analysis results for each script included in the second group based on the trained LLM, A method for operating an electronic device according to claim 1, including the following:
5. At least one memory containing at least one instruction, A processor that performs the operation method of claim 1 by executing the instructions, An electronic device equipped with the following features.
Citation Information
Patent Citations
System and method for synthesizing potential malware for predicting cyber attack
JP2023097361A
Apparatus and method for frame interpolation based on accurate motion estimation
KR1020100027703A
Vulnerability analysis of a computer driver
US20230169178A1