サイト内の現在位置

ハニーポットで見るログイン試行

NECセキュリティブログ

2023年3月3日

NEC サイバーセキュリティ戦略統括部 セキュリティ技術センターのA藤(ハンドルネーム)です。
今回のブログでは、ハニーポットを設置してどんなパスワードを使用してログインを試してくるのか、その結果と分析についてまとめてみます。

パスワードと攻撃

IoT機器が身近になった今日、さまざまな所で認証情報を入力する機会があると思います。安全なパスワードの作成・管理等の呼びかけは総務省 new window[1]なども出ており、組織やサービスでは適切なパスワードポリシー(○○文字以上、使用できる文字の指定)[new window2 ,3]を設定して運用することが求められます。運用の実態としては、IPAが情報セキュリティに対する意識調査を行っており(2005年から脅威調査・2013年から倫理調査を実施)、2022年度版も公開されましたnew window[4]。詳しくは報告書を閲覧いただければと思いますが、パスワードのセキュリティ対策項目「できるだけ長いパスワード」「使いまわしをしない」「初期パスワードの変更」のうち、「使いまわしをしない」が最も実施率が低く、使いまわす人の割合は4~5割と報告されており、複数のサービスで同一のパスワードを使用するユーザー数は多いと考えられます。

パスワードに関して、注意しなければならないこととしては大きく二つあると考えます。一つめは、攻撃者による総当たり攻撃や辞書攻撃で認証できてしまわないように、簡易なパスワードを使用しないこと。二つめはパスワードの使い回しをしないことです。総当たり攻撃は使用できうる数字や文字の全ての組み合わせを試していく攻撃を指します。辞書攻撃は総当たり攻撃の一種としてとらえられますが、企業や個人が使用するよく使う単語の辞書リストを基に攻撃を行うこととして定義されます[new window5 ,new window6 ]。パスワードの使い回しにより発生する攻撃にはパスワードリスト攻撃があります。攻撃者がどこからか入手してきたIDとパスワードのセットをリスト化し、それらを用いて認証をパスしようと攻撃しますnew window[7]。そのため、パスワードを使い回すことにより他のシステムでも不正アクセスが行われてしまう可能性があります。総当たり攻撃とパスワードリスト攻撃の事例としては、前者ではViax社PDF[8]が被害を報告しており、後者では過去一年ではTOEICを運営する一般財団法人 国際ビジネスコミュニケーションやニトリ社が被害に遭っています[new window9 ,PDF10 ]。

世界的にどんな簡単な文字列を使いがちになってしまうのか、最近だと2022年11月に、NordPass社によって2022で最も使用されたパスワードについて発表がされています[new window11 ,new window12 ]。NordPass社のページでは日本以外のランキングも閲覧可能ですので、国ごとによって特徴があるのか世界的に同じ傾向なのか見てみることも面白いかもしれません。一例を出すと、“All Country”のランキングTOP5は、「password」「123456」「123456789」「guest」「qwerty」のようです。“Japan”のランキングTOP5は、「123456」「password」「1234」「12345678」「akubisa2020」と出ます。どちらにしても昇順の数字列や、わかりやすいpasswordなどが使われる傾向にありそうです。また、パスワードの問題は色々な所で起きており、2023年1月には、アメリカの政府機関で単純なパスワードが使用されているなどの報道もされました[PDF13 ,new window14 ]。

ハニーポットを立ててみる

実際にどんなユーザー名・パスワードが狙われるのかを自分で確かめてみる。ということで、環境構築を行いました。今回はCowrienew window[15]というハニーポットを設置しています。CowrieはSSH・Telnetのハニーポットで、これらのサービス宛のログイン試行の記録を取ることが可能です。また、この環境ではデータの収集・可視化にはELK(Elasticsearchnew window[16]・Logstashnew window[17]・Kibananew window[18])を使用しています。環境構築については、以下のサイトを参考にしました。

  • How to send Cowrie output to an ELK stacknew window[19]

ハニーポットで観測されるSSH・Telnetへの攻撃で使用されるパスワードのランキングについては、他の組織も観測を行っておりSANSnew window[20]などがランキングを公開しています。実際に構築した環境で観測されるパスワードと同じパスワードが使用されているか比較してみたいと思います。

Cowrieとは  new window [14]

cowrieとは、Michel Oosterhof氏によって運営されたオープンソースのSSHおよびTelnetの対話型ハニーポットです。本ブログ執筆時点で最新のv.2.5.0を使用しています。

Elasticsearch・Logstash・Kibana[ new window16,  new window17,  new window18]とは

上記3つのツールは、Elastic社によって開発されたツールです。以下に一つ一つの機能について、軽く触れます。なお、本ブログで構築した環境ではいずれもv7.17.8を使用しています。

  • Elasticsearchは、検索・分析エンジンです。一元的にデータを検索・分析が可能になります。
  • Logstashは、サーバーサイドデータ処置パイプラインです。データの取り込み・整形・格納を行います。
  • Kibanaは、Elasticsearchのデータから検索・可視化を行います。

構築環境

アーキテクチャ:x86_64
OS:Ubuntu 20.04.5 LTS
観測期間:2023/1/22~2/12の20日間

zoom拡大する
図1. 構築環境のイメージ図

結果

観測期間中に取得できたレコード数は以下のようになりました。

図2. 観測期間中に取得できたレコード数および推移

取得されたパスワードをElasticsearchのタグクラウドで図1に示しました。

図3. パスワードとして使用された文字列をタグクラウドで表示

タグクラウド(またはワードクラウド)は、指定したフィールドに含まれた単語や小さなフレーズの集まりを表示します。単語の大きさは、一般的にその重要度に対応し、今回の場合Count(出現回数降順)に基づいて表示しているため、文字が大きいほど使われた回数が多いことを示しますnew window[21]
目立つパスワードには、「3245gs5662d34」「345gs5662d34」、次点で「123456」「password」「admin」等が並びます。特に目立つ、「3245gs5662d34」「345gs5662d34」は、TEHTRIS社の12月下旬のブログnew window[22]・SANS社のSSH/Telnet Scanning Activity(2023/02/14時点)new window[20]等の他のハニーポットによる観測環境でも確認できます。HaveIBeenPwnednew window[23]では「3245gs5662d34」「345gs5662d34」いずれも同データベース上でのヒットはありませんでした。もちろん、同サイトに記載があるようにこのサイトに登録済みでないだけで、漏えいしたパスワードである可能性は残りますが、今回はこれ以上わかりませんでした。

他の特徴としては、「123456」「password」「root」「admin」などパスワードでよく使用されそうなパスワードが目立ち、英字の大文字小文字・数字を組み合わせた「P@ssw0rd」も見受けられます。一部は標的のサービス・OS名の単語が使用されているパスワードの試行も確認できます(「raspberry」「ubuntu」「centos」「ansible」「tomcat」など)。また、図から「英単語+数字(特に123などの連続する数字を並べたもの)」の構成をとるパスワードが見受けられます。各組織のパスワードポリシーにもよりますが、英数字の組み合わせ〇文字以上の際に、起こりうる構成かと思われます。攻撃者もこの構成のパスワードで試していることが分かります。今回の結果では、わずかな文字の違いのログイン試行は確認しておらず(同一の数字の連続数の違いを除く)、多くは辞書攻撃またはパスワードリスト攻撃であったと推測されます。また、その中でも辞書型に掲載されるような意味を持った単語ではないパスワードはパスワードリスト攻撃であると考えられます。このことから使用が推測されやすい単語や、それらの単語に単調に数字を付けていないか今一度確認する必要があると分かります。

図4. ユーザー名として使用された文字列をタグクラウドで表示

ユーザー名の方を確認してみると、「root」が圧倒的に多いことがわかります。「root」の次点で多い「345gs5662d34」は、先ほどのパスワードでも多かったものと同じで、ユーザー名・パスワードが共に「345gs5662d34」であるログイン試行が多かったです。その他では、ユーザー名としてサービスの名前を使用している攻撃が多いようです。ユーザー名のポリシーについて言及されることはパスワードに比べて少なくなると思いますが、ユーザー名を自分で指定可能な場合は単調なユーザー名の使用を避けた方が良いことが分かります。

まとめ

今回は、ハニーポット「cowrie」の導入と分析を行いました。約3週間観測しSSH/Telnetに宛てて行われたログイン試行を分析しました。パスワードについては「345gs5662d34」や「3245gs5662d34」のパスワードリスト攻撃と推測される2つのパスワードが非常に多かったですが、他のSSH/Telnet観測環境でも確認されている事象であり、様々なところで同様の現象が起きていたことが確認できました。今回は、センサを1つで観測していましたが増やすことにより、ログイン試行に使用されるパスワードの割合が変動すると考えられます。この2つ以外のパスワードについては英単語に任意の順列の数字を合わせたものやサービス名、admin等が多く、単調なパスワードを使用することが危険であることが分かりました。
ユーザー名については例外を除いてrootが圧倒的に多く、それ以外ではサービス名のみを使用してログイン試行を行うケースが見られました。そのため、任意の文字列に設定する場合は、ある程度ユーザー名の方でも推測されないように注意するべきであると考えられます。

最後になりますが、ここで確認された結果は、当環境でたまたま観測されたものであり、全世界共通で起きている攻撃とは限りません。また、もしハニーポットを構築する場合は自身が攻撃者とならないよう、十分にセキュリティを考慮し、使用するプロバイダの規約を守って構築してください。

参考文献

執筆者プロフィール

A藤(えーとう)
セキュリティ技術センター サイバーインテリジェンスグループ

脅威情報の収集やデータ分析業務を担当
情報処理安全確保支援士(RISS)を保持

執筆者の他の記事を読む

アクセスランキング