KazuminEngine

プログラマーの日記

vulsがciscoの脆弱性検知に対応できない理由

vulsにcisco脆弱性検知を実装しようと試みたが、できなかったので、その理由を述べる。

cisco脆弱性データベース(go-cve-dictionaryやら)を作るのに、2通りの方法があって、OVALとCVRFで取ってくる方法がある。

OVAL

まず、試みたのが、OVALの方。vulsは影響の受けるversionでfilterをかけるときに、versionが必要なのだが、それのデータベースを作ろうとしたができない。

なぜかというと。

すでにサポート済みのredhatなどの ovalののcommentは、seamonkey-nspr is earlier than 0:1.0.5-0.1.el3みたいのがあり、影響を受けるversionがわかるが、これがcisco OVALだと。ない。IOS version is affectedとしか書いていない。それだけでは、とても、脆弱性を含むversionがわからない。

CVRF

上記の通り、影響の受けるversionがCVRFにあると、検知できそう。

しかし、影響の受けるversionが書いてあるには、書いてあるが、記述の一貫性がなく、とても正規表現で抽出したりできない。(少なくても、私は、)

そうゆうわけで、cisco検知に対応できない。

もし、できそうなアルゴリズムがあれば教えて欲しい。このブログのコメントにでも書いて欲しい。

このブログは、10分で書いたものであるので、グダグダです。