自身の研究で、脆弱性情報収集を自動化する必要があったので、NVDのjsonフィードから取得するサンプルコードを作りました。
本プログラムのreadNVD関数が該当コードになります。
引数はCVE番号、戻り値のresult配列は、その脆弱性がRCEであれば1、攻撃コードがあれば1を返します。
私の研究では、RCEかどうかと、攻撃コードの有無しか取っていませんが、本当はもっと色んな情報が取れます。
私の研究では、RCEかどうかと、攻撃コードの有無しか取っていませんが、本当はもっと色んな情報が取れます。
攻撃コードがあった場合、JSONフィードのreference_data->urlにそのURLが入る様なのですが、
このurlにはセキュリティアドバイザリなども入るため、中身が攻撃コードかどうかは、現段階ではurlに含まれるキーワードでしか判断していません。
厳密にやるなら、各urlにリクエストを投げてレスポンスの中身を見て判断した方が良いかと思います。
時間ができたら改良しようと思います。
時間ができたら改良しようと思います。
他にもMyJVN APIなどもある様ですが、JVN iPedia独自のIDを指定して脆弱性情報を取得する仕様で、CVE番号トリガーでは処理しづらそうと思い、使うのをやめました。
Leave a comment