June 2020 Archives

新たな第一歩

gamzatti
Vote 0 Votes

本日付で、東京大学の非常勤研究員を離任し、自社に出向復帰することになりました。

明日からは、自社でユーザのCSIRT支援をしつつ、東洋大学の非常勤研究員としてIPAの人材育成業務を兼務する形になります。

5年自社に戻っておらず、自社からも大きな期待がかかってしまっているため、正直、不安とプレッシャーもあります。

しかし、やはり居心地の良いところに長期間留まっていると成長が止まってしまうので、適度な環境や仕事の変化と、適度なプレッシャーは必要なのだと思います。

今の業務も、もう4年目に突入し、初年度はプロジェクト立ち上げのために負担が大きかったですが、今は安定してきており、とっても居心地の良い職場になっています。

今の業務から得られたものは、言葉では表せない程大きく、この環境を与えてくださった全ての方に、感謝の気持ちでいっぱいです。

正直、このままでいたい気持ちがとても大きいですが、自身の成長のためには、ターニングポイントなのでしょう。

幸い、自社の理解があり、比較的自由にやらせてもらえるので、完全に出向復帰ではなく、これまでの様にIPAの仕事や、研究の時間が少し取れることに心から感謝です。

この貴重な時間を使って、新たな一歩を踏み出したいと思います。

今後は、NEC、東洋大の研究員、名工大の社会人ドクターの3つの顔で、頑張っていきたいと思います。

テスト、超重要。

gamzatti
Vote 0 Votes

講義などでいつも、"プログラムを修正したら、必ずテストしましょう"と当たり前のことを言っていながら、自分がそれを怠ったばかりに、痛い目に合いました。。。😭

論文のリバイス(査読結果の指摘を修正すること)で再評価を行うためにログをパースするプログラムを急いで作り変え、10行くらい直したら

そこがバグってて、パースした結果と元データが合わず、間違ったデータで論文を出してしまったかと思い、冷や汗を書く羽目に。。。

10行直した所のテストなんて、検証プログラムなら30分あればできるはず(商用のシステムならもう少し必要かもしれませんが)。

それをしなかったばっかりに、デバッグと再評価の工数で、おそらく計5時間くらい浪費してしまうでしょう😫

危うく、またヤケ酒のお世話になる所でした(笑)

ちなみに、私はお酒は好きですが、家で飲む習慣は無いので、家飲みの9割は、技術的な何かがうまくいかないことによるヤケ酒です(笑)

ヤケ酒→プログラムと格闘→悪夢にうなされる

と、いいこと1つも無いんですけどね、なんかやめられないんですよね。。。

今回はまだ検証目的だから良かったですが、もっと重要なプログラムなら、リカバリの工数は数時間では済まないでしょう。。

と言うことで、私と同じ悲しい状況にならないように、例え検証プログラムとかでも、修正したらちゃんとテストしてくださいねー!!(切実に)

脆弱性情報収集自動化では、攻撃コードの情報をNVDから取得する方法を書きましたが、

ちょっと不十分だと思うので、有名な攻撃コード掲載サイト(exploit-db)を検索するようにしました。

同コード(UpdateVul.java)のgetPoC関数になります。CVEをキーにexploit-dbを検索し、あれば1を、なければ0を返します。

攻撃コードが掲載されるサイトはいくつかありますが、他に有名なものはmetasploitモジュールなどが掲載されるrapid7のサイトなどがあるかと思います。
こちらも、検索できるサンプルを作ったら共有します。

自身の研究で、脆弱性情報収集を自動化する必要があったので、NVDのjsonフィードから取得するサンプルコードを作りました。

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

About this Archive

This page is an archive of entries from June 2020 listed from newest to oldest.

May 2020 is the previous archive.

July 2020 is the next archive.

Find recent content on the main index or look in the archives to find all content.