Linuxはオープンソースからコンパイルされており、何千人もの開発者が悪意のあるソースコードを見つけます。しかし、多くのLinuxユーザーは、Windowsとマルウェア/スパイウェア/「スプーク」ウェア(CIA)ソフトウェアをデュアルブートし、Linuxのコンパイル済みバイナリをハッキングできましたafterクリーンバージョンがインストールされました。
解決策I think は、更新がインストールされた直後、つまり4.4.0-63-genericでLinuxカーネルバイナリでハッシュ合計を実行することです。
問題は、どのファイルを含める必要があるかということです。すなわち/boot/4.4.0-63-genericまたはそれ以上?
ハッシュの合計が生成された後、cron
ジョブを毎月、毎週、または毎日実行して、ハッシュの合計を再生成し、元のバージョンと比較して、変更されていないことを確認できます。ハッシュの合計が一致しない場合、感染が発生しており、クリーンなカーネルを再インストールする必要があります。
編集1これまでの回答は、コメントに似ています。これらの回答と以下のコメントは、「CIAはあまりにもスマートでリッチすぎて自分を保護できないので、やろうとしないでください」。私がその権利を読んだ場合、すべての答えは、CIA、NSA、MI6、またはMossadが支払ったトロールまたは幽霊給与の誰かによって書かれている可能性があります。類推は「あなたの近所の犯罪者はあまりにも賢くて洗練されています。彼らはあなたの家を見て、あなたの習慣を学びます。あなたのドアをロックしたり、警報システムを設置したりすることはできません。」
Windowsで再起動すると、ハッシュの合計を暗号化するために使用したパスワードがスパイウェアによって読み取られるという人がいます。 WindowsのRAMフットプリントはLinuxのRAMフットプリントよりも大きく、ロードウィンドウはLinuxが残した貴重な検索可能なRAMを一掃するのではないかと思います。簡単な10秒の電源オフに加えて、すべてのRAMが消去されます。
スペクトルの反対側で、誰かが「Windowsを使用しない」を提案しました。ええと...いいえ、私は恐れて隠れて、必要なときに使用する必要のあるプラットフォームを避けません。これは、ハイブリッドnVidiaグラフィックスを備えた超高速ラップトップであり、Windowsゲームの時期になるとそのまま使用されます。
- これはあなたがそれをどのように行うのかということですが、カーネルの更新では明らかにハッシュを再実行して新しいハッシュを作成する必要があります。しかし、再実行するのを忘れた場合、どうなりますか?
カーネルの更新により、まったく新しいカーネルが/boot
にインストールされます。ジョブを実行して新しいハッシュ合計を作成するのを忘れた場合、合計を比較するcronジョブは、誰かが背後でカーネルバイナリを変更した場合と同じ方法でエラーを返します。
スクリプトの実際の設計とハッシュの合計の暗号化は後で行われます。馬の前にカートを置いています。最初のステップは、保護する必要があるものを識別することです。 「どうしますか?」に埋め込まれた質問に投稿するのはNAA(Not An Answer)です。
カーネルイメージでハッシュの合計を実行することに加えて、私の質問に部分的に答えて、選択したドライバーを含める必要があります。具体的には、ウェブカメラのLEDの電源をオフにして、オフになっているような錯覚を与えてからカメラを起動できるものを考えています。おそらくマイクと似たようなものですか?
カーネルスペースへの不正な変更を監視する必要があるかどうかの推測をすべて削除します---どのバイナリを外部の改ざんから保護する必要がありますか?
Grubがどのように機能するかを学び、起動するたびに.isoアーカイブ内に保持されているLinuxディストリビューションを起動するように設定します。 Windozeマシンを自宅に置いて、直接ハードリンク接続を介してのみ、各ブートでインターネットとの通信を許可するlinuxボックスと通信し、各初期化されたlinuxシステムを介してすべてのインターネットアクティビティをリモートで設定します。起動する時間。ハイパーパラノイアの場合は、家に帰るたびにLinuxデバイスで起動可能なフラッシュドライブを作成してポケットに入れ、USBからの起動をオフにします。もちろん、関連するすべてのボックスは、BIOSレベルでパスワードで保護されます。 ; ^)
このシナリオを回避する唯一の方法は、デュアルブートを回避することです。Windowsを削除します。もちろん、CIAがデスクトップ/ラップトップLinuxシステムに潜むマルウェアをインストールできないと思うなら、あなたは十分に妄想的ではありません...
/boot
以外のカーネルバイナリを保護するためのサンプルを次に示します。
$ ls /lib/modules/4.9.13-040913-generic/
build modules.alias.bin modules.dep.bin modules.symbols
initrd modules.builtin modules.devname modules.symbols.bin
kernel modules.builtin.bin modules.order updates
modules.alias modules.dep modules.softdep vdso
───────────────────────────────────────────────────────────────────────────────
rick@Dell:~$ ls /lib/modules/4.9.13-040913-generic/kernel
Arch crypto drivers fs kernel lib mm net sound virt
───────────────────────────────────────────────────────────────────────────────
rick@Dell:~$ ls /lib/modules/4.9.13-040913-generic/kernel/drivers
acpi dca hwmon mcb nvme rapidio uio
ata dma hwtracing md nvmem regulator usb
atm edac i2c media parport reset uwb
auxdisplay extcon iio memstick pci rtc vfio
base firewire infiniband message pcmcia scsi vhost
bcma firmware input mfd phy spi video
block fmc iommu misc pinctrl spmi virtio
bluetooth fpga ipack mmc platform ssb vme
char gpio isdn mtd power staging w1
clk gpu leds net powercap target watchdog
cpufreq hid lightnvm nfc pps thermal xen
crypto hsi Macintosh ntb ptp Thunderbolt
dax hv mailbox nvdimm pwm tty
───────────────────────────────────────────────────────────────────────────────
rick@Dell:~$ ls /lib/modules/4.9.13-040913-generic/kernel/drivers/net/ethernet/realtek/
8139cp.ko 8139too.ko atp.ko r8169.ko
───────────────────────────────────────────────────────────────────────────────
rick@Dell:~$
ディレクトリ/lib/modules/kernel_version/*
内のすべてのサブディレクトリとファイルのmd5sumスナップショット(または任意のセキュリティハッシュサム)を取得するには、再帰アルゴリズムが必要です。
おそらく他のバイナリもありますが、私はこれまでに発見されたものに対する答えを投稿したかったです。