2022-01-13 · 27분
情報セキュリティ — システムセキュリティ(パート 1)
システムセキュリティ学習ノート:CPU の構成要素とレジスタ、命令実行サイクル、インターラプト、メモリ階層と管理(ページング/セグメンテーション/仮想メモリ)、入出力管理とチャネル、OS 概要(カーネル、二重モード、スケジューリング、デッドロック)、そしてセキュア OS のトピック(アクセス統制、セキュリティカーネル、TCB、TPM)。
securitycertificate
2022-01-18 · 9분
この記事は公開から2年以上経過しています。
(1) 悪性コードの理解
○ 悪性コード:作成者が意図的に他人に被害を与えるために作ったあらゆる悪意あるプログラム、マクロ、スクリプトなど、コンピュータ上で動作するあらゆる実行可能な形態
○ コンピュータウイルス
▷ 定義:理論的な定義では、自分または自分の変形をコンピュータプログラムやマクロ、スクリプトなど実行可能な部分に複製する命令の組み合わせと定義され、実際的には利用者に気づかれず別の場所に自分自身を複製するプログラム、悪性プログラムに統合される傾向にある。
▷ ブートウイルス:ブート領域に感染するウイルス(フロッピーディスク / ハードディスク)。感染後は Windows 環境では駆除が難しいため、DOS でブート後に駆除が必要。
▷ Brain ウイルス、Michelangelo ウイルス、Monkey ウイルス、Anti-CMOS ウイルス、WYX ウイルスなど
▷ ファイルウイルス:一般的に実行可能なプログラムファイルに感染するウイルスで、Windows では多様な形態の実行ファイルが存在し、多様な形態のファイルに感染する。
▷ DOS 用ファイルウイルス、Windows 用ファイルウイルス、マクロウイルス
▷ ブート / ファイルウイルス:ブート領域およびファイルの両方に感染するウイルス
▷ ナタスウイルス、ハーフウイルス、侵入者ウイルス、テキーラウイルスなど少数
▷ マクロウイルス:アプリケーションが支援するマクロ機能を利用して自分を複製する能力を持つウイルス
○ トロイの木馬:バックドアの類もトロイの木馬の一種であり、トロイの木馬プログラムはウイルスと違い自己複製能力がなく、ユーティリティプログラム内に悪意の機能を持つコードを内蔵して配布するか、それ自体をユーティリティプログラムに偽装して配布する。トロイの木馬がインストールされると、特定の環境や条件、あるいは配布者の意図に応じて利用者の情報流出やデータ破壊のような被害を受けることがある。
▷ 主要機能:リモート操作、パスワードの傍受、キーボード入力の傍受、システムファイルの破壊など
▷ NetBus、Back Orifice など
○ インターネットワーム:ネットワーク / 電子メールを通じて自分を複製する悪性プログラムで、インターネットワーム(Internet Worm)ともいう
▷ 伝播方法
▶ 電子メール添付ファイル
▶ 正常な電子メール添付ファイル
▶ ネットワーク脆弱性の利用
▷ 代表的な種類
▶ I-Worm/Happy99、I-Worm/Hybris、I-Worm/Naked、I-Worm/Navidad、I-Worm/ExploreZip、I-Worm/Wininit など
▶ SQL スラマー
○ メール爆弾:メール爆弾(Mail bomb)とは、相手に被害を与える目的で特定の人や特定のシステムを対象に数千、数万通の電子メールを一時に送るか、大容量の電子メールを継続的に送り、結局そのサイトのコンピュータシステムに故障を引き起こす技術である。
○ Joke:利用者にデータ破壊などの具体的な被害を与えるわけではないが、ウイルスに似た症状で利用者を驚かせる各種プログラム
- Delete_Game、Format_Game、Cokegift、Puzzle など
- Hoax/Myth:コンピュータウイルスと誤って知られた一種のスパム(Spam)メール。副作用:セキュリティ意識の低下 → オオカミ少年効果
○ GoodTimes virus、join the crew、Sulfnbk.exe など
○ 悪性スクリプト:スクリプト機能を利用して作成した悪性プログラム
- バッチファイル、mIRC スクリプト、VBS(Visual Basic Script)、JS(JavaScript)
○ スパイウェア(Spyware):個人情報の一部を当該 SW 開発者が知り得るように作成/明示した正常なプログラム
(1) トロイの木馬の概要
○ トロイの木馬プログラムはウイルスと違い自己複製能力がなく、ユーティリティプログラム内に悪意の機能を持つコードを内蔵して配布するか、それ自体をユーティリティプログラムに偽装して配布する。トロイの木馬がインストールされると、特定の環境や条件、あるいは配布者の意図に応じて利用者の情報流出(Backdoor)やデータ破壊のような被害を受けることがある。
○ トロイの木馬の機能(一般的な機能)
- リモート操作:リモート操作はハッカーがトロイの木馬に感染したシステムを通じて悪意ある行為をできる。ハッカーは感染したシステムのファイル、データなどシステムに関するすべてを完全に操作できる。
- パスワードの傍受:トロイの木馬に感染したシステムに存在するキャッシュされたパスワードを見つけ出すことである。主にメッセンジャー、インターネット上のウェブサイト、その他アプリケーション使用時に要求される利用者アカウントとパスワードを、利用者に気づかれず攻撃者のメールアドレスへ転送する。
- キーボード入力の傍受:システムで利用者が入力するキーボード入力を任意のログファイルに複製した後、ハッカーが設定した特定のメールアドレスへ転送するか、リアルタイムで転送する。
- システムファイル破壊形態:感染したシステムにあるファイルやデータを削除する機能を持っている。
○ トロイの木馬の検出方法
- アンチウイルスプログラムによる検出
- レジストリを検査して自動実行設定された内容を検査
- 利用者のコンピュータで使用しないポートが開いているか検査
- 利用者のコンピュータにインストールしていないプログラムやファイルがインストールされたか検査
(2) トロイの木馬 S/W の事例別理解
○ NetBus
- NetBus は file manager、registry manager、Application Redirect、画面キャプチャ、キーボード入力情報の閲覧などの機能
- サーバープログラムの接続パスワード設定機能
- サーバープログラムのポート変更機能
○ Back Orifice
- Back Orifice は CDC というハッキンググループが作ったハッキングツールで、ファイルシステムのすべてのファイルへのアクセス、プロセス生成/削除、システムパスワードの流出、キーボード監視、ネットワーク資源の共有指定、ファイル操作、レジストリ操作などの機能
- サーバープログラムの接続パスワード設定機能
○ School Bus など
- パスワード流出、キャッシュ領域のパスワード抽出、ファイル管理、キーボード入力監視などの機能
- サーバープログラムの接続パスワード設定機能
○ ackcmd
- Windows 2000 のための特殊な遠隔コマンドプロンプト。TCP ACK セグメントのみを使って通信するため、場合によってはファイアウォールを通過する接続が可能である。
- つまり、netstat -an コマンドで接続セッション情報を得るのが難しい。
○ ルートキット
- ルートキットの目的は、自分と他のソフトウェアを見えないように隠し、利用者が攻撃者のソフトウェアを認識して除去する可能性を避けることである。ルートキットはファイルサーバー、キーロガー(keylogger)、ボットネット(botnet)、再送メール(remailer)を含めほとんどすべてのソフトウェアを隠せる。したがって、たいてい検知できず、除去もほぼ不可能である。
▶ ルートキットの機能
- トラフィックやキーストロークを監視
- システムにトロイの木馬プログラムをインストール
- ログファイルの修正
- プロセスやファイルの隠蔽機能
- 自動実行設定
- その他
▶ ルートキットの種類
- Windows 用:FU-Rootkit、Hxdef100、NTRootkit など
- Linux 用:Suckit、lrk4、lrk5、adore など
▶ ルートキットの検出:アンチウイルスプログラムや専用ツールを利用して検出・除去
- アンチウイルスプログラムによる検出
- 一般的な行動ベースのルートキット検知ソフトウェア:Rootkit Revealer など
クラッキング S/W
(1) クラッキングの概要
○ クラッキングはハッキングと比較して悪意ある目的を持ってシステムに侵入する行為をいい、別の意味ではシェアウェアプログラムを正式版に変換することを意味することもある。
○ ハッキングツールとしてのクラッキング技術は利用者の ID、パスワードを探すツールとして活用されており、このときの攻撃原理は ID、パスワードを代入して合っているか、間違っているかを継続的に試してみる方法である。
(2) クラッキング S/W の事例別理解
○ WWWhack
- ウェブサーバーのログイン ID とパスワード、接続アカウントの ID とパスワード、FTP の ID とパスワード、そして POP の IP とパスワードをクラックするツール
○ Golden Eye、Webcrack など
ポートスキャン S/W
(1) ポートスキャンの概要
○ ポートスキャンは攻撃者が攻撃対象システムの開いているポートをスキャンすることで、OS 判別、攻撃経路の選択などのために行う手順である。
- ポート番号は、インターネットやその他のネットワークメッセージがサーバーに到着したとき、伝達されるべき特定のプロセスを認識するための方法である。TCP と UDP では、ポート番号は各メッセージに追加されるヘッダー内に入れられる 16 ビット整数の形をとる。このポート番号は論理的にはクライアントとサーバーの伝達層の間を、そして物理的には伝達層とインターネット層の間を通過して、継続的に伝達される。ポート番号は 0〜65535 番まであり、アプリケーション用に指定されているポート番号(well-known)は 0〜1023、その他のポートは接続時に一時的に付与されるポート番号である。例えば、クライアントがインターネットサーバーに行う要求は、ホストの FTP サーバーによって提供されるファイルを要求するものかもしれない。遠隔地のサーバー内にある FTP プロセスに利用者の要求を伝達するため、利用者のコンピュータにある TCP ソフトウェア層は、要求に付加される 16 ビット整数のポート番号内に 21(FTP 要求に関連して通常使われる番号である)というポート番号を確認する。サーバーでは、TCP 層は 21 というポート番号を読み、利用者の要求をサーバーにある FTP プログラムに伝達する。
- Port scanner によって目的地システムに対して Listen されている port(接続可能な port)を探すための行為である。攻撃者は Target システムが alive になっているか確認(主に ping を利用し、ネットワーク単位では ping sweep をする)し、開いた port を探索した後、脆弱性 scanner(Nessus、Internet Scanner など)を利用して脆弱性分析をする。その後、システムの脆弱性を利用して攻撃をする。
- ポートスキャンは特定のポートに対して 3Way ハンドシェイクが確立されると、ポートが開いていることを確認できる。
(2) ポートスキャン S/W の事例別理解
○ NMap
▶ 多様な方式を利用したポートスキャナ
- TCP connect() scan:3Way ハンドシェイクを利用した scanning である。完全な TCP 接続をして Port の open/close 状態を確認するため、システムで簡単に検知され得る。
- TCP SYN scan:Half-open scan または Stealth scan とも呼ばれ、完全な TCP 接続を結ばず、対象ポートへ SYN パケットを送信して SYN/ACK を受け取れば open 状態、RST/ACK を受け取れば close 状態である。SYN scan は half-open 接続を通じてポートの open/close 状態を確認するため、TCP connect() scan に比べ秘密の接続でシステムにログが記録されない。TCP を利用した scanning の中で scan 速度が TCP connect() scan より速いため、最もよく使う方法である。
- TCP FIN、Xmas Tree、NULL scan:この 3 つの scan 技法は Stealth scan とも呼ばれ、UNIX 系システムに対してのみ使用できる。TCP FIN scan は TCP flag の FIN を有効化して対象ポートへパケットを送信し、Xmas Tree scan は TCP flag の FIN、URG、PUSH を有効化して対象ポートへパケットを送信する。NULL scan は TCP flag をすべて無効化して対象ポートへパケットを送信する。3 つの scan すべて、ポートが close 状態なら RST パケットを返す(RFC 793)。Open 状態ならパケットを無視する。
原文(韓国語): tistory — 2022-01-18 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。
…