Method of operating electronic device for analyzing and inferring malicious script behavior based on large language model

By converting static and dynamic analysis results into text and using a large-scale language model to infer the analysis results, the problems of long dynamic analysis time and strong environment dependence in existing technologies are solved, and efficient and accurate malicious script behavior detection is achieved.

JP2026028231AActive Publication Date: 2026-02-19AHNLAB INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025125503
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-06
Filing Date
2025-07-28
Publication Date
2026-02-19
Estimated Expiration
2045-07-28

AI Technical Summary

Technical Problem

Existing technologies for detecting malicious script behavior rely on dynamic analysis methods that require actual script execution, resulting in high time consumption and strong environment dependence, making it difficult to accurately identify malicious behavior. Furthermore, static analysis cannot effectively address code obfuscation and packaging.

Method used

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 extracts data such as execution order and variable information to achieve analysis and inference of the script.

Benefits of technology

It enables efficient inference of dynamic analysis results without relying on the execution environment and time, reducing dynamic analysis time and improving the accuracy and consistency of the analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026028231000001_ABST
    Figure 2026028231000001_ABST
Patent Text Reader

Abstract

To provide an operation method of an electronic device for inferring a result of static / dynamic analysis without actually performing the static / dynamic analysis.SOLUTION: The method includes acquiring a static analysis result and a dynamic analysis result corresponding to results of static analysis and dynamic analysis performed on a plurality of scripts each corresponding to normal or malicious, converting the static analysis result and the dynamic analysis result of each of the plurality of scripts into text in a form matched to an output of at least one LargeLanguageModel (LLM), training the LLM based on the converted text so that the LLM infers the static analysis result and the dynamic analysis result from an input script, and predicting the static analysis result and the dynamic analysis result for at least one target script based on the trained LLM.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to electronic devices or systems that provide static / dynamic analysis results, and more particularly to methods of operating electronic devices that infer the results of static / dynamic analysis without actually performing the analysis. [Background technology]

[0002] Existing malicious script behaviors are not performed by a single script, but are often implemented through packing, obfuscation, or bypassing the download of additional scripts, making them difficult to detect using source-level static analysis alone. For this reason, more accurate malicious behavior detection is being carried out in parallel with dynamic analysis, which primarily detects threats from malicious script behavior based on behavior and can flexibly respond to packing and code obfuscation.

[0003] However, such dynamic script analysis methods also have two limitations.

[0004] First, dynamic analysis requires actually executing a script and checking the results, which takes a lot of time to analyze malicious behavior. In particular, using various dynamic and static analysis tools for deep analysis takes even more time.

[0005] Second, the fact that a script should actually be executed creates dependencies on the execution environment and time. Even if a script actually performs malicious actions, depending on the analysis environment or time, the network may be blocked or the server may be closed, preventing additional scripts from being downloaded. This may change the malicious analysis results and prevent the script from being recognized as malicious. Alternatively, the collected portion or a single script may not perform malicious actions and therefore may not be recognized as malicious. This dependency can add subjectivity to analysts' determination of whether a script is malicious, leading to confusion in determining whether it is malicious (e.g., one analyst may determine that the script is not malicious because it does not perform malicious actions, while another analyst may determine that it performs malicious actions when considering the entire script). [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Korean Patent Application No. 10-2010-0027703 Summary of the Invention [Problem to be solved by the invention]

[0007] The present disclosure provides a system that can infer analysis results without using various static / dynamic analysis tools, and solves the limitations that delay or hinder execution by minimizing the environmental / time dependency required for dynamic analysis, and also solves the time requirements that arise when using other analysis tools by inferring even static question patterns.

[0008] The objects of the present disclosure are not limited to the objects mentioned above, and other unmentioned objects and advantages of the present disclosure can be understood from the following description and will be more clearly understood by the embodiments of the present disclosure. Furthermore, it will be easily understood that the objects and advantages of the present disclosure can be realized by the means recited in the claims and combinations thereof. [Means for solving the problem]

[0009] According to one embodiment of the present disclosure, a method for operating at least one electronic device 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 of which corresponds to normal or malicious; converting the static analysis results and dynamic analysis results of 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 the static analysis results and dynamic analysis results from an input script; and predicting the static analysis results and dynamic analysis results for at least one target script based on the trained LLM.

[0010] The step of obtaining the static analysis results and the dynamic analysis results may include the steps of: performing debugging on each of the plurality of scripts to extract first data including an execution line, a variable value, and a variable type; performing symbolic execution on each of the plurality of scripts to extract second data including an execution line and a symbol statement for a conditional statement; and performing function calling tracing on each of the plurality of scripts to extract third data including an execution line, a called function name, and a parameter of the called function.

[0011] The step of converting the data into text format for input to the LLM may be performed by classifying data extracted according to execution order in the results of dynamic analysis corresponding to at least one of debugging, dynamic symbolic execution, and function calling tracing.

[0012] The step of training the LLM based on the converted text may train the LLM to separately infer the results of dynamic analysis for each of a plurality of dynamic analysis items including at least one of debugging, dynamic symbolic execution, and function calling tracing.

[0013] The step of predicting the static analysis results and the dynamic analysis results includes dividing the target script into a plurality of lines and inputting the lines into the trained LLM, identifying at least one line among the plurality of lines that corresponds to a question pattern based on the output of the trained LLM, and predicting the results of dynamic analysis for at least one of debugging, dynamic symbolic execution, and function calling tracing for each of the plurality of lines based on the output of the trained LLM.

[0014] Meanwhile, the method for operating the at least one electronic device may include, when the data size of scripts collected in real time per unit time in a system linked to the electronic device is equal to or greater than a critical capacity matching the calculation speed of a dynamic analysis module of the system that performs dynamic analysis, dividing the scripts collected in real time into a plurality of groups including a first group that is equal to or smaller than the critical capacity and a second group excluding the first group, and predicting a dynamic analysis result for each script included in the second group based on the trained LLM. [Effects of the Invention]

[0015] The core effect of the method for operating an electronic device according to the present disclosure is that it infers dynamic analysis results regardless of time and environment, thereby providing an environment in which analysts can perform analysis more effectively. That is, it is possible to infer static / dynamic analysis actions based on partial scripts that cannot actually be executed, and in particular, in the case of dynamic analysis, it is possible to infer actions without executing scripts, thereby significantly reducing the time required for dynamic analysis. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 1 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure. [Figure 2] 1 is a flowchart illustrating the operation of an electronic device that performs training for an LLM according to one embodiment of the present disclosure. [Figure 3] 10 is a flowchart illustrating an operation of an electronic device for inferring static analysis results and dynamic analysis results according to an embodiment of the present disclosure. [Figure 4a] 1 is a block diagram illustrating the configuration of an electronic device including an LLM according to an embodiment of the present disclosure. [Figure 4b] FIG. 1 is a block diagram illustrating the configuration of an electronic device that utilizes an LLM of an external electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0017] Before specifically describing the present disclosure, the method of describing the present specification and drawings will be described.

[0018] First, the terms used in this specification and claims are general terms selected in consideration of the functions in various embodiments of the present disclosure. However, such terms may change depending on the intentions of engineers in the relevant technical field, legal or technical interpretations, and the emergence of new technologies. In addition, some terms are terms arbitrarily selected by the applicant. Such terms may be interpreted as defined in this specification, and if there is no specific definition of a term, they may be interpreted based on the general content of this specification and common general technical knowledge in the relevant technical field.

[0019] Furthermore, the same reference numbers or symbols in the drawings attached to this specification represent parts or components that perform substantially the same functions. For the sake of convenience in explanation and understanding, the same reference numbers or symbols are used in different embodiments. In other words, even if components having the same reference numbers are all shown in multiple drawings, multiple drawings do not mean that they represent one embodiment.

[0020] Furthermore, in this specification and claims, terms including ordinal numbers, such as "first," "second," etc., may be used to distinguish between elements. Such ordinal numbers are used to distinguish between identical or similar elements, and the meaning of the terms should not be limited by the use of such ordinal numbers. For example, the order of use or arrangement of elements associated with such ordinal numbers should not be limited by the numbers. If necessary, ordinal numbers may be used interchangeably.

[0021] In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise. In this application, the terms "comprise" or "comprise" and the like are intended to specify the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should be understood not to preclude the presence or additional possibility of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0022] In the embodiments of the present disclosure, terms such as "module," "unit," "part," etc. are terms for referring to components that perform at least one function or operation, and such components may be realized in hardware or software, or a combination of hardware and software. Furthermore, multiple "modules," "units," "parts," etc. may be integrated into at least one module or chip and realized by at least one processor, unless each needs to be realized by a specific individual piece of hardware.

[0023] Furthermore, in the embodiments of the present disclosure, when a part is said to be connected to another part, this includes not only a direct connection but also an indirect connection via another medium. Furthermore, when a part includes a certain component, it does not mean that the other component is excluded, but that the part may further include the other component, unless otherwise specified.

[0024] FIG. 1 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.

[0025] The electronic device 100 may be implemented as a device or system comprising at least one computer configured to perform at least one of script collection, monitoring, and threat detection within a network associated with various subjects / groups such as individuals, companies, and institutions.

[0026] For example, the electronic device 100 may be implemented as a server, a gateway, a firewall device, a routing device, a POS (Point of Sale) system, a payment device, a vehicle terminal, a smart home appliance, a desktop PC, a notebook PC, a smartphone, a tablet PC, a console, or various other devices.

[0027] 1, electronic device 100 may be in communication with analysis system 10 for performing static and dynamic analysis. Analysis system 10 may include a static analysis module 11 for performing static analysis and a dynamic analysis module 12 for performing dynamic analysis on at least one script.

[0028] The electronic device 100 can communicate with the analysis system 10 and can receive the results of the static analysis and the 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 FIG. 1, the electronic device 100 may include a pre-processing module 101, a learning module 102, an inference module 103, and the like.

[0030] The preprocessing module 101 is configured to preprocess the static analysis results and the dynamic analysis results so that they are matched to an LLM (Large Language Model).

[0031] LLM is a model for inferring static and dynamic analysis results without actually performing static and dynamic analysis.

[0032] The pre-processing module 101 can convert the static and dynamic analysis results into text so that they can be matched to the output of the LLM.

[0033] The learning module 102 is a component for training the LLM to reason about 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 which case the script to be analyzed may be 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 the static analysis results and the dynamic analysis results. By inputting at least one target script into the trained LLM, the inference module 103 can predict the results of static or dynamic analysis of the target script without actually performing static or dynamic analysis on the target script. At this time, one or more target scripts can 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] FIG. 2 is a flowchart illustrating the operation of an electronic device for training an LLM according to one embodiment of the present disclosure.

[0038] As shown in FIG. 2, the electronic device 100 can obtain static analysis results and dynamic analysis results (S210).

[0039] Specifically, the electronic device 100 may obtain the results of static and dynamic analysis performed on a plurality of scripts, each of which may be considered normal or malicious.

[0040] At this time, since the static analysis and the dynamic analysis are performed on the analysis system 10 described above, data on the static analysis results and the dynamic analysis results can be transmitted to the electronic device 100 .

[0041] Alternatively, the static analysis and dynamic analysis results may be obtained by performing static analysis and dynamic analysis through a static analysis module and a dynamic analysis module provided on the electronic device 100 itself.

[0042] For example, in a static analysis, the electronic device 100 can analyze the script to identify whether a suspicious pattern is present, either by utilizing at least one pre-defined rule for threat detection or by utilizing at least one artificial intelligence model trained to detect patterns in malicious scripts.

[0043] For example, in dynamic analysis, the electronic device 100 can perform debugging, symbolic execution, function calling tracing, and the like.

[0044] As a specific example, the electronic device 100 can perform debugging on each of the multiple scripts to extract first data including an execution line, a variable value, and a variable type, perform symbolic execution on each of the multiple scripts to extract second data including an execution line and a symbol statement for a conditional statement, and perform function calling tracing on each of the multiple scripts to extract third data including an execution line, a called function name, and a parameter of the called function.

[0045] When the static analysis result and the dynamic analysis result are obtained by at least one of the above-described embodiments, the electronic device 100 may convert the static analysis result and the dynamic analysis result of each of the plurality of scripts into text in a format that matches the output of a large language model (LLM) through the preprocessing module 101 (S220). In this case, the preprocessing module 101 may also perform preprocessing on each of the plurality of scripts corresponding to the input.

[0046] In order for LLM to infer static / dynamic analysis results from scripts, a preprocessing process to process the scripts into a form that the model can learn is important. For this reason, a task was devised to infer static / dynamic analysis results from script input.

[0047] Specifically, LLM includes a tokenizing process that tokenizes text, and receives and processes text such as sentences, syntax, and paragraphs as input.

[0048] To provide suitable input for such an LLM model, the preprocessing module 101 can perform basic preprocessing steps such as removing annotations and realigning lines, and additionally, it can perform preprocessing steps to allow the LLM model to recognize line information. <line>A pre-processing step can be performed to add special tokens such as

[0049] First, in the preprocessing process of each script corresponding to the input of the LLM, the preprocessing module 101 reformats each script and then performs the following operations according to the 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. A method of operating at least one electronic device, comprising: acquiring static analysis results and dynamic analysis results corresponding to results of static analysis and dynamic analysis performed on a plurality of scripts that are respectively classified as normal or malicious; converting the static analysis results and the dynamic analysis results of each of the plurality of scripts into text in a format that matches the output of at least one Large Language Model (LLM); training the LLM based on the transformed text so that the LLM infers static and dynamic analysis results from an input script; predicting static analysis results and dynamic analysis results for at least one target script based on the trained LLM; 1. A method of operating at least one electronic device, comprising:

2. The step of obtaining the static analysis result and the dynamic analysis result includes: Debugging each of the plurality of scripts to extract first data including an execution line, a variable value, and a variable type; performing symbolic execution on each of the plurality of scripts to extract second data including symbol statements for execution lines and conditional statements; performing function calling tracing on each of the plurality of scripts to extract third data including an execution line, a calling function name, and a parameter of the calling function; 10. The method of operating at least one electronic device of claim 1, comprising:

3. The step of converting the output of the LLM into text in a format that matches the output of the LLM includes:

10. The method of claim 1, further comprising: classifying data extracted according to an execution order in a line from a result of dynamic analysis corresponding to at least one of debugging, dynamic symbolic execution, and function calling tracing.

4. training the LLM based on the transformed text, 2. The method of claim 1, further comprising training the LLM to separately infer dynamic analysis results for each of a plurality of dynamic analysis items, the dynamic analysis items including at least one of debugging, dynamic symbolic execution, and function calling tracing.

5. The step of predicting static analysis results and dynamic analysis results includes: Segmenting the target script into lines and inputting them into the trained LLM; Identifying at least one line corresponding to a question pattern among the plurality of lines according to an output of the trained LLM; 2. The method of claim 1, further comprising predicting a result of dynamic analysis for at least one of debugging, dynamic symbolic execution, and function calling tracing for each of the plurality of lines based on the output of the trained LLM.

6. The method of operating the at least one electronic device comprises: When a data size of scripts collected in real time per unit time in a system linked with the electronic device is equal to or greater than a critical capacity matching a calculation speed of a dynamic analysis module of the system that performs dynamic analysis, dividing the scripts collected in real time into a plurality of groups including a first group having a data size equal to or less than the critical capacity and a second group excluding the first group; predicting a dynamic analysis result for each script included in the second group based on the trained LLM; 10. The method of operating at least one electronic device of claim 1, comprising:

7. at least one memory having at least one instruction stored therein; at least one processor for executing said instructions to perform the method of operation of claim 1; At least one electronic device comprising:

Citation Information

Patent Citations

  • System and method for synthesizing potential malware for predicting cyber attack

    JP2023097361A

  • Vulnerability analysis of a computer driver

    US20230169178A1

  • Apparatus and method for frame interpolation based on accurate motion estimation

    KR1020100027703A