2023年2月6日~2023年2月12日に読んだ中で気になったニュースとメモ書き(TLSらじお第92回の前半用原稿)です。
- [Timing Oracle in RSA Decryption (CVE-2022-4304)]
- [Certificates without PKIX]
- [ChromeのTLS拡張ランダム化]
- [その他のニュース]
- [まとめ]
[Timing Oracle in RSA Decryption (CVE-2022-4304)]
こちらのツイートから。
OpenSSLセキュリティアドバイザリが出て3.0.8が出とる。今回はやたら数が多いな。CRLDPがディレクトリ名だった時のはどうでもよいとしてRSA暗号化のTiming Attackは範囲が広く厄介そう、、、名前制約のバッファオーバーランもありと、、、 https://t.co/A0vBxooGv3
— kjur (@kjur) 2023年2月7日
リンク先はこちら。
RSA証明書が利用されている場合、クライアントは生成したプリマスターシークレットをサーバの公開鍵で暗号化してClientKeyExchangeメッセージで送信する。
このとき、ネットワーク上でパケットを観察できる攻撃者は、パケットを加工してサーバに送信し、レスポンスの処理時間を計測することで、プリマスターシークレットを復号できるらしい。相当回数の試行が必要そうだが、成功した場合、通信内容が丸見えになってしまう...。
他にも、OpenSSLをクラッシュさせる脆弱性がいくつかと、メモリへのアクセス可能な脆弱性があったらしい。
OpenSSLのASN.1パーサーは人間には読めるものではなくあのパーサーを使ってることがfatalであって、このぐらいのバグは無限にあるのであまり緊急度は高くない認識
— ますだまさる (@m_masaru) 2023年2月11日
OpenSSLに複数の脆弱性https://t.co/J90u9mXXcT
という話もある。文脈は違うが、以下のツイートが思い出された。
Twitterがゆっくりとしかし確実に壊れていっていることに残念ながら驚きはないというか、非常に複雑なソフトウェアの面倒を見る人を減らして急な機能追加をすると「分かりやすい大爆発」を起こすのではなくて「あちらこちらから無視できない水漏れが起こる」みたいな壊れ方をするんですよね
— 父 (@fushiroyama) 2023年2月8日
[Certificates without PKIX]
こちらのツイートから。
ふんふん、ASN.1 DERでないCBORを使った証明書のためのWGなのだな。テスト用、自社向けならあるかもだけど流行んないだろうなぁ。証明書はXML形式とかいろいろ検討されたけど誰も使わないもんね。ところで証明書を自前のツールでJSON化してるけど、これとてもいいよ。jqとかで操作しやすいのも良い https://t.co/a5KhhPwmNR
— kjur (@kjur) 2023年2月6日
ワーキンググループのサイトはこちら。MLのやりとりなどが閲覧できる。
CBORは知らなかったけどRFC 7049で定められたConcise Binary Object Representationのことらしい。
以下の記事によればJSONと違ってバイナリなので高速化されIoTの世界などで役立つらしい。
CBOR Playgroundで遊んでみたところ、こういう感じに変換された。
WGのメーリスでのやり取りを見ていると、IoTの世界でもECDSA/EdDSAの証明書にしてサイズを小さくすることで十分やっていけてるという意見もあるみたい。あとは既存のX.509証明書との互換性などを気にする意見も。
どうなることやら...。kjurさんはちょっと違う意見みたい。
そんなことよりは、ちゃんとWebPKI用のプロファイルを決めたらいいんじゃないかと思うなぁ。ポリシとか名前とか余計な拡張はバンバン落とす。デルタCRLとか分割CRLもいらない。シングルレスポンスOCSP必須とかね
— kjur (@kjur) 2023年2月6日
[ChromeのTLS拡張ランダム化]
こちらの記事から。
TLSフィンガープリントについては2022年9月5日の本ニュースで触れた。
ChromeがTLS拡張の送信順序をランダムにする予定であると発表した点については、本家のBulletproof TLS Newsletterで取り上げられたのをピックアップしていた(2022年12月12日)。しかしこういう影響があるとは考えていなかった...不覚。Chrome 110でリリースされる予定だったのが、Chrome 108で有効化されたらしい。
記事の筆者によれば、ランダム化を考慮してTLSフィンガープリントを特定する新しいアルゴリズムが開発されるかもしれない、とのこと。
Firefoxも同様のオプションの実装を計画しているとのこと。
[その他のニュース]
▼韓国の銀行TLS事情
こちらの記事から。
2023年1月9日の本ニュースの続報。銀行のセキュリティアプリがOSのトラストストアに独自の認証局を追加しているので悪用が心配とのこと。
中には2099年まで有効なルート証明書も入っていて、通常はWebサーバ認証やクライアント認証といった必要最低限のもののみ指定されるExtended Key Usage拡張はフル指定になっており、メール署名やタイムスタンプにも利用できるとのこと。
しかも該当のアプリをアンインストールしてもトラストストアからは証明書が削除されないらしい。お行儀がよろしくない...。
基本的にローカルで動作するWebサーバのための証明書を発行するためのものなので、インストール時に秘密鍵を生成するなどの対策が望ましい、とのこと。なるほど。
▼QUICでDPDK
こちらのツイートから。
『Improving the performance of picoquic by bypassing the Linux Kernel with DPDK』https://t.co/P6o6nIJUMr
— ゆき (@flano_yuki) 2023年2月6日
QUIC(picoquic)でDPDKした論文
リンク先はこちら。CSの修士論文ってこういうことやるんだなあ(文系の感想)。
Data Plane Development Kitの略で、オープンソースとして公開されている高速パケット処理用のライブラリとネットワークドライバのセットです。(略)DPDKで作成したアプリケーションは、システムコールを介することなく直接ハードウェアを制御できるため、より高速に動作することができます。
本論文では、古典的なクライアント/サーバ構成のQUIC接続が3倍高速化された(20GBのダウンロードのスループットが5 Gbpsから15.6 Gbpsへ改善された)とのこと。いろんな高速化手法があるなあ...。
しかし、QUICの名前の割にTCP+TLSスタックの方が早いってのはちょっと驚き。
▼軽量暗号Ascon
こちらのツイートから。
軽量暗号アルゴリズムとしてAsconが選ばれた!よい特性を持ったアルゴリズムが選定されたとして、これが実世界でちゃんと実装されていくかどうかが試されると思う
— 菅野 哲 / GMOサイバーセキュリティbyイエラエ 取締役CTO (@satorukanno) 2023年2月8日
---
Lightweight Cryptography Standardization Process: NIST Selects Ascon
https://t.co/QCYSmvJaxF
NISTの発表はこちら。
軽量暗号というのは、そもそも現行のNIST標準で定められた暗号の性能が許容できないほど悪いようなIoTなどの実行環境のためのAEAD(authenticated encryption with associated data)およびハッシュ機能を持つアルゴリズムらしい。インプラントのデバイスや、車のキーレスエントリーでの使用が想定されているとのこと。
Asconのサイトはこちら。
2014年に開発されたAsconは、既にGitHub上でCやJavaなど各言語の実装が公開されている。
▼SSLErrorOverrideAllowed
こちらの記事から。
Edgeはセキュリティポリシーを配布することで、SSL証明書に関する警告を無視できなくできるらしい。
追加でSSLErrorOverrideAllowedForOriginsという設定を変更すると、特定のサイトのみ警告を無視できるようになるとか。それやるくらいなら真っ当な証明書用意するかSSL復号プロキシとか入れた方がいい気がするけど...。
▼NginxのQUIC+HTTP/3プレビュー
こちらのツイートから。
QUIC+HTTP/3が実装されたnginxのRHEL9/Ubuntu22.04用バイナリパッケージ配布が始まったそうです。dnf/aptで気軽に使えるぞ。設定例も載ってるのでご確認ください。 / “Binary Packages Now Available for the Preview NGINX QUIC+HTTP/3 Implementation - NGINX” https://t.co/8TnLnHMBdQ
— matsuu (@matsuu) 2023年2月11日
リンク先はこちら。意外とまだサポートされてなかったんだな...という気分。
nginx.confの設定例は以下の通り。
server { # for better compatibility we recommend # using the same port number for QUIC and TCP listen 443 http3 reuseport; # QUIC listen 443 ssl; # TCP ssl_certificate certs/example.com.crt; ssl_certificate_key certs/example.com.key; ssl_protocols TLSv1.3; location / { # advertise that QUIC is available on the configured port add_header Alt-Svc 'h3=":$server_port"; ma=86400'; #proxy_pass <upstream_group>; #root /<root_directory>; } }
[まとめ]
MITM攻撃で何ラーメン頼んだかバレちゃう...。
jvnjp: [2023/02/06 12:00 公表] スマートフォンアプリ「一蘭公式アプリ」におけるサーバ証明書の検証不備の脆弱性 https://t.co/5Ni3D6gKRv https://t.co/9dvPljyEU5 #itsec_jp
— ITセキュリティ情報 (@itsec_jp) 2023年2月6日