[2021년 정보시스템감리사][보안] 101번

101. 다음에서 설명하는 것으로 가장 적절한 것은?

장치나 시스템 구조를 분석하여 원리를 발견하는 과정을 의미하며, 이미 만든 프로그램의 동작원리를 이해하여 유사한 프로그램을 만드는 데 사용하기도 하고 프로그램의 보안 문제, 동작 문제, 오류 등을 제거/검토하는데 사용하기도 한다.

 

① 백도어(backdoor)

② 포맷 스트링(format string)

③ 문맥교환(context switching)

④ 리버스 엔지니어링(reverse engineering)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[해설]

▣ 리버스 엔지니어링(reverse engineering)

1) 기본 개념

  • 역공학이라 번역되며, 장치나 시스템의 구조를 분석하여 원리를 발견하는 과정을 말함
  • 상업적이나 군사적으로 하드웨어를 분석하는 것에서 시작됨
  • 또한, 어떤 대상을 생산하기 위한 지식이나 절차가 거의 없는 상태에서 최종 제품을 통해 설계하는 과정을 역추론하는 것이 리버스 엔지니어링의 목적임

2) 리버스 엔지니어링 공격

  • 공격자는 공격대상 시스템 또는 응용프로그램에 대한 분석을 수행
  • 분석 후 해당 시스템이나 응용프로그램이 갖고 있는 취약점을 찾을 수 있으며 이 취약점을 공격할 수 있는 코드를 생성 가능

3) 대응책

  • 난독화 : 프로그램 코드를 읽기 어렵게 함(소스코드 난독화, 바이너리 난독화)

 

▣ 그 외 문제에서 제시된 용어

  • 백도어 : 인증되지 않은 사용자에 의해 컴퓨터의 기능이 무단으로 사용될 수 있도록 컴퓨터에 몰래 설치된 통신 연결 기능으로서, 정상적인 인증 절차를 거치지 않고 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 방법
  • 포맷 스트링 : 데이터의 형태와 길이에 대한 불명확한 정의로 인한 문제점, 포맷 스트링을 이용하여 버퍼 오버플로우와 같이 메모리에 셸을 띄워 놓고, ret 값을 변조하여 관리자 권한을 획득하는 것
  • 문맥교환 : 하나의 프로세스가 사용 중인 상태에서 다른 프로세스사용하도록 하기 위해, 이전의 프로세스의 상태(문맥)를 보관하고 새로운 프로세스의 상태를 적재하는 작업

댓글

이 블로그의 인기 게시물

영리목적의 마케팅 정보를 전송하기 위한 개인정보 처리 조치