和歌山のプログラミング・システム開発ならシステムキューブ
現在パソコン、スマートフォンなどで利用されているOSには、最大のアクセス権を持ったroot権限と呼ばれるものがあります。
root権限とはあらゆるファイルの読み書き実行、削除、および権限の変更付与などを可能にするもので、またユーザー追加・削除や、パスワードの割り振りなど、OSに大きな影響を与える操作が可能です。
linux、Mac OS、Android、iOSなどUNIXを源流とするOSではそのままにroot、WindowsではAdministratorと呼ばれています。
rootの権限を取得すれば、そのOS上のあらゆる部分を書き換えることができるため、これをユーザーが持って使うような形のOSは現在ほとんどありません。
かつてWindowsXPなどではAdministrator権限を持ったユーザーが多く、実行したファイルにマルウェアが含まれていたとしても確認なく処理が行われているようになった結果、様々なマルウェアが蔓延しました。
Windows Vista以降はUACのように一時的な権限昇格によってインストールをするかどうか判断する、という形をとるようになりました。
UACによって、場合によってはシステムへの危険な書き込みが行われることをユーザーに明示し、不要なものであれば回避することができるようにしています。
しかし、XP以前の世代の管理者権限がないと実行できないアプリケーションなどとの後方互換性のために、このUACを切らないとインストールできない、というものもありました。
Androidでも本来ユーザーに与えられるべきでないroot権限を取得する方法をroot化などと呼んでいますし、iOSのjailbreakと呼ばれるものも本来の使用法を外れたroot権限の取得です。
linuxなどでも脆弱性を利用してroot権限をとるマルウェアはいくつもあり、侵入を許すとシステム領域を書き換えられてしまい、様々な漏洩、破壊、改ざんなどが行われることになります。
rootの行うことは基本的に正しい行為で、システムファイルの操作も意味のあることという前提がなければシステムのバージョンアップなどは不可能です。
ユーザーは間違えることはあっても、ユーザーの操作が許された範囲でしか間違えることができません。現在ほとんどのOSがマルチユーザーのOSを採用しているのでこの前提がそのままに生かされています。
rootやrootに近い権限を持ったユーザーに対してウィルスなどのマルウェアを実行させ、感染させるのは、攻撃者にとって最も容易なものです。
ユーザーを不正にroot権限を昇格させるためにはOSやアプリケーションの脆弱性をつく必要があり、その隙をなくすことがセキュリティアップデートの何より重要な部分です。
ユーザーによってシステムファイルへの操作が不可能な形をとることが、マルウェア感染に対する最大の守りになります。いかにユーザー権限だけでも不自由なく安全に使うことができるかがデスクトップ OSのあり方になりそうです。