US — Ars Technica
*sshole の紹介:ハッカーがLinuxデバイスにSSHで侵入できる脆弱性
セキュリティ2分で読めます
Alpine Linuxなど一部の設定のLinux機器に、10年ほど前から存在する脆弱性が見つかりました。パスワードなしで機器にログインされるおそれがあります。
何が起きたのか
SSH(遠隔で機器に安全につなぐ仕組み)の実装であるOpenSSHと、musl(軽量なC言語の標準ライブラリ)の組み合わせに問題があります。Alpine Linuxはmuslを使うため、影響を受けます。さらに、OpenSSHがPAM(ログイン確認を行う仕組みの枠組み)を使わない設定であることも条件です。他のLinux配布版でも、同じ設定なら影響を受けるおそれがあります。
主な条件と数字
- 攻撃には、SHA256またはSHA512でハッシュ化されたパスワードを持つアカウントが少なくとも1つ必要です。
- 攻撃される側のアカウントは、/etc/shadowのパスワード欄に「*」が書かれ、パスワードなしに設定されている必要があります。
- ログイン時にパスワード欄へ256文字を超える入力をすると、攻撃が成功します。
- Alpineの管理者によると、接続は1回で、毎回成功し、やり直しも不要です。
そもそもどんな問題か
パスワードなしのアカウントは、証明書による認証でよく使われます。そのため、この設定は特定の種類のアカウントではよく見られます。セキュリティ会社Checkpointによると、攻撃ではアカウントのソルト(パスワードのハッシュに混ぜる値)をsshdが借りるため、SHA256またはSHA512が必要です。研究者は、アカウントがハッシュを持つだけでなく有効である必要もあると述べています。
なぜ大切なのか
条件がそろうと、被害はとても大きくなります。SSHの入口に届く攻撃者は、パスワードを知らなくてもログインできます。一方、Checkpointによると、既定のPermitRootLogin(rootのパスワードログインを禁止する設定)では、rootアカウントは守られています。ただし、doasやsudoの権限を持つアカウントは、rootになられるおそれがあります。
これから注目すべきこと
- Alpine Linuxなどの配布版が、修正版を出すかどうか。
- 利用者が、自分の機器で該当する設定になっていないか確認すること。
- SSHの入口を外部から守る対策が、どこまで広まるか。
用語解説
- Alpine Linux
- 軽さを重視したLinuxの配布版で、広く使われています。
- OpenSSH
- SSHで機器に安全につなぐためのソフトウェアです。
- musl
- Linuxで使われる軽量な基本ライブラリで、Alpineで採用されています。
- PAM
- ログインやアカウントの確認を行う仕組みの枠組みです。
- /etc/shadow
- Linuxでパスワードのハッシュを保存しているファイルです。
- Checkpoint
- サイバーセキュリティを手がける会社で、今回の問題を調べて報告しました。