2008-10-07 3 views
0

어디에서 시작해야하는지, 또는 Windows 커널에 연결하거나 패치 할 수있는 방법을 알고 싶습니다 (XP 이상). 필자는 McAfee Entercept 또는 커널을 패치하는 특정 바이러스 백신 스캐너와 같은 소프트웨어에 특히 관심이 있습니다. 나는 창업자가 커널에 기능을 추가 한 소프트웨어를 만드는 것이 얼마나 실현 가능한지 알고 싶다. (나는 KPP를 알고 있고 아마도 우회 할 수있다. 간단한 설명을 찾을 수 없었고 Win32에 대한 경험이 제한적이었습니다. 나는 같은 드라이버 후 아니다, 그것은 예를 들어 창으로는 PaX와 같은 포트 뭔가 기술적으로 가능했던 경우에 관심이있을 것입니다 : 어떤 도움을 많이NT 커널 프로그래밍

J

또한 설명을 감사합니다. Windows가 이미 구현되어 있기 때문에 나쁜 예이지만 NT 소스에 액세스하지 않고도 유사한 기술을 이식 할 수 있다면 흥미 롭습니다.

답변

2

예, 커널에 연결할 수 있습니다. 나는 강력하게 책 Windows InternalsRootkits을 제안한다.

다음은 필요한 모든 정보를 제공합니다.

2

Microsoft Detours 라이브러리를 사용하면 프로세스에서 API 호출을 가로 채고 사용자 코드를 삽입하거나 바꿀 수 있습니다.

이러한 종류의 작업을 성공적으로 수행하려면 제한된 Win32 환경 이상을 필요로합니다. 상상할 수 있듯이 이것은 매우 복잡한 주제가 될 수 있습니다.

+0

참고 : 커널 패칭에 도움이되지 않으며 사용자 공간 만 패치합니다. –

+0

커널 드라이버 (패치는 Windows 커널 월드에서 올바른 용어가 아님)가 무엇인지 물어 보는 것은 분명하지 않지만 필요한 것은 아니며이 라이브러리로 충분할 것입니다. – Ilya

+0

"패칭"은 자주 듣지 않지만 Microsoft는 "커널 패치 보호"라는 용어를 사용하므로 Windows 환경에서 이상하지 않습니다. – BobbyShaftoe

2

드라이버 개발은 쉬운 일이 아닙니다. 안티 바이러스 소프트웨어는 파일 시스템 (파일 시스템 필터 드라이버)을 처리해야 수명이 더 복잡해집니다. 보다 자세한 내용을 얻기 위해 무엇을하려고하는지 설명하려고하면 유용 할 것입니다.

드라이버 개발을 위해 가장 권장되는 리소스는 OSR입니다.

  1. ntdev 일반 드라이버 개발
  2. ntfsd를 들어 파일 시스템 드라이브 개발을위한

도서 목록 here을 찾을 수 있습니다 : 2 개 관련 메일 링리스트가있다.

드라이버가 핵심 바쁨 (이 경우 커널 경험이있는 사람을 찾습니다)이 아니라면이 작업을 아웃소싱하는 것이 좋습니다. 위의 목록에는 많은 컨설턴트가 있습니다.

기본적으로 Windows 소스는 액세스 할 수 없습니다. :) 불행히도. 가상 메모리 관리자로 재생하려면 커널 모드에 있어야합니다 (가능하다면).

ntdev에서이 질문을 묻는다면, 세계의 대부분의 커널 개발자에게 물어볼 것입니다. 합리적인 답을 얻으려면 좀 더 구체적인 질문을해야 할 것입니다 (나는 실을 보며 흥미로운 주제를 보게됩니다).
당신이하고 싶은 것을 정확하게 이해한다면 이것은 Windows에서는 불가능합니다. 중요한 리버스 엔지니어링 작업이 없어도 적어도 표준 유형의 드라이버로 작동하므로 최종 결론을 내릴 수 있을지 모르겠습니다.

응답 언급합니다 :

내가 정확히 엔터 셉트이 (가 메모리를 재생하거나 권한을 처리 제안 제품 설명에서 아무것도 찾을 수 없습니다) 무엇을 모르겠어요. 최종 목표를 다소 구체적인 기술로 정의하는 방법은 생산성을 높이는 방법 일 수 있습니다.

응답이 코멘트하기 :

1.1. LIDS 란 무엇입니까?

LIDS는 Xie Huagang 및 Philippe Biondi가 작성한 Linux 커널의 향상된 기능입니다. 기본적으로 Linux 커널에없는 여러 가지 보안 기능을 구현합니다. 다음 중 일부는 다음과 같습니다.
1. 필수 액세스 제어 (MAC) - 실제로 의미가 무엇인지 모릅니다.
2. 포트 스캔 감지기 - 이것은 this 사이트에서 확실히 수행 할 수 있습니다.
3. 말뚝 보호 - 위에서 설명한 파일 시스템 필터 드라이버.
4. 프로세스 보호 - 드라이버에 hook process creation을 넣을 수 있습니다. ntdev 아카이브에는 이것에 대해 많은 discussions이 있습니다.

+0

안녕 Ilya, 나는 당연히 일을 외부에서 조달 할 것이다, 그러나 첫째로 그것을 설치하고 싶다, 그리고 두번째로 고용 할 프로그래머의 유형을 알고있다. Entercept와 같은 제품이 그것을 관리하기 때문에 내가 무엇을 요구할 것인가를 추측하고 있습니다. –

+0

Entercept는 윈도우에 대한 시스템 콜 인터 셉션으로, 어떻게 든 커널에 연결되어 있어야합니다. 내가 관심있는 것에 대한 구체적인 목표는 LIDS와 같은 것을 포팅하거나 윈도우 용으로 구현하는 것이다. 아마도 커널 패칭과 같은 일이 가능한가? –

+0

커널 패치를하지 않은 경우 커널 모드 드라이버를 사용하십시오. – Ilya

-1

당신이 왜 이것을하고 싶은지와 왜 공식적인 API가 당신이 원하는 곳으로 갈 수 없다고 생각하는지에 대한 현명한 설명을하지 않고 커널을 패치하는 것에 대해 이야기합니다. 결과적으로 우리는 여러분이 어떤 종류의 악성 코드를 작성하려고한다고 가정해야합니다 - stackoverflow에있는 누군가가 여러분을 도울 것으로 기대하지 마십시오!

관련 문제