問題タブ [xnu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - What is the resolution of xnu's clock_get_time for CALENDAR_CLOCK?
What is the resolution of the xnu kernel function clock_get_time for CALENDAR_CLOCK?
macos - XNU: kext でプロセスの起動とクリーンアップの通知を取得する
カーネル拡張機能でプロセスが起動および終了したときに通知を受ける最良の方法は何ですか?
KAuthを使用してプロセス作成をサブスクライブできることを知っています ( KAUTH_VNODE_EXECUTE)。プロセスのクリーンアップを購読するのはどうですか?
sockets - ソケット接続時に kext からクライアントを認証する
OS X (KAtuh を中心に構築) でセキュリティを強化するための kext を構築しています。ソケットを介してkextに接続し(Appleのアドバイスに従って)、基本的にkextを制御するユーザー空間でクライアントを使用しています。この製品は OS X に追加のセキュリティを提供することになっているため、攻撃に対して「可能な限り安全」であることが重要です。1 つの攻撃ベクトルは次のとおりですA malicious process impersonates the client and sends malicious control data to the kext, disabling the security mechanism.。接続時に認証を行うことでこれを防ぎたい。これが私の解決策です:
クライアントをルートとして実行し、
CTL_FLAG_PRIVILEGEDフラグを使用して、ルート クライアントのみが kext に接続できるようにします。クライアントを特権モードで実行するかどうかはわかりません (繰り返しますが、追加の攻撃ベクトルです)。kext が 1 つのクライアントだけに接続されるようにします。ただし、これは簡単にバイパスできます。
理想的には、 経由で接続するクライアントの ID を確認したいと考えていますstatic int ctl_connect(kern_ctl_ref ctl_ref, struct sockaddr_ctl *sac, void **unitinfo)。これどうやってするの?
でパケット認証を行うこともできますがstatic int ctl_set(kern_ctl_ref ctl_ref, u_int32_t unit, void *unitinfo, int opt, void *data, size_t len)、動的な共有秘密を考え出す必要があります。について考えていましたが、私secret = SHA256(getUDID())の知る限り、利用可能な暗号KPIはなく、getUDID()カーネルスペースからの方法もありません。
クライアントの「適切な」認証を行うための他のアイデアはありますか?
macos - XNU カーネル ドライバーからの vm ページ保護属性の変更
実験の一環として、IOKit 以外の kext からカーネル アドレス空間に書き込み可能な読み取り専用ページを作成する必要があります。ユーザー モードでは vm_protect を実行できますが、カーネル モードでこれを実行する方法についての情報は驚くほどほとんどありません (または私は完全に盲目です)。これを行うための呼び出しはありますか?
macos - OS X カーネル パニック診断。バックトレース アドレスの変換方法
Mac でカーネル ダンプを引き起こすドライバーをデバッグしています。一連のアドレスから構成された長いバックトレースを示しています。
コンピューターが再起動されたため、起動の繰り返しごとにメモリマッピングが異なる可能性があるため、アドレス変換は役に立たなくなったと思います。
振り返って各アドレスに関連するメソッドを一致させるオプション、または事前に適切な構成を設定するオプションはありますか? ありがとう