Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSINT CTFを支える技術
Search
Ryusei Ishikawa
August 12, 2024
Technology
1
560
OSINT CTFを支える技術
Seccamp 2024 LT
Ryusei Ishikawa
August 12, 2024
Tweet
Share
More Decks by Ryusei Ishikawa
See All by Ryusei Ishikawa
OSINT CTFの リアル作問環境を体験してみよう!
xryuseix
0
110
HTTP通信を書きかえてみよう
xryuseix
0
62
Webアプリケーションのユーザ入力検証
xryuseix
3
1.1k
Privateリポジトリで 管理しているソースコードを 無料でGitHub Pagesに公開する
xryuseix
0
2.4k
CTFにおけるOSINT問題作問の難しさ
xryuseix
0
660
「Reactはビルド時にコメントが消えるから」と言ってコメントに💩を書いてはいけない
xryuseix
0
1.2k
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile for engineer
hr01
1
22k
技術的負債を正しく理解し、正しく付き合う #phperkaigi / PHPerKaigi 2025
shogogg
7
1.8k
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.1k
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
130
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
400
Amazon GuardDuty Malware Protection for Amazon S3を使おう
ryder472
2
100
Tirez profit de Messenger pour améliorer votre architecture
tucksaun
1
140
Agile TPIを活用した品質改善事例
tomasagi
0
310
初めてのPostgreSQLメジャーバージョンアップ
kkato1
0
420
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
440
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
220
Featured
See All Featured
Scaling GitHub
holman
459
140k
Typedesign – Prime Four
hannesfritz
41
2.6k
How to Ace a Technical Interview
jacobian
276
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
The Invisible Side of Design
smashingmag
299
50k
Become a Pro
speakerdeck
PRO
27
5.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Agile that works and the tools we love
rasmusluckow
328
21k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Faster Mobile Websites
deanohume
306
31k
Transcript
OSINT CTFを支える技術 xryuseix @ryusei_ishika ネクストチューター #seccamp
TsukuCTF vs. DIVER OSINT CTF 2 TsukuCTF DIVER OSINT CTF
開催回数 / 最終開催日 3回 / 2023年12月 1回 / 2024年6月 直近の参加人数 701人 873人 運営人数 18人 6人 直近の問題数 38問 35問 直近の問題ミスの数 ※ 6問 0問 ※user-friendlyな対応(表記揺れ対応・問題文をわかりやすくなど )は除く #seccamp
TsukuCTF vs. DIVER OSINT CTF 3 TsukuCTF DIVER OSINT CTF
開催回数 / 最終開催日 3回 / 2023年12月 1回 / 2024年6月 直近の参加人数 701人 873人 運営人数 18人 6人 直近の問題数 38問 35問 直近の問題ミスの数 ※ 6問 0問 このLTでは何をしたのかについて説明します #seccamp
4 https://github.com/CTFd/ctfcli • 設定ファイルからCTFdのスコアサーバに デプロイするツール • 設定を全てテキストで記載するので、 Git, CI, CDとの相性も◎
• WebのUIで設定する必要がなく、 設定ミスを防げる ◦ TsukuCTFでは結構ミスした • CTF問題の最新の状態を 1つに定義できる ◦ GitHubにあるものが最新? スコアサーバ上のものが最新?にならない 設定ファイルの例 #seccamp
5 https://github.com/diver-osint-ctf/ctfd-config-generator • ctfcliの設定ファイルや、 作問に必要なファイルを自動生成 するツール • 元seccamp修了生のtask4233さんが作成し、 DIVER OSINT
CTF用にカスタマイズ • やや複雑なctfcliのデプロイコマンドの ラッパーも兼ねている 生成結果 #seccamp
6 https://github.com/xryuseix/ctfcli-unit-test • ctfcliの設定ファイルのフラグをテスト するツール • TsukuCTFではフラグの設定にミスが多かった ◦ 特に正規表現のミスが多 く、本番まで残った
• そこで、設定ファイルのフラグをユニットテスト のよう にテストするツールを導入した • ついでにyaml形式のチェックもしてくれる 実行例 #seccamp
[ 作問期間 ] [ 本番直前 ] [ 本番 ] 作問レビューフロー
7 作問者が問題PRを作成 レビュアーがレビュー レビュアーがレビュー2 xryuseixが最終確認&merge スコアサーバ上で確認 作問者を中心となって修正 xryuseixが確認&deploy これくらいやってやっと十分に #seccamp
[ 作問期間 ] [ 本番直前 ] 作問レビューフロー 8 作問者が問題PRを作成 レビュアーがレビュー
レビュアーがレビュー2 xryuseixが最終確認&merge スコアサーバ上で確認 作問者を中心となって修正 xryuseixが確認&deploy これくらいやってやっと十分に ちなみにここまで ↙ミスは結構あった [ 本番 ] #seccamp
その他の技術・テクニック 9 • スコアサーバはAWS CloudFormationで管理した ◦ NFLabs.さんのブログ※を参考にさせていただきました • スコアサーバは2台構成で冗長化したし、キャッシングもした ◦
しかし、低スペック2台だったのでどっちも落ちた • adminへの質問にチケット制度を導入した • 問題を解くために必要なWebサイトの鯖落ちは監視 ◦ 実際に当日1つがメンテナンスとなり、 チケットで対応 #seccamp ※ https://blog.nflabs.jp/entry/2023/11/10/093000
次回の開催もご期待ください! (両方とも次回開催に向けて準備中です) 10 おわり。 #seccamp