명령어/Linux

[RHEL] rpminfo rpm 속 바이너리의 보안 속성 분석

jykim23 2026. 8. 7. 21:49
반응형

부제: 패키지 안 ELF 실행파일의 PIC·PIE·RPATH를 훑는다

rpminfo hello-1.0-1.el9.x86_64.rpm    # rpm 안 바이너리 보안 속성 분석
rpminfo -i                             # 설치된 모든 패키지 대상
rpminfo -r hello-1.0-1.el9.x86_64.rpm  # RPATH 가진 파일만
Usage: rpminfo [-h] [-v] [-q] [-c] [-e | -l] [-p | -np | -P | -nP | -r]
                 [-s] [-o <file>] {-i | [<rpm package>...]}

  -e  | --executables          list executables
  -l  | --libraries            list libraries
  -p  | --pic                  list pic
  -P  | --pie                  list pie
  -nP | --no_pie               list no pie
  -r  | --rpath                list files containing rpath

rpminfo는 rpmdevtools에 들어 있는 패키징 점검 도구다. rpm을 풀어 그 안의 ELF 실행파일·라이브러리를 뜯어 PIC(위치 독립 코드), PIE(위치 독립 실행), RPATH 삽입 여부 같은 하드닝 속성을 뽑는다. PIE가 아닌 실행파일이나 이상한 RPATH를 가진 바이너리는 보안 감사에서 걸러야 할 대상이라, 사설 레포에 올리기 전 자체 빌드물을 검수할 때 요긴하다. 인자로 rpm 파일을 주거나 -i로 설치된 전체를 대상으로 삼는다.

데비안 쪽에는 hardening-check(hardening-includes)나 checksec이 비슷한 결을 담당한다. rpm 포맷 안을 직접 들여다본다는 점이 rpminfo의 자리다.

이렇게도 쓴다

PIE가 아닌 실행파일만 골라 하드닝 미비를 찾는다.

rpminfo -e -nP hello-1.0-1.el9.x86_64.rpm

 

결과를 파일로 저장해 두고 비교한다.

rpminfo -o hardening.txt hello-1.0-1.el9.x86_64.rpm

 

빌드한 rpm의 메타데이터와 보안 속성을 함께 확인한다(조합).

rpm -qip hello-1.0-1.el9.x86_64.rpm; rpminfo hello-1.0-1.el9.x86_64.rpm

 

RPATH가 박힌 파일만 뽑아 후속 점검 대상으로 넘긴다(조합).

rpminfo -r hello-1.0-1.el9.x86_64.rpm | tee rpath-suspects.txt

 

라이브러리(.so)만 대상으로 PIC 여부를 본다.

rpminfo -l -np hello-1.0-1.el9.x86_64.rpm
반응형