該存儲庫包含DIMVA'18論文的代碼:“ JAST:惡意(混淆)JavaScript的完全句法檢測”。
請注意,在當前狀態下,該代碼是POC,而不是由成熟的生產就緒的API。
我們的實施旨在檢測惡意的JavaScript樣本,分為具有不同功能的幾個軟件包:
檢測JavaScript樣本尊重ECMA-International定義的語法,破碎JavaScript的檢測以及未用JavaScript編寫的文件。
要使用此工具: Python3 <js/is_js.py> - 螺旋。
可以對基於AST的JavaScript樣品進行分析。這項研究基於對所考慮文件中存在的n克的頻率分析。
如果您使用JAST進行學術研究,則強烈鼓勵您引用以下論文:
@inproceedings{fass2018jast,
author="Fass, Aurore and Krawczyk, Robert P. and Backes, Michael and Stock, Ben",
title="{textsc{JaSt}: Fully Syntactic Detection of Malicious (Obfuscated) JavaScript}",
booktitle="Proceedings of the International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment~(DIMVA)",
year="2018"
}
JavaScript是一種最初創建的瀏覽器腳本語言,以增強網站的交互性並提高其用戶友好性。但是,由於它可以將工作卸載到用戶的瀏覽器中,因此可以用來從事惡意活動,例如加密挖掘,開車下載攻擊或重定向到託管惡意軟件的網站。鑑於這種邪惡的腳本的流行率,反病毒行業增加了對其檢測的關注。反過來,攻擊者越來越多地使用混淆技術,以阻礙分析和創建相應的簽名。然而,這些惡意樣本在抽象層面上共享句法相似性,這使得繞過混淆並檢測未知的惡意軟件變體。
在本文中,我們提出了JAST,這是一種低空的解決方案,將抽象語法樹中特徵的提取與隨機森林分類器結合起來,以檢測惡意的JavaScript實例。它基於對特定模式的頻率分析,這些模式可以預測良性或惡意樣本。即使分析完全是靜態的,它也產生了近99.5%的高檢測準確性,較低的假陰性率為0.54%。
這是一項研究工作,其打算是發布結果,以使結果可驗證並促進信息安全。它不一定反映了德國國民黨(BSI)中德國人Sicherheit的官方政策或立場。儘管作者已竭盡全力確保本出版物中的信息正確,但作者並不承擔任何責任,無論是由於疏忽,事故或任何其他原因而導致的錯誤或遺漏所造成的任何損失,損害或中斷的任何責任。
Die von dem benutzer auf github bereitgestelten inhalte spiegeln nicht die meinung des bsi ver。
Die verwendung der bereitgestelten inhalte geschieht auf特徵gefahr des anwenders。 Eine haftungfürDie richtigkeit,vollständigkeitundaktualitätdieser inhalte kann seitens des bsi nichtnichtübernommenwerden。
das bsi ist nicht verantwortlich和übernimmtkeinerlei haftungfürSchäden,UnterAnderemFürDirekte,Indirekte,Zufällige,Zufällige,vorab konkreab konkret zu zu zu zu bestimmmende oder oderfolgeschäden
由Ariya Hidayat創建和維護的Esprima已用於對JavaScript文件進行詞彙和句法分析。
“版權JS基金會和其他貢獻者,https://js.foundation/
如果滿足以下條件:
該軟件由版權所有者和貢獻者“按原樣”提供,任何明示或暗示的保證,包括但不限於對適銷性和特定目的適合性的隱含保證。在任何情況下,任何直接,間接,偶然,特殊,特殊,示例性或結果損失(包括但不限於替代商品或服務的採購,損失,數據或利潤的損失,數據或損失,或企業中斷)和責任理論,無論是在合同,嚴格的責任,包括責任或其他情況下(如果有任何可能的軟件)(包括negligence of negnigence of negrigence nofe),是否有任何責任(包括否定),或者在任何情況下(如果是否定的)。 損害。 ”