Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Trend Micro CTF 2019の機械学習カテゴリの問題に挑んだ/tmctf2019ml

meow
September 25, 2019

Trend Micro CTF 2019の機械学習カテゴリの問題に挑んだ/tmctf2019ml

slideshareから移行しました。
https://www.slideshare.net/meownoisy/trend-micro-ctf-2019

2019年9月25日(水)にコワーキングスペース秋葉原Weeybleにて開催された、『第31回ゼロから始めるセキュリティ入門 勉強会』で発表した資料です。

meow

September 25, 2019
Tweet

More Decks by meow

Other Decks in Technology

Transcript

  1. そもそもCTFとは  https://kotobank.jp/word/CTF-683695よ り  《capture the flag》デフコンやセクコンを はじめとする、コンピューターのハッキング 技術を競うコンテストなどで採用される競技。

     コンピューターセキュリティーに関する攻撃・ 防御の両方の立場から、暗号、ネットワーク 技術、プログラミングなど、さまざまな問題を 解くことで技量や知識を競う。
  2. [余談]私とCTF  今回初参加  動機: 参加して実際の空気のようなものを味わいた かった  CTFが何なのか私自身よく分かってないです 

    提示された問題に対して、コンピュータハックの 知恵・技術・アイディアを駆使して解答するプロ コンの一種という認識です
  3. Trend Micro CTF 2019 – Raimund Genes Cup  トレンドマイクロ社が主催するCTF

     https://www.trendmicro.com/ja_jp/campaign s/capture-the-flag.html  9月にオンライン予選の選抜、11月に本戦  優勝賞金100万円
  4. オンライン予選  競技形式  ジョパディ型  問題カテゴリー  リバースエンジニアリング 

    フォレンジック エクスプロイト  IoT  モバイル  OSINT  機械学習
  5. オンライン予選  競技形式  ジョパディ型  問題カテゴリー  リバースエンジニアリング 

    フォレンジック エクスプロイト  IoT  モバイル  OSINT  機械学習 自分の解けそうな ものを解くことに
  6. [補足] 機械学習? Deep Learning? AI?  機械学習  プログラムの処理判断基準をデータから自動的に獲得させ る技術

     Deep Learning  機械学習手法の1種。Deep Neural Networkという機械学 習モデルの学習方法。特徴抽出に長けており性能が高い。  AI  機械学習を知らない人に機械学習プロダクトを “なんとなく”分かってもらう時に使う言葉。 図: https://semla.polymtl.ca/wp-content/uploads/2019/06/Ma-semla.pdf
  7. Wildcard 100の内容 1. 与えられたフォルダ内には画像が34,022枚 あり、数字の”3”と”6”の画像が混在している 1. 画像に”3”と”6”のラベル(メタ情報)はない 2. また、画像には重複しているものもある 3.

    タスクは、”3”と”6”のユニークな枚数を計算 し、フラグをつくること 1. フラグ: TMCTF{x_y} 1. x: ユニークな”3”の画像枚数 2. y: ユニークな”6”の画像枚数 なお、総当たりを試みると 時間のペナルティ
  8. 解答の方針 下記の4step 1. ダブりのある画像の除外 2. MNISTデータをDeep Neural Networkで 学習し、数字分類器を作る 3.

    CTFの問題データをstep2で作った分類器 で分類し、人の目視で誤りがないか チェック 4. 画像の枚数をカウントする なんかラクそう(フラグ)
  9. step2. MNIST分類器の学習  「あ!これPyTorch本でやったところだ!」  PyTorch: ディープラーニングのソフトウェア フレームワーク。直感的に実装しやすく人気。  本の第4章にDeep

    Learningで画像分類をする レッスンがある  サンプルコードもある  https://github.com/miyamotok0105/pytorch_handbook  Deep LearningではGPU環境が必須だが、Google Colaboratoryサービスを使えば、 vGPUの学習環境を無料で使うことが可能  MNISTのデータに差し替えて、 モデル(AlexNet)を学習  評価データに対して、正解率98.2%  DNNの値にしては小さい方だが、これで十分 https://www.shuwasystem.co .jp/book/9784798055473.htm l
  10. 答え(他人のwrite up)を見る  https://qiita.com/kusano_k/items/6a95f 8079ac7ce2c91a8  TMCTF{14962_347}  つまり、見た目がいくら同じように見えて いても、値が違えばユニークとみなす模様

     ダブリ除去は完全に無駄な作業だった。。。  それどころか、ドツボにハマる要因となった この段階でフラグを 投稿していれば...