위치로 진입 점

마지막 업데이트: 2022년 1월 28일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

ASLR은 libc 진입 점을 어떻게 보호합니까?

ASLR은 프로세스 실행 코드, 스택, 힙 및 라이브러리의 주소를 무작위로 지정합니다. 이는 공격자가 여러 인스턴스화에 걸쳐 코드의 주소를 하드 코딩 할 수 없기 때문에 공격자의 삶을 어렵게 만들기위한 것입니다.

그러나 이것이 시스템 라이브러리에 어떻게 도움이 될까요? 그들은 언로드되지 않습니다. 예를 들어 모든 프로세스는 libc를 사용하므로 prinf의 주소는 변경되지 않습니다. printf의 주소를 하드 코딩하는 경우 이것이 어떻게 도움이됩니까? 머신을 재부팅하지 않으면 변경되지 않습니다.

ASLR이 활성화되어 있습니다.

다음은 몇 가지 샘플 코드입니다.위치로 진입 점

그리고 여러 번 실행 된 결과는

EBP가 변경되어야하지만 printf의 주소는 변경되지 않습니다.

내가 무엇을 놓치고 있습니까?

편집 : -fPIC로 컴파일해도 RHEL VM에서 도움이되지 않았습니다.

Libc 호출이 실제로 아래의 응답처럼 무작위로 지정되면 어떻게 구현됩니까? libc 자체는 다시로드되지 않으므로 printf의 실제 주소는 변경되지 않습니다. 어떻게 무작위화할 수 있습니까?

다음을 사용하여 바이너리 컴파일 -fPIE 위치로 진입 점 또는 -fPIC -pie -fPIE :

기본 플래그로 컴파일 된 바이너리 :

-pie -fPIE 플래그로 컴파일 된 바이너리 :

기본 플래그를 사용하여 컴파일 할 때 대부분의 경우 .text 세그먼트는 상수 주소에 머물며 GOT는 프로그램에서 사용되는 함수에 대한 포인터 목록으로 채워지며 발생시 해결됩니다. 이 경우 GOT는 일정한 위치로 진입 점 위치에 있었기 때문에 컴파일러에 의해 call 에 직접 배치됩니다. 예 :

이것은 printf의 실제 위치가 무작위 화되지 않았 음을 의미하지는 않습니다. 이것이 위치로 진입 점 프로그램에서 printf에 대한 첫 번째 호출이라면 _dl_runtime_resolve 는 적절한 값을 채울 것입니다. 그렇지 않으면 다음과 같이 보일 것입니다.

이것은 libc에서 printf 의 실제 위치입니다. 일반적인 경우 &printf 는 실제로 libc의 실제 printf 에 대한 점프 테이블 인 [email protected] 를 가리 킵니다.

이제 -pie -fPIE 에 대해 &printf 는 libc의 실제 printf를 가리 킵니다. 이 플래그는 이전에 상수였던 섹션에만 ASLR을 추가합니다. 라이브러리는 두 경우 모두 임의 오프셋으로로드되었습니다.

모뎀을 집안의 다른 동축 진입 점으로 전환 할 수 있습니까?위치로 진입 점

모뎀을 집안의 다른 동축 진입 점으로 전환 할 수 있습니까? 또는 ISP에서 보낸 엔지니어가 각 잭을 설정해야합니까?.

"알 수없는"동축 잭에 연결하면 모뎀 설정이 변경되거나 재설정되어 ISP에 전화를 걸어야하는 경우를 대비하여 시도해 보는 것이 약간 두렵습니다. 이는 제가 피하려고하는 매우 불편한 일입니다.

어리석은 질문이라면 죄송합니다. 내 추론은 모든 단일 동축 잭에 대해 전신주에서 내려 오는 회선이없는 것처럼 보이기 때문에 분리는 지상에서 발생해야한다는 것입니다. 따라서 동축 잭은 서로 구별 할 수 없어야합니다.

모뎀을 다른 잭으로 옮기는 것이 안전합니다.

ISP에서 오는 한 회선에서 시작되는 시스템에 하나 이상의 분배기가있을 수 있습니다. 각 스플리터는 위치로 진입 점 신호를 줄입니다. 잘 설계된 시스템은 각 동축 콘센트에 동일한 신호 손실을 갖도록 시도합니다. 콘센트가 위치로 진입 점 많은 경우 신호를 증폭하는 증폭기도있을 수 있습니다. 목표는 각 콘센트가 ISP의 원래 케이블과 동일한 신호 강도를 갖도록 신호를 높이는 것입니다. 더 위치로 진입 점 긴 라인은 또한 더 많은 신호 손실을 갖습니다.

모뎀을 이동해도 작동하지 않는 경우 (인식 할 수 있도록 몇 분 후) 간단히 위치로 진입 점 원래 위치로 다시 이동할 수 있습니다.

나는 내 라인을 두 개의 라인으로 나눠서 하나는 케이블 모뎀으로, 두 번째 라인은 앰프/스플리터로 나누어 TV를위한 별도의 라인으로 나눕니다 (실제로는 그것보다 약간 더 복잡하지만 일반적인 레이아웃입니다. ).

모뎀을 연결하는 drop 자체가 동일한 demarcation point 또는 "demarc"에 연결되어있는 한 공급자없이 모뎀을 드롭에 연결할 수 있습니다. 보조. 이론적으로 불가능하지는 않지만 한 집이 여러 경계 지점에 의해 서비스되는 것은 기껏해야 사라질 것 같지 않으므로 모뎀을 집의 모든 드롭에 연결하는 것이 좋습니다.

(출처 : 저는 단일 경계가있는 아파트에 살고 있는데, 아래층 아파트의 동축 케이블이 저와 같은 위층 아파트를 통과하는 곳입니다. 케이블 모뎀을 설정할 때 앞 방의 위치로 진입 점 드롭에 신호가 없음을 발견했습니다. 순진하게 내 아파트의 모든 케이블이 내 아파트에 서비스 를 제공해야하고, 따라서 내 앞방 옷장을 통과하는 두 번째 케이블은 사용하지 않은 드롭으로 연결되어야한다고 가정합니다. 내 침실에서 두 번째 케이블을 배럴 에서 분리하고 모뎀에 꽂았습니다. 이렇게하면 서비스가 제대로 작동하지만 아래층 아파트의 연결이 끊어졌습니다. 한 주 동안 케이블 서비스를 중단 한 멍청이가 된 것에 대해 사과하기 위해 문을 두드리고 있습니다. 제공 업체의 관점과는 다른 단일 경계에서 개인이 떨어졌을 경우 위치로 진입 점 내 모뎀을 아래층 이웃의 드롭에 연결했습니다. 나에게 서비스를받지 못했습니다.)

나는 최근에 이것을해야했고, 가장 최근에 지어진 장소가 비슷한 설정을 가지고 있다는 것이 나의 이해입니다 (여러 친구는 가족 구성원과 비슷한 설정을 가지고 있습니다. 면책 조항 : 모두 미국에서) :위치로 진입 점

  1. 미국의 표준 (최근에 정의 된 표준이므로 이전 지역에서는 사실이 아닐 수 있음)은 입력 상자를 Master Closet 에 연결하는 것입니다.
  2. 거기에는 ISP Coax와 집 주위를 돌아 위치로 진입 점 다니는 일련의 다른 동축 회선이 있어야합니다.

내 라인에는 레이블이 지정되어 있지만 그렇지 않은 경우를 본 적이 있습니다. 어쨌든 Nice 동축 분배기를 위치로 진입 점 구입하여 모두 연결하십시오.

또는 한쪽 끝 (오디오 케이블, 커플 배터리 등)에 매우 낮은 전력 솔루션을 사용하여 동축 감지기를 구성한 다음 위치로 진입 점 상자에서 소음을 발생시키는 장치 (정합 수신기, LED, 피에조 요소 또는 기타) 원하는 라인을 찾으십시오.


0 개 댓글

답장을 남겨주세요