ページの先頭です
IIJではセキュリティブランド「wizSafe」を2016年に立ち上げ、お客様が安全にインターネットを利用できる社会の実現に向けた活動を続けています。その活動の一つに「wizSafe Security Signal」(注1)による定期的なセキュリティに関する情報発信があります。掲載している情報はIIJサービスのセキュリティログを集約している情報分析基盤を活用したもので、日々収集している脅威情報と組み合わせた様々な角度からセキュリティ分析を行っています。
本稿では、第1.2節にて2024年に発生した主要なセキュリティトピックについてカレンダー形式で振り返り、社会的な影響から改めて注目を集めたDDoS攻撃に関連する観測情報を第1.3節にて紹介します。観測情報にはIIJサービスで検知したDDoS攻撃の発生状況をはじめ、昨今のDDoS攻撃において重要な要素となっているIoTマルウェアの感染活動を取り上げます。第1.4節ではIoTマルウェアの解析を効率化するために開発した解析支援ツール「mirai-toushi」を紹介します。
2024年に話題となった主要なセキュリティに関する出来事の中から、SOCが注目したものを表-1と表-2にまとめます。
表-1 セキュリティトピックカレンダー(1月~5月)
月 | 概要 |
---|---|
1月 | Ivanti社製品の脆弱性 Ivanti社は、Ivanti Connect Secure(旧: Pulse Connect Secure)及びIvanti Policy Secureゲートウェイに複数のゼロデイ脆弱性(CVE-2023-46805、CVE-2024-21887)が存在することを公表した。これらの脆弱性を組み合わせることで認証不要の任意のコマンド実行が可能となる。脆弱性の公開時点では修正バージョンがリリースされておらず、既に広く悪用されている状態であった。修正バージョンのリリースの際には権限昇格の脆弱性(CVE-2024-21888)とSSRFの脆弱性(CVE-2024-21893)も併せて修正されており、CVE-2024-21893はリリース以前から悪用されていたことが報告されている。 |
1月 | Citrix社製品の脆弱性 Citrix社は、NetScaler ADC及びNetScaler Gatewayに存在する脆弱性(CVE-2023-6548、CVE-2023-6549)を公表した。CVE-2023-6548はリモートコード実行、CVE-2023-6549はサービス拒否(DoS)につながる恐れがあり、いずれも情報公開時には既に悪用されていたことが確認されている。 |
2月 | SonicWall社製品の脆弱性 SonicWall社は、同社が提供するSonicOSのSSL-VPN機能に不適切な認証の脆弱性(CVE-2024-22394)が存在することを公表した。この脆弱性により認証をバイパスされる恐れがある。 |
2月 | Fortinet社製品の脆弱性 Fortinet社は、同社が提供するForti OS及びForti Proxyに境界外書き込みの脆弱性(CVE-2024-21762)が存在することを公表した。この脆弱性により、任意のコードまたはコマンドを実行される恐れがある。また、当該脆弱性は既に悪用されていたことが確認されている。 |
2月 | ランサムウェアLockBitに対する国際的な取り組み Europol(欧州刑事警察機構)は、ランサムウェア「LockBit」を用いるサイバー犯罪グループに対する共同捜査を実施し、所属メンバー2名の検挙と攻撃インフラを掌握したことを公表した。この共同捜査は日本を含む10カ国の法執行機関が参加しており「Operation Cronos」と名付けられている。その後、新たなLockBitのリークサイトが立ち上げられ攻撃活動は再開し、10月にはOperation Cronosの一環としてLockBitの開発者を含む4名の追加逮捕と攻撃インフラの一部サーバの押収を公表している。 |
2月 | 脅威アクター関連情報のリーク 中国のセキュリティ企業の内部資料と思われるデータがGitHubにアップロードされたことが確認された。米国のセキュリティ企業によると、中国とのつながりが指摘されている脅威アクターが用いるツールの開発サポートを行っていたことを示す内容であったとのこと。 |
3月 | 経済団体におけるサポート詐欺被害 経済団体は、ネットバンキングの不正送金によって合計1,000万円の金銭的被害を受けたことを公表した。偽の警告画面をブラウザ上に表示するサポート詐欺の手口により、業務用のパソコンに遠隔操作ソフトウェアをインストールしたことに起因している。 |
3月 | ソフトウェア開発会社における個人情報漏えい事件 ソフトウェア開発会社は自社提供サービスにおいてストレージサーバのアクセス制限の誤設定により、顧客の個人情報が漏えいしていたことを公表した。5月の調査報告によると個人データの漏えいした人数は158,929人であり、報告時点では個人データの不正利用などの二次被害は確認されていない。 |
3月 | XZ-Utilsの脆弱性 The Tukaani Projectはファイル可逆圧縮ツールであるXZ-Utilsに悪意のあるコードが挿入された問題(CVE-2024-3094)を公開した。特定の条件下において、外部からSSHポートを経由して接続される恐れがある。XZ-Utilsは複数のLinuxディストリビューションで利用されており、影響を受けるシステムは多岐にわたった。 |
4月 | レンズメーカにおけるサイバー攻撃被害 レンズメーカは、同社のシステムにおいて障害が発生し、生産工場内のシステムや受注システムが停止していることを公表した。システム障害の原因は第三者によるサイバー攻撃であり、4月23日時点で概ね復旧したと報告している。この事象により取引先の複数の販売店にて一部レンズの取り扱いが停止するなど、直接攻撃を受けた企業以外にも影響が見られた。 |
4月 | Palo Alto Networks社製品の脆弱性 Palo Alto Networks社は、PAN-OS GlobalProtectにOSコマンドインジェクションの脆弱性(CVE-2024-3400)が存在し、脆弱性を悪用する攻撃が既に確認されていることを公表した。 |
5月 | 鉄道会社におけるDDoS攻撃被害 鉄道会社の提供するインターネットサービス(決済システムなど)において接続がしづらい状態となった。このシステム障害はIC乗車券に関連するシステムへのサイバー攻撃が原因であり、DDoS攻撃の疑いがあると報道されている。 |
5月 | Check Point Software Technologies社製品の脆弱性 Check Point Software Technologies社は、同社の提供するセキュリティゲートウェイ製品に情報漏えいの脆弱性(CVE-2024-24919)があり、パスワード認証による不正なログイン試行攻撃が確認されていることを公表した。 |
5月 | 国内の暗号資産取引所におけるビットコイン不正流出 国内の暗号資産取引所は当時の価格レートで約482億円相当のビットコインが不正流出したことを公表した。同年9月には関東財務局より資金決済に関する法律第63条の16に基づき行政処分(業務改善命令)を受け、原因究明と顧客対応などについて報告の対応が求められた。12月には別の国内暗号資産取引所に顧客資産を移管しサービス事業を廃止することを発表した。その後、米国連邦捜査局(FBI)及び米国国防省サイバー犯罪センター(DC3)と警察庁の連名で当該事案は北朝鮮を背景とする攻撃グループのTraderTraitorによる犯行であったとの情報が公開された。公開された文書では、被害を受けた暗号資産取引所が利用していた暗号資産ウォレットソフトウェアの開発企業の従業員に対して、攻撃者がリクルーターを装い接触するなどのソーシャルエンジニアリングの手口などが言及されている。 |
5月 | システム開発会社におけるランサムウェア被害 システム開発会社は、同社のサーバやPCにおいてファイルが暗号化されるランサムウェアの被害を受けたことを公表した。その後の調査で侵入経路がVPNであること、窃取された情報が攻撃グループのリークサイト上で一時的に公開され、その情報に取引先の顧客に関する個人情報が含まれていたことを報告している。本事案により同年9月にISO27001認証及びISO27017認証、12月にプライバシーマーク付与が一時停止となった。また、当該システム開発会社に業務を委託していた多数の企業や自治体から個人情報の漏えいに関する報告が出るなど本事案による被害は多岐に渡った。 |
表-2 セキュリティトピックカレンダー(6月~12月)
月 | 概要 |
---|---|
6月 | エンターテインメント企業におけるランサムウェア被害 出版やWebサービス、教育事業などを手掛けるエンターテインメント企業は、ランサムウェア攻撃により出版やWebサービス事業、MD事業など多岐にわたる機能停止が発生していることを明らかにした。攻撃による影響を受けた事業活動は順次復旧作業が行われ、同年8月から9月にかけて平常時と同等の水準に出荷数などは回復、サービスについても全面的な復旧となったことが報告された。また、攻撃グループは当該企業から窃取した情報を流出させたと複数回に渡り主張している。調査の結果、最終的に254,241人の個人情報及び社内外の企業情報の流出が確認された。 |
7月 | セキュリティ製品の不具合による大規模障害発生 米国セキュリティ企業が提供するエンドポイントセキュリティ製品において、Windows向けアップデートで配信された一部のファイルに不具合があり、アップデートされたホストがクラッシュする障害が世界各地で相次いだ。この事象により航空便の欠航や遅延、小売店舗のPOSレジが使用不可になるなど幅広い業種が影響を受けた。 |
7月 | DDoS攻撃代行サービスに対する国際的な取り組み 英国国家犯罪対策庁(NCA)は、Police Service of Northern Ireland(PSNI)及びFBIによる捜査が行われDDoS攻撃代行サービス「digitalstress」のプラットフォームを押収し、管理者と疑われる者は逮捕したことを公表した。この作戦はDDoS代行サービスを閉鎖するための共同作戦「Operation Power Off」の一環として実行された。 |
8月 | DDoS攻撃代行サービス利用者の逮捕 複数のメディアは、DDoS攻撃の代行サービスを利用して、国内のWebサイトに攻撃を行っていた男が警察庁により逮捕された旨を報じた。DDoS代行サービスに対しては「Operation PowerOFF」と呼称される国際的な共同捜査が遂行されている。また、DDoS代行サービスの利用による別件の検挙事例が11月と12月にも相次いで報道されている。 |
9月 | SonicWall社製品の脆弱性 SonicWall社は8月に公開したSonicOSの不適切なアクセス制御の脆弱性(CVE-2024-40766)について、管理アクセスインタフェースのみでなくSSL-VPN機能も影響を受けるとしてセキュリティアドバイザリの内容を更新した。この脆弱性により、認証不要でリモートから攻撃が可能となる。同社からは製品のアップデートの他、ローカルユーザのパスワード変更や多要素認証の有効化、SSL-VPNログインのログ取得、アカウントロック機能などが推奨されている。 |
9月 | 物流サービス会社におけるランサムウェア被害 物流サービス会社は、複数のサーバがランサムウェア攻撃を受けたことを公表した。業務に関連した複数のシステムが停止したことで、取引先の入出庫処理に停止または遅延が発生した。被害公表の当初、攻撃による個人情報の漏えいの可能性に言及していたが、同年10月にリークサイトなどへの情報公開は行われていないことから情報漏えいの事実は確認されていないと報告された。また、サプライチェーンで同社のサービスを利用していた複数の企業からも攻撃による影響について報告が出されている。 |
10月 | 保育施設運営会社におけるランサムウェア被害 保育施設運営会社は、同社のサーバがランサムウェア攻撃を受けたことを公表した。公表時点では個人情報が漏えいした可能性について言及されていたが、同年11月の追加報告によると外部専門家による調査により、サーバ内の個人情報を閲覧された可能性はあるが、データが持ち出された形跡は確認されなかったとしている。また、同社に施設の運営を委託している複数の自治体からもサイバー攻撃被害について報告されている。 |
10月 | 損害保険鑑定会社におけるランサムウェア被害 損害保険鑑定会社は、同社のサーバがランサムウェアに感染したことを公表した。調査により、UTM機器へのブルートフォース攻撃後、サーバにRDP接続することで侵入された可能性が報告されている。個人情報の漏えいにつながる情報は確認されていないが、ローカルフォルダへの不正なアクセスや事象のあった時間帯についてログが削除されていることから、漏えいの可能性について否定できないとしている。また、サプライチェーンで同社のサービスを利用していた複数の企業からも攻撃による影響について報告が出されている。 |
10月 | Fortinet社製品の脆弱性 Fortinet社は、同社が提供するセキュリティ管理プラットフォーム「FortiManager」のfgfmdデーモンにおいて認証の欠如の脆弱性(CVE-2024-47575)が存在することを公表した。この脆弱性により、リモートで任意のコードまたはコマンドを実行される恐れがある。また、当該脆弱性は公開時点で既に悪用されていたことが確認されている。 |
11月 | Palo Alto Networks社製品の脆弱性 Palo Alto Networks社は、PAN-OSのWeb管理インタフェースにおいて、認証をバイパスできる脆弱性(CVE-2024-0012)と権限昇格が可能となる脆弱性(CVE-2024-9474)が存在することを公表した。また、当該脆弱性は公開時点で既に悪用されており、製品上でのコマンド実行やWebShellの配置などが行われていたことが確認されている。 |
12月 | 国内におけるDDoS攻撃被害の多発 国内の航空会社や金融機関を中心に大量のデータを送付されるDDoS攻撃に起因したとされるサービス障害が相次いで発生した。これにより、当該企業の運用するWebサービスや航空機の運航に影響が生じた。 |
本節ではIIJサービスにて検知されたDDoS攻撃について紹介します。表-3は2024年に検出した攻撃を月ごとに要約したものです。
表-3 DDoS攻撃検出状況(2024年)
2024年に観測された最も規模の大きな攻撃は174.80Gbpsの通信が発生したもので、攻撃手法はDNSを利用したUDP Amplificationが用いられていました。また、最も長く継続した攻撃はおよそ3時間24分にわたるもので、TCP SYN Floodが利用されていることを確認しています。その他に観測されているDDoS攻撃についても、攻撃規模に関わらずUDP AmplificationやTCP/UDP Floodといった同様の攻撃手法が用いられており、以前から観測されている手法から大きな変化はありませんでした。
2024年12月に観測した攻撃のうちUDP Floodを行っていた送信元IPアドレスについて外部情報サイトを用いて調査したところ、情報を取得できたIPアドレスの半数以上がTP-Link社製のルータやHikvision社製のIPカメラなどIoT機器のものでした。これらの機器は初期パスワードが固定されたものです。初期パスワードが変更されていないため、外部からのログインが可能な状態であったものと思われます。
IoT機器の利用が一般化する中、セキュリティ対策などの運用面は意識が希薄になりがちです。そのため、脆弱な状態のまま稼動している端末が世界中に多く存在し、それらを対象とする攻撃も活発に行われています。攻撃が成功した場合、IoTマルウェアに感染し本項で紹介したようなDDoS攻撃に加担してしまう恐れがあります。初期パスワードを予測されにくいパスワードに変更することやファームウェアを最新のものに更新する、またはサポート終了している場合は端末の利用を停止するなどの対策が重要です。
IIJではハニーポット(注2)へのIoT機器を対象とした攻撃についても情報分析基盤に連携し分析・活用しています。IoT機器が外部からの攻撃によってIoTマルウェアに感染した場合、DDoS攻撃などを行うボットネットワークの構成要素として悪用される恐れがあります。本項では、IIJのハニーポットで観測したIoTマルウェアの感染活動について紹介します。
IoT機器には、インターネット上からTELNETを用いてログイン可能な製品が多数存在します。このTELNETに必要なユーザとパスワードが、製品の初期設定のまま運用されているケースがあり、これがIoTマルウェア感染の入口の一つとなっています。「Mirai(注3)」に代表されるボットネットワークを構成するIoTマルウェアは、その感染範囲を拡大するためにランダムなグローバルIPアドレスに対してTELNETサービスをスキャンする挙動が知られています。
ハニーポットでは、広範なグローバルIPアドレスへのスキャン活動や攻撃を観測することが可能であり、送信元となる端末数の増加などと組み合わせて特定のIoTマルウェアの感染拡大などを捕捉することも期待されます。ただし、MiraiなどのIoTマルウェアはそのソースコードが公開されているものがあり、それらを改変した様々な亜種が存在しています。そのため、もともとのソースコードで確認されていた通信の特徴や攻撃通信の内容から変化する場合があることに注意が必要です。
2024年にハニーポットで観測したTELNET(23/TCP、2323/TCP)宛の攻撃通信について、Miraiの特徴(注4)を持った送信元とMiraiの特徴を持たない送信元に分けて送信元IP数の変化と攻撃通信の内容を分析した結果を以降に示します。
Miraiの特徴を持った送信元IPアドレス数(観測期間の最大値で正規化)の推移について攻撃通信の内容に基づいて分類した結果を図-1に示します。調査の結果、10月に「gayfgt」を16進数エスケープした文字列(\x67\x61\x79\x66\x67\x74)をechoコマンドで実行する内容を含む送信元(「グループA」と分類)、及び「/bin/busybox NUG」のコマンドを攻撃通信に含む送信元(「グループB」と分類)が顕著に増加していました。また、「グループA」については12月に再び送信元の増加が確認されました。
図-1 ハニーポットで観測した攻撃通信の送信元IPアドレス数(正規化後)の分類別推移(Miraiの特徴を持つ送信元)
「グループA」と分類した攻撃通信で感染するマルウェアを調査したところ、その大半においてMirai亜種である「RapperBot」の特徴を確認しました。具体的には、これまでのRapperBotと設定情報の暗号化手法(1バイトXOR)、暗号鍵のパターン(暗号化データの末尾1バイトである)、及び設定情報に含まれるYouTubeのURLアドレスが等しいことを確認しています。なお、「グループA」の特徴である「gayfgt」の出力文字列はBASHLITE(別名Gafgyt)と呼ばれるIoTマルウェアの特徴として知られていますが、調査した検体に関しては、BASHLITEではないことを確認しています。
「グループB」と分類した攻撃通信で感染するマルウェアを調査したところ、その大半において2024年5月に観測されたMirai亜種「FICORA」の特徴の一部(設定情報の8バイトXORによる暗号化及び暗号鍵が等しいこと)を確認しました。このことから、「グループB」はFICORAもしくは類似のMirai亜種である可能性が高いです。
続いて、Miraiの特徴を持たない送信元IPアドレス数(観測期間の最大値で正規化)の推移について攻撃通信の内容に基づいて分類した結果を図-2に示します。調査の結果、1月からは多くの送信元が「/bin/busybox hostname PBOC」のコマンドを含む攻撃通信を行っていました(「グループC」と分類)が、9月にかけて徐々に減少し、その後「/bin/busybox hostname whomp」の実行を含む攻撃通信の送信元(「グループD」と分類)が増加していたことを確認しました。
図-2 ハニーポットで観測した攻撃通信の送信元IPアドレス数(正規化後)の分類別推移(Miraiの特徴を持たない送信元)
「グループC」と分類した攻撃通信で感染するマルウェアを調査した結果、その大半においてMirai亜種である「InfectedSlurs」の特徴を確認しました。具体的には、これまでのInfectedSlursと設定情報の暗号化手法(RC4とXORの組み合わせ)、暗号鍵、及びマルウェアに含まれる文字列が等しいことを確認しています。
「グループD」と分類した攻撃通信で感染するマルウェアを調査した結果、その大半において2024年4月に観測されたMirai亜種「CatDDoS」の特徴の一部(設定情報のChaCha20による暗号化、暗号鍵、及びnonceが等しいこと)を確認しました。このことから、「グループD」はCatDDoSもしくは類似のMirai亜種である可能性が高いです。
また、「グループC」と分類した攻撃通信は、国内を送信元とするものも観測しています。日本国内を送信元とするMiraiの特徴を持たない送信元IPアドレス数(観測期間の最大値で正規化)の推移を「グループC」とそれ以外に分類して示したものを図-3に示します。
図-3 ハニーポットで観測した日本国内からの攻撃通信の送信元IPアドレス数(正規化後)の分類別推移(Miraiの特徴を持たない送信元)
「グループC」と分類した送信元IPアドレス数は昨年末からの増加した状態が2月の上旬頃まで継続し、一度減少した後に6月から7月中旬にかけて再び一時的に増加する傾向にありました。前述のとおり、「グループC」と分類した攻撃通信で感染するマルウェアの大半がInfectedSlursであり、当該期間において国内でのInfectedSlursの感染端末が増加した可能性があります。InfectedSlursについては、2023年末にIIJ-SECT(注5)からも報告があるように、複数のIoT機器のゼロデイ脆弱性を悪用することや、主に日本国内で利用されている製品も感染対象とすることが確認されているため、国内の製品を利用している場合でも注意が必要です。
IoTボットネットでは、特に2016年にソースコードが流出したMiraiとその亜種が現在でもよく使われており、日々多数のマルウェアを観測しています。攻撃者はオリジナルのソースコードをそのまま攻撃に使っているわけではなく、設定情報を編集した上でソースコードをクロスコンパイルし、攻撃に使うマルウェアを作成します。このため、ソースコードが流出しているMiraiのマルウェア解析では、オリジナルのソースコードからの変更点がある設定情報を抽出し、そのマルウェアの特徴を把握することが重要です。
マルウェアごとに手動で設定情報の抽出を行うと時間が膨大にかかってしまうため、ツールで抽出を自動化する必要があります。既存の解析ツールでもMiraiの設定情報を抽出するものは存在しますが、対応アーキテクチャ数が少ないことや、設定情報が一部しか抽出できないなどの課題がありました。このため、IIJのSOCでは独自にMiraiの設定情報抽出ツール「mirai-toushi」を開発しました。以降では、はじめにMiraiの設定情報を説明し、mirai-toushiの実装について説明します。
多くのマルウェアでは設定情報は暗号化されていることが多く、Miraiの設定情報も暗号化されています。オリジナルのMiraiでは、暗号化されている設定情報はパスワードリストとテーブルの2種類存在します(図-4)。
図-4 IoTマルウェアMiraiの設定情報
MiraiではTELNETスキャンに用いるパスワードリストがXORで暗号化されて格納されています。パスワードリストを登録する処理はソースコードのscanner.cに記述されており、scanner_init()内でadd_auth_entry()を呼び出してパスワードリストを登録します。add_auth_entry()の引数にはユーザ名・パスワード・重みが渡されます(表-4)。ユーザ名とパスワードは4バイトのXORキーで暗号化されますが、各バイトに対してXORキーを4分割した1バイトで4回XORするので、実質的に1バイトのXORキーでXORされることと同じです。例えば、XORキーが0xDEADBEEFの場合、結果として0x22でXORされることになります(byte ⊕ 0xDE ⊕ 0xAD ⊕ 0xBE ⊕ 0xEF = byte ⊕ 0x22)。重みは、パスワードリストのランダム選択の重み付き確率に用いられる値で、この値は暗号化されません。
表-4 add_auth_entry()の引数
Miraiでは様々な設定情報(以下、テーブル)がXORで暗号化されて格納されています。オリジナルのMiraiのテーブルに含まれる設定情報は、C2サーバのドメインとポート番号・Scan Receiverのドメインとポート番号・標準出力に出力される文字列・敵対マルウェアのプロセスをキルするためのシグネチャ・TELNETスキャンのログイン成功後に実行するコマンド・DoS攻撃に使われるパラメータがあります。テーブルを登録する処理はソースコードのtable.cに記述されており、table_init()内でadd_entry()を呼び出してテーブルを登録します。add_entry()の引数にはID・データ・データの長さが渡されます(表-5)。IDはテーブルの情報を呼び出す際に使用される値です。データは4バイトのXORキーで暗号化されますが、パスワードリストと同じ理由で、実質的に1バイトでXORされることと同じです。ただし、XORキーが定義される箇所が異なるので、XORキーがパスワードリストのものと異なることがあります。
表-5 add_entry()の引数
mirai-toushiは、Ghidra(注6)のデコンパイラと中間表現のP-Codeを活用して、PythonのGhidra Scriptで実装しています(図-5)。Ghidraは、アメリカ国家安全保障局(NSA)が公開しているオープンソースのリバースエンジニアリングツールで、JavaやPythonを用いたGhidra Scriptによって解析を自動化できます。Ghidraでは対象バイナリをアセンブリに変換し、アセンブリからP-Codeに変換します。P-Codeの内容をもとにデコンパイルし、C言語のコードを生成します。P-CodeとデコンパイルされたC言語のコードは、アーキテクチャに依存した表現ではないため、これらを活用することでクロスアーキテクチャに対応したツールを開発できます。これによってmirai-toushiでは8種類のアーキテクチャ(ARM・MC68000・MIPS・PowerPC・SPARC・SuperH4・x86・x86_64)に対応しています。以降でパスワードリストとテーブルの抽出についての実装をそれぞれ説明します。
図-5 mirai-toushiの全体像
scanner.cに記述されるパスワードリストの抽出には、XORキーを特定する「key extractor(scanner)」とパスワードリストを復号する「decoder(scanner)」を用います。
はじめに、key extractor(scanner)で、パスワードリストの暗号化に使用されるXORキーを特定します。ソースコード上では4バイトのXORキーを4分割して4回XORしていますが、コンパイラの最適化によって、1回のXORに集約されます。このため、各関数のデコンパイル結果を取得し、データの各バイトに対して再帰的に1バイトのXORを行っている命令を特定します。この1バイトをパスワードリストの暗号化に使用されるXORキーと判定します。
次に、decoder(scanner)で、パスワードリストを復号します。パスワードリストはadd_auth_entry()で登録されるため、デコンパイル結果からadd_auth_entry()が呼び出される箇所を特定します。この際、関数の引数の数や型が正しく解釈されずに、誤ったデコンパイル結果が出力されることがあります。これに対処するため、Ghidra ScriptのupdateFunction()を用いて、関数の引数を正しく定義した上でデコンパイル結果を取得します。第一引数のユーザ名と第二引数のパスワードは特定したXORキーで復号し、第三引数の重みは暗号化されないため、そのまま数値に変換します。抽出したパスワードリストはJSON形式で出力されます(図-6)。
図-6 抽出したパスワードリストの出力例
table.cに記述されるテーブルの抽出には、XORキーを特定する「key extractor(table)」、テーブルを復号する「decoder(table)」、及びテーブルの呼び出し元を特定する「reference connector」を用います。
はじめに、key extractor(table)で、テーブルの暗号化に使用されるXORキーを特定します。ここでは各関数のP-Codeを取得し、XORに相当する命令であるINT_XOR命令を取得します。対象の関数内でXORを4回行うため、この処理が含まれる関数を特定し、XORを行った4バイトを取得します。この4バイトをテーブルの暗号化に使用されるXORキーと判定します。
次に、decoder(table)で、テーブルを復号し、後続のreference connectorで使用するIDを算出します。テーブルはadd_entry()で登録されますが、コンパイラの最適化によってadd_entry()はインライン展開されます。このため、add_entry()内で呼び出されるutil_memcpy()の内容からテーブルを取得します。この際、Ghidra ScriptのupdateFunction()を用いて、関数の引数を正しく定義した上でデコンパイル結果を取得し、第二引数のテーブルのデータを特定したXORキーで復号します。2バイトのデータは、ポート番号である可能性があるので、数値として復号します。これに加えて、各データのIDを算出します。テーブルには各データが配列として格納され、IDがインデックスの役割を果たします。このため、各データのアドレスをテーブルの先頭アドレスで引いて、その値をデータのサイズで割るとIDが算出できます。データのサイズはアーキテクチャによって異なり、MC68000は6バイト、それ以外の32ビットアーキテクチャは8バイト、64ビットアーキテクチャは16バイトとなります。
最後に、reference connectorで、テーブルが呼び出される関数とアドレスを特定します。テーブルが呼び出される際は、table_retrieve_val()が呼び出されるため(例:table_retrieve_val(TABLE_CNC_DOMAIN, NULL))、各関数のデコンパイル結果を取得して、この関数が呼び出される箇所を特定します。第一引数にIDの値が入るため、decoder(table)で算出した情報と突合することで、テーブルがどの関数とアドレスで呼び出されるのか特定できます。抽出したテーブルはJSON形式で出力され、refsの値にreference connectorの結果が記載されます(図-7)。
図-7 抽出したテーブルの出力例
mirai-toushiはIIJのGitHubリポジトリに公開しており(注7)、ツールをサンプルの検体に適用したときのより詳細な出力例とJSON Schemaの情報を確認できます。Ghidraがインストールされている環境であれば追加設定・ライブラリなしでツールを実行することができ、抽出した設定情報は様々な用途に活用できます。
本ツールは1バイトXORの検体に対してのみ有効ですが、近年1バイトXOR以外の暗号化手法を利用する検体が登場しているため、このような検体への対応についても検討していきます。
本稿では、2024年に注目されたセキュリティトピックを振り返り、DDoS攻撃を中心に観測情報や解析の取り組みについて紹介しました。
1年を通して重大な脆弱性情報が既に悪用された状態で報告される事案も少なくありませんでした。ランサムウェア攻撃では被害を受けた企業だけではなく、業務関係のある企業においても一部事業が停止するなどサプライチェーンを通じた影響を受ける事案が複数見受けられました。また、2024年末から翌年初頭にかけて、人々の生活に密着した企業を対象としたDDoS攻撃が相次いで報道され社会的にも大きく注目を集めています。第1.3節で紹介したとおり、IIJのSOCにて観測したDDoS攻撃の手法は従来から大きく変わっておらず、攻撃の送信元も依然としてルータやIPカメラなどのIoT機器が多い状況です。DDoS攻撃に加担するIoTマルウェアの感染は日本も例外ではなく、InfectedSlursに感染したと思われる送信元からの攻撃増加が確認されました。観測した攻撃の分析ではIoTマルウェアの解析も必要であり、クロスプラットフォームで展開されるIoTマルウェアの解析を効率化するため、第1.4節で紹介したmirai-toushiなどを用いた施策を講じています。
SOCでは引き続きDDoS攻撃をはじめとする脅威について情報分析基盤を用いた分析を継続し、そこで得られた情報を「wizSafe Security Signal」(注1)や小誌を通じて発信していきます。今後もセキュリティ対策や業務に役立てていただければ幸いです。
執筆者プロフィール
本部 栄成(ほんぶ えいせい)
IIJ セキュリティ本部 セキュリティオペレーション部 データ分析課
品田 祥太(しなだ しょうた)
IIJ セキュリティ本部 セキュリティオペレーション部 データ分析課
森下 瞬(もりした しゅん)
IIJ セキュリティ本部 セキュリティオペレーション部 データ分析課
西東 翔太(さいとう しょうた)
IIJ セキュリティ本部 セキュリティオペレーション部 データ分析課
ページの終わりです