Linux DailyTopics 初公開から7年、Openwall傘下のセキュリティモジュール「Linux Kernel Runtime Guard 1.0.0」がリリース ―既存のカーネルに後から適用、幅広いカーネル / ディストリビューションに対応 Openwallプロジェクトは9月2日、Linuxカーネルの動作中に脆弱性攻撃や不正な改変を検知するオープンソース(GPLv2)のセキュリティモジュール「Linux Kernel Runtime Guard(LKRG) 1.0.0」をリリースした。 announce - [openwall-announce] LKRG 1.0.0 -openwall.com lkrg-org/lkrg -Linux Kernel Runtime Guard -GitHubLinux Kernel Runtime Guard @lkrg_o
この脆弱性を悪用するには攻撃者が特別に細工したHFS+ファイルシステムをシステムにマウントさせる必要がある。しかし通常はファイルシステムのマウントは管理者権限が必要となるため、悪用の難易度は比較的高い。 ただし一部の「Linux」のディストリビューションではユーザーがループバックデバイスを作成し、ISOやディスクイメージをマウントできる設定になっている。この場合、攻撃者は悪意のあるファイルシステムイメージをユーザーにマウントさせることで脆弱性を悪用できる可能性がある。Ubuntuのデスクトップ環境ではローカルユーザーがudisks2を利用して特定のファイルシステムを自動マウントできる設定がデフォルトで有効になっている場合がある。SSD Secure Disclosureはこの脆弱性を実証するPoC(概念実証)エクスプロイトコードを公開している。このエクスプロイトは「Linux Kerne

【IIJ2023TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

Linuxコードのメンテナーというのは、何千人もの開発者からのマージ依頼を受け取り、コード中にエラーがなく、リグレッション(退行)がないことを確認し、ワークツリーの上流や下流にある他のメンテナーによるパッチとの連携を調整し、最後にマージ対象パッチをメインラインに取り込むという作業を担う人々だ。また、バックポートも実行する。メンテナーはこのように多くの作業を担当しているが、ここに挙げたのはコードに関する「楽しい」部分だけだ。 メンテナーはさらに、異なる意見を持つ開発者間の調停役を務めたり、ベンダーやユーザーとやり取りをする必要もある。後者は、ハードウェア企業との話し合い、そしてそうした企業のドライバーをオープンソース化するための調整作業、ドライバー開発方法に関する開発者支援、ノートPCに搭載されているタッチパッドを機能させるためのユーザーサポート(ドライバー開発時にハードウェア企業が協力して

「QNX Neutrino」も結構長い歴史を持つリアルタイムOS(RTOS)である。もっとも、長い歴史を持つということは、いろいろな会社の事情に振り回されてきたということとニアリーイコールでもある。 ⇒連載記事「リアルタイムOS列伝」バックナンバー カナダの“カナタ”で創業 QNX Neutrinoは1980年、カナダのウォータールー大学の学生だったGordon Bell氏とDan Dodge氏により開発された。ちなみにBell氏は、DECでPDPやVAXの開発にも関わり、ACMのゴードンベル賞(HPCの分野で画期的な成果に対して贈られる賞。別名スパコン界のノーベル賞)の名前の由来となったGordon Bell氏とは同姓同名の別人である。 Bell氏とDodge氏は計算機学科でRTOSについて学んでおり、自分たちでもマイクロカーネルベースのRTOSを作ってみた。この試しに作ったRTOSの完

2023年6月14日にWindowsUpdateに配信されたWindows10 22H2 / 21H2用KB5027215、Windows11 22H2用KB5027231、Windows11 21H2用KB5027223などのセキュリティ更新プログラムには、脆弱性の修正が含まれています。 しかし、そのうちの1件、『Windows Kernelに影響する脆弱性(CVE-2023-32019)』の修正はデフォルトで無効になっており、手動で有効にする必要があります。 いったいなぜ、デフォルトで無効になっているのか、その理由について、Microsoftはこう述べています。 この脆弱性の修正を有効にすると、破損が生じる恐れがあります。そのため、現在はこの修正をデフォルトで無効にしています。将来のリリースではこの修正はデフォルトで有効化される予定です。 お使いの環境で有効にした場合の影響を検証するこ


The Hacker Newsは8月22日(米国時間)、「"AsNasty as Dirty Pipe" — 8 Year OldLinux Kernel Vulnerability Uncovered」において、Linuxカーネルに8年前から存在する脆弱性が発見されたと伝えた。発見したセキュリティ研究グループはこのセキュリティ上の脆弱性を「Dirty Pipe」と同じくらい厄介と述べている(参考「Linuxに特権昇格の脆弱性「Dirty Pipe」、アップデートを |TECH+(テックプラス)」)。 ノースウェスタン大学の研究者グループによってLinuxカーネルに「DirtyCred」と名付けられた脆弱性があることが明らかとなった。これまで知られていなかった欠陥(CVE-2022-2588- Red Hat Customer Portal)を悪用し、特権を最大レベルまでエスカレート

エラー報告機能を使用すると、ユーザーはアプリケーションエラー、カーネル障害、応答しないアプリケーション、その他のアプリケーション固有の問題をMicrosoft に通知できます。Microsoft は、エラー報告機能を使用して、特定の問題に関するトラブルシューティング情報、解決策、または更新プログラムをお客様に提供できます。 開発者は、このインフラストラクチャを使用して、アプリケーションの改善に使用できる情報を受け取ることができます。 ユーザーは、Windows ユーザー インターフェイスを使用してエラー報告を有効にすることができます。 特定のアプリケーションのエラーを報告することを選択できます。 管理者は、グループ ポリシーを使用してこれらの設定をオーバーライドできます。 開発者は 、Windowsデスクトップ アプリケーション プログラム に登録して、お客様がアプリケーションで発生

Linus Torvaldsは5月22日(米国時間)、「Linux 5.18」の正式リリースを公開した。前バージョン「Linux 5.17」のリリースから約2ヵ月、7本のリリース候補(RC)版を経ての公開となる。Linux 5.18 -Linus TorvaldsLinux 5.18におけるおもなアップデートは以下の通り。 Tiger Lake以降のIntelCPUに実装された保護機能「Intel CSET」の一部である「Indirect Branch Tracking(IBT)」をサポート、CPUレベルでのマルウェアブロック機能を向上 ftraceやperfなど既存のトレースツールを使って、ユーザプロセスがイベントの生成やトレースを実行することを許可するユーザベースのイベントトレーシング「user_events」をサポート。トレース情報の提供のみを行うので高速なトレーシン
最初に断っておくと今回は万人向けの記事ではないです。面白かったので自分が忘れないようにまとめているだけです。本記事の位置付け はじめに 発見経緯 CRCのエラー HTTPアクセスログ 壊れたgzipのtrailerを見てみる 壊れたファイルの法則性 月次ログファイルの生成Linuxカーネルのバグの可能性 バグ混入の歴史 ログ破損の原因 8バイトの謎 PoCの制約 まとめ本記事の位置付け Dirty Pipe(CVE-2022-0847)三部作の最後です。ダークナイト三部作で言うとダークナイト ライジングにあたります。ダーティとダークって似てませんか。 spliceを使って高速・省メモリでGzipからZIPを作る 20分で分かるDirty Pipe(CVE-2022-0847) Dirty Pipe(CVE-2022-0847)の発見経緯が面白かった(本記事) 上の1, 2を前提知識と

SELinuxの変更SELinuxに関しては、主な変更点として SELinuxで/etc/selinux/configで「selinux=disabled」が効かなくなる(ハングすることがあります)パフォーマンスの向上が挙げられています。今回は一番最初の「selinux=disabled」が使えなくなる(システムがハングすることがある)というのを見ていきたいと思います。 当たり前ですが、筆者の見解/立場ではSELinuxは無効化するべきでは無いので、無効化する前に「待て、考え直せ」とは言いたいです。 SELinuxを無効にしたときのハングアップまずは事象を見てみたいと思います。/etc/selinux/configで SELINUX=enforcing を SELINUX=disabled に設定し、再起動を行います。すると(タイミングの問題だと思いますが)下記のようにブート中にシステムが

LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイルや実行は問題にならない。つまり、C11準拠のコンパイラーでも、C89で記述されたレガシーなコードによって問題が引き起こされることはないはずだ。 Torvalds氏

課題 突然キャンペーンとかの高トラフィックが来る!とか言われると色々困ることはあるものの、今のご時世クラウドだからスペック上げときゃなんとかなるでしょ。ってとりあえずCPUとかメモリあげて見たものの、キャンペーンが始まったら意外と早くブラウザからつながらない!!とか言われたりする。CPUもメモリもそんなに負荷は特に高くもない。調べてみたらTIME_WAITが大量にあった。 とりあえず何とかしたい TIME_WAIT数をコマンドで確認 $netstat -anp|grep TIME_WAIT __(snip)__ tcp 0 0 192.168.1.1:80 192.97.67.192:56305 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.63.64.145:65274 TIME_WAIT - tcp 0 0 192.168.1.1:80 192.39

Ubuntu LTS のカーネルを最新のものにアップグレードする話です. LTS Enablement Stacks カーネルのアップグレードにおける注意点 デフォルトのカーネルバージョン GAとHWE 最新のカーネルの利用方法 参考文献 LTS Enablement Stacks Ubuntu の長期サポートバージョンである LTS (Long Term Support) には,LTS Enablement Stacks というものが存在します. これは,「LTS がリリースされた後」にリリースされたLinux カーネルや,X ウィンドウシステムのディスプレイサーバ(以降,これら2つを総称として「カーネル」と呼びます)を,LTS 上で利用可能にするものです. この辺の詳しいことについては次の記事が参考になりましたので,興味のある方はそちらを ご参照ください. kledgeb.blogs
謎の伝送制御プロトコルRUDPの詳細について解説します これは2018年11月10日に行われた Kernel/VM/探検隊@北陸 part 4 での発表資料です サンプルコード: https://github.com/Fadis/rudp

「UEFIセキュアブート」は「UEFI」が持つ機能の1つで、ファームウェア(UEFI BIOS)によって実行されるコードが信頼されたコードであるかどうかを検証する仕組みです。 検証の結果、信頼されていないソフトウェアは実行を拒否されます。 「UEFIセキュアブート」を適切に運用するには、OS起動時に読み込まれる各バイナリーがファームウェアに格納されている鍵に対し検証可能でなければなりません。 ファームウェアにはMicrosoftの鍵が格納されている 多くのPC(x86)では、ファームウェアに予め「Microsoft」の鍵が格納されています。 この鍵を利用してOS起動時に実行されるソフトウェアを検証します。 世の中で販売されている多くのPCがサポートしているOSは「Windows」のみであり、PCメーカーが「Microsoft」の鍵のみを予めファームウェアに格納しておくことは、ごく自然なこと

2011.06.19記事更新 VirtualBoxのゲストOSを起動しようとしたところ、「Kernel driver not installed」と表示し起動しなくなった。vboxdrvモジュールがロードできず起動できないようだ。心当たりと言えば、UbuntuLinux 10.04 のカーネルをアップデートしたことくらいだ。 今までは気がつかず、カーネルのバージョンに合わせたLinux-headers-(バージョン番号)をインストールし、vboxdrvを再構築する方法で解決してきた(方法2)が、linux-headers-genericをインストールすればカーネルアップデートに合わせてヘッダーファイルも自動的にインストールされ、さらにはvboxdrvの再構築も必要なくVirtualBoxを使い続けることができるようだ(方法1)。 ●方法1 $sudo aptitude install
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く