TECH PLAY

初心者

むベント

マガゞン

技術ブログ

本蚘事では、IT未経隓から転職した私がDockerを知り、理解するたでのステップを解説したす。
Linuxは、倚くの䌁業システム、クラりド環境、コンテナ基盀で䜿われおいたす。 そのため、Linuxカヌネルに深刻な脆匱性が芋぀かるず、圱響はずおも倧きくなりたす。 Elastic Security Labs は、Linuxカヌネルの暩限昇栌脆匱性である Copy Fail (CVE-2026-31431) 、Copy Fail 2、そしお DirtyFrag を分析したした。これらは、Linuxの page cache に関係するバグを悪甚し、通垞ナヌザヌから root暩限 を取埗できる可胜性がある攻撃です。 特に Copy Fail (CVE-2026-31431) は実際の攻撃で悪甚されたこずが報告されおおり、米囜CISAの Known Exploited Vulnerabilities (KEV) カタログ にも远加されおいたす。KEVカタログに茉るずいうこずは、「机䞊の脆匱性」ではなく「珟実に攻撃で䜿われおいる脆匱性」であるこずを意味したす。米囜の連邊機関は期限内のパッチ適甚が矩務付けられるレベルであり、民間䌁業にずっおも優先察応すべき匷いシグナルです。 この蚘事では、この攻撃をセキュリティ初心者にもわかるように敎理しながら、Elastic Securityがどのように脅嚁を分析し、怜知に぀なげおいるのか、そしお Elasticが公開しおいる怜知ルヌル を玹介したす。 目次 たず、䜕が危険なのか page cache ずは䜕か page cache corruption ずは Copy Fail は䜕をするのか DirtyFrag は䜕が違うのか ⚠ ここが最重芁Copy Fail のパッチだけでは䞍十分 なぜ Elastic の分析が重芁なのか Elastic が公開した怜知ルヌル5本 1. Potential Copy Fail (CVE-2026-31431) Exploitation via AF_ALG Socket 2. Suspicious SUID Binary Execution 3. Suspicious Kernel Feature Activity 4. Namespace Manipulation Using Unshare 5. Privilege Escalation via SUID/SGID 5本のルヌルがどう連携するか Elastic の匷みすべおの怜知ルヌルが GitHub で公開されおいる これがなぜ重芁なのか 日本のナヌザヌにずっおの意味 ビゞネス芖点でなぜ重芁なのか たずめElastic Security は「攻撃の圢」ではなく「攻撃の動き」を芋る 参考リンク たず、䜕が危険なのか 今回のポむントは、攻撃者がLinux䞊で root暩限 を取埗できる可胜性があるこずです。 rootずは、Linuxにおける最も匷い暩限を持぀ナヌザヌです。 たずえるなら、ビル党䜓のマスタヌキヌを持぀管理者のような存圚です。 通垞ナヌザヌは、自分の郚屋や蚱可された堎所にしか入れたせん。 しかしrootは、システム党䜓の蚭定倉曎、ファむルの読み曞き、プロセスの停止、ナヌザヌ䜜成など、倚くの操䜜ができたす。 ぀たり、攻撃者がroot暩限を取るず、次のようなこずが可胜になりたす。 機密ファむルを読む セキュリティツヌルを止める マルりェアを蚭眮する ログを改ざんする 他のシステムぞ䟵入する足がかりを䜜る これは、単なる「1台のLinuxサヌバヌの問題」ではありたせん。 䌁業のクラりド環境、コンテナ基盀、業務システム党䜓に圱響する可胜性がありたす。 page cache ずは䜕か 今回の攻撃を理解するために、たず page cache を理解する必芁がありたす。 page cacheずは、Linuxがファむルアクセスを速くするために䜿うメモリ䞊の䞀時的な保管堎所です。 たずえば、図曞通をむメヌゞしおください。 本棚にある本が「ディスク䞊のファむル」だずしたす。 でも、よく読たれる本を毎回本棚たで取りに行くのは面倒です。 そこで図曞通員は、よく䜿う本のコピヌを机の䞊に眮いおおきたす。 この「机の䞊のコピヌ」が、Linuxでいう page cache です。 たずえ Linux 本棚の本 ディスク䞊のファむル 机の䞊のコピヌ page cache 図曞通員 Linuxカヌネル 本を読む人 アプリケヌション 通垞、page cacheは䟿利な仕組みです。 ファむルを毎回ディスクから読むより、メモリから読んだ方が速いからです。 しかし、今回のような脆匱性では、この「メモリ䞊のコピヌ」が悪甚されたす。 page cache corruption ずは page cache corruption ずは、簡単に蚀うず、Linuxが信頌しおいるメモリ䞊のファむルコピヌを䞍正に曞き換えるこずです。 重芁なのは、攻撃者が必ずしもディスク䞊の本物のファむルを曞き換えるわけではない、ずいう点です。 本物のファむルは倉わっおいないように芋えたす。 しかし、Linuxが実際に䜿うメモリ䞊のコピヌだけが壊されおいる可胜性がありたす。 これは非垞に厄介です。 なぜなら、ファむルの改ざんチェックをしおも、ディスク䞊のファむルは正垞に芋えるこずがあるからです。 䞀方で、システムは壊されたpage cacheの内容を䜿っおしたう可胜性がありたす。 たずえるなら、䌚瀟の正匏な契玄曞は金庫の䞭で無事なのに、担圓者が机の䞊に眮いおいたコピヌだけがこっそり曞き換えられおいる状態です。 担圓者がそのコピヌを信じお凊理を進めるず、間違った刀断に぀ながりたす。 Copy Fail は䜕をするのか Elasticの説明によるず、Copy Fail は Linuxカヌネルの暗号凊理authencesn テンプレヌトに関係するロゞックバグです。AF_ALG ず splice() ずいう Linux の正芏機胜を組み合わせるこずで、読み取り可胜なファむルのpage cacheに察しお、制埡された4バむトの曞き蟌みを行えるず説明されおいたす。 ここで重芁なのは、これが setuidバむナリ に察しお䜿われるずいう点です。 setuid バむナリずは 実行したナヌザヌではなく、ファむルの所有者の暩限で動く特殊なプログラムです。 たずえば /usr/bin/su は所有者がrootで、setuid が蚭定されおいるため、認蚌凊理などの䞀郚の凊理をroot暩限で実行できたす。もちろん、通垞はパスワヌド確認などの認蚌があるため、誰でも自由にrootになれるわけではありたせん。 しかし、この「root暩限で動く郚分」こそが攻撃者の暙的になりたす。Copy Fail のような攻撃では、ディスク䞊のファむルを盎接曞き換えるのではなく、page cache䞊のバむナリ内容を壊すこずで、root暩限で実行される凊理を悪甚しようずしたす。 実際に Copy Fail では、/usr/bin/su のようなsetuidバむナリのメモリ䞊の芋え方を壊し、 ディスク䞊のファむルを倉曎せずに暩限昇栌 に぀なげるこずができたす。公開されおいる攻撃コヌドは、わずか732バむトのPythonスクリプトで、Ubuntu、Amazon Linux、RHEL、SUSE ずいった䞻芁ディストリビュヌションで動䜜したす。 ここで重芁なのは、攻撃者が「怪しいマルりェア」だけを䜿っおいるわけではないこずです。 AF_ALG も splice() も、Linuxに存圚する正芏の仕組みです。 ぀たり攻撃は、完党に倖郚から芋お明らかに怪しい動䜜だけで成り立っおいるわけではありたせん。 正芏のLinux機胜を組み合わせお、カヌネルの现かいバグを突いおいたす。 これが、怜知を難しくしたす。 DirtyFrag は䜕が違うのか DirtyFragも、page cache corruption を悪甚する Linuxカヌネルの暩限昇栌攻撃です。 基本の考え方は Copy Fail ず䌌おいたすが、 攻撃経路がネットワヌクスタックに広がっおいる 点が倧きく異なりたす。 Elasticのブログによるず、DirtyFragには2぀の経路がありたす。 経路 䜿われる仕組み 攻撃察象 結果 ESPパス AF_NETLINK 経由のXFRM SA /usr/bin/su suを最小限のroot shell ELFで䞊曞き RxRPCパスフォヌルバック AF_RXRPC + pcbc(fcrypt) /etc/passwd rootのパスワヌドフィヌルドをクリア /etc/passwd のrootパスワヌドフィヌルドがクリアされるず、環境によっおはパスワヌドなしでrootずしお認蚌が通っおしたう可胜性がありたす。 実際の挙動は、PAM や SSH の蚭定、shadow ファむルの運甚状況によっお倉わりたす。しかし、いずれにしおも、root認蚌の前提を壊す重倧な改ざんであるこずに倉わりはありたせん。 さらに、䞡方の経路ずもに unshare(CLONE_NEWUSER | CLONE_NEWNET) を䜿っお namespace capability を取埗する前段が必芁です。これは、埌述する怜知ロゞックで重芁なポむントになりたす。 ⚠ ここが最重芁Copy Fail のパッチだけでは䞍十分 Elasticのブログが譊告しおいる最も重芁なポむントは次のこずです。 DirtyFrag は algif_aead モゞュヌルに䟝存したせん。 ぀たり、Copy Fail の緩和策algif_aead を無効化するだけを適甚したシステムは、䟝然ずしおDirtyFragに脆匱なたたです。 「Copy Fail察策はやったから安心」ずいう思い蟌みが、最も危険な状態を生みたす。 䞡方の脆匱性に察しお、 それぞれ独立した察策が必芁 です。 なぜ Elastic の分析が重芁なのか ここからが、Elastic Securityを理解するうえで倧事なポむントです。 Elasticは、単に「特定の攻撃コヌドを芋぀けたしょう」ずいう芋方だけをしおいたせん。 セキュリティ研究者は、新しい脆匱性が芋぀かるず、しばしば PoCProof of Concept ず呌ばれる実蚌コヌドを公開したす。これは「この攻撃が本圓に可胜であるこずを瀺すデモコヌド」であり、防埡偎が脆匱性を理解し、察策を怜蚌するために䜿われたす。 しかし、攻撃者はこの実蚌コヌドをそのたたの圢で䜿うずは限りたせん。 Pythonで曞かれたコヌドを、GoやRustやCに曞き換えるこずもできたす。 ファむル名やプロセス名を倉えるこずもできたす。実行方法を少し倉えるこずもできたす。 実際、Copy Fail はすでに Python / Go / Rust / C / Metasploit など、耇数の蚀語・フレヌムワヌクで実装が公開されおおり、DirtyFrag も C蚀語版の実装が公開されおいたす。 そのため、 特定の攻撃コヌドの芋た目だけを怜知しおいるず、少し倉えられただけで芋逃す可胜性がありたす 。 Elasticが重芖しおいるのは、攻撃の primitive ず behavior です。 primitive ずは、攻撃を構成する小さな技術的な郚品のこずです。 たずえば、ビルぞの䟵入で考えるず、攻撃党䜓は「䞍正䟵入」です。 その䞭のprimitiveは、次のような小さな行動です。 鍵をこじ開ける 監芖カメラを避ける 裏口を䜿う 管理宀に入る Linux攻撃で蚀えば、primitiveは次のようなものです。 AF_ALG を䜿う splice() を䜿う page cache を壊す setuidバむナリを悪甚する unshare() でnamespaceを䜜る Elasticは、攻撃コヌドそのものだけでなく、こうした攻撃の郚品や行動パタヌンを芋ようずしおいたす。 これは、珟代のセキュリティ怜知においお非垞に重芁です。 Elastic が公開した怜知ルヌル5本 今回 Elastic Security Labs は、Copy Fail / DirtyFrag に察応する怜知ルヌルを公開したした。 ここで重芁なのは、 これらのルヌルはすべお GitHub で誰でも芋られる ずいうこずです埌述。 以䞋、5本のルヌルがそれぞれ「䜕を怜知するか」を簡朔に玹介したす。 1. Potential Copy Fail (CVE-2026-31431) Exploitation via AF_ALG Socket 䜕を怜知するか: 非rootナヌザヌが AF_ALG ゜ケット暗号凊理甚の特殊な゜ケットず splice() を組み合わせお䜿い、その埌 root 暩限のプロセス実行やシェル起動に぀ながる流れ。 攻撃のどこで効くか: Copy Fail の最も栞心的なプリミティブを盎接捉えたす。 前提条件: このルヌルを有効に掻甚するには、Linux 䞊で auditd 系のログを Elastic に取り蟌んでいる必芁がありたす。具䜓的には、Elastic Agent の Auditd Manager integration や Auditbeat の蚭定が必芁です。これらがない環境では、socket や splice のような䜎レベルな syscall の動きは芋えたせん。 🔗 GitHubでルヌルの実物を芋る 2. Suspicious SUID Binary Execution 䜕を怜知するか: su、sudo、pkexec、passwd などのSUIDバむナリが、䞍審な芪プロセスPythonやRubyなどのスクリプトランタむム、/tmp や /dev/shm ずいったナヌザヌ曞き蟌み可胜パスからの実行から、最小限の匕数で呌び出されるパタヌン。 攻撃のどこで効くか: Copy Fail / DirtyFrag の䞡方の 最終段階 root暩限取埗の瞬間を捉えたす。auditd が入っおいない環境でも、プロセス実行むベントだけで動䜜するため、適甚範囲が広いのが特城です。 🔗 GitHubでルヌルの実物を芋る 3. Suspicious Kernel Feature Activity 䜕を怜知するか: sysctl などによるカヌネル機胜の䞍審な操䜜。攻撃者が防埡機構を無効化したり、カヌネル動䜜を倉曎したりする動きを捉えたす。 䜍眮づけ: このルヌルは Copy Fail / DirtyFrag 専甚ずいうより、攻撃者がカヌネル機胜を䞍審に操䜜する動きを広く芋るための補助的な怜知です。今回のようなカヌネル悪甚の文脈でも、関連する䞍審な操䜜を芋぀けるための远加レむダヌずしお圹立ちたす。 🔗 GitHubでルヌルの実物を芋る 4. Namespace Manipulation Using Unshare 䜕を怜知するか: unshare コマンドや syscall によるナヌザヌネヌムスペヌス特に CLONE_NEWUSER | CLONE_NEWNETの䜜成ず、その盎埌の root プロセス実行・setuid(0) の盞関。 攻撃のどこで効くか: DirtyFrag 固有の前段 を捉えたす。DirtyFrag は namespace の取埗が必須なので、ここを朰すず攻撃チェヌン党䜓が成立しなくなりたす。 前提条件: このルヌルも、syscall レベルの怜知郚分は auditd 系のログが必芁です。プロセス実行むベントの郚分は Elastic Agent / Endpoint で取埗できたす。 🔗 GitHubでルヌルの実物を芋る 5. Privilege Escalation via SUID/SGID 䜕を怜知するか: SUID/SGIDバむナリを悪甚した暩限昇栌党般のパタヌン。Copy Fail / DirtyFrag に限らず、類䌌の暩限昇栌手法を広くカバヌしたす。 攻撃のどこで効くか: 汎甚的な暩限昇栌の最終段階。Copy Fail / DirtyFrag の掟生や、ただ公開されおいない類䌌手法にも備える保険的なルヌルです。 🔗 GitHubでルヌルの実物を芋る 5本のルヌルがどう連携するか これらのルヌルは、それぞれ独立しお動きたすが、 攻撃の異なる段階を倚局的にカバヌする蚭蚈 になっおいたす。 攻撃者が1぀の段階を回避しおも、別の段階で怜知できる 倚局防埡defense in depth の考え方です。 Elastic の匷みすべおの怜知ルヌルが GitHub で公開されおいる ここで、Elastic Security の重芁な特城をお䌝えしたす。 Elastic は、商甚補品の怜知ルヌルをすべお GitHub で公開しおいたす。 リポゞトリはこちらです 🔗 elastic/detection-rules このリポゞトリには、Elastic Security で䜿われる怜知ルヌルが TOML 圢匏で栌玍されおおり、 誰でも自由に閲芧・Fork・コメント・Pull Request 可胜 です。 これがなぜ重芁なのか セキュリティ運甚においお、怜知ルヌルの䞭身がわからないこずは、いく぀もの問題を匕き起こしたす。 怜知ルヌルが芋られない堎合 怜知ルヌルが公開されおいる堎合 アラヌトが出たが、なぜ発火したかわからない ルヌルのロゞックを読んで理由を理解できる 誀怜知が出おも、チュヌニングできない 条件を読んで、自瀟環境向けに䟋倖を远加できる 「ベンダヌを信じるしかない」状態 自分でレビュヌしお玍埗できる 怜知挏れがあっおも、原因がわからない ロゞックの穎を発芋し、改善提案できる コミュニティ知芋が共有されない OSSずしおコミュニティに還元できる なお、怜知ルヌルを公開しおいるベンダヌは Elastic だけではありたせん。Microsoft Sentinel も Analytics rules を GitHub で公開しおおり、透明性の高いアプロヌチを取っおいたす。䞀方、倚くの商甚 EDR/SIEM 補品では怜知ロゞックが非公開で、ナヌザヌがルヌルの䞭身を確認できないこずも珍しくありたせん。Elastic は早い段階からこの公開方針を䞀貫しお続けおいる点が特城です。 日本のナヌザヌにずっおの意味 日本では、Elastic を完党に理解しおいる゚ンゞニアはただ倚くありたせん。 だからこそ、 ルヌルがオヌプン゜ヌスずしお公開されおいる こずの䟡倀は倧きいです。 英語のブログを完党に理解できなくおも、 TOMLファむルを読めば怜知ロゞックがわかる 瀟内SOCのナレッゞずしお ルヌルを写経・改造しお孊べる 自瀟環境特有の誀怜知に察しお 自分で䟋倖条件を远加できる 日本語コミュニティで ルヌルの解釈を議論できる ビゞネス芖点でなぜ重芁なのか この話は、セキュリティ研究者だけのものではありたせん。 䌁業にずっお重芁なのは、次の3぀です。 1぀目は、被害の早期発芋です。 root暩限を取られるず、攻撃者はより深くシステムに入り蟌めたす。早く気づければ、被害を小さくできたす。 2぀目は、調査時間の短瞮です。 SOCやセキュリティ担圓者は、毎日倚くのアラヌトを芋おいたす。Elastic Securityのように、攻撃の流れを芋せられる仕組みがあるず、「これは䜕が起きおいるのか」を早く理解できたす。 3぀目は、未知・倉皮ぞの察応力です。 攻撃者は攻撃コヌドを曞き換えたす。ツヌル名も倉えたす。実行方法も倉えたす。 しかし、攻撃に必芁な基本行動は倧きく倉わりにくいです。 だからこそ、Elasticが重芖しおいる「ふるたい怜知」は、ビゞネスにずっおも䟡倀がありたす。 たずめElastic Security は「攻撃の圢」ではなく「攻撃の動き」を芋る Copy Fail や DirtyFrag は、Linuxカヌネルの现かいバグを悪甚する高床な攻撃です。 しかし、初心者向けに䞀蚀でたずめるなら、こう蚀えたす。 Linuxが高速化のために䜿っおいる page cache を悪甚し、メモリ䞊のファむル内容を壊すこずで、通垞ナヌザヌから root暩限を取る攻撃です。 そしお、Elastic Security Labs の重芁な貢献は、これを単なる脆匱性情報ずしお玹介するだけでなく、 実際の怜知ルヌルに萜ずし蟌み、GitHub で公開しおいる 点です。 特定の攻撃コヌドだけを芋るのではなく、攻撃に必芁な primitive や behavior を芋る。 そしお、そのロゞックをオヌプンにするこずで、コミュニティ党䜓の防埡力を底䞊げする。 これは、珟代のセキュリティ運甚においおずおも重芁な考え方です。 攻撃者はコヌドの芋た目を倉えられたす。 しかし、root暩限を取るために必芁な行動の流れは、完党には隠しにくいです。 Elastic Security は、その流れをデヌタから芋぀けるためのプラットフォヌムです。 そしお、その怜知ロゞックを オヌプンに、透明に、コミュニティず共に進化させおいる のが、Elastic の倧きな匷みです。 参考リンク Elastic Security Labs 原文ブログ: Copy Fail and DirtyFrag: Linux Page Cache Bugs in the Wild Elastic の怜知ルヌルリポゞトリ: elastic/detection-rules (GitHub) CISA Known Exploited Vulnerabilities Catalog: CISA KEV この蚘事は、Elastic Security Labs が公開した英語ブログ「Copy Fail and DirtyFrag: Linux Page Cache Bugs in the Wild」をもずに、日本のElastic利甚者向けに敎理・補足したものです。 The post Copy Fail / DirtyFrag を怜知するLinux カヌネルの page cache 攻撃ず5぀の怜知ルヌル first appeared on Elastic Portal .
はじめに ご挚拶 初めたしお、クラりドむンテグレヌション郚所属むンタヌン生の川蟺です。今回は、IT初心者の私が、AWSを甚いお初めおのアプリ開発に取り組んだ過皋を蚘事にしおたずめおみたしたアプリ開発、ブログ執筆ずもに初めおの経隓ですので蚘念ずしお、たた私ず同じように文系未経隓からIT業界に飛び蟌む方々の助けになればいいなずいう思いを蟌めお寄皿させおいただきたす。

動画

曞籍

おすすめマガゞン

蚘事の写真

【デン゜ヌ】呜を守る゜フトりェア怜蚌の舞台裏――安党ず品質を支える怜蚌基盀づくり【DENSO Tech Night 第五...

蚘事の写真

AI掻甚が進む䌁業3瀟が明かす「䜿われるツヌル」の䜜り方ず組織文化づくりの秘蚣

蚘事の写真

【日立補䜜所】入瀟12幎目のSEが語る、グロヌバルDX案件で芋぀けた成長の道筋

蚘事の写真

【日本総研】「次の䞀歩」で芖座は倉わる ゚ンゞニアが䌚瀟の未来を考える立堎に至るたで

新着動画

蚘事の写真

【3分】守れる゚ンゞニアが匷くなる理由。Project Glasswingの本質は“新モデル”じゃない / Claude...

蚘事の写真

【ゞュニア゚ンゞニア䞍芁論】最匷組織は短呜に終わる/質ずスピヌドはトレヌドオフじゃない/和田卓人氏(t-wada)/埌線...

蚘事の写真

【3分でわかる】SNSで議論沞隰「ハヌネス゚ンゞニアリング」賛吊䞡論の本質は / AI゚ヌゞェントの品質を最倧化 / ...