2時間でWindowsアクセス制御サブシステムを学びたいですか?さらに、あなたの先生の誰も知らないので、このトピックを知るために?最長の名前でWindowsAPI関数を使用する方法を知りたい-AccessCheckByTypeResultListAndAuditAlarmByHandle?そして、文書化されていないWindows構造を作成するコードを参照してください。その後、あなたはここにいます!
この記事では、ライブラリの説明と、ユーザーがWindowsアクセス制御サブシステムをかなり少ない初期知識で可能な限り完全に学習できるようにする一連のテストについて説明します。 DACL、SACL、条件付きACE、必須整合性チェックなどの多くの問題が考慮されます。テストを使用すると、ユーザーは入力データを任意に変更し、それらを個別に変更して、特定のユーザーに必要なトピックをより詳細に調査できます。提示されたライブラリを使用すると、Windowsセキュリティサブシステムのすべての内部構造を解析および作成できます。また、任意の初期データを使用して「アクセストークン」を作成することもできます。
ずっと前に、私はWindowsセキュリティサブシステムについて学び始めました。私は優れた本を読みますが、まずは各本を練習してバックアップする必要があります。これが私が実際の実験を始めた方法です。まず、標準的な手法から始めました。いくつかのネストされたレベル(ディレクトリ)を持つ特定のファイル構造を作成することです。研究の初期段階では、このような「実験サイト」で十分でした。ただし、DAC(Dynamic Access Control)の学習に移ると、テストの「サイト」ははるかに複雑になりました。すでに複数の仮想マシンを展開する必要があり、そのうちの1つはWindows Serverで、もう1つは通常のクライアントOSでした。 。ここでは、多くのWindows Serverサブシステムを構成するプロセスを調査する必要がありましたが、元のタスクであるセキュリティサブシステムの調査から多少気が散っていました。結局、私はかなり開発されたライブラリを作成しました。これにより、Windowsセキュリティサブシステムに関連するさまざまな構造のすべての値を自分にとって便利な形式で取得でき、それらのほとんどについては、以前に保存した値から作成することもできます。 。しかし、ある日、私はこのトピックを研究するための私のアプローチ全体を根本的に変えた(そして大幅に単純化した)アイデアを思いつきました。
私が言ったように、私はあなたがセキュリティサブシステムに関連する構造の値をディスクに保存し、以前に保存されたデータからそれらを再作成することを可能にする開発されたライブラリを持っていました。マイクロソフトによって公式に文書化されたすべてのものをすでに実装しました。
, Windows – : «» (access token) « » (security descriptor a.k.a. SD). , , – . /, Windows , . : 1) ; 2) ; 3) . , - – . , , .
- . , «Run As Administrator». Visual Studio. , - : SeCreateTokenPrivilege (Create a token object), SeTcbPrivilege (Act as part of the operating system), SeImpersonatePrivilege (Impersonate a client after authentication).
C++. « » , . . . , , « , , copyright». – - , Windows Access Control, , , .
, :
1. Windows ?
2. Windows API - AccessCheckByTypeResultListAndAuditAlarmByHandle?
, AccessCheckByTypeResultListAndAuditAlarmByHandle. , . AccessCheckByTypeResultListAndAuditAlarmByHandle . , , , .
3. , Windows?
ここで、このリンクあなたはCLAIM_SECURITY_ATTRIBUTE_V1データ型の「バイナリ表現を」作成する関数を見つけることができます。構造自体は[MS-DTYP]に記載されていますが、バイナリデータでどのように表現されるかについての説明はありません。この構造は、セキュリティ記述子の「リソース属性」(概念はDAC、動的アクセス制御を指します)を設定するために必要です(たとえば、ファイルのリソースを設定するため)。