시스템 호출을위한 동적 방화벽 Syswall

시스템월

Syswall은 시스템 호출에 대한 응용 프로그램의 액세스를 필터링하기 위해 동적 방화벽의 유사성을 만들기위한 새로운 개발입니다. 프로젝트 코드는 Rust 언어로 작성되었으며 라이센스는 지정되지 않았습니다.

이 새로운 개발 strace 유틸리티의 대화 형 버전처럼 보이며 프로그램이 수행하는 모든 시스템 호출을 추적 할 수 있습니다. 주요 차이점은 시스템 호출 및 실행 결과에 대한 정보를 표시한다는 것입니다.

Syswall 정보

시스템월 대화 형 모드 지원 시스템 호출을하기 전에 모니터링되는 프로세스가 중지되는 경우 사용자에게 작업을 계속할지 아니면 무시할지 묻는 메시지가 표시됩니다. 예를 들어, 각 파일 또는 네트워크 연결 프로세스를 열려는 시도를 모니터링 할 수 있습니다.

Syswall은 또한 수행 된 시스템 호출에 대한 통계를 수집하고이를 기반으로 보고서를 생성 할 수 있습니다.

syswall의 목표는 다음과 같습니다.

strace의 개선 된 버전 제공 소프트웨어가 실제로 어떤 일을하고 있는지 확인하는 것이 더 쉽습니다.
시스템 호출을 허용 및 거부하는 세부적이고 상호 작용적인 접근 방식을 허용하여 소프트웨어를 테스트하고 실험 할 수있는 환경을 제공합니다.

각 프로세스에는 구성 파일이있을 수 있습니다.

각 프로세스에 대해 se는 명시 적으로 허용되거나 차단 된 시스템 호출 목록과 구성 파일을 연결할 수 있습니다.

지원되는 호출의 경우 syswall을 사용하여 사용자가 다음 작업을 수행 할 수 있습니다.

  • syscall 한 번 허용
  • 항상 특정 시스템 호출을 허용하십시오.
  • 시스템 호출을 한 번 차단 (하드 또는 소프트)
  • 항상 특정 시스템 호출 (하드 또는 소프트) 차단
  • 차단할 때 프로그램은 차단 (하드 또는 소프트)을 수행 할 수 있습니다.

대화식 세션 중에는 프로그램 액세스 위치에 관계없이 런타임시 특정 시스템 호출과이 시스템 호출에 대한 모든 호출을 허용하거나 차단할 수 있습니다.
차단은 "하드"및 "소프트"모드에서 지원됩니다.

잠금 유형

첫 번째 경우 시스템 호출이 실행되지 않고 액세스 오류 코드가 프로세스로 전송됩니다.. 두 번째 경우에도 시스템 호출이 실행되지 않지만 프로세스는 가상의 성공적인 리턴 코드를 수신하여 시스템 호출의 성공적인 실행을 시뮬레이션합니다.

예를 들어, 현재 파일 작업과 관련된 시스템 호출 분석 만 지원됩니다.

하드 블록은 syscall이 실행되는 것을 방지하고 권한 거부 오류를 자식 프로세스에 반환합니다. 반면에 소프트 잠금은 syscall을 방지하지만 syscall이 실제로 실행 된 것처럼 가장하기 위해 자식 프로세스에 적절한 응답을 반환하려고합니다.

이 경우 확인 요청은 특별히 전화를 걸었거나 이전에 누락 된 시스템 호출을 참조하는 경우에만 표시됩니다.

프로세스 구성을 저장하고로드합니다.

실행 중에 선택한 사항을 JSON 파일에 저장할 수 있습니다. 위의 옵션이 사용되도록 다른 실행 중에이 파일을로드 할 수 있습니다.

진행중인 작업입니다. 허용 / 차단 된 응답 만 항상 저장됩니다.

정보

자식 프로세스가 종료되면 syswall은 자식 프로세스 시스템 호출에 대한 짧은 보고서를 발행합니다. 현재는 열려 있거나 잠긴 모든 파일로 구성되어 있지만 향후 릴리스에서 확장 될 예정입니다.

이 프로젝트는 아직 기능적 프로토 타입 단계에 있으며 모든 가능성이 실현되는 것은 아닙니다.

아직 개발해야 할 것이 더 있습니다

프로젝트에 대한 큰 할 일 목록이 있으며 향후 시스템 호출의 추가 클래스에 대한 지원을 추가 할 계획입니다.시스템 호출에 전달 된 인수를 고려하여 확인하는 기능, 다른 프로그램 시작 동안 활동을 나중에 비교할 수 있도록 프로세스 상태를 파일에 저장하는 수단 (예 : 파일 목록과 네트워크 연결 비교), 옵션 동적 라이브러리로드를 무시하고 일반적인 설정 세트를 지원합니다 (예 : 모든 소켓을 잠그지 만 파일 액세스는 허용).


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.