\r\n\r\n

各オペレーティングシステムの安全性

オペレーティング・システムの中には、安全でないとされるものもありますが、実際にはどうなのでしょうか? ここでは、オペレーティング・システムがどのようにあなたを上から下まで守ることができるのか...

オペレーティングシステムは、コンピュータ上でプログラムを実行させるための仲介役です。コンピュータのリソース、アプリケーション間を分離し、その下にあるハードウェアを操作できるようにするものです。要するに、macOSでもWindowsでもLinuxでも、プログラムを実行できるマシンなら何でも必要なのだ。

os-keeps-safe

オペレーティング・システムの中には、より安全なものもありますが、最近のオペレーティング・システムの多くは、潜在的な問題から自らを守るために、箱から出しても最善を尽くしてくれます。したがって、どちらかといえば、あるものが他のものよりメリットがあると認識されるだけで、悪趣味でそうしているのです。

この記事では、現代のほとんどのオペレーティングシステムに共通するテクニックを説明します。

1 メモリ保護

プログラムが動作するためには、素早く動作できるリソースが必要です**。RAMは一時記憶装置(コンピュータをシャットダウンすると消去される)であり、データの書き込みや読み出しが非常に高速に行えます。アプリケーションが起動すると、オペレーティングシステムはこのリソースの一部にアクセスすることを許可して実行する。

すべてのプログラムはこのリソースを使用する必要があるため、悪意のあるプログラムは、メモリ内の自分に割り当てられていない別の場所にアクセスする可能性があります。バッファオーバーフローはその一例である。本来使うべき領域外のメモリに対する操作を表しているのです。これにより、ユーザーが知らないうちに悪意のあるコードが実行されたり、メモリ上の読み取るべきでないコンテンツが読み取られたりする可能性があります。

how operating systems keep you safe

オペレーティングシステムはこれらの問題の発生を防ぐことはできませんが、最近の多くのオペレーティングシステムは、これらの問題の発生を防いでいます。これは、プログラムからアクセスできないメモリ領域を保護することで実現されています。それは何もさせないが、クラッシュの原因になる。潜在的なセキュリティの脆弱性よりはましだ。

2 ユーザー権限のアップグレード

また、オペレーティングシステムは、コンピュータの保護とセキュリティに役立つ特権の概念を使用しています。コンピュータには、さまざまなことにアクセスできる多くのユーザーが存在する、というのがその背景にある考え方です。例えば、特定のコンテンツ(システム環境設定など)を変更する能力は、特権です。これがないと、ユーザーが実行するプログラムがコンピュータにダメージを与えたり、オペレーティングシステムを変更したりする可能性があります。

例えば、Windowsには管理者アカウントがあり、ユーザーはシステム全体の変更(例えば、プログラムが置かれている制限付きフォルダーなど)を行うことができるようになっています。同様に、Linuxオペレーティングシステムにはスーパーユーザーアカウントがあり、同じように振る舞い、何の制限もなくほとんどすべてのものに影響を与えることができます。

しかし、大きな力を発揮すれば、物を壊すリスクはさらに大きくなります。マルウェアが高い権限で実行された場合、被害が発生する可能性があります。例えば、一般ユーザーは、起動時に特定のプログラムを実行するように要求することができない場合があります。しかし、より多くの権限を持つユーザーが実行する悪意のあるプログラムも同様に可能です。

そのため、現在では多くのOSがユーザーの権限をロックダウンすることに全力を尽くしています。これにより、プログラム(存在する場合)が引き起こす可能性のある損害を軽減することができます。要するに、その状態では、システムを守るために、それほど多くのことができないのです。その代わり、重要な用事があるときはユーザーに尋ねるので、手動で承諾したこと以外は通過できません。

をどう思いますか?

例えば、WindowsにはUAC(ユーザーアカウント制御)と呼ばれるものがあります。これは、ユーザーが承諾した場合にのみ、アプリケーションに高い権限を与える方法です。デフォルトでは、プログラムは少数のパーミッションのみで実行され、UACは他の操作(システムファイルの変更など)を実行する必要がある場合にユーザーに通知します。

how operating systems keep you safe

同様に、LinuxにもSudoとPolkitという形で同様のものがあります。要するに、これらはより高いレベルの特権でプログラムを実行するという同じことをする2つの方法なのです。唯一の違いは、後者は主にLinuxのデスクトップで使用され、WindowsUACと少し似ています。それ以外は、どちらも同じように動作し、ユーザーは先に進む前にパスワードの入力を要求されます。

how operating systems keep you safe

モバイルOSの仕組みは全く違う。デフォルトでは、ユーザーが何らかの調整をしない限り、このような強力な特権にアクセスすることすらできません。つまり、できることを制限することで、システムを可能な限り安全に保つということです。iOSでは、これをジェイルブレイクと呼びますが、Androidではこれに相当するものが定着しつつあります。呼び名が何であれ、どれも似たようなことをやっている。

III.アプリケーションの署名

また、現在ほとんどのOSで採用されている重要なセキュリティ対策として、アプリケーション署名があります。コンピュータで実行するプログラムが、信頼できるソースから提供されたものであることを保証するものです。つまり、自分に害が及ぶ可能性が低いもの。

プログラムは、コンピュータ上のあらゆるものと同様、単純にデータの羅列で構成されている。そのため、それが正しいかどうかを確認するための検証-型であるデジタル署名-を通過させ、処理することができます。簡単に言えば、アプリケーションの署名は、あなたが望むものを実行していることを保証するものです。

多くの場合、このプロセスは、人々が自分たちのコードに署名することを許可する特定の組織によって行われます(有料)。これは、実行中のソフトウェアが、システムのユーザーに害を与えるように設計されていないことを確認するのに役立ちます。ユーザー数の多いプログラムには、通常このような機能が備わっています。

how operating systems keep you safe

をどう思いますか?

ほとんどのオペレーティングシステムは、あるレベルのアプリケーション署名を使用しようとします。しかし、認証されていないプログラムを実行しようとしても、通常は停止させません。とはいえ、その際にはある程度の注意喚起がなされることが多いようです。例えば、Windows UACの「不明な発行元」の警告がこれにあたります。

how operating systems keep you safe

ただし、一部のOSに限ったことではありません。多くのLinux OSにも同様のものがあります。これは、ソフトウェアリポジトリという形で提供され、署名され検証されたホストプログラムであるオンラインの場所です。理論的には、未知のソースからわざわざプログラムをインストールしない限り、安全である。しかし、必ずしもそうとは限りません。

例えば、携帯電話のOSは、すべて1つの場所でプログラムをホストしています。Androidではgoogleplay shop、iOSではapp shopです。搭載されているアプリはすべて信頼できるものであり、検証も十分に行われています。しかし、これでは過去にうまくいかないこともありました。

無防備ではない

つまり、一部のOSは他のOSよりも安全性が低いとされていますが、どのOSも被害を受けやすいかというと、そうではありません。実は、コンピューターの安全性を保つために、裏側ではさまざまなことが行われているのです。

しかし、それは彼らが無関心であることを意味するものではありません。安全対策はもちろん、自分で練習する技術もやはり重要です。結局のところ、常識と健全な判断に代わるものはないのです。

機器の安全性はどのように確保されていますか?

  • 2021-03-12 11:26 に公開
  • 閲覧 ( 16 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ