学部3年生と4年生がコンピュータセキュリティ研究会で発表
東京工科大学コンピュータサイエンス学部の学部3年生と4年生が学会発表してきましたので紹介します。
情報処理学会の第202回マルチメディア通信と分散処理・第108回コンピュータセキュリティ合同研究発表会が2025年3月17日(月)~18日(火)に群馬県庁昭和庁舎で行われ、コンピュータセキュリティ研究会のほうでコンピュータサイエンス学部の学部3年生4名と学部4年生4名が発表を行いました。マルチメディア通信と分散処理研究会のほうでも本学部から発表がありましたが、それは別の機会にお伝えしたいと思います。
群馬県庁昭和庁舎は歴史的建造物であり、使わせてもらう機会は滅多にないとのことでしたので、ここで研究発表を行えるのは貴重な経験です。
「ぐんまちゃん」の石像もありました。
会場はこのようにセッティングされ、とても立派でした。
コンピュータサイエンス学部には、3年次にプロジェクト実習という授業があります。テーマはいくつかありますが、情報セキュリティのテーマを選択した学生の中から、優秀な4グループが学会発表を行いました。授業では人工知能の使い方とデータの処理方法について主に学びますが、各グループは技術的に解決が困難な課題を自分たちで見つけ、授業で修得した知識と技術を使ってその課題解決に取り組みます。学会の研究会は、専門の研究者が集まるところですので、その中で学部3年生が発表の機会を得られるのは貴重といえます。
学部3年生の工藤諭さんが、グループを代表して「記号列の組み合わせを用いたステルス化XSS攻撃の検知」という発表を行いました。
クロスサイト・スクリプティング(XSS)という攻撃があるのですが、攻撃コードであることが見つからないようにステルス化されているものがあります。これに対して、JavaScriptに含まれる演算記号の並びをn-gramという方法で処理すれば、機械学習を用いてうまく検出できるのではないかと考えました。論文に評価をまとめた時点では、Random ForestとSupport Vector Machineのアルゴリズムでいずれも、テストデータに対して正解率87.54%、適合率87.50%,再現率87.50%までしか上がらなかったのですが、研究発表会まで追加実験を行い、Random ForestとXGBoostでいずれも正解率94.35%、適合率94.40%,再現率94.35%、F1スコア94.22%まで精度を上げることができました。
学部3年生の佐藤悠弥さんが、グループを代表して「APIコール対応表に基づく特徴ベクトル化手法を活用したマルウェア検出」という発表を行いました。
APIコールと呼ばれるプログラムの命令があります。これを使ってマルウェアを検出する研究はありますが、数が多いために簡単に機械学習することはできません。ファイルを分割することはできますが、悪性の挙動がファイル分割によって分断されたしまった場合には、同じ精度で検出することは難しいでしょう。そこで、このグループは、APIコールを対応表に基づいて数値に置き換え、ユニークなものだけを抽出して特徴ベクトルにするという方法を考えました。いくつかの機械学習アルゴリズムで評価した結果、一次元の畳み込みニューラルネットワークが最も高い正解率0.9576になりました。
学部3年生の進藤景さんが、グループを代表して「異なるイラストを用いたパーツごとの動作データ解析による個人識別手法」という発表を行いました。
このグループが着目したのは手書きの署名です。最近では、スマートフォンの画面やタブレット端末にスタイラスペンを用いて手書きで署名を行うスタイルが定着してきましたが、見本となる他人の署名を入手できてしまった場合には、最悪ではなぞることもできてしまいます。そこで、署名ではなく、指定されたイラストを描いてもらう方法を考えました。本人の筆記の特徴を登録する際に描くイラストと、本人確認の際に描いてもらうイラストのキャラクターは異なります。これらのキャラクターには類似するパーツはあるのですが、大きさや形が少し異なり、本人確認の際に描くキャラクターが何であるかは直前までわかりませんので、攻撃者はなぞるものを用意できません。当初は、不用意に多クラス分類にしてしまったために機械学習による精度が低くなってしまいましたが、2クラス分類で追加実験したところ、本人の類似度が高くなった左目で、最も高い被験者は92.2%、最も低い被験者でも75.4%の正解率で本人確認が行えました。授業の中での研究でしたので、被験者への指示がうまく行えておらず、同じ位置に同じパーツを描かない人や、指示を無視してパーツの輪郭の内側まで描く人もいたとのことで、きちんと実験すれば精度は上がるのではないかとのことでした。
学部3年生の成田彩華さんが、グループを代表して「ファインチューニングを用いた電子署名の偽造」という発表を行いました。
このグループは、署名の画像を偽造する方法を考えました。真っ先に思いつくのが、まったく同じ画像を提示するという方法ですが、これは駄目です。過去の画像と比較されて同じものがあればバレてしまいます。また、質疑応答でもありましたが、過去の像から点の位置を少しだけ変えたものにするという方法も、おそらく既存の様々な方法で見破られます。そこで、このグループは、生成器と識別器という2種類のプログラムを用意し、これらをファインチューニングすることで、本人であればいかにも書きそうな文字であり、過去に本人が書いたものとは異なる筆跡の同じ文字を人工知能に書かせる手法を提案しました。結果としては、機械学習で100%見破られてしまいましたので、署名をうまく偽造することはできませんでしたが、人間が目視で確認する限りでは、いかにも本人が書いたような文字に見えます。背景の色が少し変わっているのと背景に模様ができているのが問題で、どうもこのせいで偽物と見破られてしまっているようです。本物の署名も類似の背景にして試してみましたが、うまくいきませんでした。授業の中の短期間での実験でしたので、ここまでしかできませんでしたが、人間の目は欺けていますので、あとひと工夫すればうまくいきそうなところまで来ています。
このように多くの研究者が発表を聴講しています。実は、オンラインと併用していますので、ここにいる人たち以外にも聴講者がいます。
続いて、学部4年生4名による発表を紹介します。
学部4年生は、研究室で研究を行い、卒業論文にその研究成果をまとめています。多くの文献を調査し、良い結果にたどり着くまで試行錯誤を繰り返した多大なる努力が、今回の研究発表で結実しました。他大学や企業の研究者の発表と比較しても、まったく遜色はありません。
学部4年生の貞野秀明さんが「XSSEDデータセットの適正化とステルス化されたXSSの検知手法」という発表を行いました。
クロスサイト・スクリプティング(XSS)の公開されているデータセットには攻撃ではないものも含まれており、それらを適切に整理している過程で、見つからないようにステルス化されているタイプのXSSがある程度含まれていることに気づきました。ステルス化されていない従来のXSSは高精度で検知できますが、同じ方法ですとステルス化されているものは見逃してしまいます。そこで、ステルス化されているXSSを検出する新たな手法を提案して評価しました。結果として、ステルス化されていないXSSは98%以上、ステルス化XSSでも95%以上の精度で検出できました。
質疑応答では研究者の方々と有意義な意見交換が行えました。他のデータセットでも同様の結果になると思われるかという質問がありました。XSSの攻撃を多数集めた良いデータセットはなかなかありませんが、手法は有効ではないかと思われます。
学部4年生の遠藤明恵さんが「抽象構文木の条件分岐と繰り返し構造を利用した悪性JavaScriptの検知手法」という発表を行いました。
悪性JavaScriptは、解析されにくいように難読化されているものもあり検出が困難です。そこで、遠藤さんは抽象構文木に注目してうまく検出できないか試してみました。既存研究でも抽象構文木に注目したものはあるのですが、その方法ですと攻撃者が良性の構造に似せてきたときに見破れなくなってしまいます。一方、遠藤さんの手法では、機械学習のCNNとLSTMを使って抽象構文木の特徴をとらえているため、良性の構造に似せた場合にも違いを見つけられます。実験の結果、データセットの悪性JavaScriptコードを98.97%で検出でき、攻撃者が良性を装う検出回避を試みた場合でも、これより高い精度で検出できました。
学部4年生の田中勁仁さんが「機械学習ベースのNIDSを用いた未知の攻撃分類検知の精度を向上させる手法の提案」という発表を行いました。
既存研究に、ネットワークの攻撃を検知するものがあります。その研究では、攻撃を類似の種類ごとにグループ化し、同一グループの中で何種類かの攻撃を学習すれば、同じグループにある他の攻撃も見つけられるか試していました。そこでは、4つある攻撃グループのうちR2Lと呼ばれる攻撃を分類できる精度が0%となっていました。このような結果になってしまうのは、サンプル数が少ない場合に、機械学習がうまくいかなくなってしまう場合があることが原因と考え、特徴に関係のない情報を除去することでパラメータが収束しやすくなる工夫を施しました。具体的には、情報利得が低い特徴量を削除する手法とOne-Hotエンコーディングしたカテゴリ変数を主成分分析によって1次元に圧縮する手法を組み合わせ、それまで0%であったR2Lを、正解率0.996、適合率0.979、再現率1.00、F値0.989で分類および検出できるようになりました。
学部4年生の内野彰紀さんが「機械学習を用いたDRDoS攻撃の早期検知」という発表を行いました。
この研究は、横浜国立大学の吉岡克成教授との共同研究になっています。DRDoS攻撃というものがあり、この攻撃を受けるとインターネットに接続されているサーバが落とされてしまったりします。DRDoS攻撃を検出する研究は今までにもありますが、基本的に一定時間状況を観測し、攻撃ではない状態と比較することで攻撃を受けているかどうか判断します。この時間が120秒くらい必要になりますので、その間は攻撃を受けっぱなしで攻撃に気づけないということになります。これに対して、10秒間などの短時間でDRDoS攻撃を検知する手法を提案しました。実験の結果、アルゴリズムにLightGBMを用いた場合に最も検出精度が高くなり、10秒間のログデータであっても99.99%の精度でDRDoS攻撃を検知することが可能でした。
内野さんの質疑応答の様子です。今回はデータセットのログを使って評価していますので、実際に攻撃を受けた場合にはどのようになるかという質問がありました。また、もっと短い時間で攻撃を検出できないのかという質問もありました。専門家の方々から貴重なご意見を数多く賜ることができました。
2025年3月24日 (月)