1. azon

    Posted

    azon
Changes in title
+SECCON CTF 2019 弐 (server2) writeup
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,25 @@
+# 問題内容
++ サーバーは画像Xをもっている。Xは参加者に公開されない。
++ 640×400のアルファチャンネルを含まないPNG画像をサーバーにPOSTすると,あるアルゴリズムによってXと比較され,認識率(類似度)が返ってくる。アルゴリズムは参加者に公開されない。
++ 4時間ごとにStageが進み,アルゴリズムのパラメータが変更される。パラメータは,厳しく判定する方向に変更される。
++ 認識率が50%を超える画像をPOSTすると,Attack Flag 1を取得できる。
++ 認識率が60%を超える画像をPOSTすると,Attack Flag 2を取得できる。
++ 認識率が70%を超える画像をPOSTすると,Attack Flag 3を取得できる。
++ 認識率が45%を超える画像のうち,最も認識率が高い画像をPOSTしたチームに対し,Defence Pointが付与される。
++ アルゴリズムを推測し,認識率の高い画像をPOSTせよ。
+
+# Stage1
+私は前年大会に出たわけではなかったが,事前の情報収集で[SECCON 2018 国際決勝 Writeup - こんとろーるしーこんとろーるぶい](https://graneed.hatenablog.com/entry/2018/12/24/003656)を読んでいたので,前年大会でも似た問題が出されていることを知っていた。
+そこで,上の記事を参考に(40,40,40)の単色画像を投げてみたところ,最高認識率89.85%を記録した。
+その後,手動でいろいろ試したが,何をやっても逆に認識率が低下する結果となり,単色画像が一番良いという結論に至った。
+
+# Stage2
+単色画像の認識率が低下したので,手動でいろいろ試すのを再開した。最高認識率は以下の画像で50.525%。
+![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269405/e4074cdc-22a8-821a-3e9b-3ec7dcbb6500.png)
+
+# Stage3
+Stage1,2でいろいろ試した知見を元に,**画像をある程度の大きさのマスに分け,あるマスに色を付けてみて,認識率が上昇したら色を付けたままにし,下降したら色を取り消す**という方針を立て,自動化した。しかし,競技終了までに認識率45%には届かず。最高認識率は以下の画像で21.275%。
+![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269405/b1f078cb-39af-0641-e9d1-889f0a70ddaa.png)
+
+# その他
++ [ptr-yudai氏](https://ptr-yudai.hatenablog.com/entry/2019/12/23/001203)は,この問題は前年大会の使い回しであると指摘している。ただし,上でリンクした記事とこの記事を読み比べれば分かるように,全く同じというわけではない。