このリポジトリには、Dimva'18論文のコードが含まれています。「Jast:悪意のある(難解な)JavaScriptの完全な構文検出」。
現在の状態では、コードはPOCであり、本格的な生産対応APIではないことに注意してください。
悪意のあるJavaScriptサンプルの検出を目的とした実装は、異なる機能を持ついくつかのパッケージに分けられます。
ECMAインターネーション、壊れたJavaScriptの検出、およびJavaScriptで記述されていないファイルによって定義された文法を尊重するJavaScriptサンプルの検出。
このツールを使用するには: python3 <path-of-js/is_js.py> - help 。
JavaScriptサンプルのASTベースの分析を実行できます。この研究は、考慮されたファイルに存在するN-Gramsの周波数分析に基づいています。
学術研究に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は、Webサイトの双方向性を高め、ユーザーフレンドリーを向上させるために最初に作成されたブラウザスクリプト言語です。ただし、ユーザーのブラウザに作業をオフロードすると、悪意のあるソフトウェアをホストするWebサイトへの暗号マイニング、ドライブバイダウンロード攻撃、リダイレクトなどの悪意のあるアクティビティに従事するために使用できます。このような不気味なスクリプトの有病率を考えると、アンチウイルス産業はその検出に焦点を合わせています。攻撃者は、分析と対応する署名の作成を妨げるように、難読化技術を増やします。しかし、これらの悪意のあるサンプルは、抽象的なレベルで構文の類似性を共有しているため、難読化をバイパスし、未知のマルウェアバリアントを検出できます。
この論文では、抽象的な構文ツリーからの特徴の抽出をランダムフォレスト分類器と組み合わせて、悪意のあるJavaScriptインスタンスを検出する低オーバーヘッドソリューションであるJASTを紹介します。これは、良性または悪意のあるサンプルを予測する特定のパターンの周波数分析に基づいています。分析は完全に静的ですが、高い検出精度はほぼ99.5%であり、0.54%の偽陰性率が低くなります。
これは研究作業であり、結果を公開し、結果を検証可能にし、情報セキュリティを促進することを意図しています。 InformationStechnik(BSI)のBundesamtFürSicherheitの公式ポリシーまたは位置を必ずしも反映しているわけではありません。著者は、この出版物の情報が正しいことを保証するためにあらゆる努力をしましたが、著者は、過失、事故、またはその他の原因に起因するかどうかにかかわらず、誤りや不作為による誤りや不作為による損失、損害、または混乱について、当事者に対する責任を否定しません。
die von dem benutzer auf github bereiteltelten inhalte spiegeln nicht die meinung des bsiより広い。
die verwendung der bereitgestelten inhalte geschieht auf eigene gefahr des anwenders。 einehaftungfürdiachrichtigkeit、vollständigkeitundaktualitätdieserinhalte kann seitens des bsi nichtübernommenwerden。
das bsi ist nicht verantwortlich undübernimmtkeinerlei hafurschäden、unteranderemfürdirekte、Indirekte、Zufällige、Vorab Konkret Zu bestimmende oderfolgeschäden、die angeblich durch didung didung der inhalteden。
Ariya Hidayatによって作成および維持されたEsprimaは、JavaScriptファイルの語彙分析と構文分析の両方を実行するために使用されています。
「Copyright JS Foundationおよびその他の寄稿者、https://js.foundation/
変更とバイナリ形式での再配布と使用は、変更を伴うまたは伴わない場合、次の条件が満たされている場合が許可されています。
このソフトウェアは、著作権所有者と貢献者によって「現状のまま」、および商品性と特定の目的に対する適合性の暗黙の保証を含むがこれらに限定されない明示的または黙示的な保証が否認されます。いかなる場合でも、直接的、間接的、偶発的、特別な、模範的、または結果的な損害(代替品またはサービスの調達を含むがこれらに限定されない)に対して責任を負うものとします。