| published by | Seokchan Yoon |
|---|---|
| in blog | @ch4n3.yoon |
| original entry | 2024年を振り返って… |
こんにちは、私はユン·ソクチャンと申します。韓国で Offensive Security をしています。
皆様、2024年はどうでしたか?私は今年、韓国の男性だったら避けられない軍隊でいって、誰よりも長い一年を過ごしました。この文は、私が君隊の中で生活しながら達成した事を皆様にアピールするために作成されました。
ここで私のついてもっと詳しく読めます。
ホワイトハットコンテスト、兵士の部門で一位で、韓国の国防部長官賞をもらいました!

たぶん日本の方たちはこの[ワイトハットコンテスト]という大会についてよく知らない方も多いと思っています。韓国の情報器官である国家情報院の説明に従うと、韓国の3大CTFは…
でございます。私が昨年に参加した「WHITEHAT CONTEST」とは、この三つの中で軍の焦点を合わせた大会であります。
本選では韓国式のCTFでよく出題されるJavaとPHPの基盤の問題が出って、解くのがちょっと大変でしたが、予選では私が上手と一番自信があるモダンウェブスタック(FlaskとDjango)の問題が出題されて1位でオールクリアやりました。
この大会で優勝して、国防部の長官賞を貰えました。
私は軍隊に入る前から、ずっとDjangoで脆弱性を探したいと思いました。それで、日の日課が終わったら公共のパソコン部屋に行きてDjangoのコードを見ました。そのお陰でDjangoで四つの脆弱性を探せられました。
intcomma template filterdjango.utils.text.Truncator.words()django.utils.html.urlize() and AdminURLFieldWidgetHasKey(lhs, rhs) on Oracle特に私がDjangoのソースコードを初めてみたときから目標だった SQL Injection 脆弱性を探して知らせて、とても嬉しかったです。(CVE-2024-53908)
また、Djangoで最もよく使われるREST APIライブラリであるdjango-rest-frameworkでも、潜在的なXSS脆弱性を発見し、報告しました。
この脆弱性は、発見から報告、パッチ作成、CVE番号の割り当てまで、すべて自分で行いました。その功績が認められ、Google VRPを通じて韓国で15人目のバウンティ受領者となりました。
break_long_headers template filter
Djangoのコードベースを分析している途中、偶然にCPythonの潜在的なDoS脆弱性を発見し、報告したこともあります。この脆弱性は、すべてのDjangoベースのサーバーに影響を与える可能性があるため、その影響力の大きさから興味深いものでした。
Pythonの脆弱性CVE-2024-7592とDjangoへの影響
こんにちは、ユンソクチャンと申します。最近、私がPythonチームに報告した脆弱性が公開されました。 この脆弱性は、CVSS 3.xの基準で10点中7.5点で、「高い」深刻度と評価されました。この問題を悪用すると、インターネット上のすべてのDjangoサーバーでDoS(サービス拒否)攻撃を引き起こす可能性がありました。 Pythonの正規表現とReDoS脆弱性 正規表現はテキスト処理でよく使われる強力なツールです。しかし、正規表現が複雑になると、解析や一致を見つける計算量が急激に増加することがあります。Pythonのreモジュールはバックトラッキングを使う方法で正規表現を処理します。こ…

韓国最大のPythonカンファレンスであるPyCon KR(パイコン韓国)で発表する機会を得ました。Django、CPython、Apache Airflowなど、Pythonベースの有名なオープンソースにセキュリティ貢献をした経験をもとに、「ハッカーの視点から見たDjango Framework」というテーマで発表しました。
特に、この場でCPythonへのコントリビュート経験をもとに、コアPython開発者であるナ・ドンヒさんと短い会話を交わしました。それが私にとって大きなモチベーションとなりました。後にドンヒさんがSteering Councilのメンバーに選出されたという知らせを聞き、自分のことのように嬉しかったのを覚えています。
Airflowは、Apache財団が管理するPythonベースのデータパイプラインおよびワークフロー管理プロジェクトです。このオープンソースプロジェクトで、2つのPost-authenticated RCEと1つのStored XSSの脆弱性を発見し、報告しました。
個人的には、オープンソースプロジェクトで初めてhigh-severityの脆弱性を発見し、報告できたことがとても意味深い経験となりました。また、Apache財団の迅速かつ専門的な脆弱性管理プロセスにも驚かされたことを覚えています。
私の長年の憧れであるOrange Tsaiさんのブログ記事がきっかけとなり、7月からGitHubやGitLabのソースコードの分析を始めました。GitHubはRailsフレームワークで構築されており、そのためRailsのソースコードを見ていたところ、いくつかの脆弱性を発見しました。
Railsのソースコードを分析しているうちに、「Rubyはどのように実装されているのだろう?」と気になり、Rubyのコードも見てみました。運よく、ビルトインのXMLパーシングライブラリにも小さな脆弱性を発見し、報告しました。
上記3つの脆弱性以外にもいくつかの脆弱性を発見しましたが、まだ解決されていないため、この文章では公開しないことにします。
ただし、未公開の脆弱性の中には、インターネットに接続された任意のGitHub Enterpriseサーバーをダウンさせる可能性のあるものがありました。GitHub側でもこの懸念をセキュリティ上の脆弱性として認め、小さな報酬(GitHub Swag)を受け取りました。

ちなみに、GitHubに有効なセキュリティ脆弱性を報告すると、GitHub Proの永久利用権を獲得できます!
Javaの大規模なWebフレームワークであるSpringで作成されたプログラムを分析しながら、動作を確認するためにソースコードを時々読んでいました。すると、運よくE-Tag機能を使用する際に発生する可能性のあるサービス停止の脆弱性を発見し、報告しました。
これ以外にも、お話しするのが少し難しい脆弱性をいくつか発見しました。その中には、世界中で使われているサービスで見つけたものもありました。おそらく、オフェンシブセキュリティの分野で働いている方なら、誰でも知っているようなサービスだと思います。
2023年の私なら想像もできなかったような脆弱性だったので、この一連の経験を通じて、自分の能力に対して大きな自信がつきました。
また、Microsoftが所有するリポジトリでもhigh-severityの脆弱性を発見し、報告しましたが、まだ公開されていません。
日本で活動しているオルタナティブ系や渋谷系のバンド音楽にハマったことがきっかけで、自然と日本語を学ぶようになりました。勉強を続けるうちに負けず嫌いな気持ちが芽生え、JLPT N5から始めて、N3の資格まで取得しました。
N2は本当に惜しく、あと5点足りずに不合格でしたが、現在は電話で日本語の授業を受けたり、継続的に勉強を続けています。その結果、今では自信を持って日本語を話せるレベルに達しました。
入隊前は、オフェンシブセキュリティの分野で自分がうまくやっていけるのか、とても不安でした。しかし、昨年は目立った成果を出すことができ、大きな自信がつきました。今年はオフェンシブセキュリティの分野に全力を注ぎ、真剣に取り組みたいと思います。
2025年には、以下の目標を達成したいと考えています。
軍隊では、自分の人生を振り返り、多くの人と関わる中でさまざまなことを学びました。特に、大きく気づいたことは、「継続」と「誠実さ」は必ず自分に返ってくるということです。これからも、コツコツと誠実に努力していきます。
